]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
SMP-Config angepasst.. CGIs usw. wurden im Windoof-Format gespeichert... muss noch...
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 21 Feb 2006 20:38:06 +0000 (20:38 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 21 Feb 2006 20:38:06 +0000 (20:38 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@67 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

49 files changed:
config/cfgroot/countries.pl
config/cfgroot/general-functions.pl
config/cfgroot/header-menu.pl
config/cfgroot/header.pl
config/cfgroot/lang.pl
config/cfgroot/protocols.pl
config/kernel/kernel.config.i386.installer
doc/packages-list.txt
html/cgi-bin/aliases.cgi
html/cgi-bin/backup.cgi
html/cgi-bin/base.cgi
html/cgi-bin/changepw.cgi
html/cgi-bin/connections.cgi
html/cgi-bin/credits.cgi
html/cgi-bin/ddns.cgi
html/cgi-bin/dhcp.cgi
html/cgi-bin/dial.cgi
html/cgi-bin/dmzholes.cgi
html/cgi-bin/graphs.cgi
html/cgi-bin/gui.cgi
html/cgi-bin/hosts.cgi
html/cgi-bin/ids.cgi
html/cgi-bin/index.cgi
html/cgi-bin/ipinfo.cgi
html/cgi-bin/modem.cgi
html/cgi-bin/netstatus.cgi
html/cgi-bin/networks.cgi
html/cgi-bin/optionsfw.cgi
html/cgi-bin/portfw.cgi
html/cgi-bin/pppsetup.cgi
html/cgi-bin/proxy.cgi
html/cgi-bin/proxygraphs.cgi
html/cgi-bin/remote.cgi
html/cgi-bin/services.cgi
html/cgi-bin/shaping.cgi
html/cgi-bin/shutdown.cgi
html/cgi-bin/status.cgi
html/cgi-bin/time.cgi
html/cgi-bin/updates.cgi
html/cgi-bin/upload.cgi
html/cgi-bin/vpnmain.cgi
html/cgi-bin/wireless.cgi
html/cgi-bin/xtaccess.cgi
html/html/include/ipcop.css
html/html/index.cgi
lfs/linux
lfs/openssh
src/ROOTFILES.i386
src/rc.d/helper/writeipac.pl

index 6e364b4cf58d319534663c4d36beca9fc88fa44b..8e32316ffac6d1a18354c4e0909daa374049546f 100644 (file)
-package Countries;\r
-\r
-%countries = (\r
-'Afghanistan' => 'AF',\r
-'Albania' => 'AL',\r
-'Algeria' => 'DZ',\r
-'American Samoa' => 'AS',\r
-'Andorra' => 'AD',\r
-'Angola' => 'AO',\r
-'Anguilla' => 'AI',\r
-'Antarctica' => 'AQ',\r
-'Antigua and Barbuda' => 'AG',\r
-'Argentina' => 'AR',\r
-'Armenia' => 'AM',\r
-'Aruba' => 'AW',\r
-'Australia' => 'AU',\r
-'Austria' => 'AT',\r
-'Azerbaijan' => 'AZ',\r
-'Bahamas' => 'BS',\r
-'Bahrain' => 'BH',\r
-'Bangladesh' => 'BD',\r
-'Barbados' => 'BB',\r
-'Belarus' => 'BY',\r
-'Belgium' => 'BE',\r
-'Belize' => 'BZ',\r
-'Benin' => 'BJ',\r
-'Bermuda' => 'BM',\r
-'Bhutan' => 'BT',\r
-'Bolivia' => 'BO',\r
-'Bosnia and Herzegovina' => 'BA',\r
-'Botswana' => 'BW',\r
-'Bouvet Island' => 'BV',\r
-'Brazil' => 'BR',\r
-'British Indian Ocean Territory' => 'IO',\r
-'Brunei Darussalam' => 'BN',\r
-'Bulgaria' => 'BG',\r
-'Burkina Faso' => 'BF',\r
-'Burundi' => 'BI',\r
-'Cambodia' => 'KH',\r
-'Cameroon' => 'CM',\r
-'Canada' => 'CA',\r
-'Cape Verde' => 'CV',\r
-'Cayman Islands' => 'KY',\r
-'Central African Republic' => 'CF',\r
-'Chad' => 'TD',\r
-'Chile' => 'CL',\r
-'China' => 'CN',\r
-'Christmas Island' => 'CX',\r
-'Cocos (Keeling) Islands' => 'CC',\r
-'Colombia' => 'CO',\r
-'Comoros' => 'KM',\r
-'Congo' => 'CG',\r
-'Cook Islands' => 'CK',\r
-'Costa Rica' => 'CR',\r
-'Cote D\'Ivoire (Ivory Coast)' => 'CI',\r
-'Croatia (Hrvatska)' => 'HR',\r
-'Cuba' => 'CU',\r
-'Cyprus' => 'CY',\r
-'Czech Republic' => 'CZ',\r
-'Czechoslovakia (former)' => 'CS',\r
-'Denmark' => 'DK',\r
-'Djibouti' => 'DJ',\r
-'Dominica' => 'DM',\r
-'Dominican Republic' => 'DO',\r
-'East Timor' => 'TP',\r
-'Ecuador' => 'EC',\r
-'Egypt' => 'EG',\r
-'El Salvador' => 'SV',\r
-'Equatorial Guinea' => 'GQ',\r
-'Eritrea' => 'ER',\r
-'Estonia' => 'EE',\r
-'Ethiopia' => 'ET',\r
-'Falkland Islands (Malvinas)' => 'FK',\r
-'Faroe Islands' => 'FO',\r
-'Fiji' => 'FJ',\r
-'Finland' => 'FI',\r
-'France' => 'FR',\r
-'France, Metropolitan' => 'FX',\r
-'French Guiana' => 'GF',\r
-'French Polynesia' => 'PF',\r
-'French Southern Territories' => 'TF',\r
-'Gabon' => 'GA',\r
-'Gambia' => 'GM',\r
-'Georgia' => 'GE',\r
-'Germany' => 'DE',\r
-'Ghana' => 'GH',\r
-'Gibraltar' => 'GI',\r
-'Great Britain (UK)' => 'GB',\r
-'Greece' => 'GR',\r
-'Greenland' => 'GL',\r
-'Grenada' => 'GD',\r
-'Guadeloupe' => 'GP',\r
-'Guam' => 'GU',\r
-'Guatemala' => 'GT',\r
-'Guinea' => 'GN',\r
-'Guinea-Bissau' => 'GW',\r
-'Guyana' => 'GY',\r
-'Haiti' => 'HT',\r
-'Heard and McDonald Islands' => 'HM',\r
-'Honduras' => 'HN',\r
-'Hong Kong' => 'HK',\r
-'Hungary' => 'HU',\r
-'Iceland' => 'IS',\r
-'India' => 'IN',\r
-'Indonesia' => 'ID',\r
-'Iran' => 'IR',\r
-'Iraq' => 'IQ',\r
-'Ireland' => 'IE',\r
-'Israel' => 'IL',\r
-'Italy' => 'IT',\r
-'Jamaica' => 'JM',\r
-'Japan' => 'JP',\r
-'Jordan' => 'JO',\r
-'Kazakhstan' => 'KZ',\r
-'Kenya' => 'KE',\r
-'Kiribati' => 'KI',\r
-'Korea (North)' => 'KP',\r
-'Korea (South)' => 'KR',\r
-'Kuwait' => 'KW',\r
-'Kyrgyzstan' => 'KG',\r
-'Laos' => 'LA',\r
-'Latvia' => 'LV',\r
-'Lebanon' => 'LB',\r
-'Lesotho' => 'LS',\r
-'Liberia' => 'LR',\r
-'Libya' => 'LY',\r
-'Liechtenstein' => 'LI',\r
-'Lithuania' => 'LT',\r
-'Luxembourg' => 'LU',\r
-'Macau' => 'MO',\r
-'Macedonia' => 'MK',\r
-'Madagascar' => 'MG',\r
-'Malawi' => 'MW',\r
-'Malaysia' => 'MY',\r
-'Maldives' => 'MV',\r
-'Mali' => 'ML',\r
-'Malta' => 'MT',\r
-'Marshall Islands' => 'MH',\r
-'Martinique' => 'MQ',\r
-'Mauritania' => 'MR',\r
-'Mauritius' => 'MU',\r
-'Mayotte' => 'YT',\r
-'Mexico' => 'MX',\r
-'Micronesia' => 'FM',\r
-'Moldova' => 'MD',\r
-'Monaco' => 'MC',\r
-'Mongolia' => 'MN',\r
-'Montserrat' => 'MS',\r
-'Morocco' => 'MA',\r
-'Mozambique' => 'MZ',\r
-'Myanmar' => 'MM',\r
-'Namibia' => 'NA',\r
-'Nauru' => 'NR',\r
-'Nepal' => 'NP',\r
-'Netherlands Antilles' => 'AN',\r
-'Netherlands' => 'NL',\r
-'Neutral Zone' => 'NT',\r
-'New Caledonia' => 'NC',\r
-'New Zealand (Aotearoa)' => 'NZ',\r
-'Nicaragua' => 'NI',\r
-'Niger' => 'NE',\r
-'Nigeria' => 'NG',\r
-'Niue' => 'NU',\r
-'Norfolk Island' => 'NF',\r
-'Northern Mariana Islands' => 'MP',\r
-'Norway' => 'NO',\r
-'Oman' => 'OM',\r
-'Pakistan' => 'PK',\r
-'Palau' => 'PW',\r
-'Panama' => 'PA',\r
-'Papua New Guinea' => 'PG',\r
-'Paraguay' => 'PY',\r
-'Peru' => 'PE',\r
-'Philippines' => 'PH',\r
-'Pitcairn' => 'PN',\r
-'Poland' => 'PL',\r
-'Portugal' => 'PT',\r
-'Puerto Rico' => 'PR',\r
-'Qatar' => 'QA',\r
-'Reunion' => 'RE',\r
-'Romania' => 'RO',\r
-'Russian Federation' => 'RU',\r
-'Rwanda' => 'RW',\r
-'S. Georgia and S. Sandwich Isls.' => 'GS',\r
-'Saint Kitts and Nevis' => 'KN',\r
-'Saint Lucia' => 'LC',\r
-'Saint Vincent and the Grenadines' => 'VC',\r
-'Samoa' => 'WS',\r
-'San Marino' => 'SM',\r
-'Sao Tome and Principe' => 'ST',\r
-'Saudi Arabia' => 'SA',\r
-'Senegal' => 'SN',\r
-'Seychelles' => 'SC',\r
-'Sierra Leone' => 'SL',\r
-'Singapore' => 'SG',\r
-'Slovak Republic' => 'SK',\r
-'Slovenia' => 'SI',\r
-'Solomon Islands' => 'Sb',\r
-'Somalia' => 'SO',\r
-'South Africa' => 'ZA',\r
-'Spain' => 'ES',\r
-'Sri Lanka' => 'LK',\r
-'St. Helena' => 'SH',\r
-'St. Pierre and Miquelon' => 'PM',\r
-'Sudan' => 'SD',\r
-'Suriname' => 'SR',\r
-'Svalbard and Jan Mayen Islands' => 'SJ',\r
-'Swaziland' => 'SZ',\r
-'Sweden' => 'SE',\r
-'Switzerland' => 'CH',\r
-'Syria' => 'SY',\r
-'Taiwan' => 'TW',\r
-'Tajikistan' => 'TJ',\r
-'Tanzania' => 'TZ',\r
-'Thailand' => 'TH',\r
-'Togo' => 'TG',\r
-'Tokelau' => 'TK',\r
-'Tonga' => 'TO',\r
-'Trinidad and Tobago' => 'TT',\r
-'Tunisia' => 'TN',\r
-'Turkey' => 'TR',\r
-'Turkmenistan' => 'TM',\r
-'Turks and Caicos Islands' => 'TC',\r
-'Tuvalu' => 'TV',\r
-'US Minor Outlying Islands' => 'UM',\r
-'USSR (former)' => 'SU',\r
-'Uganda' => 'UG',\r
-'Ukraine' => 'UA',\r
-'United Arab Emirates' => 'AE',\r
-'United Kingdom' => 'UK',\r
-'United States' => 'US',\r
-'Uruguay' => 'UY',\r
-'Uzbekistan' => 'UZ',\r
-'Vanuatu' => 'VU',\r
-'Vatican City State (Holy See)' => 'VA',\r
-'Venezuela' => 'VE',\r
-'Viet Nam' => 'VN',\r
-'Virgin Islands (British)' => 'VG',\r
-'Virgin Islands (U.S.)' => 'VI',\r
-'Wallis and Futuna Islands' => 'WF',\r
-'Western Sahara' => 'EH',\r
-'Yemen' => 'YE',\r
-'Yugoslavia' => 'YU',\r
-'Zaire' => 'ZR',\r
-'Zambia' => 'ZM',\r
-'Zimbabwe' => 'ZW',\r
-);\r
-\r
-1;\r
-\r
+package Countries;
+
+%countries = (
+'Afghanistan' => 'AF',
+'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' => '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',
+'Cook Islands' => 'CK',
+'Costa Rica' => 'CR',
+'Cote D\'Ivoire (Ivory Coast)' => 'CI',
+'Croatia (Hrvatska)' => 'HR',
+'Cuba' => 'CU',
+'Cyprus' => 'CY',
+'Czech Republic' => 'CZ',
+'Czechoslovakia (former)' => 'CS',
+'Denmark' => 'DK',
+'Djibouti' => 'DJ',
+'Dominica' => 'DM',
+'Dominican Republic' => 'DO',
+'East Timor' => 'TP',
+'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',
+'France, Metropolitan' => 'FX',
+'French Guiana' => 'GF',
+'French Polynesia' => 'PF',
+'French Southern Territories' => 'TF',
+'Gabon' => 'GA',
+'Gambia' => 'GM',
+'Georgia' => 'GE',
+'Germany' => 'DE',
+'Ghana' => 'GH',
+'Gibraltar' => 'GI',
+'Great Britain (UK)' => 'GB',
+'Greece' => 'GR',
+'Greenland' => 'GL',
+'Grenada' => 'GD',
+'Guadeloupe' => 'GP',
+'Guam' => 'GU',
+'Guatemala' => 'GT',
+'Guinea' => 'GN',
+'Guinea-Bissau' => 'GW',
+'Guyana' => 'GY',
+'Haiti' => 'HT',
+'Heard and McDonald Islands' => 'HM',
+'Honduras' => 'HN',
+'Hong Kong' => 'HK',
+'Hungary' => 'HU',
+'Iceland' => 'IS',
+'India' => 'IN',
+'Indonesia' => 'ID',
+'Iran' => 'IR',
+'Iraq' => 'IQ',
+'Ireland' => 'IE',
+'Israel' => 'IL',
+'Italy' => 'IT',
+'Jamaica' => 'JM',
+'Japan' => 'JP',
+'Jordan' => 'JO',
+'Kazakhstan' => 'KZ',
+'Kenya' => 'KE',
+'Kiribati' => 'KI',
+'Korea (North)' => 'KP',
+'Korea (South)' => 'KR',
+'Kuwait' => 'KW',
+'Kyrgyzstan' => 'KG',
+'Laos' => 'LA',
+'Latvia' => 'LV',
+'Lebanon' => 'LB',
+'Lesotho' => 'LS',
+'Liberia' => 'LR',
+'Libya' => 'LY',
+'Liechtenstein' => 'LI',
+'Lithuania' => 'LT',
+'Luxembourg' => 'LU',
+'Macau' => 'MO',
+'Macedonia' => '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' => 'FM',
+'Moldova' => 'MD',
+'Monaco' => 'MC',
+'Mongolia' => 'MN',
+'Montserrat' => 'MS',
+'Morocco' => 'MA',
+'Mozambique' => 'MZ',
+'Myanmar' => 'MM',
+'Namibia' => 'NA',
+'Nauru' => 'NR',
+'Nepal' => 'NP',
+'Netherlands Antilles' => 'AN',
+'Netherlands' => 'NL',
+'Neutral Zone' => 'NT',
+'New Caledonia' => 'NC',
+'New Zealand (Aotearoa)' => 'NZ',
+'Nicaragua' => 'NI',
+'Niger' => 'NE',
+'Nigeria' => 'NG',
+'Niue' => 'NU',
+'Norfolk Island' => 'NF',
+'Northern Mariana Islands' => 'MP',
+'Norway' => 'NO',
+'Oman' => 'OM',
+'Pakistan' => 'PK',
+'Palau' => 'PW',
+'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',
+'S. Georgia and S. Sandwich Isls.' => 'GS',
+'Saint Kitts and Nevis' => 'KN',
+'Saint Lucia' => 'LC',
+'Saint Vincent and the Grenadines' => 'VC',
+'Samoa' => 'WS',
+'San Marino' => 'SM',
+'Sao Tome and Principe' => 'ST',
+'Saudi Arabia' => 'SA',
+'Senegal' => 'SN',
+'Seychelles' => 'SC',
+'Sierra Leone' => 'SL',
+'Singapore' => 'SG',
+'Slovak Republic' => 'SK',
+'Slovenia' => 'SI',
+'Solomon Islands' => 'Sb',
+'Somalia' => 'SO',
+'South Africa' => 'ZA',
+'Spain' => 'ES',
+'Sri Lanka' => 'LK',
+'St. Helena' => 'SH',
+'St. Pierre and Miquelon' => 'PM',
+'Sudan' => 'SD',
+'Suriname' => 'SR',
+'Svalbard and Jan Mayen Islands' => 'SJ',
+'Swaziland' => 'SZ',
+'Sweden' => 'SE',
+'Switzerland' => 'CH',
+'Syria' => 'SY',
+'Taiwan' => 'TW',
+'Tajikistan' => 'TJ',
+'Tanzania' => 'TZ',
+'Thailand' => 'TH',
+'Togo' => 'TG',
+'Tokelau' => 'TK',
+'Tonga' => 'TO',
+'Trinidad and Tobago' => 'TT',
+'Tunisia' => 'TN',
+'Turkey' => 'TR',
+'Turkmenistan' => 'TM',
+'Turks and Caicos Islands' => 'TC',
+'Tuvalu' => 'TV',
+'US Minor Outlying Islands' => 'UM',
+'USSR (former)' => 'SU',
+'Uganda' => 'UG',
+'Ukraine' => 'UA',
+'United Arab Emirates' => 'AE',
+'United Kingdom' => 'UK',
+'United States' => 'US',
+'Uruguay' => 'UY',
+'Uzbekistan' => 'UZ',
+'Vanuatu' => 'VU',
+'Vatican City State (Holy See)' => 'VA',
+'Venezuela' => 'VE',
+'Viet Nam' => 'VN',
+'Virgin Islands (British)' => 'VG',
+'Virgin Islands (U.S.)' => 'VI',
+'Wallis and Futuna Islands' => 'WF',
+'Western Sahara' => 'EH',
+'Yemen' => 'YE',
+'Yugoslavia' => 'YU',
+'Zaire' => 'ZR',
+'Zambia' => 'ZM',
+'Zimbabwe' => 'ZW',
+);
+
+1;
+
index 13021ca044b09aea628eaf5845dc07482dd7163d..b40327a6252dec0a5428b1490a9689c541a60d71 100644 (file)
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite\r
-# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()\r
-# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions\r
-# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()\r
-# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()\r
-#\r
-# $Id: general-functions.pl,v 1.1.2.26 2006/01/04 16:33:55 franck78 Exp $\r
-#\r
-\r
-package General;\r
-\r
-use strict;\r
-use Socket;\r
-use IO::Socket;\r
-\r
-$|=1; # line buffering\r
-\r
-$General::version = 'VERSION';\r
-$General::swroot = 'CONFIG_ROOT';\r
-$General::noipprefix = 'noipg-';\r
-$General::adminmanualurl = 'http://www.ipcop.org/1.4.0/en/admin/html';\r
-\r
-sub log\r
-{\r
-       my $logmessage = $_[0];\r
-       $logmessage =~ /([\w\W]*)/;\r
-       $logmessage = $1;\r
-       system('/usr/bin/logger', '-t', 'ipcop', $logmessage);\r
-}\r
-\r
-sub readhash\r
-{\r
-       my $filename = $_[0];\r
-       my $hash = $_[1];\r
-       my ($var, $val);\r
-       \r
-       \r
-       # Some ipcop code expects that readhash 'complete' the hash if new entries\r
-       # are presents. Not clear it !!!\r
-       #%$hash = ();\r
-\r
-       open(FILE, $filename) or die "Unable to read file $filename";\r
-       \r
-       while (<FILE>)\r
-       {\r
-               chop;\r
-               ($var, $val) = split /=/, $_, 2;\r
-               if ($var)\r
-               {\r
-                       $val =~ s/^\'//g;\r
-                       $val =~ s/\'$//g;\r
-\r
-                       # Untaint variables read from hash\r
-                       $var =~ /([A-Za-z0-9_-]*)/;        $var = $1;\r
-                       $val =~ /([\w\W]*)/; $val = $1;\r
-                       $hash->{$var} = $val;\r
-               }\r
-       }\r
-       close FILE;\r
-}\r
-\r
-\r
-sub writehash\r
-{\r
-       my $filename = $_[0];\r
-       my $hash = $_[1];\r
-       my ($var, $val);\r
-       \r
-       # write cgi vars to the file.\r
-       open(FILE, ">${filename}") or die "Unable to write file $filename";\r
-       flock FILE, 2;\r
-       foreach $var (keys %$hash) \r
-       {\r
-               $val = $hash->{$var};\r
-               # Darren Critchley Jan 17, 2003 added the following because when submitting with a graphic, the x and y\r
-               # location of the mouse are submitted as well, this was being written to the settings file causing\r
-               # some serious grief! This skips the variable.x and variable.y\r
-               if (!($var =~ /(.x|.y)$/)) {\r
-                       if ($val =~ / /) {\r
-                               $val = "\'$val\'"; }\r
-                       if (!($var =~ /^ACTION/)) {\r
-                               print FILE "${var}=${val}\n"; }\r
-               }\r
-       }\r
-       close FILE;\r
-}\r
-\r
-\r
-sub age\r
-{\r
-       my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,\r
-               $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0];\r
-       my $now = time;\r
-\r
-       my $totalsecs = $now - $mtime;\r
-       my $days = int($totalsecs / 86400);\r
-       my $totalhours = int($totalsecs / 3600);\r
-       my $hours = $totalhours % 24;\r
-       my $totalmins = int($totalsecs / 60);\r
-       my $mins = $totalmins % 60;\r
-       my $secs = $totalsecs % 60;\r
-\r
-       return "${days}d ${hours}h ${mins}m ${secs}s";\r
-}\r
-\r
-sub validip\r
-{\r
-       my $ip = $_[0];\r
-\r
-       if (!($ip =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)) {\r
-               return 0; }\r
-       else \r
-       {\r
-               my @octets = ($1, $2, $3, $4);\r
-               foreach $_ (@octets)\r
-               {\r
-                       if (/^0./) {\r
-                               return 0; }\r
-                       if ($_ < 0 || $_ > 255) {\r
-                               return 0; }\r
-               }\r
-               return 1;\r
-       }\r
-}\r
-\r
-sub validmask\r
-{\r
-       my $mask = $_[0];\r
-\r
-       # secord part an ip?\r
-       if (&validip($mask)) {\r
-               return 1; }\r
-       # second part a number?\r
-       if (/^0/) {\r
-               return 0; }\r
-       if (!($mask =~ /^\d+$/)) {\r
-               return 0; }\r
-       if ($mask >= 0 && $mask <= 32) {\r
-               return 1; }\r
-       return 0;\r
-}\r
-\r
-sub validipormask\r
-{\r
-       my $ipormask = $_[0];\r
-\r
-       # see if it is a IP only.\r
-       if (&validip($ipormask)) {\r
-               return 1; }\r
-       # split it into number and mask.\r
-       if (!($ipormask =~ /^(.*?)\/(.*?)$/)) {\r
-               return 0; }\r
-       my $ip = $1;\r
-       my $mask = $2;\r
-       # first part not a ip?\r
-       if (!(&validip($ip))) {\r
-               return 0; }\r
-       return &validmask($mask);\r
-}\r
-\r
-sub validipandmask\r
-{\r
-       my $ipandmask = $_[0];\r
-\r
-       # split it into number and mask.\r
-       if (!($ipandmask =~ /^(.*?)\/(.*?)$/)) {\r
-               return 0; }\r
-       my $ip = $1;\r
-       my $mask = $2;\r
-       # first part not a ip?\r
-       if (!(&validip($ip))) {\r
-               return 0; }\r
-       return &validmask($mask);\r
-}\r
-\r
-sub validport\r
-{\r
-       $_ = $_[0];\r
-\r
-       if (!/^\d+$/) {\r
-               return 0; }\r
-       if (/^0./) {\r
-               return 0; }\r
-       if ($_ >= 1 && $_ <= 65535) {\r
-               return 1; }\r
-       return 0;\r
-}\r
-\r
-sub validmac\r
-{\r
-       my $checkmac = $_[0];\r
-       my $ot = '[0-9a-f]{2}'; # 2 Hex digits (one octet)\r
-       if ($checkmac !~ /^$ot:$ot:$ot:$ot:$ot:$ot$/i)\r
-       {\r
-               return 0;\r
-       }\r
-       return 1;\r
-}\r
-\r
-sub validhostname\r
-{\r
-       # Checks a hostname against RFC1035\r
-        my $hostname = $_[0];\r
-\r
-       # Each part should be at least two characters in length\r
-       # but no more than 63 characters\r
-       if (length ($hostname) < 1 || length ($hostname) > 63) {\r
-               return 0;}\r
-       # Only valid characters are a-z, A-Z, 0-9 and -\r
-       if ($hostname !~ /^[a-zA-Z0-9-]*$/) {\r
-               return 0;}\r
-       # First character can only be a letter or a digit\r
-       if (substr ($hostname, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-               return 0;}\r
-       # Last character can only be a letter or a digit\r
-       if (substr ($hostname, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-               return 0;}\r
-       return 1;\r
-}\r
-\r
-sub validdomainname\r
-{\r
-       my $part;\r
-\r
-       # Checks a domain name against RFC1035\r
-        my $domainname = $_[0];\r
-       my @parts = split (/\./, $domainname);  # Split hostname at the '.'\r
-\r
-       foreach $part (@parts) {\r
-               # Each part should be at least two characters in length\r
-               # but no more than 63 characters\r
-               if (length ($part) < 2 || length ($part) > 63) {\r
-                       return 0;}\r
-               # Only valid characters are a-z, A-Z, 0-9 and -\r
-               if ($part !~ /^[a-zA-Z0-9-]*$/) {\r
-                       return 0;}\r
-               # First character can only be a letter or a digit\r
-               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-                       return 0;}\r
-               # Last character can only be a letter or a digit\r
-               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-                       return 0;}\r
-       }\r
-       return 1;\r
-}\r
-\r
-sub validfqdn\r
-{\r
-       my $part;\r
-\r
-       # Checks a fully qualified domain name against RFC1035\r
-        my $fqdn = $_[0];\r
-       my @parts = split (/\./, $fqdn);        # Split hostname at the '.'\r
-       if (scalar(@parts) < 2) {               # At least two parts should\r
-               return 0;}                      # exist in a FQDN\r
-                                               # (i.e. hostname.domain)\r
-       foreach $part (@parts) {\r
-               # Each part should be at least one character in length\r
-               # but no more than 63 characters\r
-               if (length ($part) < 1 || length ($part) > 63) {\r
-                       return 0;}\r
-               # Only valid characters are a-z, A-Z, 0-9 and -\r
-               if ($part !~ /^[a-zA-Z0-9-]*$/) {\r
-                       return 0;}\r
-               # First character can only be a letter or a digit\r
-               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-                       return 0;}\r
-               # Last character can only be a letter or a digit\r
-               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
-                       return 0;}\r
-       }\r
-       return 1;\r
-}\r
-\r
-sub validportrange # used to check a port range \r
-{\r
-       my $port = $_[0]; # port values\r
-       $port =~ tr/-/:/; # replace all - with colons just in case someone used -\r
-       my $srcdst = $_[1]; # is it a source or destination port\r
-\r
-       if (!($port =~ /^(\d+)\:(\d+)$/)) {\r
-       \r
-               if (!(&validport($port))) {      \r
-                       if ($srcdst eq 'src'){\r
-                               return $Lang::tr{'source port numbers'};\r
-                       } else  {\r
-                               return $Lang::tr{'destination port numbers'};\r
-                       } \r
-               }\r
-       }\r
-       else \r
-       {\r
-               my @ports = ($1, $2);\r
-               if ($1 >= $2){\r
-                       if ($srcdst eq 'src'){\r
-                               return $Lang::tr{'bad source range'};\r
-                       } else  {\r
-                               return $Lang::tr{'bad destination range'};\r
-                       } \r
-               }\r
-               foreach $_ (@ports)\r
-               {\r
-                       if (!(&validport($_))) {\r
-                               if ($srcdst eq 'src'){\r
-                                       return $Lang::tr{'source port numbers'}; \r
-                               } else  {\r
-                                       return $Lang::tr{'destination port numbers'};\r
-                               } \r
-                       }\r
-               }\r
-               return;\r
-       }\r
-}\r
-\r
-# Test if IP is within a subnet\r
-# Call: IpInSubnet (Addr, Subnet, Subnet Mask)\r
-#       Subnet can be an IP of the subnet: 10.0.0.0 or 10.0.0.1\r
-#       Everything in dottted notation\r
-# Return: TRUE/FALSE\r
-sub IpInSubnet\r
-{\r
-    my $ip = unpack('N', &Socket::inet_aton(shift));\r
-    my $start = unpack('N', &Socket::inet_aton(shift));\r
-    my $mask  = unpack('N', &Socket::inet_aton(shift));\r
-       $start &= $mask;  # base of subnet...\r
-    my $end   = $start + ~$mask;\r
-    return (($ip >= $start) && ($ip <= $end));\r
-}\r
-\r
-sub validemail {\r
-    my $mail = shift;\r
-    return 0 if ( $mail !~ /^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/ );\r
-    return 0 if ( $mail =~ /^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/);\r
-    return 0 if ( $mail !~ /([0-9a-zA-Z]{1})\@./ );\r
-    return 0 if ( $mail !~ /.\@([0-9a-zA-Z]{1})/ );\r
-    return 0 if ( $mail =~ /.\.\-.|.\-\..|.\.\..|.\-\-./g );\r
-    return 0 if ( $mail =~ /.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./g );\r
-    return 0 if ( $mail !~ /\.([a-zA-Z]{2,4})$/ );\r
-    return 1;\r
-}\r
-\r
-sub readhasharray {\r
-    my ($filename, $hash) = @_;\r
-    %$hash = ();\r
-\r
-    open(FILE, $filename) or die "Unable to read file $filename";\r
-\r
-    while (<FILE>) {\r
-       my ($key, $rest, @temp);\r
-       chomp;\r
-       ($key, $rest) = split (/,/, $_, 2);\r
-       if ($key =~ /^[0-9]+$/ && $rest) {\r
-           @temp = split (/,/, $rest);\r
-           $hash->{$key} = \@temp;\r
-        }\r
-    }\r
-    close FILE;\r
-    return;\r
-}\r
-\r
-sub writehasharray {\r
-    my ($filename, $hash) = @_;\r
-    my ($key, @temp, $i);\r
-\r
-    open(FILE, ">$filename") or die "Unable to write to file $filename";\r
-\r
-    foreach $key (keys %$hash) {\r
-       if ( $hash->{$key} ) {\r
-           print FILE "$key";\r
-           foreach $i (0 .. $#{$hash->{$key}}) {\r
-               print FILE ",$hash->{$key}[$i]";\r
-           }\r
-       }\r
-       print FILE "\n";\r
-    }\r
-    close FILE;\r
-    return;\r
-}\r
-\r
-sub findhasharraykey {\r
-    foreach my $i (1 .. 1000000) {\r
-       if ( ! exists $_[0]{$i}) {\r
-            return $i;\r
-       }\r
-    }\r
-}\r
-\r
-sub srtarray \r
-# Darren Critchley - darrenc@telus.net - (c) 2003\r
-# &srtarray(SortOrder, AlphaNumeric, SortDirection, ArrayToBeSorted)\r
-# This subroutine will take the following parameters:\r
-#   ColumnNumber = the column which you want to sort on, starts at 1\r
-#   AlphaNumberic = a or n (lowercase) defines whether the sort should be alpha or numberic\r
-#   SortDirection = asc or dsc (lowercase) Ascending or Descending sort\r
-#   ArrayToBeSorted = the array that wants sorting\r
-#\r
-#   Returns an array that is sorted to your specs\r
-#\r
-#   If SortOrder is greater than the elements in array, then it defaults to the first element\r
-# \r
-{\r
-       my ($colno, $alpnum, $srtdir, @tobesorted) = @_;\r
-       my @tmparray;\r
-       my @srtedarray;\r
-       my $line;\r
-       my $newline;\r
-       my $ctr;\r
-       my $ttlitems = scalar @tobesorted; # want to know the number of rows in the passed array\r
-       if ($ttlitems < 1){ # if no items, don't waste our time lets leave\r
-               return (@tobesorted);\r
-       }\r
-       my @tmp = split(/\,/,$tobesorted[0]);\r
-       $ttlitems = scalar @tmp; # this should be the number of elements in each row of the passed in array\r
-\r
-       # Darren Critchley - validate parameters\r
-       if ($colno > $ttlitems){$colno = '1';}\r
-       $colno--; # remove one from colno to deal with arrays starting at 0\r
-       if($colno < 0){$colno = '0';}\r
-       if ($alpnum ne '') { $alpnum = lc($alpnum); } else { $alpnum = 'a'; }\r
-       if ($srtdir ne '') { $srtdir = lc($srtdir); } else { $srtdir = 'src'; }\r
-\r
-       foreach $line (@tobesorted)\r
-       {\r
-               chomp($line);\r
-               if ($line ne '') {\r
-                       my @temp = split(/\,/,$line);\r
-                       # Darren Critchley - juggle the fields so that the one we want to sort on is first\r
-                       my $tmpholder = $temp[0];\r
-                       $temp[0] = $temp[$colno];\r
-                       $temp[$colno] = $tmpholder;\r
-                       $newline = "";\r
-                       for ($ctr=0; $ctr < $ttlitems ; $ctr++) {\r
-                               $newline=$newline . $temp[$ctr] . ",";\r
-                       }\r
-                       chop($newline);\r
-                       push(@tmparray,$newline);\r
-               }\r
-       }\r
-       if ($alpnum eq 'n') {\r
-               @tmparray = sort {$a <=> $b} @tmparray;\r
-       } else {\r
-               @tmparray = (sort @tmparray);\r
-       }\r
-       foreach $line (@tmparray)\r
-       {\r
-               chomp($line);\r
-               if ($line ne '') {\r
-                       my @temp = split(/\,/,$line);\r
-                       my $tmpholder = $temp[0];\r
-                       $temp[0] = $temp[$colno];\r
-                       $temp[$colno] = $tmpholder;\r
-                       $newline = "";\r
-                       for ($ctr=0; $ctr < $ttlitems ; $ctr++){\r
-                               $newline=$newline . $temp[$ctr] . ",";\r
-                       }\r
-                       chop($newline);\r
-                       push(@srtedarray,$newline);\r
-               }\r
-       }\r
-\r
-       if ($srtdir eq 'dsc') {\r
-               @tmparray = reverse(@srtedarray);\r
-               return (@tmparray);\r
-       } else {\r
-               return (@srtedarray);\r
-       }\r
-}\r
-\r
-sub FetchPublicIp {\r
-    my %proxysettings;\r
-    &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);\r
-    if ($_=$proxysettings{'UPSTREAM_PROXY'}) {\r
-        my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);\r
-        Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );\r
-    }\r
-    my ($out, $response) = Net::SSLeay::get_http(  'checkip.dyndns.org',\r
-                                                   80,\r
-                                                   "/",\r
-                                                   Net::SSLeay::make_headers('User-Agent' => 'Ipcop' )\r
-                                               );\r
-    if ($response =~ m%HTTP/1\.. 200 OK%) {\r
-       $out =~ /Current IP Address: (\d+.\d+.\d+.\d+)/;\r
-       return $1;\r
-    }\r
-    return '';\r
-}\r
-\r
-#\r
-# Check if hostname.domain provided have IP provided\r
-# use gethostbyname to verify that\r
-# Params:\r
-#      IP\r
-#      hostname\r
-#      domain\r
-# Output \r
-#      1 IP matches host.domain\r
-#      0 not in sync\r
-#\r
-sub DyndnsServiceSync ($;$;$) {\r
\r
-    my ($ip,$hostName,$domain) = @_;\r
-    my @addresses;\r
-\r
-    #fix me no ip GROUP, what is the name ?\r
-    $hostName =~ s/$General::noipprefix//;\r
-    if ($hostName) { #may be empty\r
-       $hostName = "$hostName.$domain";\r
-       @addresses = gethostbyname($hostName);\r
-    }\r
-\r
-    if ($addresses[0] eq '') {                 # nothing returned ?\r
-       $hostName = $domain;                    # try resolving with domain only\r
-        @addresses = gethostbyname($hostName);\r
-    }\r
-\r
-    if ($addresses[0] ne '') {                         # got something ?\r
-       #&General::log("name:$addresses[0], alias:$addresses[1]");                          \r
-       # Build clear text list of IP\r
-       @addresses = map ( &Socket::inet_ntoa($_), @addresses[4..$#addresses]);\r
-       if (grep (/$ip/, @addresses)) {\r
-           return 1;\r
-       }\r
-    }\r
-    return 0;\r
-}\r
-#\r
-# This sub returns the red IP used to compare in DyndnsServiceSync\r
-#\r
-sub GetDyndnsRedIP {\r
-    my %settings;\r
-    &General::readhash("${General::swroot}/ddns/settings", \%settings);\r
-\r
-    open(IP, "${General::swroot}/red/local-ipaddress") or return 'unavailable';\r
-    my $ip = <IP>;\r
-    close(IP);\r
-    chomp $ip;\r
-\r
-    if (&General::IpInSubnet ($ip,'10.0.0.0','255.0.0.0') ||\r
-        &General::IpInSubnet ($ip,'172.16.0.0.','255.240.0.0') ||\r
-        &General::IpInSubnet ($ip,'192.168.0.0','255.255.0.0'))\r
-    {\r
-       if ($settings{'BEHINDROUTER'} eq 'FETCH_IP') {\r
-           my $RealIP = &General::FetchPublicIp;\r
-           $ip = (&General::validip ($RealIP) ?  $RealIP : 'unavailable');\r
-       }\r
-    }\r
-    return $ip;\r
-}\r
-1;\r
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite
+# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()
+# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()
+# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()
+#
+# $Id: general-functions.pl,v 1.1.2.26 2006/01/04 16:33:55 franck78 Exp $
+#
+
+package General;
+
+use strict;
+use Socket;
+use IO::Socket;
+
+$|=1; # line buffering
+
+$General::version = 'VERSION';
+$General::swroot = 'CONFIG_ROOT';
+$General::noipprefix = 'noipg-';
+$General::adminmanualurl = 'http://www.ipcop.org/1.4.0/en/admin/html';
+
+sub log
+{
+       my $logmessage = $_[0];
+       $logmessage =~ /([\w\W]*)/;
+       $logmessage = $1;
+       system('/usr/bin/logger', '-t', 'ipcop', $logmessage);
+}
+
+sub readhash
+{
+       my $filename = $_[0];
+       my $hash = $_[1];
+       my ($var, $val);
+       
+       
+       # Some ipcop code expects that readhash 'complete' the hash if new entries
+       # are presents. Not clear it !!!
+       #%$hash = ();
+
+       open(FILE, $filename) or die "Unable to read file $filename";
+       
+       while (<FILE>)
+       {
+               chop;
+               ($var, $val) = split /=/, $_, 2;
+               if ($var)
+               {
+                       $val =~ s/^\'//g;
+                       $val =~ s/\'$//g;
+
+                       # Untaint variables read from hash
+                       $var =~ /([A-Za-z0-9_-]*)/;        $var = $1;
+                       $val =~ /([\w\W]*)/; $val = $1;
+                       $hash->{$var} = $val;
+               }
+       }
+       close FILE;
+}
+
+
+sub writehash
+{
+       my $filename = $_[0];
+       my $hash = $_[1];
+       my ($var, $val);
+       
+       # write cgi vars to the file.
+       open(FILE, ">${filename}") or die "Unable to write file $filename";
+       flock FILE, 2;
+       foreach $var (keys %$hash) 
+       {
+               $val = $hash->{$var};
+               # Darren Critchley Jan 17, 2003 added the following because when submitting with a graphic, the x and y
+               # location of the mouse are submitted as well, this was being written to the settings file causing
+               # some serious grief! This skips the variable.x and variable.y
+               if (!($var =~ /(.x|.y)$/)) {
+                       if ($val =~ / /) {
+                               $val = "\'$val\'"; }
+                       if (!($var =~ /^ACTION/)) {
+                               print FILE "${var}=${val}\n"; }
+               }
+       }
+       close FILE;
+}
+
+
+sub age
+{
+       my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
+               $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0];
+       my $now = time;
+
+       my $totalsecs = $now - $mtime;
+       my $days = int($totalsecs / 86400);
+       my $totalhours = int($totalsecs / 3600);
+       my $hours = $totalhours % 24;
+       my $totalmins = int($totalsecs / 60);
+       my $mins = $totalmins % 60;
+       my $secs = $totalsecs % 60;
+
+       return "${days}d ${hours}h ${mins}m ${secs}s";
+}
+
+sub validip
+{
+       my $ip = $_[0];
+
+       if (!($ip =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)) {
+               return 0; }
+       else 
+       {
+               my @octets = ($1, $2, $3, $4);
+               foreach $_ (@octets)
+               {
+                       if (/^0./) {
+                               return 0; }
+                       if ($_ < 0 || $_ > 255) {
+                               return 0; }
+               }
+               return 1;
+       }
+}
+
+sub validmask
+{
+       my $mask = $_[0];
+
+       # secord part an ip?
+       if (&validip($mask)) {
+               return 1; }
+       # second part a number?
+       if (/^0/) {
+               return 0; }
+       if (!($mask =~ /^\d+$/)) {
+               return 0; }
+       if ($mask >= 0 && $mask <= 32) {
+               return 1; }
+       return 0;
+}
+
+sub validipormask
+{
+       my $ipormask = $_[0];
+
+       # see if it is a IP only.
+       if (&validip($ipormask)) {
+               return 1; }
+       # split it into number and mask.
+       if (!($ipormask =~ /^(.*?)\/(.*?)$/)) {
+               return 0; }
+       my $ip = $1;
+       my $mask = $2;
+       # first part not a ip?
+       if (!(&validip($ip))) {
+               return 0; }
+       return &validmask($mask);
+}
+
+sub validipandmask
+{
+       my $ipandmask = $_[0];
+
+       # split it into number and mask.
+       if (!($ipandmask =~ /^(.*?)\/(.*?)$/)) {
+               return 0; }
+       my $ip = $1;
+       my $mask = $2;
+       # first part not a ip?
+       if (!(&validip($ip))) {
+               return 0; }
+       return &validmask($mask);
+}
+
+sub validport
+{
+       $_ = $_[0];
+
+       if (!/^\d+$/) {
+               return 0; }
+       if (/^0./) {
+               return 0; }
+       if ($_ >= 1 && $_ <= 65535) {
+               return 1; }
+       return 0;
+}
+
+sub validmac
+{
+       my $checkmac = $_[0];
+       my $ot = '[0-9a-f]{2}'; # 2 Hex digits (one octet)
+       if ($checkmac !~ /^$ot:$ot:$ot:$ot:$ot:$ot$/i)
+       {
+               return 0;
+       }
+       return 1;
+}
+
+sub validhostname
+{
+       # Checks a hostname against RFC1035
+        my $hostname = $_[0];
+
+       # Each part should be at least two characters in length
+       # but no more than 63 characters
+       if (length ($hostname) < 1 || length ($hostname) > 63) {
+               return 0;}
+       # Only valid characters are a-z, A-Z, 0-9 and -
+       if ($hostname !~ /^[a-zA-Z0-9-]*$/) {
+               return 0;}
+       # First character can only be a letter or a digit
+       if (substr ($hostname, 0, 1) !~ /^[a-zA-Z0-9]*$/) {
+               return 0;}
+       # Last character can only be a letter or a digit
+       if (substr ($hostname, -1, 1) !~ /^[a-zA-Z0-9]*$/) {
+               return 0;}
+       return 1;
+}
+
+sub validdomainname
+{
+       my $part;
+
+       # Checks a domain name against RFC1035
+        my $domainname = $_[0];
+       my @parts = split (/\./, $domainname);  # Split hostname at the '.'
+
+       foreach $part (@parts) {
+               # Each part should be at least two characters in length
+               # but no more than 63 characters
+               if (length ($part) < 2 || length ($part) > 63) {
+                       return 0;}
+               # Only valid characters are a-z, A-Z, 0-9 and -
+               if ($part !~ /^[a-zA-Z0-9-]*$/) {
+                       return 0;}
+               # First character can only be a letter or a digit
+               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {
+                       return 0;}
+               # Last character can only be a letter or a digit
+               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {
+                       return 0;}
+       }
+       return 1;
+}
+
+sub validfqdn
+{
+       my $part;
+
+       # Checks a fully qualified domain name against RFC1035
+        my $fqdn = $_[0];
+       my @parts = split (/\./, $fqdn);        # Split hostname at the '.'
+       if (scalar(@parts) < 2) {               # At least two parts should
+               return 0;}                      # exist in a FQDN
+                                               # (i.e. hostname.domain)
+       foreach $part (@parts) {
+               # Each part should be at least one character in length
+               # but no more than 63 characters
+               if (length ($part) < 1 || length ($part) > 63) {
+                       return 0;}
+               # Only valid characters are a-z, A-Z, 0-9 and -
+               if ($part !~ /^[a-zA-Z0-9-]*$/) {
+                       return 0;}
+               # First character can only be a letter or a digit
+               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {
+                       return 0;}
+               # Last character can only be a letter or a digit
+               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {
+                       return 0;}
+       }
+       return 1;
+}
+
+sub validportrange # used to check a port range 
+{
+       my $port = $_[0]; # port values
+       $port =~ tr/-/:/; # replace all - with colons just in case someone used -
+       my $srcdst = $_[1]; # is it a source or destination port
+
+       if (!($port =~ /^(\d+)\:(\d+)$/)) {
+       
+               if (!(&validport($port))) {      
+                       if ($srcdst eq 'src'){
+                               return $Lang::tr{'source port numbers'};
+                       } else  {
+                               return $Lang::tr{'destination port numbers'};
+                       } 
+               }
+       }
+       else 
+       {
+               my @ports = ($1, $2);
+               if ($1 >= $2){
+                       if ($srcdst eq 'src'){
+                               return $Lang::tr{'bad source range'};
+                       } else  {
+                               return $Lang::tr{'bad destination range'};
+                       } 
+               }
+               foreach $_ (@ports)
+               {
+                       if (!(&validport($_))) {
+                               if ($srcdst eq 'src'){
+                                       return $Lang::tr{'source port numbers'}; 
+                               } else  {
+                                       return $Lang::tr{'destination port numbers'};
+                               } 
+                       }
+               }
+               return;
+       }
+}
+
+# Test if IP is within a subnet
+# Call: IpInSubnet (Addr, Subnet, Subnet Mask)
+#       Subnet can be an IP of the subnet: 10.0.0.0 or 10.0.0.1
+#       Everything in dottted notation
+# Return: TRUE/FALSE
+sub IpInSubnet
+{
+    my $ip = unpack('N', &Socket::inet_aton(shift));
+    my $start = unpack('N', &Socket::inet_aton(shift));
+    my $mask  = unpack('N', &Socket::inet_aton(shift));
+       $start &= $mask;  # base of subnet...
+    my $end   = $start + ~$mask;
+    return (($ip >= $start) && ($ip <= $end));
+}
+
+sub validemail {
+    my $mail = shift;
+    return 0 if ( $mail !~ /^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/ );
+    return 0 if ( $mail =~ /^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/);
+    return 0 if ( $mail !~ /([0-9a-zA-Z]{1})\@./ );
+    return 0 if ( $mail !~ /.\@([0-9a-zA-Z]{1})/ );
+    return 0 if ( $mail =~ /.\.\-.|.\-\..|.\.\..|.\-\-./g );
+    return 0 if ( $mail =~ /.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./g );
+    return 0 if ( $mail !~ /\.([a-zA-Z]{2,4})$/ );
+    return 1;
+}
+
+sub readhasharray {
+    my ($filename, $hash) = @_;
+    %$hash = ();
+
+    open(FILE, $filename) or die "Unable to read file $filename";
+
+    while (<FILE>) {
+       my ($key, $rest, @temp);
+       chomp;
+       ($key, $rest) = split (/,/, $_, 2);
+       if ($key =~ /^[0-9]+$/ && $rest) {
+           @temp = split (/,/, $rest);
+           $hash->{$key} = \@temp;
+        }
+    }
+    close FILE;
+    return;
+}
+
+sub writehasharray {
+    my ($filename, $hash) = @_;
+    my ($key, @temp, $i);
+
+    open(FILE, ">$filename") or die "Unable to write to file $filename";
+
+    foreach $key (keys %$hash) {
+       if ( $hash->{$key} ) {
+           print FILE "$key";
+           foreach $i (0 .. $#{$hash->{$key}}) {
+               print FILE ",$hash->{$key}[$i]";
+           }
+       }
+       print FILE "\n";
+    }
+    close FILE;
+    return;
+}
+
+sub findhasharraykey {
+    foreach my $i (1 .. 1000000) {
+       if ( ! exists $_[0]{$i}) {
+            return $i;
+       }
+    }
+}
+
+sub srtarray 
+# Darren Critchley - darrenc@telus.net - (c) 2003
+# &srtarray(SortOrder, AlphaNumeric, SortDirection, ArrayToBeSorted)
+# This subroutine will take the following parameters:
+#   ColumnNumber = the column which you want to sort on, starts at 1
+#   AlphaNumberic = a or n (lowercase) defines whether the sort should be alpha or numberic
+#   SortDirection = asc or dsc (lowercase) Ascending or Descending sort
+#   ArrayToBeSorted = the array that wants sorting
+#
+#   Returns an array that is sorted to your specs
+#
+#   If SortOrder is greater than the elements in array, then it defaults to the first element
+# 
+{
+       my ($colno, $alpnum, $srtdir, @tobesorted) = @_;
+       my @tmparray;
+       my @srtedarray;
+       my $line;
+       my $newline;
+       my $ctr;
+       my $ttlitems = scalar @tobesorted; # want to know the number of rows in the passed array
+       if ($ttlitems < 1){ # if no items, don't waste our time lets leave
+               return (@tobesorted);
+       }
+       my @tmp = split(/\,/,$tobesorted[0]);
+       $ttlitems = scalar @tmp; # this should be the number of elements in each row of the passed in array
+
+       # Darren Critchley - validate parameters
+       if ($colno > $ttlitems){$colno = '1';}
+       $colno--; # remove one from colno to deal with arrays starting at 0
+       if($colno < 0){$colno = '0';}
+       if ($alpnum ne '') { $alpnum = lc($alpnum); } else { $alpnum = 'a'; }
+       if ($srtdir ne '') { $srtdir = lc($srtdir); } else { $srtdir = 'src'; }
+
+       foreach $line (@tobesorted)
+       {
+               chomp($line);
+               if ($line ne '') {
+                       my @temp = split(/\,/,$line);
+                       # Darren Critchley - juggle the fields so that the one we want to sort on is first
+                       my $tmpholder = $temp[0];
+                       $temp[0] = $temp[$colno];
+                       $temp[$colno] = $tmpholder;
+                       $newline = "";
+                       for ($ctr=0; $ctr < $ttlitems ; $ctr++) {
+                               $newline=$newline . $temp[$ctr] . ",";
+                       }
+                       chop($newline);
+                       push(@tmparray,$newline);
+               }
+       }
+       if ($alpnum eq 'n') {
+               @tmparray = sort {$a <=> $b} @tmparray;
+       } else {
+               @tmparray = (sort @tmparray);
+       }
+       foreach $line (@tmparray)
+       {
+               chomp($line);
+               if ($line ne '') {
+                       my @temp = split(/\,/,$line);
+                       my $tmpholder = $temp[0];
+                       $temp[0] = $temp[$colno];
+                       $temp[$colno] = $tmpholder;
+                       $newline = "";
+                       for ($ctr=0; $ctr < $ttlitems ; $ctr++){
+                               $newline=$newline . $temp[$ctr] . ",";
+                       }
+                       chop($newline);
+                       push(@srtedarray,$newline);
+               }
+       }
+
+       if ($srtdir eq 'dsc') {
+               @tmparray = reverse(@srtedarray);
+               return (@tmparray);
+       } else {
+               return (@srtedarray);
+       }
+}
+
+sub FetchPublicIp {
+    my %proxysettings;
+    &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+    if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
+        my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
+        Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
+    }
+    my ($out, $response) = Net::SSLeay::get_http(  'checkip.dyndns.org',
+                                                   80,
+                                                   "/",
+                                                   Net::SSLeay::make_headers('User-Agent' => 'Ipcop' )
+                                               );
+    if ($response =~ m%HTTP/1\.. 200 OK%) {
+       $out =~ /Current IP Address: (\d+.\d+.\d+.\d+)/;
+       return $1;
+    }
+    return '';
+}
+
+#
+# Check if hostname.domain provided have IP provided
+# use gethostbyname to verify that
+# Params:
+#      IP
+#      hostname
+#      domain
+# Output 
+#      1 IP matches host.domain
+#      0 not in sync
+#
+sub DyndnsServiceSync ($;$;$) {
+    my ($ip,$hostName,$domain) = @_;
+    my @addresses;
+
+    #fix me no ip GROUP, what is the name ?
+    $hostName =~ s/$General::noipprefix//;
+    if ($hostName) { #may be empty
+       $hostName = "$hostName.$domain";
+       @addresses = gethostbyname($hostName);
+    }
+
+    if ($addresses[0] eq '') {                 # nothing returned ?
+       $hostName = $domain;                    # try resolving with domain only
+        @addresses = gethostbyname($hostName);
+    }
+
+    if ($addresses[0] ne '') {                         # got something ?
+       #&General::log("name:$addresses[0], alias:$addresses[1]");                          
+       # Build clear text list of IP
+       @addresses = map ( &Socket::inet_ntoa($_), @addresses[4..$#addresses]);
+       if (grep (/$ip/, @addresses)) {
+           return 1;
+       }
+    }
+    return 0;
+}
+#
+# This sub returns the red IP used to compare in DyndnsServiceSync
+#
+sub GetDyndnsRedIP {
+    my %settings;
+    &General::readhash("${General::swroot}/ddns/settings", \%settings);
+
+    open(IP, "${General::swroot}/red/local-ipaddress") or return 'unavailable';
+    my $ip = <IP>;
+    close(IP);
+    chomp $ip;
+
+    if (&General::IpInSubnet ($ip,'10.0.0.0','255.0.0.0') ||
+        &General::IpInSubnet ($ip,'172.16.0.0.','255.240.0.0') ||
+        &General::IpInSubnet ($ip,'192.168.0.0','255.255.0.0'))
+    {
+       if ($settings{'BEHINDROUTER'} eq 'FETCH_IP') {
+           my $RealIP = &General::FetchPublicIp;
+           $ip = (&General::validip ($RealIP) ?  $RealIP : 'unavailable');
+       }
+    }
+    return $ip;
+}
+1;
index b2151ea5cc7ab1116a8d6b7f6b4b19e0c5d577b1..ead049d7cad1e5d33fb31500d2c678fa52b03e02 100644 (file)
@@ -1,24 +1,24 @@
-sub genmenu\r
-{\r
-    ... snip ...\r
-    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {\r
-       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);\r
-       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);\r
-    }\r
-\r
-    # Read additionnal menus entry\r
-    # this have to be hardened and accepted. To be extended.\r
-    opendir (DIR, "${General::swroot}/addon-menu");\r
-    while (my $menuitem = readdir (DIR)) {\r
-\r
-       if ( $menuitem =~ /^menu\.([1-6]\..*)\..*/) {  #model is "menu.(N.submenu).filename"\r
-           my $submenu = $1;\r
-           open (FILE,"${General::swroot}/addon-menu/$menuitem") or die;\r
-           while (my $text = <FILE>) {     # file may content many entry\r
-               splice (@{$menu{$submenu}{'subMenu'}} ,-1,0, [ eval($text) ] );\r
-           }\r
-           close (FILE);\r
-       }\r
-    }\r
-    closedir (DIR);\r
-}\r
+sub genmenu
+{
+    ... snip ...
+    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {
+       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);
+    }
+
+    # Read additionnal menus entry
+    # this have to be hardened and accepted. To be extended.
+    opendir (DIR, "${General::swroot}/addon-menu");
+    while (my $menuitem = readdir (DIR)) {
+
+       if ( $menuitem =~ /^menu\.([1-6]\..*)\..*/) {  #model is "menu.(N.submenu).filename"
+           my $submenu = $1;
+           open (FILE,"${General::swroot}/addon-menu/$menuitem") or die;
+           while (my $text = <FILE>) {     # file may content many entry
+               splice (@{$menu{$submenu}{'subMenu'}} ,-1,0, [ eval($text) ] );
+           }
+           close (FILE);
+       }
+    }
+    closedir (DIR);
+}
index c15187a135ef46056e2b4b51f97bce08b132edcf..b16a98c8891757aad8ed31e8143ce84da3bb16f7 100644 (file)
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite\r
-# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()\r
-# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions\r
-# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()\r
-# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()\r
-#\r
-# $Id: header.pl,v 1.34.2.67 2005/10/03 20:01:05 gespinasse Exp $\r
-#\r
-\r
-package Header;\r
-\r
-use strict;\r
-use CGI();\r
-use Time::Local;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-\r
-$Header::pagecolour = '#ffffff';       # never used, will be removed\r
-$Header::tablecolour = '#FFFFFF';      # never used, will be removed\r
-$Header::bigboxcolour = '#F6F4F4';     # never used, will be removed\r
-$Header::boxcolour = '#EAE9EE';                # only header.pl, ? move in css ?\r
-$Header::bordercolour = '#000000';     # never used, will be removed\r
-$Header::table1colour = '#C0C0C0';\r
-$Header::table2colour = '#F2F2F2';\r
-$Header::colourred = '#993333';\r
-$Header::colourorange = '#FF9933';\r
-$Header::colouryellow = '#FFFF00';\r
-$Header::colourgreen = '#339933';\r
-$Header::colourblue = '#333399';\r
-$Header::colourfw = '#000000';         # only connections.cgi\r
-$Header::colourvpn = '#990099';                # only connections.cgi\r
-$Header::colourerr = '#FF0000';                # only header.pl, many scripts use colourred for warnings messages\r
-$Header::viewsize = 150;\r
-my %menu = ();\r
-my $hostnameintitle = 0;\r
-our $javascript = 1;\r
-\r
-### Initialize menu\r
-sub genmenu\r
-{\r
-    ### Initialize environment\r
-    my %ethsettings = ();\r
-    &General::readhash("${General::swroot}/ethernet/settings", \%ethsettings);\r
-\r
-    %{$menu{'1.system'}}=(\r
-               'contents' =>  $Lang::tr{'alt system'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'alt system'}",\r
-               'subMenu' =>   [[ $Lang::tr{'alt home'} , '/cgi-bin/index.cgi', "IPCop $Lang::tr{'alt home'}" ],\r
-                               [ $Lang::tr{'updates'} , '/cgi-bin/updates.cgi', "IPCop $Lang::tr{'updates'}" ],\r
-                               [ $Lang::tr{'sspasswords'} , '/cgi-bin/changepw.cgi', "IPCop $Lang::tr{'sspasswords'}" ],\r
-                               [ $Lang::tr{'ssh access'} , '/cgi-bin/remote.cgi', "IPCop $Lang::tr{'ssh access'}" ],\r
-                               [ $Lang::tr{'gui settings'} , '/cgi-bin/gui.cgi', "IPCop $Lang::tr{'gui settings'}" ],\r
-                               [ $Lang::tr{'backup'} , '/cgi-bin/backup.cgi', "IPCop $Lang::tr{'backup'} / $Lang::tr{'restore'}" ],\r
-                               [ $Lang::tr{'shutdown'} , '/cgi-bin/shutdown.cgi', "IPCop $Lang::tr{'shutdown'} / $Lang::tr{'reboot'}" ],\r
-                               [ $Lang::tr{'credits'} , '/cgi-bin/credits.cgi', "IPCop $Lang::tr{'credits'}" ]]\r
-    );\r
-    %{$menu{'2.status'}}=(\r
-               'contents' =>  $Lang::tr{'status'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'status information'}",\r
-               'subMenu' =>   [[ $Lang::tr{'sssystem status'} , '/cgi-bin/status.cgi', "IPCop $Lang::tr{'system status information'}" ],\r
-                               [ $Lang::tr{'ssnetwork status'} , '/cgi-bin/netstatus.cgi', "IPCop $Lang::tr{'network status information'}" ],\r
-                               [ $Lang::tr{'system graphs'} , '/cgi-bin/graphs.cgi', "IPCop $Lang::tr{'system graphs'}" ],\r
-                               [ $Lang::tr{'sstraffic graphs'} , '/cgi-bin/graphs.cgi?graph=network', "IPCop $Lang::tr{'network traffic graphs'}" ],\r
-                               [ $Lang::tr{'ssproxy graphs'} , '/cgi-bin/proxygraphs.cgi', "IPCop $Lang::tr{'proxy access graphs'}" ],\r
-                               [ $Lang::tr{'connections'} , '/cgi-bin/connections.cgi', "IPCop $Lang::tr{'connections'}" ]]\r
-    );\r
-    %{$menu{'3.network'}}=(\r
-               'contents' =>  $Lang::tr{'network'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'network configuration'}",\r
-               'subMenu' =>   [[ $Lang::tr{'alt dialup'} , '/cgi-bin/pppsetup.cgi', "IPCop $Lang::tr{'dialup settings'}" ],\r
-                               [ $Lang::tr{'upload'} , '/cgi-bin/upload.cgi', $Lang::tr{'firmware upload'} ],\r
-                               [ $Lang::tr{'modem'} , '/cgi-bin/modem.cgi', "IPCop $Lang::tr{'modem configuration'}" ],\r
-                               [ $Lang::tr{'aliases'} , '/cgi-bin/aliases.cgi', "IPCop $Lang::tr{'external aliases configuration'}" ]]\r
-    );\r
-    %{$menu{'4.services'}}=(\r
-               'contents' =>  $Lang::tr{'alt services'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'alt services'}",\r
-               'subMenu' =>   [[ $Lang::tr{'proxy'} , '/cgi-bin/proxy.cgi', "IPCop $Lang::tr{'web proxy configuration'}" ],\r
-                               [ $Lang::tr{'dhcp server'} , '/cgi-bin/dhcp.cgi', "IPCop $Lang::tr{'dhcp configuration'}" ],\r
-                               [ $Lang::tr{'dynamic dns'} , '/cgi-bin/ddns.cgi', "IPCop $Lang::tr{'dynamic dns client'}" ],\r
-                               [ $Lang::tr{'edit hosts'} , '/cgi-bin/hosts.cgi', "IPCop $Lang::tr{'host configuration'}" ],\r
-                               [ $Lang::tr{'time server'} , '/cgi-bin/time.cgi', "IPCop $Lang::tr{'time server'}" ],\r
-                               [ $Lang::tr{'traffic shaping'} , '/cgi-bin/shaping.cgi', "IPCop $Lang::tr{'traffic shaping settings'}" ],\r
-                               [ $Lang::tr{'intrusion detection'} , '/cgi-bin/ids.cgi', "IPCop $Lang::tr{'intrusion detection system'} (Snort)" ]]\r
-    );\r
-    %{$menu{'5.firewall'}}=(\r
-               'contents' =>  $Lang::tr{'firewall'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'firewall'}",\r
-               'subMenu' =>   [[ $Lang::tr{'ssport forwarding'} , '/cgi-bin/portfw.cgi', "IPCop $Lang::tr{'port forwarding configuration'}" ],\r
-                               [ $Lang::tr{'external access'} , '/cgi-bin/xtaccess.cgi', "IPCop $Lang::tr{'external access configuration'}" ],\r
-                               [ $Lang::tr{'ssdmz pinholes'} , '/cgi-bin/dmzholes.cgi', "IPCop $Lang::tr{'dmz pinhole configuration'}" ],\r
-                               [ $Lang::tr{'blue access'} , '/cgi-bin/wireless.cgi', "IPCop $Lang::tr{'blue access'}" ]\r
-                               ,[ $Lang::tr{'options fw'} , '/cgi-bin/optionsfw.cgi', "IPCop $Lang::tr{'options fw'}" ]\r
-                              ]\r
-    );\r
-    %{$menu{'6.vpns'}}=(\r
-               'contents' =>  $Lang::tr{'alt vpn'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'virtual private networking'}",\r
-               'subMenu' =>   [[ $Lang::tr{'alt vpn'} , '/cgi-bin/vpnmain.cgi', "IPCop $Lang::tr{'virtual private networking'}"]]\r
-    );\r
-    %{$menu{'7.mainlogs'}}=(\r
-               'contents' =>  $Lang::tr{'alt logs'},\r
-               'uri' => '',\r
-               'statusText' => "IPCop $Lang::tr{'alt logs'}",\r
-               'subMenu' =>   [[ $Lang::tr{'log settings'} , '/cgi-bin/logs.cgi/config.dat', "IPCop $Lang::tr{'log settings'}" ],\r
-                               [ $Lang::tr{'log summary'} , '/cgi-bin/logs.cgi/summary.dat', "IPCop $Lang::tr{'log summary'}" ],\r
-                               [ $Lang::tr{'proxy logs'} , '/cgi-bin/logs.cgi/proxylog.dat', "IPCop $Lang::tr{'proxy log viewer'}" ],\r
-                               [ $Lang::tr{'firewall logs'} , '/cgi-bin/logs.cgi/firewalllog.dat', "IPCop $Lang::tr{'firewall log viewer'}" ],\r
-                               [ $Lang::tr{'ids logs'} , '/cgi-bin/logs.cgi/ids.dat', "IPCop $Lang::tr{'intrusion detection system log viewer'}" ],\r
-                               [ $Lang::tr{'system logs'} , '/cgi-bin/logs.cgi/log.dat', "IPCop $Lang::tr{'system log viewer'}" ]]\r
-    );\r
-    if (! $ethsettings{'BLUE_DEV'}) {\r
-       splice (@{$menu{'5.firewall'}{'subMenu'}}, 3, 1);\r
-    }\r
-    if (! $ethsettings{'BLUE_DEV'} && ! $ethsettings{'ORANGE_DEV'}) {\r
-       splice (@{$menu{'5.firewall'}{'subMenu'}}, 2, 1);\r
-    }\r
-    unless ( $ethsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $ethsettings{'RED_TYPE'} eq 'STATIC' ) {\r
-       splice (@{$menu{'3.network'}{'subMenu'}}, 3, 1);\r
-    }\r
-    if ( ! -e "${General::swroot}/snort/enable" && ! -e "${General::swroot}/snort/enable_blue" &&\r
-       ! -e "${General::swroot}/snort/enable_green" && ! -e "${General::swroot}/snort/enable_orange") {\r
-       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 4, 1);\r
-    }\r
-    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {\r
-       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);\r
-       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);\r
-    }\r
-}\r
-\r
-sub showhttpheaders\r
-{\r
-    ### Make sure this is an SSL request\r
-    if ($ENV{'SERVER_ADDR'} && $ENV{'HTTPS'} ne 'on') {\r
-       print "Status: 302 Moved\r\n";\r
-       print "Location: https://$ENV{'SERVER_ADDR'}:445/$ENV{'PATH_INFO'}\r\n\r\n";\r
-       exit 0;\r
-    } else {\r
-       print "Pragma: no-cache\n";\r
-       print "Cache-control: no-cache\n";\r
-       print "Connection: close\n";\r
-       print "Content-type: text/html\n\n";\r
-    }\r
-}\r
-\r
-sub showjsmenu\r
-{\r
-    my $c1 = 1;\r
-\r
-    print "    <script type='text/javascript'>\n";\r
-    print "    domMenu_data.setItem('domMenu_main', new domMenu_Hash(\n";\r
-\r
-    foreach my $k1 ( sort keys %menu ) {\r
-       my $c2 = 1;\r
-       if ($c1 > 1) {\r
-           print "    ),\n";\r
-       }\r
-       print "    $c1, new domMenu_Hash(\n";\r
-       print "\t'contents', '" . &cleanhtml($menu{$k1}{'contents'}) . "',\n";\r
-       print "\t'uri', '$menu{$k1}{'uri'}',\n";\r
-       $menu{$k1}{'statusText'} =~  s/'/\\\'/g;\r
-       print "\t'statusText', '$menu{$k1}{'statusText'}',\n";\r
-       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
-           print "\t    $c2, new domMenu_Hash(\n";\r
-           print "\t\t'contents', '" . &cleanhtml(@{$k2}[0])  . "',\n";\r
-           print "\t\t'uri', '@{$k2}[1]',\n";\r
-           @{$k2}[2] =~ s/'/\\\'/g;\r
-           print "\t\t'statusText', '@{$k2}[2]'\n";\r
-           if ( $c2 <= $#{$menu{$k1}{'subMenu'}} ) {\r
-               print "\t    ),\n";\r
-           } else {\r
-               print "\t    )\n";\r
-           }\r
-           $c2++;\r
-       }\r
-       $c1++;\r
-    }\r
-    print "    )\n";\r
-    print "    ));\n\n";\r
-\r
-    print <<EOF\r
-    domMenu_settings.setItem('domMenu_main', new domMenu_Hash(\r
-       'menuBarWidth', '0%',\r
-       'menuBarClass', 'ipcop_menuBar',\r
-       'menuElementClass', 'ipcop_menuElement',\r
-       'menuElementHoverClass', 'ipcop_menuElementHover',\r
-       'menuElementActiveClass', 'ipcop_menuElementHover',\r
-       'subMenuBarClass', 'ipcop_subMenuBar',\r
-       'subMenuElementClass', 'ipcop_subMenuElement',\r
-       'subMenuElementHoverClass', 'ipcop_subMenuElementHover',\r
-       'subMenuElementActiveClass', 'ipcop_subMenuElementHover',\r
-       'subMenuMinWidth', 'auto',\r
-       'distributeSpace', false,\r
-       'openMouseoverMenuDelay', 0,\r
-       'openMousedownMenuDelay', 0,\r
-       'closeClickMenuDelay', 0,\r
-       'closeMouseoutMenuDelay', -1\r
-    ));\r
-    </script>\r
-EOF\r
-    ;\r
-}\r
-\r
-sub showmenu\r
-{\r
-    if ($javascript) {print "<noscript>";}\r
-    print "<table cellpadding='0' cellspacing='0' border='0'>\n";\r
-    print "<tr>\n";\r
-\r
-    foreach my $k1 ( sort keys %menu ) {\r
-       print "<td class='ipcop_menuElementTD'><a href='" . @{@{$menu{$k1}{'subMenu'}}[0]}[1] . "' class='ipcop_menuElementNoJS'>";\r
-       print $menu{$k1}{'contents'} . "</a></td>\n";\r
-    }\r
-    print "</tr></table>\n";\r
-    if ($javascript) {print "</noscript>";}\r
-}\r
-\r
-sub showsubsection\r
-{\r
-    my $location = $_[0];\r
-    my $c1 = 0;\r
-\r
-    if ($javascript) {print "<noscript>";}\r
-    print "<table width='100%' cellspacing='0' cellpadding='5' border='0'>\n";\r
-    print "<tr><td style='background-color: $Header::boxcolour;' width='53'><img src='/images/null.gif' width='43' height='1' alt='' /></td>\n";\r
-    print "<td style='background-color: $Header::boxcolour;' align='left' width='100%'>";\r
-    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );\r
-\r
-    foreach my $k1 ( keys %menu ) {\r
-       \r
-       if ($menu{$k1}{'contents'} eq $location) {\r
-           foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
-               if ($c1 > 0) {\r
-                   print " | ";\r
-               }\r
-               if (@{$k2}[1] eq "$URI[0]\?$URI[1]" || (@{$k2}[1] eq $URI[0] && length($URI[1]) == 0)) {\r
-               #if (@{$k2}[1] eq "$URI[0]") {\r
-                   print "<b>@{$k2}[0]</b>";\r
-               } else {\r
-                   print "<a href='@{$k2}[1]'>@{$k2}[0]</a>";\r
-               }\r
-               $c1++;\r
-           }\r
-       }\r
-    }\r
-    print "</td></tr></table>\n";\r
-    if ($javascript) { print "</noscript>";}\r
-}\r
-\r
-sub openpage\r
-{\r
-    my $title = $_[0];\r
-    my $menu = $_[1];\r
-    my $extrahead = $_[2];\r
-\r
-    ### Initialize environment\r
-    my %settings = ();\r
-    &General::readhash("${General::swroot}/main/settings", \%settings);\r
-\r
-    if ($settings{'JAVASCRIPT'} eq 'off') {\r
-       $javascript = 0;\r
-    } else {\r
-       $javascript = 1;\r
-    }\r
-\r
-    if ($settings{'WINDOWWITHHOSTNAME'} eq 'on') {\r
-        $hostnameintitle = 1;\r
-    } else {\r
-        $hostnameintitle = 0;\r
-    }\r
-\r
-    print <<END\r
-<!DOCTYPE html \r
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\r
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-\r
-<html><head>\r
-END\r
-    ;\r
-    print "    <title>";\r
-    if ($hostnameintitle) {\r
-        print "$settings{'HOSTNAME'}.$settings{'DOMAINNAME'} - $title"; \r
-    } else {\r
-        print "IPCop - $title";\r
-    }\r
-    print "</title>\n";\r
-\r
-    print <<END\r
-    $extrahead\r
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
-    <link rel="shortcut icon" href="/favicon.ico" />\r
-    <style type="text/css">\@import url(/include/ipcop.css);</style>\r
-END\r
-    ;\r
-    if ($javascript) {\r
-       print "<script type='text/javascript' src='/include/domMenu.js'></script>\n";\r
-       &genmenu();\r
-       &showjsmenu();\r
-    } else {\r
-       &genmenu();\r
-    }\r
-\r
-    my $location = '';\r
-    my $sublocation = '';\r
-    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );\r
-    foreach my $k1 ( keys %menu ) {\r
-       my $temp = $menu{$k1}{'contents'};\r
-       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
-           if ( @{$k2}[1] eq $URI[0] ) {\r
-               $location = $temp;\r
-               $sublocation = @{$k2}[0];\r
-           }\r
-       }\r
-    }\r
-\r
-    my @cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});\r
-    if (defined ($cgigraphs[1])){ \r
-       if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|network)/) {\r
-               $location = $Lang::tr{'status'};\r
-               $sublocation = $Lang::tr{'sstraffic graphs'};\r
-       }\r
-       if ($cgigraphs[1] =~ /(cpu|memory|swap|disk)/) {\r
-               $location = $Lang::tr{'status'};\r
-               $sublocation = $Lang::tr{'system graphs'};\r
-       }\r
-    }\r
-    if ($ENV{'QUERY_STRING'} =~ /(ip)/) {\r
-        $location = $Lang::tr{'alt logs'};\r
-       $sublocation = "WHOIS";\r
-    }\r
-\r
-    if ($javascript) {\r
-           print <<END\r
-           <script type="text/javascript">\r
-           document.onmouseup = function()\r
-           {\r
-               domMenu_deactivate('domMenu_main');\r
-           }\r
-           </script>\r
-           </head>\r
-\r
-           <body onload="domMenu_activate('domMenu_main');">\r
-END\r
-           ;\r
-    } else {\r
-       print "</head>\n\n<body>\n";\r
-    }\r
-\r
-    print <<END\r
-<!-- IPCOP HEADER -->\r
-    <table width='100%' cellpadding='0' cellspacing='0'>\r
-    <col width='53' />\r
-    <col />\r
-    <tr><td><img src='/images/null.gif' width='53' height='27' alt='' /></td>\r
-       <td valign='bottom'><table width='100%' cellspacing='0' border='0'>\r
-           <col width='5' />\r
-           <col width='175' />\r
-           <col />\r
-           <tr><td><img src='/images/null.gif' width='5' height='1' alt='' /></td>\r
-               <td class="ipcop_menuLocationMain" valign='bottom'>$location</td>\r
-               <td class="ipcop_menuLocationSub"  valign='bottom'>$sublocation</td>\r
-           </tr></table>\r
-       </td></tr>\r
-    <tr><td valign='bottom' class='ipcop_Version'>\r
-           <img src='/images/null.gif' width='1' height='29' alt='' />${General::version}</td>\r
-       <td valign='bottom'>\r
-END\r
-    ;\r
-    if ($menu == 1) {\r
-       if ($javascript) {\r
-           print "<div id='domMenu_main'></div>\n";\r
-       }\r
-       &showmenu();\r
-    }\r
-    print "    </td></tr></table>\n";\r
-    &showsubsection($location);\r
-    print "<!-- IPCOP CONTENT -->\n";\r
-}\r
-\r
-sub closepage\r
-{\r
-       print <<END\r
-<!-- IPCOP FOOTER -->\r
-    <table width='100%' border='0'>\r
-    <tr><td valign='bottom'><img src='/images/bounceback.png' width='248' height='80' alt='' /></td>\r
-       <td align='center' valign='bottom'>\r
-END\r
-       ;\r
-       my $status = &connectionstatus();\r
-       print "$status<br />\n"; \r
-       print `/usr/bin/uptime`;\r
-\r
-       print <<END\r
-       </td>\r
-       <td valign='bottom'><a href='http://sf.net/projects/ipcop/' target='_blank'><img src='/images/sflogo.png' width='88' height='31' alt='Sourceforge logo' /></a></td>\r
-    </tr></table>\r
-</body></html>\r
-END\r
-       ;\r
-}\r
-\r
-sub openbigbox\r
-{\r
-       my $width = $_[0];\r
-       my $align = $_[1];\r
-       my $sideimg = $_[2];\r
-        my $errormessage = $_[3];\r
-       my $bgcolor;\r
-\r
-       if ($errormessage) {\r
-               $bgcolor = "style='background-color: $Header::colourerr;'";\r
-       } else {\r
-               $bgcolor = '';\r
-       }\r
-\r
-       print "<table width='100%' border='0'>\n";\r
-       if ($sideimg) {\r
-           print "<tr><td valign='top'><img src='/images/$sideimg' width='65' height='345' alt='' /></td>\n";\r
-       } else {\r
-           print "<tr>\n";\r
-       }\r
-       print "<td valign='top' align='center'><table width='$width' $bgcolor cellspacing='0' cellpadding='10' border='0'>\n";\r
-        print "<tr><td><img src='/images/null.gif' width='1' height='365' alt='' /></td>\n";\r
-       print "<td align='$align' valign='top'>\n";\r
-}\r
-\r
-sub closebigbox\r
-{\r
-       print "</td></tr></table></td></tr></table>\n" \r
-}\r
-\r
-sub openbox\r
-{\r
-       my $width = $_[0];\r
-       my $align = $_[1];\r
-       my $caption = $_[2];\r
-\r
-       print <<END\r
-       <table cellspacing="0" cellpadding="0" width="$width" border="0">\r
-           <col width='12' />\r
-           <col width='18' />\r
-           <col width='100%' />\r
-           <col width='152' />\r
-           <col width='11' />\r
-       \r
-           <tr><td width='12'  ><img src='/images/null.gif' width='12'  height='1' alt='' /></td>\r
-               <td width='18'  ><img src='/images/null.gif' width='18'  height='1' alt='' /></td>\r
-               <td width='100%'><img src='/images/null.gif' width='400' height='1' alt='' /></td>\r
-               <td width='152' ><img src='/images/null.gif' width='152' height='1' alt='' /></td>\r
-               <td width='11'  ><img src='/images/null.gif' width='11'   height='1' alt='' /></td></tr>\r
-           <tr><td colspan='2' ><img src='/images/boxtop1.png' width='30' height='53' alt='' /></td>\r
-               <td style='background: url(/images/boxtop2.png);'>\r
-END\r
-       ;\r
-       if ($caption) { print "<b>$caption</b>\n"; } else { print "&nbsp;"; }\r
-       print <<END\r
-               </td>\r
-               <td colspan='2'><img src='/images/boxtop3.png' width='163' height='53' alt='' /></td></tr>\r
-           <tr><td style='background: url(/images/boxleft.png);'><img src='/images/null.gif' width='12' height='1' alt='' /></td>\r
-               <td colspan='3' style='background-color: $Header::boxcolour;'>\r
-               <table width='100%' cellpadding='5'><tr><td align="$align" valign='top'>\r
-END\r
-       ;\r
-}\r
-\r
-sub closebox\r
-{\r
-       print <<END\r
-               </td></tr></table></td>\r
-                <td style='background: url(/images/boxright.png);'><img src='/images/null.gif' width='11' height='1' alt='' /></td></tr>\r
-            <tr><td style='background: url(/images/boxbottom1.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='12' height='14' alt='' /></td>\r
-                <td style='background: url(/images/boxbottom2.png);background-repeat:repeat-x;' colspan='3'><img src='/images/null.gif' width='1' height='14' alt='' /></td>\r
-                <td style='background: url(/images/boxbottom3.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='11' height='14' alt='' /></td></tr>\r
-        </table>\r
-END\r
-       ;\r
-}\r
-\r
-sub getcgihash {\r
-       my ($hash, $params) = @_;\r
-       my $cgi = CGI->new ();\r
-       return if ($ENV{'REQUEST_METHOD'} ne 'POST');\r
-       if (!$params->{'wantfile'}) {\r
-               $CGI::DISABLE_UPLOADS = 1;\r
-               $CGI::POST_MAX        = 512 * 1024;\r
-       } else {\r
-               $CGI::POST_MAX = 10 * 1024 * 1024;\r
-       }\r
-\r
-       $cgi->referer() =~ m/^https?\:\/\/([^\/]+)/;\r
-       my $referer = $1;\r
-       $cgi->url() =~ m/^https?\:\/\/([^\/]+)/;\r
-       my $servername = $1;\r
-       return if ($referer ne $servername);\r
-\r
-       ### Modified for getting multi-vars, split by |\r
-       my %temp = $cgi->Vars();\r
-        foreach my $key (keys %temp) {\r
-               $hash->{$key} = $temp{$key};\r
-               $hash->{$key} =~ s/\0/|/g;\r
-               $hash->{$key} =~ s/^\s*(.*?)\s*$/$1/;\r
-        }\r
-\r
-       if (($params->{'wantfile'})&&($params->{'filevar'})) {\r
-               $hash->{$params->{'filevar'}} = $cgi->upload\r
-                                               ($params->{'filevar'});\r
-       }\r
-       return;\r
-}\r
-\r
-sub cleanhtml\r
-{\r
-       my $outstring =$_[0];\r
-       $outstring =~ tr/,/ / if not defined $_[1] or $_[1] ne 'y';\r
-       $outstring =~ s/&/&amp;/g;\r
-       $outstring =~ s/\'/&#039;/g;\r
-       $outstring =~ s/\"/&quot;/g;\r
-       $outstring =~ s/</&lt;/g;\r
-       $outstring =~ s/>/&gt;/g;\r
-       return $outstring;\r
-}\r
-\r
-sub connectionstatus\r
-{\r
-    my %pppsettings = ();\r
-    my %netsettings = ();\r
-    my $iface='';\r
-\r
-    $pppsettings{'PROFILENAME'} = 'None';\r
-    &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-    &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-    my $profileused='';\r
-    if ( ! ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {\r
-       $profileused="- $pppsettings{'PROFILENAME'}";\r
-    }\r
-\r
-    if ( ( $pppsettings{'METHOD'} eq 'DHCP' && $netsettings{'RED_TYPE'} ne 'PPTP') \r
-                                               || $netsettings{'RED_TYPE'} eq 'DHCP' ) {\r
-               if (open(IFACE, "${General::swroot}/red/iface")) {\r
-                       $iface = <IFACE>;\r
-                       close IFACE;\r
-                       chomp ($iface);\r
-                       $iface =~ /([a-zA-Z0-9]*)/; $iface = $1;\r
-               }\r
-    }\r
-\r
-    my ($timestr, $connstate);\r
-    if ($netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/ &&  $pppsettings{'TYPE'} =~ /^isdn/) {\r
-       # Count ISDN channels\r
-       my ($idmap, $chmap, $drmap, $usage, $flags, $phone);\r
-       my @phonenumbers;\r
-       my $count=0;\r
-\r
-       open (FILE, "/dev/isdninfo");\r
-\r
-       $idmap = <FILE>; chop $idmap;\r
-       $chmap = <FILE>; chop $chmap;\r
-       $drmap = <FILE>; chop $drmap;\r
-       $usage = <FILE>; chop $usage;\r
-       $flags = <FILE>; chop $flags;\r
-       $phone = <FILE>; chop $phone;\r
-\r
-       $phone =~ s/^phone(\s*):(\s*)//;\r
-\r
-       @phonenumbers = split / /, $phone;\r
-\r
-       foreach (@phonenumbers) {\r
-               if ($_ ne '???') {\r
-                       $count++;\r
-               }\r
-       }\r
-       close (FILE);\r
-\r
-       ## Connection status\r
-       my $number;\r
-       if ($count == 0) {\r
-               $number = 'none!';\r
-       } elsif ($count == 1) {\r
-               $number = 'single';\r
-       } else {\r
-               $number = 'dual';\r
-       }\r
-\r
-       if (-e "${General::swroot}/red/active") {\r
-               $timestr = &General::age("${General::swroot}/red/active");\r
-               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} - $number channel (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
-       } else {\r
-               if ($count == 0) {\r
-                       if (-e "${General::swroot}/red/dial-on-demand") {\r
-                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";\r
-                       } else {\r
-                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
-                       }\r
-               } else {\r
-                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";\r
-               }\r
-       }\r
-    } elsif ($netsettings{'RED_TYPE'} eq "STATIC" || $pppsettings {'METHOD'} eq 'STATIC') {\r
-       if (-e "${General::swroot}/red/active") {\r
-               $timestr = &General::age("${General::swroot}/red/active");\r
-               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
-       } else {\r
-               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
-       }\r
-    } elsif ( ( (-e "${General::swroot}/dhcpc/dhcpcd-$iface.pid") && $netsettings{'RED_TYPE'} ne 'PPTP' ) || \r
-       !system("/bin/ps -ef | /bin/grep -q '[p]ppd'") || !system("/bin/ps -ef | /bin/grep -q '[c]onnectioncheck'")) {\r
-       if (-e "${General::swroot}/red/active") {\r
-               $timestr = &General::age("${General::swroot}/red/active");\r
-               if ($pppsettings{'TYPE'} =~ /^(modem|bewanadsl|conexantpciadsl|eagleusbadsl)$/) {\r
-                       my $speed;\r
-                       if ($pppsettings{'TYPE'} eq 'modem') {\r
-                               open(CONNECTLOG, "/var/log/connect.log");\r
-                               while (<CONNECTLOG>) {\r
-                                       if (/CONNECT/) {\r
-                                               $speed = (split / /)[6];\r
-                                       }\r
-                               }\r
-                               close (CONNECTLOG);\r
-                       } elsif ($pppsettings{'TYPE'} eq 'bewanadsl') {\r
-                               $speed = `/usr/bin/unicorn_status | /bin/grep Rate | /usr/bin/cut -f2 -d ':'`;\r
-                       } elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') {\r
-                               $speed = `/bin/cat /proc/net/atm/CnxAdsl:* | /bin/grep 'Line Rates' | /bin/sed -e 's+Line Rates:   Receive+Rx+' -e 's+Transmit+Tx+'`;\r
-                       } elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') {\r
-                               $speed = `/usr/sbin/eaglestat | /bin/grep Rate`;\r
-                       }\r
-                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused (\@$speed)</span>";\r
-               } else {\r
-                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
-               }\r
-       } else {\r
-               if (-e "${General::swroot}/red/dial-on-demand") {\r
-                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";\r
-               } else {\r
-                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";\r
-               }\r
-       }\r
-    } else {\r
-       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
-    }\r
-    return $connstate;\r
-}\r
-\r
-sub speedtouchversion\r
-{\r
-       my $speedtouch;\r
-       if (-f "/proc/bus/usb/devices")\r
-       {\r
-               $speedtouch=`/bin/cat /proc/bus/usb/devices | /bin/grep 'Vendor=06b9 ProdID=4061' | /usr/bin/cut -d ' ' -f6`;\r
-               if ($speedtouch eq '') {\r
-                       $speedtouch= $Lang::tr{'connect the modem'};\r
-               }\r
-       } else {\r
-               $speedtouch='USB '.$Lang::tr{'not running'};\r
-       }\r
-       return $speedtouch\r
-}\r
-\r
-#Sorting of allocated leases\r
-sub CheckSortOrder {\r
-    my %dhcpsettings = ();\r
-    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
-\r
-    if ($ENV{'QUERY_STRING'} =~ /^IPADDR|^ETHER|^HOSTNAME|^ENDTIME/ ) {\r
-       my $newsort=$ENV{'QUERY_STRING'};\r
-        my $act=$dhcpsettings{'SORT_LEASELIST'};\r
-        #Default sort if unspecified \r
-        $act='IPADDRRev' if !defined ($act); \r
-        #Reverse actual ?\r
-        if ($act =~ $newsort) {\r
-            my $Rev='';\r
-            if ($act !~ 'Rev') {$Rev='Rev'};\r
-            $newsort.=$Rev\r
-        };\r
-\r
-        $dhcpsettings{'SORT_LEASELIST'}=$newsort;\r
-       &General::writehash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
-    }\r
-}\r
-\r
-sub PrintActualLeases\r
-{\r
-    our %dhcpsettings = ();\r
-    our %entries = ();    \r
-    \r
-    sub leasesort {\r
-       my $qs ='';\r
-       if (rindex ($dhcpsettings{'SORT_LEASELIST'},'Rev') != -1)\r
-       {\r
-           $qs=substr ($dhcpsettings{'SORT_LEASELIST'},0,length($dhcpsettings{'SORT_LEASELIST'})-3);\r
-           if ($qs eq 'IPADDR') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($b[0]<=>$a[0]) ||\r
-               ($b[1]<=>$a[1]) ||\r
-               ($b[2]<=>$a[2]) ||\r
-               ($b[3]<=>$a[3]);\r
-           }else {\r
-               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};\r
-           }\r
-        }\r
-        else #not reverse\r
-        {\r
-           $qs=$dhcpsettings{'SORT_LEASELIST'};\r
-           if ($qs eq 'IPADDR') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($a[0]<=>$b[0]) ||\r
-               ($a[1]<=>$b[1]) ||\r
-               ($a[2]<=>$b[2]) ||\r
-               ($a[3]<=>$b[3]);\r
-           }else {\r
-               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};\r
-           }\r
-       }\r
-    }\r
-\r
-    &Header::openbox('100%', 'left', $Lang::tr{'current dynamic leases'});\r
-    print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IPADDR'><b>$Lang::tr{'ip address'}</b></a></td>\r
-<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$Lang::tr{'mac address'}</b></a></td>\r
-<td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$Lang::tr{'hostname'}</b></a></td>\r
-<td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$Lang::tr{'lease expires'} (local time d/m/y)</b></a></td>\r
-</tr>\r
-END\r
-    ;\r
-\r
-    my ($ip, $endtime, $ether, $hostname, @record, $record);\r
-    open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";\r
-    while (my $line = <LEASES>) {\r
-       next if( $line =~ /^\s*#/ );\r
-       chomp($line);\r
-       my @temp = split (' ', $line);\r
-\r
-       if ($line =~ /^\s*lease/) {\r
-           $ip = $temp[1];\r
-           #All field are not necessarily read. Clear everything\r
-           $endtime = 0;\r
-           $ether = "";\r
-           $hostname = "";\r
-       } elsif ($line =~ /^\s*ends never;/) {\r
-           $endtime = 'never';\r
-       } elsif ($line =~ /^\s*ends/) {\r
-           $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;\r
-           $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);\r
-       } elsif ($line =~ /^\s*hardware ethernet/) {\r
-           $ether = $temp[2];\r
-           $ether =~ s/;//g;\r
-       } elsif ($line =~ /^\s*client-hostname/) {\r
-           shift (@temp);\r
-           $hostname = join (' ',@temp);\r
-           $hostname =~ s/;//g;\r
-           $hostname =~ s/\"//g;\r
-       } elsif ($line eq "}") {\r
-           @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);\r
-           $record = {};                                       # create a reference to empty hash\r
-           %{$record} = @record;                               # populate that hash with @record\r
-           $entries{$record->{'IPADDR'}} = $record;    # add this to a hash of hashes\r
-       } #unknown format line...\r
-    }\r
-    close(LEASES);\r
-\r
-    #Get sort method\r
-    $dhcpsettings{'SORT_LEASELIST'}='IPADDR';                                  #default\r
-    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);    #or maybe saved !\r
-    my $id = 0;\r
-    foreach my $key (sort leasesort keys %entries) {\r
-\r
-       my $hostname = &Header::cleanhtml($entries{$key}->{HOSTNAME},"y");\r
-\r
-       if ($id % 2) {\r
-           print "<tr bgcolor='$Header::table1colour'>";\r
-       }\r
-       else {\r
-           print "<tr bgcolor='$Header::table2colour'>";\r
-       }\r
-\r
-       print <<END\r
-<td align='center'>$entries{$key}->{IPADDR}</td>\r
-<td align='center'>$entries{$key}->{ETHER}</td>\r
-<td align='center'>&nbsp;$hostname </td>\r
-<td align='center'>\r
-END\r
-       ;\r
-\r
-       if ($entries{$key}->{ENDTIME} eq 'never') {\r
-           print "$Lang::tr{'no time limit'}";\r
-       } else {\r
-           my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst);\r
-           ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});\r
-           my $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);\r
-\r
-           if ($entries{$key}->{ENDTIME} < time() ){\r
-               print "<strike>$enddate</strike>";\r
-           } else {\r
-               print "$enddate";\r
-           }\r
-       }\r
-       print "</td></tr>";\r
-       $id++;\r
-    }\r
-\r
-    print "</table>";\r
-    &Header::closebox();\r
-}\r
-\r
-1;\r
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite
+# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()
+# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()
+# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()
+#
+# $Id: header.pl,v 1.34.2.67 2005/10/03 20:01:05 gespinasse Exp $
+#
+
+package Header;
+
+use strict;
+use CGI();
+use Time::Local;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+
+$Header::pagecolour = '#ffffff';       # never used, will be removed
+$Header::tablecolour = '#FFFFFF';      # never used, will be removed
+$Header::bigboxcolour = '#F6F4F4';     # never used, will be removed
+$Header::boxcolour = '#EAE9EE';                # only header.pl, ? move in css ?
+$Header::bordercolour = '#000000';     # never used, will be removed
+$Header::table1colour = '#C0C0C0';
+$Header::table2colour = '#F2F2F2';
+$Header::colourred = '#993333';
+$Header::colourorange = '#FF9933';
+$Header::colouryellow = '#FFFF00';
+$Header::colourgreen = '#339933';
+$Header::colourblue = '#333399';
+$Header::colourfw = '#000000';         # only connections.cgi
+$Header::colourvpn = '#990099';                # only connections.cgi
+$Header::colourerr = '#FF0000';                # only header.pl, many scripts use colourred for warnings messages
+$Header::viewsize = 150;
+my %menu = ();
+my $hostnameintitle = 0;
+our $javascript = 1;
+
+### Initialize menu
+sub genmenu
+{
+    ### Initialize environment
+    my %ethsettings = ();
+    &General::readhash("${General::swroot}/ethernet/settings", \%ethsettings);
+
+    %{$menu{'1.system'}}=(
+               'contents' =>  $Lang::tr{'alt system'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'alt system'}",
+               'subMenu' =>   [[ $Lang::tr{'alt home'} , '/cgi-bin/index.cgi', "IPCop $Lang::tr{'alt home'}" ],
+                               [ $Lang::tr{'updates'} , '/cgi-bin/updates.cgi', "IPCop $Lang::tr{'updates'}" ],
+                               [ $Lang::tr{'sspasswords'} , '/cgi-bin/changepw.cgi', "IPCop $Lang::tr{'sspasswords'}" ],
+                               [ $Lang::tr{'ssh access'} , '/cgi-bin/remote.cgi', "IPCop $Lang::tr{'ssh access'}" ],
+                               [ $Lang::tr{'gui settings'} , '/cgi-bin/gui.cgi', "IPCop $Lang::tr{'gui settings'}" ],
+                               [ $Lang::tr{'backup'} , '/cgi-bin/backup.cgi', "IPCop $Lang::tr{'backup'} / $Lang::tr{'restore'}" ],
+                               [ $Lang::tr{'shutdown'} , '/cgi-bin/shutdown.cgi', "IPCop $Lang::tr{'shutdown'} / $Lang::tr{'reboot'}" ],
+                               [ $Lang::tr{'credits'} , '/cgi-bin/credits.cgi', "IPCop $Lang::tr{'credits'}" ]]
+    );
+    %{$menu{'2.status'}}=(
+               'contents' =>  $Lang::tr{'status'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'status information'}",
+               'subMenu' =>   [[ $Lang::tr{'sssystem status'} , '/cgi-bin/status.cgi', "IPCop $Lang::tr{'system status information'}" ],
+                               [ $Lang::tr{'ssnetwork status'} , '/cgi-bin/netstatus.cgi', "IPCop $Lang::tr{'network status information'}" ],
+                               [ $Lang::tr{'system graphs'} , '/cgi-bin/graphs.cgi', "IPCop $Lang::tr{'system graphs'}" ],
+                               [ $Lang::tr{'sstraffic graphs'} , '/cgi-bin/graphs.cgi?graph=network', "IPCop $Lang::tr{'network traffic graphs'}" ],
+                               [ $Lang::tr{'ssproxy graphs'} , '/cgi-bin/proxygraphs.cgi', "IPCop $Lang::tr{'proxy access graphs'}" ],
+                               [ $Lang::tr{'connections'} , '/cgi-bin/connections.cgi', "IPCop $Lang::tr{'connections'}" ]]
+    );
+    %{$menu{'3.network'}}=(
+               'contents' =>  $Lang::tr{'network'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'network configuration'}",
+               'subMenu' =>   [[ $Lang::tr{'alt dialup'} , '/cgi-bin/pppsetup.cgi', "IPCop $Lang::tr{'dialup settings'}" ],
+                               [ $Lang::tr{'upload'} , '/cgi-bin/upload.cgi', $Lang::tr{'firmware upload'} ],
+                               [ $Lang::tr{'modem'} , '/cgi-bin/modem.cgi', "IPCop $Lang::tr{'modem configuration'}" ],
+                               [ $Lang::tr{'aliases'} , '/cgi-bin/aliases.cgi', "IPCop $Lang::tr{'external aliases configuration'}" ]]
+    );
+    %{$menu{'4.services'}}=(
+               'contents' =>  $Lang::tr{'alt services'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'alt services'}",
+               'subMenu' =>   [[ $Lang::tr{'proxy'} , '/cgi-bin/proxy.cgi', "IPCop $Lang::tr{'web proxy configuration'}" ],
+                               [ $Lang::tr{'dhcp server'} , '/cgi-bin/dhcp.cgi', "IPCop $Lang::tr{'dhcp configuration'}" ],
+                               [ $Lang::tr{'dynamic dns'} , '/cgi-bin/ddns.cgi', "IPCop $Lang::tr{'dynamic dns client'}" ],
+                               [ $Lang::tr{'edit hosts'} , '/cgi-bin/hosts.cgi', "IPCop $Lang::tr{'host configuration'}" ],
+                               [ $Lang::tr{'time server'} , '/cgi-bin/time.cgi', "IPCop $Lang::tr{'time server'}" ],
+                               [ $Lang::tr{'traffic shaping'} , '/cgi-bin/shaping.cgi', "IPCop $Lang::tr{'traffic shaping settings'}" ],
+                               [ $Lang::tr{'intrusion detection'} , '/cgi-bin/ids.cgi', "IPCop $Lang::tr{'intrusion detection system'} (Snort)" ]]
+    );
+    %{$menu{'5.firewall'}}=(
+               'contents' =>  $Lang::tr{'firewall'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'firewall'}",
+               'subMenu' =>   [[ $Lang::tr{'ssport forwarding'} , '/cgi-bin/portfw.cgi', "IPCop $Lang::tr{'port forwarding configuration'}" ],
+                               [ $Lang::tr{'external access'} , '/cgi-bin/xtaccess.cgi', "IPCop $Lang::tr{'external access configuration'}" ],
+                               [ $Lang::tr{'ssdmz pinholes'} , '/cgi-bin/dmzholes.cgi', "IPCop $Lang::tr{'dmz pinhole configuration'}" ],
+                               [ $Lang::tr{'blue access'} , '/cgi-bin/wireless.cgi', "IPCop $Lang::tr{'blue access'}" ]
+                               ,[ $Lang::tr{'options fw'} , '/cgi-bin/optionsfw.cgi', "IPCop $Lang::tr{'options fw'}" ]
+                              ]
+    );
+    %{$menu{'6.vpns'}}=(
+               'contents' =>  $Lang::tr{'alt vpn'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'virtual private networking'}",
+               'subMenu' =>   [[ $Lang::tr{'alt vpn'} , '/cgi-bin/vpnmain.cgi', "IPCop $Lang::tr{'virtual private networking'}"]]
+    );
+    %{$menu{'7.mainlogs'}}=(
+               'contents' =>  $Lang::tr{'alt logs'},
+               'uri' => '',
+               'statusText' => "IPCop $Lang::tr{'alt logs'}",
+               'subMenu' =>   [[ $Lang::tr{'log settings'} , '/cgi-bin/logs.cgi/config.dat', "IPCop $Lang::tr{'log settings'}" ],
+                               [ $Lang::tr{'log summary'} , '/cgi-bin/logs.cgi/summary.dat', "IPCop $Lang::tr{'log summary'}" ],
+                               [ $Lang::tr{'proxy logs'} , '/cgi-bin/logs.cgi/proxylog.dat', "IPCop $Lang::tr{'proxy log viewer'}" ],
+                               [ $Lang::tr{'firewall logs'} , '/cgi-bin/logs.cgi/firewalllog.dat', "IPCop $Lang::tr{'firewall log viewer'}" ],
+                               [ $Lang::tr{'ids logs'} , '/cgi-bin/logs.cgi/ids.dat', "IPCop $Lang::tr{'intrusion detection system log viewer'}" ],
+                               [ $Lang::tr{'system logs'} , '/cgi-bin/logs.cgi/log.dat', "IPCop $Lang::tr{'system log viewer'}" ]]
+    );
+    if (! $ethsettings{'BLUE_DEV'}) {
+       splice (@{$menu{'5.firewall'}{'subMenu'}}, 3, 1);
+    }
+    if (! $ethsettings{'BLUE_DEV'} && ! $ethsettings{'ORANGE_DEV'}) {
+       splice (@{$menu{'5.firewall'}{'subMenu'}}, 2, 1);
+    }
+    unless ( $ethsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $ethsettings{'RED_TYPE'} eq 'STATIC' ) {
+       splice (@{$menu{'3.network'}{'subMenu'}}, 3, 1);
+    }
+    if ( ! -e "${General::swroot}/snort/enable" && ! -e "${General::swroot}/snort/enable_blue" &&
+       ! -e "${General::swroot}/snort/enable_green" && ! -e "${General::swroot}/snort/enable_orange") {
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 4, 1);
+    }
+    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {
+       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);
+    }
+}
+
+sub showhttpheaders
+{
+    ### Make sure this is an SSL request
+    if ($ENV{'SERVER_ADDR'} && $ENV{'HTTPS'} ne 'on') {
+       print "Status: 302 Moved\r\n";
+       print "Location: https://$ENV{'SERVER_ADDR'}:445/$ENV{'PATH_INFO'}\r\n\r\n";
+       exit 0;
+    } else {
+       print "Pragma: no-cache\n";
+       print "Cache-control: no-cache\n";
+       print "Connection: close\n";
+       print "Content-type: text/html\n\n";
+    }
+}
+
+sub showjsmenu
+{
+    my $c1 = 1;
+
+    print "    <script type='text/javascript'>\n";
+    print "    domMenu_data.setItem('domMenu_main', new domMenu_Hash(\n";
+
+    foreach my $k1 ( sort keys %menu ) {
+       my $c2 = 1;
+       if ($c1 > 1) {
+           print "    ),\n";
+       }
+       print "    $c1, new domMenu_Hash(\n";
+       print "\t'contents', '" . &cleanhtml($menu{$k1}{'contents'}) . "',\n";
+       print "\t'uri', '$menu{$k1}{'uri'}',\n";
+       $menu{$k1}{'statusText'} =~  s/'/\\\'/g;
+       print "\t'statusText', '$menu{$k1}{'statusText'}',\n";
+       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {
+           print "\t    $c2, new domMenu_Hash(\n";
+           print "\t\t'contents', '" . &cleanhtml(@{$k2}[0])  . "',\n";
+           print "\t\t'uri', '@{$k2}[1]',\n";
+           @{$k2}[2] =~ s/'/\\\'/g;
+           print "\t\t'statusText', '@{$k2}[2]'\n";
+           if ( $c2 <= $#{$menu{$k1}{'subMenu'}} ) {
+               print "\t    ),\n";
+           } else {
+               print "\t    )\n";
+           }
+           $c2++;
+       }
+       $c1++;
+    }
+    print "    )\n";
+    print "    ));\n\n";
+
+    print <<EOF
+    domMenu_settings.setItem('domMenu_main', new domMenu_Hash(
+       'menuBarWidth', '0%',
+       'menuBarClass', 'ipcop_menuBar',
+       'menuElementClass', 'ipcop_menuElement',
+       'menuElementHoverClass', 'ipcop_menuElementHover',
+       'menuElementActiveClass', 'ipcop_menuElementHover',
+       'subMenuBarClass', 'ipcop_subMenuBar',
+       'subMenuElementClass', 'ipcop_subMenuElement',
+       'subMenuElementHoverClass', 'ipcop_subMenuElementHover',
+       'subMenuElementActiveClass', 'ipcop_subMenuElementHover',
+       'subMenuMinWidth', 'auto',
+       'distributeSpace', false,
+       'openMouseoverMenuDelay', 0,
+       'openMousedownMenuDelay', 0,
+       'closeClickMenuDelay', 0,
+       'closeMouseoutMenuDelay', -1
+    ));
+    </script>
+EOF
+    ;
+}
+
+sub showmenu
+{
+    if ($javascript) {print "<noscript>";}
+    print "<table cellpadding='0' cellspacing='0' border='0'>\n";
+    print "<tr>\n";
+
+    foreach my $k1 ( sort keys %menu ) {
+       print "<td class='ipcop_menuElementTD'><a href='" . @{@{$menu{$k1}{'subMenu'}}[0]}[1] . "' class='ipcop_menuElementNoJS'>";
+       print $menu{$k1}{'contents'} . "</a></td>\n";
+    }
+    print "</tr></table>\n";
+    if ($javascript) {print "</noscript>";}
+}
+
+sub showsubsection
+{
+    my $location = $_[0];
+    my $c1 = 0;
+
+    if ($javascript) {print "<noscript>";}
+    print "<table width='100%' cellspacing='0' cellpadding='5' border='0'>\n";
+    print "<tr><td style='background-color: $Header::boxcolour;' width='53'><img src='/images/null.gif' width='43' height='1' alt='' /></td>\n";
+    print "<td style='background-color: $Header::boxcolour;' align='left' width='100%'>";
+    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );
+
+    foreach my $k1 ( keys %menu ) {
+       
+       if ($menu{$k1}{'contents'} eq $location) {
+           foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {
+               if ($c1 > 0) {
+                   print " | ";
+               }
+               if (@{$k2}[1] eq "$URI[0]\?$URI[1]" || (@{$k2}[1] eq $URI[0] && length($URI[1]) == 0)) {
+               #if (@{$k2}[1] eq "$URI[0]") {
+                   print "<b>@{$k2}[0]</b>";
+               } else {
+                   print "<a href='@{$k2}[1]'>@{$k2}[0]</a>";
+               }
+               $c1++;
+           }
+       }
+    }
+    print "</td></tr></table>\n";
+    if ($javascript) { print "</noscript>";}
+}
+
+sub openpage
+{
+    my $title = $_[0];
+    my $menu = $_[1];
+    my $extrahead = $_[2];
+
+    ### Initialize environment
+    my %settings = ();
+    &General::readhash("${General::swroot}/main/settings", \%settings);
+
+    if ($settings{'JAVASCRIPT'} eq 'off') {
+       $javascript = 0;
+    } else {
+       $javascript = 1;
+    }
+
+    if ($settings{'WINDOWWITHHOSTNAME'} eq 'on') {
+        $hostnameintitle = 1;
+    } else {
+        $hostnameintitle = 0;
+    }
+
+    print <<END
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html><head>
+END
+    ;
+    print "    <title>";
+    if ($hostnameintitle) {
+        print "$settings{'HOSTNAME'}.$settings{'DOMAINNAME'} - $title"; 
+    } else {
+        print "IPCop - $title";
+    }
+    print "</title>\n";
+
+    print <<END
+    $extrahead
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <link rel="shortcut icon" href="/favicon.ico" />
+    <style type="text/css">\@import url(/include/ipcop.css);</style>
+END
+    ;
+    if ($javascript) {
+       print "<script type='text/javascript' src='/include/domMenu.js'></script>\n";
+       &genmenu();
+       &showjsmenu();
+    } else {
+       &genmenu();
+    }
+
+    my $location = '';
+    my $sublocation = '';
+    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );
+    foreach my $k1 ( keys %menu ) {
+       my $temp = $menu{$k1}{'contents'};
+       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {
+           if ( @{$k2}[1] eq $URI[0] ) {
+               $location = $temp;
+               $sublocation = @{$k2}[0];
+           }
+       }
+    }
+
+    my @cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});
+    if (defined ($cgigraphs[1])){ 
+       if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|network)/) {
+               $location = $Lang::tr{'status'};
+               $sublocation = $Lang::tr{'sstraffic graphs'};
+       }
+       if ($cgigraphs[1] =~ /(cpu|memory|swap|disk)/) {
+               $location = $Lang::tr{'status'};
+               $sublocation = $Lang::tr{'system graphs'};
+       }
+    }
+    if ($ENV{'QUERY_STRING'} =~ /(ip)/) {
+        $location = $Lang::tr{'alt logs'};
+       $sublocation = "WHOIS";
+    }
+
+    if ($javascript) {
+           print <<END
+           <script type="text/javascript">
+           document.onmouseup = function()
+           {
+               domMenu_deactivate('domMenu_main');
+           }
+           </script>
+           </head>
+
+           <body onload="domMenu_activate('domMenu_main');">
+END
+           ;
+    } else {
+       print "</head>\n\n<body>\n";
+    }
+
+    print <<END
+<!-- IPCOP HEADER -->
+    <table width='100%' cellpadding='0' cellspacing='0'>
+    <col width='53' />
+    <col />
+    <tr><td><img src='/images/null.gif' width='53' height='27' alt='' /></td>
+       <td valign='bottom'><table width='100%' cellspacing='0' border='0'>
+           <col width='5' />
+           <col width='175' />
+           <col />
+           <tr><td><img src='/images/null.gif' width='5' height='1' alt='' /></td>
+               <td class="ipcop_menuLocationMain" valign='bottom'>$location</td>
+               <td class="ipcop_menuLocationSub"  valign='bottom'>$sublocation</td>
+           </tr></table>
+       </td></tr>
+    <tr><td valign='bottom' class='ipcop_Version'>
+           <img src='/images/null.gif' width='1' height='29' alt='' />${General::version}</td>
+       <td valign='bottom'>
+END
+    ;
+    if ($menu == 1) {
+       if ($javascript) {
+           print "<div id='domMenu_main'></div>\n";
+       }
+       &showmenu();
+    }
+    print "    </td></tr></table>\n";
+    &showsubsection($location);
+    print "<!-- IPCOP CONTENT -->\n";
+}
+
+sub closepage
+{
+       print <<END
+<!-- IPCOP FOOTER -->
+    <table width='100%' border='0'>
+    <tr><td valign='bottom'><img src='/images/bounceback.png' width='248' height='80' alt='' /></td>
+       <td align='center' valign='bottom'>
+END
+       ;
+       my $status = &connectionstatus();
+       print "$status<br />\n"; 
+       print `/usr/bin/uptime`;
+
+       print <<END
+       </td>
+       <td valign='bottom'><a href='http://sf.net/projects/ipcop/' target='_blank'><img src='/images/sflogo.png' width='88' height='31' alt='Sourceforge logo' /></a></td>
+    </tr></table>
+</body></html>
+END
+       ;
+}
+
+sub openbigbox
+{
+       my $width = $_[0];
+       my $align = $_[1];
+       my $sideimg = $_[2];
+        my $errormessage = $_[3];
+       my $bgcolor;
+
+       if ($errormessage) {
+               $bgcolor = "style='background-color: $Header::colourerr;'";
+       } else {
+               $bgcolor = '';
+       }
+
+       print "<table width='100%' border='0'>\n";
+       if ($sideimg) {
+           print "<tr><td valign='top'><img src='/images/$sideimg' width='65' height='345' alt='' /></td>\n";
+       } else {
+           print "<tr>\n";
+       }
+       print "<td valign='top' align='center'><table width='$width' $bgcolor cellspacing='0' cellpadding='10' border='0'>\n";
+        print "<tr><td><img src='/images/null.gif' width='1' height='365' alt='' /></td>\n";
+       print "<td align='$align' valign='top'>\n";
+}
+
+sub closebigbox
+{
+       print "</td></tr></table></td></tr></table>\n" 
+}
+
+sub openbox
+{
+       my $width = $_[0];
+       my $align = $_[1];
+       my $caption = $_[2];
+
+       print <<END
+       <table cellspacing="0" cellpadding="0" width="$width" border="0">
+           <col width='12' />
+           <col width='18' />
+           <col width='100%' />
+           <col width='152' />
+           <col width='11' />
+       
+           <tr><td width='12'  ><img src='/images/null.gif' width='12'  height='1' alt='' /></td>
+               <td width='18'  ><img src='/images/null.gif' width='18'  height='1' alt='' /></td>
+               <td width='100%'><img src='/images/null.gif' width='400' height='1' alt='' /></td>
+               <td width='152' ><img src='/images/null.gif' width='152' height='1' alt='' /></td>
+               <td width='11'  ><img src='/images/null.gif' width='11'   height='1' alt='' /></td></tr>
+           <tr><td colspan='2' ><img src='/images/boxtop1.png' width='30' height='53' alt='' /></td>
+               <td style='background: url(/images/boxtop2.png);'>
+END
+       ;
+       if ($caption) { print "<b>$caption</b>\n"; } else { print "&nbsp;"; }
+       print <<END
+               </td>
+               <td colspan='2'><img src='/images/boxtop3.png' width='163' height='53' alt='' /></td></tr>
+           <tr><td style='background: url(/images/boxleft.png);'><img src='/images/null.gif' width='12' height='1' alt='' /></td>
+               <td colspan='3' style='background-color: $Header::boxcolour;'>
+               <table width='100%' cellpadding='5'><tr><td align="$align" valign='top'>
+END
+       ;
+}
+
+sub closebox
+{
+       print <<END
+               </td></tr></table></td>
+                <td style='background: url(/images/boxright.png);'><img src='/images/null.gif' width='11' height='1' alt='' /></td></tr>
+            <tr><td style='background: url(/images/boxbottom1.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='12' height='14' alt='' /></td>
+                <td style='background: url(/images/boxbottom2.png);background-repeat:repeat-x;' colspan='3'><img src='/images/null.gif' width='1' height='14' alt='' /></td>
+                <td style='background: url(/images/boxbottom3.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='11' height='14' alt='' /></td></tr>
+        </table>
+END
+       ;
+}
+
+sub getcgihash {
+       my ($hash, $params) = @_;
+       my $cgi = CGI->new ();
+       return if ($ENV{'REQUEST_METHOD'} ne 'POST');
+       if (!$params->{'wantfile'}) {
+               $CGI::DISABLE_UPLOADS = 1;
+               $CGI::POST_MAX        = 512 * 1024;
+       } else {
+               $CGI::POST_MAX = 10 * 1024 * 1024;
+       }
+
+       $cgi->referer() =~ m/^https?\:\/\/([^\/]+)/;
+       my $referer = $1;
+       $cgi->url() =~ m/^https?\:\/\/([^\/]+)/;
+       my $servername = $1;
+       return if ($referer ne $servername);
+
+       ### Modified for getting multi-vars, split by |
+       my %temp = $cgi->Vars();
+        foreach my $key (keys %temp) {
+               $hash->{$key} = $temp{$key};
+               $hash->{$key} =~ s/\0/|/g;
+               $hash->{$key} =~ s/^\s*(.*?)\s*$/$1/;
+        }
+
+       if (($params->{'wantfile'})&&($params->{'filevar'})) {
+               $hash->{$params->{'filevar'}} = $cgi->upload
+                                               ($params->{'filevar'});
+       }
+       return;
+}
+
+sub cleanhtml
+{
+       my $outstring =$_[0];
+       $outstring =~ tr/,/ / if not defined $_[1] or $_[1] ne 'y';
+       $outstring =~ s/&/&amp;/g;
+       $outstring =~ s/\'/&#039;/g;
+       $outstring =~ s/\"/&quot;/g;
+       $outstring =~ s/</&lt;/g;
+       $outstring =~ s/>/&gt;/g;
+       return $outstring;
+}
+
+sub connectionstatus
+{
+    my %pppsettings = ();
+    my %netsettings = ();
+    my $iface='';
+
+    $pppsettings{'PROFILENAME'} = 'None';
+    &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+    &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+    my $profileused='';
+    if ( ! ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {
+       $profileused="- $pppsettings{'PROFILENAME'}";
+    }
+
+    if ( ( $pppsettings{'METHOD'} eq 'DHCP' && $netsettings{'RED_TYPE'} ne 'PPTP') 
+                                               || $netsettings{'RED_TYPE'} eq 'DHCP' ) {
+               if (open(IFACE, "${General::swroot}/red/iface")) {
+                       $iface = <IFACE>;
+                       close IFACE;
+                       chomp ($iface);
+                       $iface =~ /([a-zA-Z0-9]*)/; $iface = $1;
+               }
+    }
+
+    my ($timestr, $connstate);
+    if ($netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/ &&  $pppsettings{'TYPE'} =~ /^isdn/) {
+       # Count ISDN channels
+       my ($idmap, $chmap, $drmap, $usage, $flags, $phone);
+       my @phonenumbers;
+       my $count=0;
+
+       open (FILE, "/dev/isdninfo");
+
+       $idmap = <FILE>; chop $idmap;
+       $chmap = <FILE>; chop $chmap;
+       $drmap = <FILE>; chop $drmap;
+       $usage = <FILE>; chop $usage;
+       $flags = <FILE>; chop $flags;
+       $phone = <FILE>; chop $phone;
+
+       $phone =~ s/^phone(\s*):(\s*)//;
+
+       @phonenumbers = split / /, $phone;
+
+       foreach (@phonenumbers) {
+               if ($_ ne '???') {
+                       $count++;
+               }
+       }
+       close (FILE);
+
+       ## Connection status
+       my $number;
+       if ($count == 0) {
+               $number = 'none!';
+       } elsif ($count == 1) {
+               $number = 'single';
+       } else {
+               $number = 'dual';
+       }
+
+       if (-e "${General::swroot}/red/active") {
+               $timestr = &General::age("${General::swroot}/red/active");
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} - $number channel (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";
+       } else {
+               if ($count == 0) {
+                       if (-e "${General::swroot}/red/dial-on-demand") {
+                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";
+                       } else {
+                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";
+                       }
+               } else {
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";
+               }
+       }
+    } elsif ($netsettings{'RED_TYPE'} eq "STATIC" || $pppsettings {'METHOD'} eq 'STATIC') {
+       if (-e "${General::swroot}/red/active") {
+               $timestr = &General::age("${General::swroot}/red/active");
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";
+       } else {
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";
+       }
+    } elsif ( ( (-e "${General::swroot}/dhcpc/dhcpcd-$iface.pid") && $netsettings{'RED_TYPE'} ne 'PPTP' ) || 
+       !system("/bin/ps -ef | /bin/grep -q '[p]ppd'") || !system("/bin/ps -ef | /bin/grep -q '[c]onnectioncheck'")) {
+       if (-e "${General::swroot}/red/active") {
+               $timestr = &General::age("${General::swroot}/red/active");
+               if ($pppsettings{'TYPE'} =~ /^(modem|bewanadsl|conexantpciadsl|eagleusbadsl)$/) {
+                       my $speed;
+                       if ($pppsettings{'TYPE'} eq 'modem') {
+                               open(CONNECTLOG, "/var/log/connect.log");
+                               while (<CONNECTLOG>) {
+                                       if (/CONNECT/) {
+                                               $speed = (split / /)[6];
+                                       }
+                               }
+                               close (CONNECTLOG);
+                       } elsif ($pppsettings{'TYPE'} eq 'bewanadsl') {
+                               $speed = `/usr/bin/unicorn_status | /bin/grep Rate | /usr/bin/cut -f2 -d ':'`;
+                       } elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') {
+                               $speed = `/bin/cat /proc/net/atm/CnxAdsl:* | /bin/grep 'Line Rates' | /bin/sed -e 's+Line Rates:   Receive+Rx+' -e 's+Transmit+Tx+'`;
+                       } elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') {
+                               $speed = `/usr/sbin/eaglestat | /bin/grep Rate`;
+                       }
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused (\@$speed)</span>";
+               } else {
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";
+               }
+       } else {
+               if (-e "${General::swroot}/red/dial-on-demand") {
+                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";
+               } else {
+                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";
+               }
+       }
+    } else {
+       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";
+    }
+    return $connstate;
+}
+
+sub speedtouchversion
+{
+       my $speedtouch;
+       if (-f "/proc/bus/usb/devices")
+       {
+               $speedtouch=`/bin/cat /proc/bus/usb/devices | /bin/grep 'Vendor=06b9 ProdID=4061' | /usr/bin/cut -d ' ' -f6`;
+               if ($speedtouch eq '') {
+                       $speedtouch= $Lang::tr{'connect the modem'};
+               }
+       } else {
+               $speedtouch='USB '.$Lang::tr{'not running'};
+       }
+       return $speedtouch
+}
+
+#Sorting of allocated leases
+sub CheckSortOrder {
+    my %dhcpsettings = ();
+    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);
+
+    if ($ENV{'QUERY_STRING'} =~ /^IPADDR|^ETHER|^HOSTNAME|^ENDTIME/ ) {
+       my $newsort=$ENV{'QUERY_STRING'};
+        my $act=$dhcpsettings{'SORT_LEASELIST'};
+        #Default sort if unspecified 
+        $act='IPADDRRev' if !defined ($act); 
+        #Reverse actual ?
+        if ($act =~ $newsort) {
+            my $Rev='';
+            if ($act !~ 'Rev') {$Rev='Rev'};
+            $newsort.=$Rev
+        };
+
+        $dhcpsettings{'SORT_LEASELIST'}=$newsort;
+       &General::writehash("${General::swroot}/dhcp/settings", \%dhcpsettings);
+    }
+}
+
+sub PrintActualLeases
+{
+    our %dhcpsettings = ();
+    our %entries = ();    
+    
+    sub leasesort {
+       my $qs ='';
+       if (rindex ($dhcpsettings{'SORT_LEASELIST'},'Rev') != -1)
+       {
+           $qs=substr ($dhcpsettings{'SORT_LEASELIST'},0,length($dhcpsettings{'SORT_LEASELIST'})-3);
+           if ($qs eq 'IPADDR') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($b[0]<=>$a[0]) ||
+               ($b[1]<=>$a[1]) ||
+               ($b[2]<=>$a[2]) ||
+               ($b[3]<=>$a[3]);
+           }else {
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
+           }
+        }
+        else #not reverse
+        {
+           $qs=$dhcpsettings{'SORT_LEASELIST'};
+           if ($qs eq 'IPADDR') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+           }else {
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
+           }
+       }
+    }
+
+    &Header::openbox('100%', 'left', $Lang::tr{'current dynamic leases'});
+    print <<END
+<table width='100%'>
+<tr>
+<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IPADDR'><b>$Lang::tr{'ip address'}</b></a></td>
+<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$Lang::tr{'mac address'}</b></a></td>
+<td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$Lang::tr{'hostname'}</b></a></td>
+<td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$Lang::tr{'lease expires'} (local time d/m/y)</b></a></td>
+</tr>
+END
+    ;
+
+    my ($ip, $endtime, $ether, $hostname, @record, $record);
+    open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";
+    while (my $line = <LEASES>) {
+       next if( $line =~ /^\s*#/ );
+       chomp($line);
+       my @temp = split (' ', $line);
+
+       if ($line =~ /^\s*lease/) {
+           $ip = $temp[1];
+           #All field are not necessarily read. Clear everything
+           $endtime = 0;
+           $ether = "";
+           $hostname = "";
+       } elsif ($line =~ /^\s*ends never;/) {
+           $endtime = 'never';
+       } elsif ($line =~ /^\s*ends/) {
+           $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;
+           $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);
+       } elsif ($line =~ /^\s*hardware ethernet/) {
+           $ether = $temp[2];
+           $ether =~ s/;//g;
+       } elsif ($line =~ /^\s*client-hostname/) {
+           shift (@temp);
+           $hostname = join (' ',@temp);
+           $hostname =~ s/;//g;
+           $hostname =~ s/\"//g;
+       } elsif ($line eq "}") {
+           @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);
+           $record = {};                                       # create a reference to empty hash
+           %{$record} = @record;                               # populate that hash with @record
+           $entries{$record->{'IPADDR'}} = $record;    # add this to a hash of hashes
+       } #unknown format line...
+    }
+    close(LEASES);
+
+    #Get sort method
+    $dhcpsettings{'SORT_LEASELIST'}='IPADDR';                                  #default
+    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);    #or maybe saved !
+    my $id = 0;
+    foreach my $key (sort leasesort keys %entries) {
+
+       my $hostname = &Header::cleanhtml($entries{$key}->{HOSTNAME},"y");
+
+       if ($id % 2) {
+           print "<tr bgcolor='$Header::table1colour'>";
+       }
+       else {
+           print "<tr bgcolor='$Header::table2colour'>";
+       }
+
+       print <<END
+<td align='center'>$entries{$key}->{IPADDR}</td>
+<td align='center'>$entries{$key}->{ETHER}</td>
+<td align='center'>&nbsp;$hostname </td>
+<td align='center'>
+END
+       ;
+
+       if ($entries{$key}->{ENDTIME} eq 'never') {
+           print "$Lang::tr{'no time limit'}";
+       } else {
+           my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst);
+           ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});
+           my $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
+
+           if ($entries{$key}->{ENDTIME} < time() ){
+               print "<strike>$enddate</strike>";
+           } else {
+               print "$enddate";
+           }
+       }
+       print "</td></tr>";
+       $id++;
+    }
+
+    print "</table>";
+    &Header::closebox();
+}
+
+1;
index 8d2be61bed77402cf6dc193c08d64a2512ee694d..a650706590e958dfb58738e8ddc60aaad1700e51 100644 (file)
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> Split from header.pl\r
-#\r
-# $Id: lang.pl,v 1.1.2.11 2005/09/10 16:22:50 eoberlander Exp $\r
-#\r
-\r
-package Lang;\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-use strict;\r
-\r
-### A cache file to avoid long recalculation\r
-$Lang::CacheLang = '/var/run/cache-lang.pl';\r
-\r
-# When you want to add your own language strings/entries to the ipcop language file,\r
-# you should create a file with <PREFIX>.<LANG>.pl into CONFIG_ROOT/addon-lang dir\r
-#      <PREFIX> is free choosable but should be significant. An Example might be "myAddnName"\r
-#      <LANG> is a mnemonic of the used language like en, de, it, nl etc.\r
-#              You can find a detailed list of possible mnemonic's in the file CONFIG_ROOT/langs/list\r
-# A file could be named "VirtualHttpd.en.pl" for example.\r
-#\r
-# The file content has to start with (of course without the leading #):\r
-# --------- CODE ---------\r
-#%tr = (%tr,\r
-# 'key1' => 'value',                           # add all your entries key/values here \r
-# 'key2' => 'value'                            # and end with (of course without the leading #):\r
-#);\r
-# --------- CODE END---------\r
-#\r
-# After you have copied all your files to CONFIG_ROOT/add-lang you have to run the\r
-# script compilation:\r
-# perl -e "require '/CONFIG_ROOT/lang.pl'; &Lang::BuildCacheLang"\r
-\r
-\r
-### Initialize language\r
-%Lang::tr = ();\r
-my %settings = ();\r
-&General::readhash("${General::swroot}/main/settings", \%settings);\r
-reload($settings{'LANGUAGE'});\r
-\r
-# language variable used by makegraphs script\r
-our $language;\r
-$language = $settings{'LANGUAGE'};\r
-\r
-#\r
-# Load requested language file from cachefile. If cachefile doesn't exist, build on the fly.\r
-# (it is a developper options)\r
-#\r
-sub reload {\r
-\r
-    my ($LG) = @_;\r
-    %Lang::tr = ();    # start with a clean array\r
-\r
-    # Use CacheLang if present & not empty.\r
-    if (-s "$Lang::CacheLang.$LG" ) {\r
-       ##fix: need to put a lock_shared on it in case rebuild is active ?\r
-       do "$Lang::CacheLang.$LG";\r
-        #&General::log ("cachelang file used [$LG]");  \r
-       return;\r
-    }\r
-    \r
-    #&General::log("Building on the fly cachelang file for [$LG]");\r
-    do "${General::swroot}/langs/en.pl";\r
-    do "${General::swroot}/langs/$LG.pl" if ($LG ne 'en');\r
-\r
-    my $AddonDir = ${General::swroot}.'/addon-lang';\r
-\r
-    opendir (DIR, $AddonDir);\r
-    my @files = readdir (DIR);\r
-    closedir (DIR);\r
-\r
-    # default is to load english first\r
-    foreach my $file ( grep (/.*\.en.pl$/,@files)) {\r
-       do "$AddonDir/$file";\r
-    }\r
-\r
-    # read again, overwriting 'en' with choosed lang\r
-    if ($LG ne 'en') {\r
-       foreach my $file (grep (/.*\.$LG\.pl$/,@files) ) {\r
-           do "$AddonDir/$file";\r
-       }\r
-    }\r
-}\r
-\r
-#\r
-# Assume this procedure is called with enough privileges.\r
-# Merge ipcop langage file + all other extension found in addon-lang\r
-# to build a 'cachefile' for selected language\r
-#\r
-sub BuildUniqueCacheLang {\r
-\r
-    my ($LG) = @_;\r
-    \r
-    # Make CacheLang empty so that it won't be used by Lang::reload\r
-    open (FILE, ">$Lang::CacheLang.$LG") or return 1;\r
-    flock (FILE, 2) or return 1;\r
-    close (FILE);\r
-\r
-    # Load languages files\r
-    &Lang::reload ($LG);\r
-    \r
-    # Write the unique %tr=('key'=>'value') array\r
-    open (FILE, ">$Lang::CacheLang.$LG") or return 1;\r
-    flock (FILE, 2) or return 1;\r
-    print FILE '%tr=(';\r
-    foreach my $k ( keys %Lang::tr ){\r
-       $Lang::tr{$k} =~ s/\'/\\\'/g;                   # quote ' => \'\r
-       print FILE "'$k' => '$Lang::tr{$k}',";          # key => value,\r
-    }\r
-    print FILE ');';\r
-    close (FILE);\r
-    \r
-    # Make nobody:nobody file's owner\r
-    # Will work when called by root/rc.sysinit\r
-    chown (0,0,"$Lang::CacheLang.$LG");\r
-    chmod (0004,"$Lang::CacheLang.$LG");\r
-    return 0;\r
-}\r
-\r
-#\r
-# Switch Ipcop Language for each lang then call build cachelang\r
-#\r
-sub BuildCacheLang {\r
-\r
-    my $AddonDir = ${General::swroot}.'/addon-lang';\r
-    \r
-    # Correct permission in case addon-installer did not do it\r
-    opendir (DIR, $AddonDir);\r
-    my @files = readdir (DIR);\r
-    foreach my $file (@files) {\r
-       next if (($file eq '..') || ($file eq '.'));\r
-       chown (0,0,"$AddonDir/$file");\r
-       chmod (0004,"$AddonDir/$file");\r
-    }\r
-    closedir (DIR);\r
-\r
-    my $selected = '';;\r
-    my $missed = '';\r
-    my $error = 0;\r
-    \r
-    open (LANGS, "${General::swroot}/langs/list");\r
-    while (<LANGS>) {\r
-       ($selected) = split (':');\r
-       if (BuildUniqueCacheLang ($selected) == 1) {\r
-           $missed = $selected; # will try latter. Can only be the current cachelang file locked\r
-       };\r
-    }\r
-    close (LANGS);\r
-\r
-    if ($missed) { # collision with current cache lang being used ?\r
-       $error = &BuildUniqueCacheLang ($missed);\r
-    }\r
-    \r
-    &General::log ("WARNING: cannot build cachelang file for [$missed].") if ($error);\r
-    return $error;\r
-}\r
-1;\r
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> Split from header.pl
+#
+# $Id: lang.pl,v 1.1.2.11 2005/09/10 16:22:50 eoberlander Exp $
+#
+
+package Lang;
+require 'CONFIG_ROOT/general-functions.pl';
+use strict;
+
+### A cache file to avoid long recalculation
+$Lang::CacheLang = '/var/run/cache-lang.pl';
+
+# When you want to add your own language strings/entries to the ipcop language file,
+# you should create a file with <PREFIX>.<LANG>.pl into CONFIG_ROOT/addon-lang dir
+#      <PREFIX> is free choosable but should be significant. An Example might be "myAddnName"
+#      <LANG> is a mnemonic of the used language like en, de, it, nl etc.
+#              You can find a detailed list of possible mnemonic's in the file CONFIG_ROOT/langs/list
+# A file could be named "VirtualHttpd.en.pl" for example.
+#
+# The file content has to start with (of course without the leading #):
+# --------- CODE ---------
+#%tr = (%tr,
+# 'key1' => 'value',                           # add all your entries key/values here 
+# 'key2' => 'value'                            # and end with (of course without the leading #):
+#);
+# --------- CODE END---------
+#
+# After you have copied all your files to CONFIG_ROOT/add-lang you have to run the
+# script compilation:
+# perl -e "require '/CONFIG_ROOT/lang.pl'; &Lang::BuildCacheLang"
+
+
+### Initialize language
+%Lang::tr = ();
+my %settings = ();
+&General::readhash("${General::swroot}/main/settings", \%settings);
+reload($settings{'LANGUAGE'});
+
+# language variable used by makegraphs script
+our $language;
+$language = $settings{'LANGUAGE'};
+
+#
+# Load requested language file from cachefile. If cachefile doesn't exist, build on the fly.
+# (it is a developper options)
+#
+sub reload {
+
+    my ($LG) = @_;
+    %Lang::tr = ();    # start with a clean array
+
+    # Use CacheLang if present & not empty.
+    if (-s "$Lang::CacheLang.$LG" ) {
+       ##fix: need to put a lock_shared on it in case rebuild is active ?
+       do "$Lang::CacheLang.$LG";
+        #&General::log ("cachelang file used [$LG]");  
+       return;
+    }
+    
+    #&General::log("Building on the fly cachelang file for [$LG]");
+    do "${General::swroot}/langs/en.pl";
+    do "${General::swroot}/langs/$LG.pl" if ($LG ne 'en');
+
+    my $AddonDir = ${General::swroot}.'/addon-lang';
+
+    opendir (DIR, $AddonDir);
+    my @files = readdir (DIR);
+    closedir (DIR);
+
+    # default is to load english first
+    foreach my $file ( grep (/.*\.en.pl$/,@files)) {
+       do "$AddonDir/$file";
+    }
+
+    # read again, overwriting 'en' with choosed lang
+    if ($LG ne 'en') {
+       foreach my $file (grep (/.*\.$LG\.pl$/,@files) ) {
+           do "$AddonDir/$file";
+       }
+    }
+}
+
+#
+# Assume this procedure is called with enough privileges.
+# Merge ipcop langage file + all other extension found in addon-lang
+# to build a 'cachefile' for selected language
+#
+sub BuildUniqueCacheLang {
+
+    my ($LG) = @_;
+    
+    # Make CacheLang empty so that it won't be used by Lang::reload
+    open (FILE, ">$Lang::CacheLang.$LG") or return 1;
+    flock (FILE, 2) or return 1;
+    close (FILE);
+
+    # Load languages files
+    &Lang::reload ($LG);
+    
+    # Write the unique %tr=('key'=>'value') array
+    open (FILE, ">$Lang::CacheLang.$LG") or return 1;
+    flock (FILE, 2) or return 1;
+    print FILE '%tr=(';
+    foreach my $k ( keys %Lang::tr ){
+       $Lang::tr{$k} =~ s/\'/\\\'/g;                   # quote ' => \'
+       print FILE "'$k' => '$Lang::tr{$k}',";          # key => value,
+    }
+    print FILE ');';
+    close (FILE);
+    
+    # Make nobody:nobody file's owner
+    # Will work when called by root/rc.sysinit
+    chown (0,0,"$Lang::CacheLang.$LG");
+    chmod (0004,"$Lang::CacheLang.$LG");
+    return 0;
+}
+
+#
+# Switch Ipcop Language for each lang then call build cachelang
+#
+sub BuildCacheLang {
+
+    my $AddonDir = ${General::swroot}.'/addon-lang';
+    
+    # Correct permission in case addon-installer did not do it
+    opendir (DIR, $AddonDir);
+    my @files = readdir (DIR);
+    foreach my $file (@files) {
+       next if (($file eq '..') || ($file eq '.'));
+       chown (0,0,"$AddonDir/$file");
+       chmod (0004,"$AddonDir/$file");
+    }
+    closedir (DIR);
+
+    my $selected = '';;
+    my $missed = '';
+    my $error = 0;
+    
+    open (LANGS, "${General::swroot}/langs/list");
+    while (<LANGS>) {
+       ($selected) = split (':');
+       if (BuildUniqueCacheLang ($selected) == 1) {
+           $missed = $selected; # will try latter. Can only be the current cachelang file locked
+       };
+    }
+    close (LANGS);
+
+    if ($missed) { # collision with current cache lang being used ?
+       $error = &BuildUniqueCacheLang ($missed);
+    }
+    
+    &General::log ("WARNING: cannot build cachelang file for [$missed].") if ($error);
+    return $error;
+}
+1;
index d7ed2db47546fdc910863e268d586c7687a58082..39fb676bab3d8f67b2d582a57c015e1002f44c40 100644 (file)
-# Protocols Data File\r
-#\r
-# This file is part of the IPCop Firewall.\r
-#\r
-# IPCop is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# IPCop is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-#\r
-# You should have received a copy of the GNU General Public License\r
-# along with IPCop; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-#\r
-# (c) The IPCop Team\r
-#\r
-# $Id: protocols.pl,v 1.2.2.1 2005/01/26 12:23:20 riddles Exp $\r
-#\r
-# Generated from /etc/protocols using:\r
-# cat /etc/protocols | grep -ve "^#" | grep -v "^$" | \\r
-#    awk '{ print "\""  $1  "\" => \"" $2 "\","}'\r
-#\r
-# Code supplied by Mark Wormgroor\r
-#\r
-\r
-package Protocols;\r
-\r
-%protocols = (\r
-"ip" => "0",\r
-"icmp" => "1",\r
-"igmp" => "2",\r
-"ggp" => "3",\r
-"ipencap" => "4",\r
-"st" => "5",\r
-"tcp" => "6",\r
-"cbt" => "7",\r
-"egp" => "8",\r
-"igp" => "9",\r
-"bbn-rcc" => "10",\r
-"nvp" => "11",\r
-"pup" => "12",\r
-"argus" => "13",\r
-"emcon" => "14",\r
-"xnet" => "15",\r
-"chaos" => "16",\r
-"udp" => "17",\r
-"mux" => "18",\r
-"dcn" => "19",\r
-"hmp" => "20",\r
-"prm" => "21",\r
-"xns-idp" => "22",\r
-"trunk-1" => "23",\r
-"trunk-2" => "24",\r
-"leaf-1" => "25",\r
-"leaf-2" => "26",\r
-"rdp" => "27",\r
-"irtp" => "28",\r
-"iso-tp4" => "29",\r
-"netblt" => "30",\r
-"mfe-nsp" => "31",\r
-"merit-inp" => "32",\r
-"sep" => "33",\r
-"3pc" => "34",\r
-"idpr" => "35",\r
-"xtp" => "36",\r
-"ddp" => "37",\r
-"idpr-cmtp" => "38",\r
-"tp++" => "39",\r
-"il" => "40",\r
-"ipv6" => "41",\r
-"sdrp" => "42",\r
-"ipv6-route" => "43",\r
-"ipv6-frag" => "44",\r
-"idrp" => "45",\r
-"rsvp" => "46",\r
-"gre" => "47",\r
-"mhrp" => "48",\r
-"bna" => "49",\r
-"ipv6-crypt" => "50",\r
-"ipv6-auth" => "51",\r
-"i-nlsp" => "52",\r
-"swipe" => "53",\r
-"narp" => "54",\r
-"mobile" => "55",\r
-"tlsp" => "56",\r
-"skip" => "57",\r
-"ipv6-icmp" => "58",\r
-"ipv6-nonxt" => "59",\r
-"ipv6-opts" => "60",\r
-"cftp" => "62",\r
-"sat-expak" => "64",\r
-"kryptolan" => "65",\r
-"rvd" => "66",\r
-"ippc" => "67",\r
-"sat-mon" => "69",\r
-"visa" => "70",\r
-"ipcv" => "71",\r
-"cpnx" => "72",\r
-"cphb" => "73",\r
-"wsn" => "74",\r
-"pvp" => "75",\r
-"br-sat-mon" => "76",\r
-"sun-nd" => "77",\r
-"wb-mon" => "78",\r
-"wb-expak" => "79",\r
-"iso-ip" => "80",\r
-"vmtp" => "81",\r
-"secure-vmtp" => "82",\r
-"vines" => "83",\r
-"ttp" => "84",\r
-"nsfnet-igp" => "85",\r
-"dgp" => "86",\r
-"tcf" => "87",\r
-"eigrp" => "88",\r
-"ospf" => "89",\r
-"sprite-rpc" => "90",\r
-"larp" => "91",\r
-"mtp" => "92",\r
-"ax.25" => "93",\r
-"ipip" => "94",\r
-"micp" => "95",\r
-"scc-sp" => "96",\r
-"etherip" => "97",\r
-"encap" => "98",\r
-"gmtp" => "100",\r
-"ifmp" => "101",\r
-"pnni" => "102",\r
-"pim" => "103",\r
-"aris" => "104",\r
-"scps" => "105",\r
-"qnx" => "106",\r
-"a/n" => "107",\r
-"ipcomp" => "108",\r
-"snp" => "109",\r
-"compaq-peer" => "110",\r
-"ipx-in-ip" => "111",\r
-"vrrp" => "112",\r
-"pgm" => "113",\r
-"l2tp" => "115",\r
-"ddx" => "116",\r
-"iatp" => "117",\r
-"stp" => "118",\r
-"srp" => "119",\r
-"uti" => "120",\r
-"smp" => "121",\r
-"sm" => "122",\r
-"ptp" => "123",\r
-"isis" => "124",\r
-"fire" => "125",\r
-"crtp" => "126",\r
-"crdup" => "127",\r
-"sscopmce" => "128",\r
-"iplt" => "129",\r
-"sps" => "130",\r
-"pipe" => "131",\r
-"sctp" => "132",\r
-"fc" => "133",\r
-);\r
+# Protocols Data File
+#
+# This file is part of the IPCop Firewall.
+#
+# IPCop is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# IPCop is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IPCop; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# (c) The IPCop Team
+#
+# $Id: protocols.pl,v 1.2.2.1 2005/01/26 12:23:20 riddles Exp $
+#
+# Generated from /etc/protocols using:
+# cat /etc/protocols | grep -ve "^#" | grep -v "^$" | \
+#    awk '{ print "\""  $1  "\" => \"" $2 "\","}'
+#
+# Code supplied by Mark Wormgroor
+#
+
+package Protocols;
+
+%protocols = (
+"ip" => "0",
+"icmp" => "1",
+"igmp" => "2",
+"ggp" => "3",
+"ipencap" => "4",
+"st" => "5",
+"tcp" => "6",
+"cbt" => "7",
+"egp" => "8",
+"igp" => "9",
+"bbn-rcc" => "10",
+"nvp" => "11",
+"pup" => "12",
+"argus" => "13",
+"emcon" => "14",
+"xnet" => "15",
+"chaos" => "16",
+"udp" => "17",
+"mux" => "18",
+"dcn" => "19",
+"hmp" => "20",
+"prm" => "21",
+"xns-idp" => "22",
+"trunk-1" => "23",
+"trunk-2" => "24",
+"leaf-1" => "25",
+"leaf-2" => "26",
+"rdp" => "27",
+"irtp" => "28",
+"iso-tp4" => "29",
+"netblt" => "30",
+"mfe-nsp" => "31",
+"merit-inp" => "32",
+"sep" => "33",
+"3pc" => "34",
+"idpr" => "35",
+"xtp" => "36",
+"ddp" => "37",
+"idpr-cmtp" => "38",
+"tp++" => "39",
+"il" => "40",
+"ipv6" => "41",
+"sdrp" => "42",
+"ipv6-route" => "43",
+"ipv6-frag" => "44",
+"idrp" => "45",
+"rsvp" => "46",
+"gre" => "47",
+"mhrp" => "48",
+"bna" => "49",
+"ipv6-crypt" => "50",
+"ipv6-auth" => "51",
+"i-nlsp" => "52",
+"swipe" => "53",
+"narp" => "54",
+"mobile" => "55",
+"tlsp" => "56",
+"skip" => "57",
+"ipv6-icmp" => "58",
+"ipv6-nonxt" => "59",
+"ipv6-opts" => "60",
+"cftp" => "62",
+"sat-expak" => "64",
+"kryptolan" => "65",
+"rvd" => "66",
+"ippc" => "67",
+"sat-mon" => "69",
+"visa" => "70",
+"ipcv" => "71",
+"cpnx" => "72",
+"cphb" => "73",
+"wsn" => "74",
+"pvp" => "75",
+"br-sat-mon" => "76",
+"sun-nd" => "77",
+"wb-mon" => "78",
+"wb-expak" => "79",
+"iso-ip" => "80",
+"vmtp" => "81",
+"secure-vmtp" => "82",
+"vines" => "83",
+"ttp" => "84",
+"nsfnet-igp" => "85",
+"dgp" => "86",
+"tcf" => "87",
+"eigrp" => "88",
+"ospf" => "89",
+"sprite-rpc" => "90",
+"larp" => "91",
+"mtp" => "92",
+"ax.25" => "93",
+"ipip" => "94",
+"micp" => "95",
+"scc-sp" => "96",
+"etherip" => "97",
+"encap" => "98",
+"gmtp" => "100",
+"ifmp" => "101",
+"pnni" => "102",
+"pim" => "103",
+"aris" => "104",
+"scps" => "105",
+"qnx" => "106",
+"a/n" => "107",
+"ipcomp" => "108",
+"snp" => "109",
+"compaq-peer" => "110",
+"ipx-in-ip" => "111",
+"vrrp" => "112",
+"pgm" => "113",
+"l2tp" => "115",
+"ddx" => "116",
+"iatp" => "117",
+"stp" => "118",
+"srp" => "119",
+"uti" => "120",
+"smp" => "121",
+"sm" => "122",
+"ptp" => "123",
+"isis" => "124",
+"fire" => "125",
+"crtp" => "126",
+"crdup" => "127",
+"sscopmce" => "128",
+"iplt" => "129",
+"sps" => "130",
+"pipe" => "131",
+"sctp" => "132",
+"fc" => "133",
+);
index 7c0ea66ead74cc64943a8c9841ad881809d06e1c..5364d20d8ddb491bdb231e66848961942e31e87b 100644 (file)
@@ -303,6 +303,12 @@ CONFIG_IP_NF_ARPFILTER=m
 CONFIG_IP_NF_ARP_MANGLE=m
 # CONFIG_IP_NF_COMPAT_IPCHAINS is not set
 # CONFIG_IP_NF_COMPAT_IPFWADM is not set
 CONFIG_IP_NF_ARP_MANGLE=m
 # CONFIG_IP_NF_COMPAT_IPCHAINS is not set
 # CONFIG_IP_NF_COMPAT_IPFWADM is not set
+CONFIG_IP_NF_MATCH_IPP2P=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_LAYER7=m
+CONFIG_IP_NF_MATCH_LAYER7_DEBUG=n
+CONFIG_IP_NF_TARGET_IMQ=m
+CONFIG_IMQ=m
 
 #
 #   IP: Virtual Server Configuration
 
 #
 #   IP: Virtual Server Configuration
index bc4afd95e4270e357c1c165b46c11793945f68b1..c9b8d94a4c87b94c3a719cee9019dc01dcd1797d 100644 (file)
@@ -6,6 +6,7 @@
 * Digest-1.08
 * Digest-HMAC-1.01
 * Digest-SHA1-2.10
 * Digest-1.08
 * Digest-HMAC-1.01
 * Digest-SHA1-2.10
+* GD-2.12
 * HTML-Parser-3.45
 * HTML-Tagset-3.04
 * LPRng-3.8.28
 * HTML-Parser-3.45
 * HTML-Tagset-3.04
 * LPRng-3.8.28
index 040eb2999a2123e36239f87d5154a396ca606be9..5c2a4a19201a01608a547c9185dd9f07890dd8fa 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGI's - aliases.cgi\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) Steve Bootes 2002/04/13 - Manage IP Aliases\r
-#\r
-# $Id: aliases.cgi,v 1.5.2.14 2006/01/13 20:14:48 eoberlander Exp $\r
-\r
-\r
-# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines\r
-#use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work\r
-# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help\r
-use warnings;\r
-use strict;\r
-#use Carp ();\r
-#local $SIG{__WARN__} = \&Carp::cluck;\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';    # replace CONFIG_ROOT with /var/ipcop in case of manual install\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-   @dummy = ( ${Header::table1colour} );\r
-   @dummy = ( ${Header::table2colour} );\r
-undef (@dummy);\r
-\r
-# Files used\r
-my $setting = "${General::swroot}/ethernet/settings";\r
-our $datafile = "${General::swroot}/ethernet/aliases";\r
-\r
-\r
-our %settings=();\r
-#Settings1\r
-\r
-#Settings2 for editing the multi-line list\r
-#Must not be saved !\r
-$settings{'IP'} = '';\r
-$settings{'ENABLED'} = 'off';          # Every check box must be set to off\r
-$settings{'NAME'} = '';\r
-my @nosaved=('IP','ENABLED','NAME');   # List here ALL setting2 fields. Mandatory\r
-    \r
-$settings{'ACTION'} = '';              # add/edit/remove\r
-$settings{'KEY1'} = '';                        # point record for ACTION\r
-\r
-#Define each field that can be used to sort columns\r
-my $sortstring='^IP|^NAME';\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-# Read needed Ipcop netsettings\r
-my %netsettings=();\r
-$netsettings{'SORT_ALIASES'} = 'NAME';         # default sort\r
-&General::readhash($setting, \%netsettings);\r
-\r
-#Get GUI values\r
-&Header::getcgihash(\%settings);\r
-\r
-# Load multiline data\r
-our @current = ();\r
-if (open(FILE, "$datafile")) {\r
-    @current = <FILE>;\r
-    close (FILE);\r
-}\r
-\r
-#\r
-# Check Settings1 first because they are needed before working on @current\r
-#\r
-# Remove if no Setting1 needed\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'save'}) {\r
-    \r
-    #\r
-    #Validate static Settings1 here\r
-    #\r
-    \r
-    unless ($errormessage) {                                   # Everything is ok, save settings\r
-       #map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved \r
-       #&General::writehash($setting, \%settings);             # Save good settings\r
-       #$settings{'ACTION'} = $Lang::tr{'save'};               # Recreate  'ACTION'\r
-       #map ($settings{$_}= '',(@nosaved,'KEY1'));             # and reinit var to empty\r
-       \r
-       # Rebuild configuration file if needed\r
-       &BuildConfiguration;\r
-    }\r
-\r
-    ERROR:                                             # Leave the faulty field untouched\r
-} else {\r
-    #&General::readhash($setting, \%settings);         # Get saved settings and reset to good if needed\r
-}\r
-\r
-## Now manipulate the multi-line list with Settings2\r
-# Basic actions are:\r
-#      toggle the check box\r
-#      add/update a new line\r
-#      begin editing a line\r
-#      remove a line\r
-\r
-\r
-# Toggle enable/disable field.  Field is in second position\r
-if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {\r
-    #move out new line\r
-    chomp(@current[$settings{'KEY1'}]);\r
-    my @temp = split(/\,/,@current[$settings{'KEY1'}]);\r
-    $temp[1] = $temp[1] eq 'on' ? '' : 'on';           # Toggle the field\r
-    @current[$settings{'KEY1'}] = join (',',@temp)."\n";\r
-    $settings{'KEY1'} = '';                            # End edit mode\r
-    \r
-    &General::log($Lang::tr{'ip alias changed'});\r
-    \r
-    #Save current\r
-    open(FILE, ">$datafile") or die 'Unable to open aliases file.';\r
-    print FILE @current;\r
-    close(FILE);\r
-       \r
-    # Rebuild configuration file\r
-    &BuildConfiguration;\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'add'}) {\r
-    # Validate inputs\r
-    if (! &General::validip($settings{'IP'})) {$errormessage = "invalid ip"};\r
-    $settings{'NAME'} = &Header::cleanhtml($settings{'NAME'});\r
-\r
-    # Make sure we haven't duplicated an alias or RED\r
-    my $spacer='';\r
-    if ($settings{'IP'} eq $netsettings{'RED_ADDRESS'}) {\r
-       $errormessage = $Lang::tr{'duplicate ip'} . ' (RED)';\r
-        $spacer=" & ";\r
-    }\r
-    my $idx=0;\r
-    foreach my $line (@current) {\r
-        chomp ($line);\r
-        my @temp = split (/\,/, $line);\r
-        if ( ($settings{'KEY1'} eq '')||(($settings{'KEY1'} ne '') && ($settings{'KEY1'} != $idx))) { # update\r
-           if ($temp[0] eq $settings{'IP'}) {\r
-               $errormessage .= $spacer.$Lang::tr{'duplicate ip'};\r
-               $spacer=" & ";\r
-           }\r
-           if ($temp[2] eq $settings{'NAME'} && $temp[2] ne '') {\r
-               $errormessage .= $spacer.$Lang::tr{'duplicate name'};\r
-               $spacer=" & ";\r
-               }\r
-       }\r
-       $idx++;\r
-    }\r
-    unless ($errormessage) {\r
-       if ($settings{'KEY1'} eq '') { #add or edit ?\r
-           unshift (@current, "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n");\r
-           &General::log($Lang::tr{'ip alias added'});\r
-       } else {\r
-           @current[$settings{'KEY1'}] = "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n";\r
-           $settings{'KEY1'} = '';       # End edit mode\r
-           &General::log($Lang::tr{'ip alias changed'});\r
-       }\r
-\r
-       # Write changes to config file.\r
-       &SortDataFile;                          # sort newly added/modified entry\r
-\r
-       &BuildConfiguration;                    # then re-build conf which use new data\r
-       \r
-##\r
-## if entering data line is repetitive, choose here to not erase fields between each addition\r
-##\r
-       map ($settings{$_}='' ,@nosaved);       # Clear fields\r
-    }\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-    #move out new line\r
-    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current\r
-    chomp($line);\r
-    my @temp = split(/\,/, $line);\r
-\r
-##\r
-## move data fields to Setting2 for edition\r
-##\r
-    $settings{'IP'}=$temp[0];                  # Prepare the screen for editing\r
-    $settings{'ENABLED'}=$temp[1];\r
-    $settings{'NAME'}=$temp[2];\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    splice (@current,$settings{'KEY1'},1);             # Delete line \r
-    open(FILE, ">$datafile") or die 'Unable to open aliases file.';\r
-    print FILE @current;\r
-    close(FILE);\r
-    $settings{'KEY1'} = '';                            # End remove mode\r
-    &General::log($Lang::tr{'ip alias removed'});\r
-\r
-    &BuildConfiguration;                               # then re-build conf which use new data\r
-}\r
-\r
-\r
-\r
-##  Check if sorting is asked\r
-# If same column clicked, reverse the sort.\r
-if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {\r
-    my $newsort=$ENV{'QUERY_STRING'};\r
-    my $actual=$netsettings{'SORT_ALIASES'};\r
-    #Reverse actual sort ?\r
-    if ($actual =~ $newsort) {\r
-       my $Rev='';\r
-       if ($actual !~ 'Rev') {\r
-           $Rev='Rev';\r
-       }\r
-       $newsort.=$Rev;\r
-    }\r
-    $netsettings{'SORT_ALIASES'}=$newsort;\r
-    &General::writehash($setting, \%netsettings);\r
-    &SortDataFile;\r
-    $settings{'ACTION'} = 'SORT';                      # Recreate  'ACTION'\r
-}\r
-\r
-# Default initial value\r
-if ($settings{'ACTION'} eq '' ) { # First launch from GUI\r
-    $settings{'ENABLED'} ='on';\r
-}\r
-    \r
-&Header::openpage($Lang::tr{'external aliases configuration'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-my %checked =();     # Checkbox manipulations\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>";\r
-    &Header::closebox();\r
-}\r
-unless (( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ ) && ($netsettings{'RED_TYPE'} eq 'STATIC'))\r
-{\r
-    &Header::openbox('100%', 'left', $Lang::tr{'capswarning'});\r
-    print <<END\r
-    <table width='100%'>\r
-    <tr>\r
-    <td width='100%' class='boldbase' align='center'><font color='${Header::colourred}'><b>$Lang::tr{'aliases not active'}</b></font></td>\r
-    </tr>\r
-    </table>\r
-END\r
-;\r
-    &Header::closebox();\r
-}\r
-                                                                       \r
-#\r
-# Second check box is for editing the list\r
-#\r
-$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq '') ? '' :  "checked='checked'";\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($settings{'KEY1'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing alias'});\r
-} else {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'add new alias'});\r
-}\r
-\r
-#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />\r
-<table width='100%'>\r
-<tr>\r
-<td class='base'><font color='${Header::colourred}'>$Lang::tr{'name'}:&nbsp;<img src='/blob.gif' alt='*' /></font></td>\r
-<td><input type='text' name='NAME' value='$settings{'NAME'}' size='32' /></td>\r
-<td class='base' align='right'><font color='${Header::colourred}'>$Lang::tr{'alias ip'}:&nbsp;</font></td>\r
-<td><input type='text' name='IP' value='$settings{'IP'}' size='16' /></td>\r
-<td class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td>\r
-<td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-#\r
-# Third box shows the list, in columns\r
-#\r
-# Columns headers may content a link. In this case it must be named in $sortstring\r
-#\r
-&Header::openbox('100%', 'left', $Lang::tr{'current aliases'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td width='50%' align='center'><a href='$ENV{'SCRIPT_NAME'}?NAME'><b>$Lang::tr{'name'}</b></a></td>\r
-    <td width='40%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'alias ip'}</b></a></td>\r
-    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-#\r
-# Print each line of @current list\r
-#\r
-# each data line is splitted into @temp.\r
-#\r
-\r
-my $key = 0;\r
-foreach my $line (@current) {\r
-    chomp($line);\r
-    my @temp = split(/\,/,$line);\r
-\r
-    #Choose icon for checkbox\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    if ($temp[1] eq "on") {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    #Colorize each line\r
-    if ($settings{'KEY1'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-\r
-    print <<END\r
-<td align='center'>$temp[2]</td>\r
-<td align='center'>$temp[0]</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-    $key++;\r
-}\r
-print "</table>";\r
-\r
-# If table contains entries, print 'Key to action icons'\r
-if ($key) {\r
-print <<END\r
-<table>\r
-<tr>\r
-    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to disable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to enable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-    <td class='base'>$Lang::tr{'edit'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-    <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-## Ouf it's the end !\r
-\r
-\r
-\r
-# Sort the "current" array according to choices\r
-sub SortDataFile\r
-{\r
-    our %entries = ();\r
-    \r
-    # Sort pair of record received in $a $b special vars.\r
-    # When IP is specified use numeric sort else alpha.\r
-    # If sortname ends with 'Rev', do reverse sort.\r
-    #\r
-    sub fixedleasesort {\r
-       my $qs='';             # The sort field specified minus 'Rev'\r
-       if (rindex ($netsettings{'SORT_ALIASES'},'Rev') != -1) {\r
-           $qs=substr ($netsettings{'SORT_ALIASES'},0,length($netsettings{'SORT_ALIASES'})-3);\r
-           if ($qs eq 'IP') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($b[0]<=>$a[0]) ||\r
-               ($b[1]<=>$a[1]) ||\r
-               ($b[2]<=>$a[2]) ||\r
-               ($b[3]<=>$a[3]);\r
-           } else {\r
-               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};\r
-           }\r
-       } else { #not reverse\r
-           $qs=$netsettings{'SORT_ALIASES'};\r
-           if ($qs eq 'IP') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($a[0]<=>$b[0]) ||\r
-               ($a[1]<=>$b[1]) ||\r
-               ($a[2]<=>$b[2]) ||\r
-               ($a[3]<=>$b[3]);\r
-           } else {\r
-               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};\r
-           }\r
-       }\r
-    }\r
-\r
-    #Use an associative array (%entries)\r
-    my $key = 0;\r
-    foreach my $line (@current) {\r
-       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)\r
-       my @temp = split (',',$line);\r
-       \r
-       # Build a pair 'Field Name',value for each of the data dataline.\r
-       # Each SORTABLE field must have is pair.\r
-       # Other data fields (non sortable) can be grouped in one\r
-       \r
-       # Exemple\r
-       # F1,F2,F3,F4,F5       only F1 F2 for sorting\r
-       # my @record = ('KEY',$key++,\r
-       #               'F1',$temp[0],\r
-       #               'F2',$temp[1],\r
-       #               'DATA',join(',',@temp[2..4])    );  #group remainning values, with separator (,)\r
-       \r
-       # The KEY,key record permits doublons. If removed, then F1 becomes the key without doublon permitted.\r
-       \r
-       \r
-       my @record = ('KEY',$key++,'IP',$temp[0],'ENABLED',$temp[1],'NAME',$temp[2]);\r
-       my $record = {};                                # create a reference to empty hash\r
-       %{$record} = @record;                           # populate that hash with @record\r
-       $entries{$record->{KEY}} = $record;             # add this to a hash of hashes\r
-    }\r
-    \r
-    open(FILE, ">$datafile") or die 'Unable to open aliases file.';\r
-\r
-    # Each field value is printed , with the newline ! Don't forget separator and order of them.\r
-    foreach my $entry (sort fixedleasesort keys %entries) {\r
-       print FILE "$entries{$entry}->{IP},$entries{$entry}->{ENABLED},$entries{$entry}->{NAME}\n";\r
-    }\r
-\r
-    close(FILE);\r
-    # Reload sorted  @current\r
-    open (FILE, "$datafile");\r
-    @current = <FILE>;\r
-    close (FILE);\r
-}\r
-\r
-#                                                  \r
-# Build the configuration file for application aliases\r
-#\r
-sub BuildConfiguration {\r
-    # Restart service associated with this\r
-    system '/usr/local/bin/setaliases';\r
-}\r
+#!/usr/bin/perl
+#
+# IPCop CGI's - aliases.cgi
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) Steve Bootes 2002/04/13 - Manage IP Aliases
+#
+# $Id: aliases.cgi,v 1.5.2.14 2006/01/13 20:14:48 eoberlander Exp $
+
+
+# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines
+#use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work
+# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help
+use warnings;
+use strict;
+#use Carp ();
+#local $SIG{__WARN__} = \&Carp::cluck;
+
+require 'CONFIG_ROOT/general-functions.pl';    # replace CONFIG_ROOT with /var/ipcop in case of manual install
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+   @dummy = ( ${Header::table1colour} );
+   @dummy = ( ${Header::table2colour} );
+undef (@dummy);
+
+# Files used
+my $setting = "${General::swroot}/ethernet/settings";
+our $datafile = "${General::swroot}/ethernet/aliases";
+
+
+our %settings=();
+#Settings1
+
+#Settings2 for editing the multi-line list
+#Must not be saved !
+$settings{'IP'} = '';
+$settings{'ENABLED'} = 'off';          # Every check box must be set to off
+$settings{'NAME'} = '';
+my @nosaved=('IP','ENABLED','NAME');   # List here ALL setting2 fields. Mandatory
+    
+$settings{'ACTION'} = '';              # add/edit/remove
+$settings{'KEY1'} = '';                        # point record for ACTION
+
+#Define each field that can be used to sort columns
+my $sortstring='^IP|^NAME';
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+# Read needed Ipcop netsettings
+my %netsettings=();
+$netsettings{'SORT_ALIASES'} = 'NAME';         # default sort
+&General::readhash($setting, \%netsettings);
+
+#Get GUI values
+&Header::getcgihash(\%settings);
+
+# Load multiline data
+our @current = ();
+if (open(FILE, "$datafile")) {
+    @current = <FILE>;
+    close (FILE);
+}
+
+#
+# Check Settings1 first because they are needed before working on @current
+#
+# Remove if no Setting1 needed
+#
+if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
+    
+    #
+    #Validate static Settings1 here
+    #
+    
+    unless ($errormessage) {                                   # Everything is ok, save settings
+       #map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved 
+       #&General::writehash($setting, \%settings);             # Save good settings
+       #$settings{'ACTION'} = $Lang::tr{'save'};               # Recreate  'ACTION'
+       #map ($settings{$_}= '',(@nosaved,'KEY1'));             # and reinit var to empty
+       
+       # Rebuild configuration file if needed
+       &BuildConfiguration;
+    }
+
+    ERROR:                                             # Leave the faulty field untouched
+} else {
+    #&General::readhash($setting, \%settings);         # Get saved settings and reset to good if needed
+}
+
+## Now manipulate the multi-line list with Settings2
+# Basic actions are:
+#      toggle the check box
+#      add/update a new line
+#      begin editing a line
+#      remove a line
+
+
+# Toggle enable/disable field.  Field is in second position
+if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+    #move out new line
+    chomp(@current[$settings{'KEY1'}]);
+    my @temp = split(/\,/,@current[$settings{'KEY1'}]);
+    $temp[1] = $temp[1] eq 'on' ? '' : 'on';           # Toggle the field
+    @current[$settings{'KEY1'}] = join (',',@temp)."\n";
+    $settings{'KEY1'} = '';                            # End edit mode
+    
+    &General::log($Lang::tr{'ip alias changed'});
+    
+    #Save current
+    open(FILE, ">$datafile") or die 'Unable to open aliases file.';
+    print FILE @current;
+    close(FILE);
+       
+    # Rebuild configuration file
+    &BuildConfiguration;
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+    # Validate inputs
+    if (! &General::validip($settings{'IP'})) {$errormessage = "invalid ip"};
+    $settings{'NAME'} = &Header::cleanhtml($settings{'NAME'});
+
+    # Make sure we haven't duplicated an alias or RED
+    my $spacer='';
+    if ($settings{'IP'} eq $netsettings{'RED_ADDRESS'}) {
+       $errormessage = $Lang::tr{'duplicate ip'} . ' (RED)';
+        $spacer=" & ";
+    }
+    my $idx=0;
+    foreach my $line (@current) {
+        chomp ($line);
+        my @temp = split (/\,/, $line);
+        if ( ($settings{'KEY1'} eq '')||(($settings{'KEY1'} ne '') && ($settings{'KEY1'} != $idx))) { # update
+           if ($temp[0] eq $settings{'IP'}) {
+               $errormessage .= $spacer.$Lang::tr{'duplicate ip'};
+               $spacer=" & ";
+           }
+           if ($temp[2] eq $settings{'NAME'} && $temp[2] ne '') {
+               $errormessage .= $spacer.$Lang::tr{'duplicate name'};
+               $spacer=" & ";
+               }
+       }
+       $idx++;
+    }
+    unless ($errormessage) {
+       if ($settings{'KEY1'} eq '') { #add or edit ?
+           unshift (@current, "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n");
+           &General::log($Lang::tr{'ip alias added'});
+       } else {
+           @current[$settings{'KEY1'}] = "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n";
+           $settings{'KEY1'} = '';       # End edit mode
+           &General::log($Lang::tr{'ip alias changed'});
+       }
+
+       # Write changes to config file.
+       &SortDataFile;                          # sort newly added/modified entry
+
+       &BuildConfiguration;                    # then re-build conf which use new data
+       
+##
+## if entering data line is repetitive, choose here to not erase fields between each addition
+##
+       map ($settings{$_}='' ,@nosaved);       # Clear fields
+    }
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+    #move out new line
+    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current
+    chomp($line);
+    my @temp = split(/\,/, $line);
+
+##
+## move data fields to Setting2 for edition
+##
+    $settings{'IP'}=$temp[0];                  # Prepare the screen for editing
+    $settings{'ENABLED'}=$temp[1];
+    $settings{'NAME'}=$temp[2];
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    splice (@current,$settings{'KEY1'},1);             # Delete line 
+    open(FILE, ">$datafile") or die 'Unable to open aliases file.';
+    print FILE @current;
+    close(FILE);
+    $settings{'KEY1'} = '';                            # End remove mode
+    &General::log($Lang::tr{'ip alias removed'});
+
+    &BuildConfiguration;                               # then re-build conf which use new data
+}
+
+
+
+##  Check if sorting is asked
+# If same column clicked, reverse the sort.
+if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {
+    my $newsort=$ENV{'QUERY_STRING'};
+    my $actual=$netsettings{'SORT_ALIASES'};
+    #Reverse actual sort ?
+    if ($actual =~ $newsort) {
+       my $Rev='';
+       if ($actual !~ 'Rev') {
+           $Rev='Rev';
+       }
+       $newsort.=$Rev;
+    }
+    $netsettings{'SORT_ALIASES'}=$newsort;
+    &General::writehash($setting, \%netsettings);
+    &SortDataFile;
+    $settings{'ACTION'} = 'SORT';                      # Recreate  'ACTION'
+}
+
+# Default initial value
+if ($settings{'ACTION'} eq '' ) { # First launch from GUI
+    $settings{'ENABLED'} ='on';
+}
+    
+&Header::openpage($Lang::tr{'external aliases configuration'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+my %checked =();     # Checkbox manipulations
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+unless (( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ ) && ($netsettings{'RED_TYPE'} eq 'STATIC'))
+{
+    &Header::openbox('100%', 'left', $Lang::tr{'capswarning'});
+    print <<END
+    <table width='100%'>
+    <tr>
+    <td width='100%' class='boldbase' align='center'><font color='${Header::colourred}'><b>$Lang::tr{'aliases not active'}</b></font></td>
+    </tr>
+    </table>
+END
+;
+    &Header::closebox();
+}
+                                                                       
+#
+# Second check box is for editing the list
+#
+$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq '') ? '' :  "checked='checked'";
+
+my $buttontext = $Lang::tr{'add'};
+if ($settings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing alias'});
+} else {
+    &Header::openbox('100%', 'left', $Lang::tr{'add new alias'});
+}
+
+#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<table width='100%'>
+<tr>
+<td class='base'><font color='${Header::colourred}'>$Lang::tr{'name'}:&nbsp;<img src='/blob.gif' alt='*' /></font></td>
+<td><input type='text' name='NAME' value='$settings{'NAME'}' size='32' /></td>
+<td class='base' align='right'><font color='${Header::colourred}'>$Lang::tr{'alias ip'}:&nbsp;</font></td>
+<td><input type='text' name='IP' value='$settings{'IP'}' size='16' /></td>
+<td class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td>
+<td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+#
+# Third box shows the list, in columns
+#
+# Columns headers may content a link. In this case it must be named in $sortstring
+#
+&Header::openbox('100%', 'left', $Lang::tr{'current aliases'});
+print <<END
+<table width='100%'>
+<tr>
+    <td width='50%' align='center'><a href='$ENV{'SCRIPT_NAME'}?NAME'><b>$Lang::tr{'name'}</b></a></td>
+    <td width='40%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'alias ip'}</b></a></td>
+    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+#
+# Print each line of @current list
+#
+# each data line is splitted into @temp.
+#
+
+my $key = 0;
+foreach my $line (@current) {
+    chomp($line);
+    my @temp = split(/\,/,$line);
+
+    #Choose icon for checkbox
+    my $gif = '';
+    my $gdesc = '';
+    if ($temp[1] eq "on") {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'}; 
+    }
+
+    #Colorize each line
+    if ($settings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+
+    print <<END
+<td align='center'>$temp[2]</td>
+<td align='center'>$temp[0]</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+print "</table>";
+
+# If table contains entries, print 'Key to action icons'
+if ($key) {
+print <<END
+<table>
+<tr>
+    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+    <td class='base'>$Lang::tr{'click to disable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+    <td class='base'>$Lang::tr{'click to enable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+    <td class='base'>$Lang::tr{'edit'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+    <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+
+
+# Sort the "current" array according to choices
+sub SortDataFile
+{
+    our %entries = ();
+    
+    # Sort pair of record received in $a $b special vars.
+    # When IP is specified use numeric sort else alpha.
+    # If sortname ends with 'Rev', do reverse sort.
+    #
+    sub fixedleasesort {
+       my $qs='';             # The sort field specified minus 'Rev'
+       if (rindex ($netsettings{'SORT_ALIASES'},'Rev') != -1) {
+           $qs=substr ($netsettings{'SORT_ALIASES'},0,length($netsettings{'SORT_ALIASES'})-3);
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($b[0]<=>$a[0]) ||
+               ($b[1]<=>$a[1]) ||
+               ($b[2]<=>$a[2]) ||
+               ($b[3]<=>$a[3]);
+           } else {
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
+           }
+       } else { #not reverse
+           $qs=$netsettings{'SORT_ALIASES'};
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+           } else {
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
+           }
+       }
+    }
+
+    #Use an associative array (%entries)
+    my $key = 0;
+    foreach my $line (@current) {
+       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)
+       my @temp = split (',',$line);
+       
+       # Build a pair 'Field Name',value for each of the data dataline.
+       # Each SORTABLE field must have is pair.
+       # Other data fields (non sortable) can be grouped in one
+       
+       # Exemple
+       # F1,F2,F3,F4,F5       only F1 F2 for sorting
+       # my @record = ('KEY',$key++,
+       #               'F1',$temp[0],
+       #               'F2',$temp[1],
+       #               'DATA',join(',',@temp[2..4])    );  #group remainning values, with separator (,)
+       
+       # The KEY,key record permits doublons. If removed, then F1 becomes the key without doublon permitted.
+       
+       
+       my @record = ('KEY',$key++,'IP',$temp[0],'ENABLED',$temp[1],'NAME',$temp[2]);
+       my $record = {};                                # create a reference to empty hash
+       %{$record} = @record;                           # populate that hash with @record
+       $entries{$record->{KEY}} = $record;             # add this to a hash of hashes
+    }
+    
+    open(FILE, ">$datafile") or die 'Unable to open aliases file.';
+
+    # Each field value is printed , with the newline ! Don't forget separator and order of them.
+    foreach my $entry (sort fixedleasesort keys %entries) {
+       print FILE "$entries{$entry}->{IP},$entries{$entry}->{ENABLED},$entries{$entry}->{NAME}\n";
+    }
+
+    close(FILE);
+    # Reload sorted  @current
+    open (FILE, "$datafile");
+    @current = <FILE>;
+    close (FILE);
+}
+
+#                                                  
+# Build the configuration file for application aliases
+#
+sub BuildConfiguration {
+    # Restart service associated with this
+    system '/usr/local/bin/setaliases';
+}
index dd9b149af829aa0dd942588d3c9b0c025d7677c4..b8184095f2ad9b4c725a17f8b6e9275c39d84279 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGI's - backup.cgi: manage import/export of configuration files\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The IPCop Team\r
-# 2005 Franck Bourdonnec, major rewrite\r
-#\r
-# $Id: backup.cgi,v 1.2.2.15 2006/01/29 15:31:49 eoberlander Exp $\r
-#\r
-#\r
-\r
-\r
-# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines\r
-# use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work\r
-# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help\r
-#use warnings;\r
-use strict;\r
-#use Carp ();\r
-#local $SIG{__WARN__} = \&Carp::cluck;\r
-use File::Copy;\r
-use Sys::Hostname;\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-my $setdir = '/home/httpd/html/backup'; # location where sets are stored and imported\r
-my $datafile = hostname() . '.dat';    # file containing data backup\r
-my $datefile = $datafile . '.time';    # and creation date\r
-\r
-# ask if backup crypting key exists\r
-my $tmpkeyfile = "$setdir/key";                # import the backup key\r
-\r
-# Get GUI values\r
-my %settings = ();\r
-&Header::getcgihash(\%settings, {'wantfile' => 1, 'filevar' => 'FH'});\r
-\r
-##\r
-## Backup key management\r
-##\r
-\r
-#\r
-# Export the key. root pw is required to avoid user 'noboby' uses the helper to read it and creates\r
-# fake backup.\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'backup export key'})  {\r
-\r
-    my $size = 0;\r
-    if ($settings{'PASSWORD1'} ne '' && $settings{'PASSWORD1'} ne $settings{'PASSWORD2'} ){\r
-       $errormessage = $Lang::tr{'passwords do not match'}\r
-    } else {\r
-       my @lines = `/usr/local/bin/ipcopbackup -keycat $settings{'PASSWORD'}`;\r
-       # If previous operation succeded and the key need to be crypted, redo operation with pipe to openssl\r
-       if (@lines && $settings{'PASSWORD1'}) {\r
-           @lines = `/usr/local/bin/ipcopbackup -keycat $settings{'PASSWORD'}|openssl enc -a -e -aes256 -salt -pass pass:$settings{'PASSWORD1'} `;\r
-       }\r
-        if (@lines) {\r
-           use bytes;\r
-           foreach (@lines) {$size += length($_)};\r
-           print "Pragma: no-cache\n";\r
-           print "Cache-control: no-cache\n";\r
-           print "Connection: close\n";\r
-           print "Content-type: application/octet-stream\n";\r
-           print "Content-Disposition: filename=backup.key\n";\r
-           print "Content-Length: $size\n\n";\r
-           print @lines;\r
-           exit (0);\r
-       } else {\r
-           $errormessage = $Lang::tr{'incorrect password'};\r
-       }\r
-    }  \r
-}\r
-#\r
-#  Import the key. Fail if key exists. This avoid creating fake backup.\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'backup import key'})  {\r
-    if (ref ($settings{'FH'}) ne 'Fh') {\r
-       $errormessage = $Lang::tr{'no cfg upload'};\r
-    } else {\r
-       if (copy ($settings{'FH'}, $tmpkeyfile) != 1) {\r
-           $errormessage = $Lang::tr{'save error'};\r
-       } else {\r
-           # if a password is given, decrypt the key received in $tmpkeyfile file with it.\r
-           # no error is produce if the password is wrong.\r
-           if ($settings{'PASSWORD1'}) {\r
-               my @lines = `openssl enc -a -d -aes256 -salt -pass pass:$settings{'PASSWORD1'} -in $tmpkeyfile`;\r
-               open(FILE,">$tmpkeyfile");\r
-               print FILE @lines;\r
-               close (FILE);\r
-           }\r
-           $errormessage = &get_bk_error(system ('/usr/local/bin/ipcopbackup -key import')>>8);\r
-       }\r
-    }\r
-}\r
-#\r
-#  Import the key. Fail if key exists. Key is extracted from a non-encrypted backup (pre 1.4.10)\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'backup extract key'})  {\r
-    if (ref ($settings{'FH'}) ne 'Fh') {\r
-       $errormessage = $Lang::tr{'no cfg upload'};\r
-    } else {\r
-       if (copy ($settings{'FH'}, '/tmp/tmptarfile.tgz') != 1) {\r
-           $errormessage = $Lang::tr{'save error'};\r
-       } else {\r
-           system( "tar -C /tmp -xzf /tmp/tmptarfile.tgz */backup/backup.key;\\r
-                   mv -f /tmp${General::swroot}/backup/backup.key $tmpkeyfile;\\r
-                   rm -rf /tmp${General::swroot};\\r
-                   rm /tmp/tmptarfile.tgz");\r
-           $errormessage = &get_bk_error(system ('/usr/local/bin/ipcopbackup -key import')>>8);\r
-       }\r
-    }\r
-}\r
-#\r
-#  Create the key. Cannot overwrite existing key to avoid difference with exported (saved) key\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'backup generate key'})  {\r
-    $errormessage = &get_bk_error(system('/usr/local/bin/ipcopbackup -key new')>>8);\r
-}\r
-\r
-my $cryptkeymissing = system ('/usr/local/bin/ipcopbackup -key exist')>>8;\r
-\r
-&Header::showhttpheaders();\r
-if ($cryptkeymissing) {  #If no key is present, force creation or import\r
-    &Header::openpage($Lang::tr{'backup configuration'}, 1, '');\r
-    &Header::openbigbox('100%', 'left', '', $errormessage);\r
-    if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>";\r
-       &Header::closebox();\r
-    }\r
-    &Header::openbox('100%', 'left', $Lang::tr{'backup key'});\r
-    print <<END\r
-    <form method = 'post' enctype = 'multipart/form-data'>\r
-      <table>\r
-        <tr>\r
-         <td colspan='2'>\r
-         $Lang::tr{'backup explain key'}:\r
-         <ul>\r
-         <li>$Lang::tr{'backup explain key li1'}\r
-         <li>$Lang::tr{'backup explain key li2'}\r
-         <li>$Lang::tr{'backup explain key li3'}\r
-         </ul>\r
-          </td>\r
-       </tr><tr>\r
-         <td width='15%'></td><td width='20%'></td><td>\r
-         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup generate key'}' />\r
-          </td>\r
-       </tr><tr>\r
-         <td align='right'>$Lang::tr{'backup key file'}:</td><td><input type = 'file' name = 'FH' size = '30' value='backup.key' />\r
-         </td><td>\r
-         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup import key'}' />\r
-       </tr><tr>\r
-         <td align='right'>$Lang::tr{'backup protect key password'}:<td><input type = 'password' name='PASSWORD1' size='10' />\r
-          </td>\r
-       </tr><tr>\r
-         <td align='right'>$Lang::tr{'backup clear archive'}:</td><td><input type = 'file' name = 'FH' size = '30' value='your-ipcop.tar.gz' />\r
-         </td><td>\r
-         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup extract key'}' />\r
-          </td>\r
-       </tr>\r
-      </table>\r
-      $Lang::tr{'notes'}:\r
-      <ul>\r
-         <li>$Lang::tr{'backup explain key no1'}\r
-         <li>$Lang::tr{'backup explain key no2'}\r
-      </ul>\r
-    </form>\r
-END\r
-;\r
-    &floppybox();\r
-    &Header::closebox();\r
-    &Header::closebigbox();\r
-    &Header::closepage();\r
-    exit (0);\r
-}\r
-\r
-##\r
-## Sets management (create/delete/import/restore)\r
-##\r
-\r
-erase_files ($setdir);                 #clean up\r
-\r
-#\r
-# create new archive set\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'create'}) {\r
-    $errormessage = &get_bk_error(system('/usr/local/bin/ipcopbkcfg > /dev/null')>>8);\r
-    &import_set (" ".&Header::cleanhtml ($settings{'COMMENT'})) if (!$errormessage);\r
-}\r
-#\r
-# delete a backup set\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    erase_files (&Header::cleanhtml ($settings{'KEY'}));       # remove files\r
-    rmdir($settings{'KEY'});           # remove directory\r
-}\r
-#\r
-# import an archive set\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'import'}) {\r
-    if (ref ($settings{'FH'}) ne 'Fh') {\r
-       $errormessage = $Lang::tr{'no cfg upload'};\r
-    } else {\r
-       if (!copy ($settings{'FH'}, "$setdir/$datafile")) {\r
-           $errormessage = $Lang::tr{'save error'};\r
-       } else {\r
-           &import_set ('&nbsp;(imported)');\r
-       }\r
-    }\r
-}\r
-#\r
-# restore an archive\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'restore'}) {\r
-    if ($settings{'AreYouSure'} eq 'yes') {\r
-       if (!$cryptkeymissing) {                        # if keyfile exists\r
-           if (-e "$settings{'KEY'}/$datafile"){       # encrypted dat is required\r
-               copy_files($settings{'KEY'}, $setdir);  # to working dir\r
-               $errormessage = get_rs_error(system("/usr/local/bin/ipcoprscfg" \r
-                                       . ($settings{'RESTOREHW'} eq 'on' ? ' --hardware' : '') \r
-                                       . ' >/dev/null')>>8);\r
-               if (!$errormessage) {\r
-                   # restored ok, recommend restarting system\r
-                   $warnmessage = $Lang::tr{'cfg restart'};\r
-               }\r
-               erase_files ($setdir);                  #clean up\r
-           } else {\r
-               $errormessage = $Lang::tr{'missing dat'}."$settings{'KEY'}/$datafile";\r
-           }\r
-       } else {  # if keyfile does not exist\r
-           $errormessage = $Lang::tr{'backup missing key'};\r
-       }\r
-    \r
-    } else {  # not AreYouSure=yes\r
-       &Header::openpage($Lang::tr{'backup configuration'}, 1, '');\r
-       &Header::openbigbox('100%', 'left');\r
-       &Header::openbox('100%', 'left', $Lang::tr{'are you sure'});\r
-       print <<END\r
-<form method = 'post'>\r
-  <input type = 'hidden' name = 'KEY' value ='$settings{'KEY'}' /> \r
-  <input type = 'hidden' name = 'AreYouSure' value ='yes' />\r
-  <table align = 'center'>\r
-    <tr>\r
-      <td align = 'center'>\r
-       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'restore'}' />\r
-      </td><td>\r
-       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'cancel'}' />\r
-      </td>\r
-    </tr><tr>\r
-      <td>\r
-       $Lang::tr{'restore hardware settings'}: <input type = 'checkbox' name = 'RESTOREHW'>\r
-      </td>\r
-    </tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-       &Header::closebox();\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-       exit (0);\r
-    }\r
-}\r
-##\r
-##  Media management\r
-##\r
-#\r
-# now build the list of removable device\r
-#\r
-\r
-# Read partitions sizes registered with the system\r
-my %partitions;\r
-foreach my $li (`/usr/local/bin/ipcopbackup -proc partitions`) {               # use suid helper...\r
-    # partitions{'sda1'} = 128M        if         /major minor  blocks name/\r
-    $partitions{$4} = &kmgt($3*1024,4) if ($li =~ /(\d+) +(\d+) +(\d+) +(.*)/);\r
-}\r
-\r
-# Search usb-storage scsi device\r
-my %medias;\r
-    \r
-foreach (`/usr/local/bin/ipcopbackup -glob '/proc/scsi/usb-storage*/*'`) {# use suid helper...\r
-    my $m;\r
-    foreach ( `cat $_` ) {     # list each line of information for the device:\r
-#      Host scsi0: usb-storage\r
-#      Vendor: SWISSBIT\r
-#      Product: Black Silver\r
-#      Serial Number: D0ED423A4F84A31E\r
-#      Protocol: Transparent SCSI\r
-#      Transport: Bulk\r
-#      GUID: 13706828d0ed423a4f84a31e\r
-#      Attached: Yes\r
-                                      \r
-       chomp;\r
-       my ($key,$val) = split(': ',$_,2);\r
-       $key =~ s/^ *//;        # remove front space\r
-\r
-       # convert 'scsi?' key to sda, sdb,... and use it as a %medias keyhash\r
-       if ($key =~ /Host scsi(.)/) {\r
-           $val = $m = 'sd' . chr(97+$1);\r
-           $key = 'Host';\r
-       }\r
-       $medias{$m}{$key} = $val;               # save data\r
-    }\r
-}\r
-\r
-#\r
-# Switch mounted media\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'mount'})\r
-{\r
-    # Find what is really mounted under backup. Can be local hard disk or any removable media\r
-    my $mounted = &findmounted();\r
-    #umount previous, even if same device already mouted.\r
-    system ("/usr/local/bin/ipcopbackup -U $mounted") if ($mounted ne $Lang::tr{'local hard disk'});\r
-    $errormessage = `/usr/local/bin/ipcopbackup -M $settings{'SELECT'}` if (grep (/$settings{'SELECT'}/,%partitions));\r
-}\r
-#\r
-# Compute a full description of device\r
-#\r
-my $mounted = &findmounted();\r
-my $media_des = $mounted;      # Description\r
-if ($mounted ne $Lang::tr{'local hard disk'}) {\r
-    $_ = $mounted;     # sda1 => sda\r
-    tr/0-9//d;\r
-    $media_des = "$medias{$_}{'Product'} ($media_des, $partitions{$mounted})";\r
-}\r
-&Header::openpage($Lang::tr{'backup configuration'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>";\r
-    &Header::closebox();\r
-}\r
-\r
-$warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage <p>" if ($warnmessage);\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'backup configuration'});\r
-\r
-#Divide the window in two : left and right\r
-print <<END\r
-    <table width = '100%' >\r
-    <tr>\r
-       <th width = '50%'>$Lang::tr{'current media'}:<font color=${Header::colourred}><b>$media_des</b></font></th>\r
-       <th width = '3%'></th>\r
-       <th>$Lang::tr{'choose media'}</th>\r
-    </tr>\r
-END\r
-;\r
-\r
-# Left part of window\r
-print <<END\r
-    <tr><td>\r
-    <ul>\r
-    <li>$Lang::tr{'backup sets'}:\r
-    <table width = '80%' border='0'>\r
-    <tr>\r
-       <th  class = 'boldbase' align = 'center'>$Lang::tr{'name'}</th>\r
-       <th  class = 'boldbase' align = 'center' colspan = '3'>$Lang::tr{'action'}</th>\r
-    </tr>\r
-END\r
-;\r
-\r
-# get list of available sets by globbing directories under $setdir\r
-# External device (usk key) are mounted in $setdir. -R permits finding sets in hierarchy.\r
-my $i = 0;\r
-foreach my $set (`ls -Rt1 $setdir`) {\r
-    chop ($set);       #remove ':' & newline from line\r
-    chop ($set);\r
-    if (-d $set && ($set =~ m!/.+/\d{8}_\d{6}! ) ) { # filter out things not sets !\r
-       if ($i++ % 2) {\r
-           print "<tr bgcolor = '$Header::table2colour'>";\r
-       } else {\r
-           print "<tr bgcolor = '$Header::table1colour'>";\r
-       }\r
-       my $settime = read_timefile( "$set/$datefile", "$set/$datafile" );\r
-       my $name = substr ($set,length($setdir)+1);\r
-       print<<EOF\r
-<td>\r
-    $settime\r
-</td>\r
-\r
-<td align = 'center'>\r
-<form method = 'post'>\r
-<input type = 'hidden' name = 'ACTION' value ='$Lang::tr{'restore'}' />\r
-<input type = 'image'  name = '$Lang::tr{'restore'}' src = '/images/reload.gif' alt = '$Lang::tr{'restore'}' title = '$Lang::tr{'restore'}' />\r
-<input type = 'hidden' name = 'KEY' value = '$set' />\r
-</form>\r
-</td>\r
-\r
-<td align = 'center'>\r
-<a href = '/backup/$name/$datafile'><img src = '/images/floppy.gif' title = '$Lang::tr{'export'}'></a>\r
-</td>\r
-\r
-<td align = 'center'>\r
-<form method = 'post'>\r
-<input type = 'hidden' name = 'ACTION' value = '$Lang::tr{'remove'}' />\r
-<input type = 'image'  name = '$Lang::tr{'remove'}' src = '/images/delete.gif' alt = '$Lang::tr{'remove'}' title = '$Lang::tr{'remove'}' border = '0' />\r
-<input type = 'hidden' name = 'KEY' value = '$set' />\r
-</form>\r
-</td>\r
-</tr>\r
-EOF\r
-;\r
-    }\r
-}\r
-print "</table>" . ($i ? "<br>" : "$Lang::tr{'empty'}!<hr /><br>");\r
-print <<EOF\r
-$warnmessage\r
-<form method = 'post'>\r
-       <li>$Lang::tr{'backup configuration'}<br>\r
-       $Lang::tr{'description'}:<input type = 'text' name = 'COMMENT' size='30' />\r
-       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'create'}' />\r
-</form><p>\r
-<form method = 'post' enctype = 'multipart/form-data'>\r
-       <li>$Lang::tr{'backup import dat file'}:<br>\r
-       <input type = 'file' name = 'FH' size = '20' />\r
-       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'import'}' />\r
-</form>\r
-</ul>\r
-EOF\r
-;\r
-\r
-print "</td><td></td><td valign='top'>";  # Start right part (devices selection)\r
-print $Lang::tr{'backup media info'};\r
-\r
-print "<form method = 'post'>";\r
-print "<table width = '100%'><tr><td>";\r
-my $nodev = 1;             # nothing present\r
-foreach my $media (keys %medias) {\r
-    if ( $medias{$media}{'Attached'} eq 'Yes') {       # device is attached to USB bus ?\r
-       $nodev = 0;             # at least one device present\r
-       my $checked = $medias{$media}{'Host'} eq $mounted ? "checked='checked'" : '';\r
-       print "<input type='radio' name = 'SELECT' value = '$medias{$media}{'Host'}' $checked />";\r
-       print "<b>$medias{$media}{'Product'}</b><br>";\r
-       # list attached partitions to this media\r
-       foreach my $part (sort (keys (%partitions))) {\r
-           if ($part =~ /$medias{$media}{'Host'}./) {\r
-               my $checked = $part eq $mounted ? "checked='checked'" : '';\r
-               print "&nbsp;&nbsp;&nbsp;<input type='radio' name = 'SELECT' value = '$part' $checked />$part ($partitions{$part})<br>";\r
-           }\r
-       }\r
-    }\r
-}\r
-if ($nodev) {\r
-    print "<br>$Lang::tr{'insert removable device'}";\r
-    print "</td><td>";\r
-    print "<br><input type = 'submit' name = 'ACTION' value = '$Lang::tr{'done'}' />";\r
-} else {\r
-    #Add an entry for the local disk\r
-    my $checked =  $Lang::tr{'local hard disk'} eq $mounted ? "checked='checked'" : '';\r
-    print "<input type = 'radio' name = 'SELECT' value = '$Lang::tr{'local hard disk'}' $checked />";\r
-    print "<b>$Lang::tr{'local hard disk'}</b>";\r
-    print "</td><td>";\r
-    print "<br><input type = 'submit' name = 'ACTION' value = '$Lang::tr{'mount'}' />";\r
-}\r
-print "</tr></table>";\r
-print "</form>";\r
-#\r
-#Backup key\r
-#\r
-print<<EOF\r
-    <hr />\r
-<form method='post'>\r
-    <b>$Lang::tr{'backup key'}</b><br>\r
-    $Lang::tr{'backup key info'}<br>\r
-    <table><tr>\r
-    <td align= 'right'>$Lang::tr{'root user password'}:\r
-    <td align='left'><input type = 'password' name='PASSWORD' />\r
-    <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup export key'}' />\r
-    </tr><tr>\r
-    <td align='right'>$Lang::tr{'backup protect key password'}:\r
-    <td align='left'><input type = 'password' name='PASSWORD1' size='10' />\r
-    </tr><tr>\r
-    <td align='right'>$Lang::tr{'again'}\r
-    <td align='left'><input type = 'password' name='PASSWORD2'  size='10'/>\r
-    </tr></table>\r
-</form>\r
-\r
-EOF\r
-;\r
-# End of right table\r
-print "</td></tr></table>";\r
-\r
-&floppybox();\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-sub floppybox {\r
-    print <<END\r
-<hr />\r
-<form method = 'post'>\r
-<table width='100%'>\r
-<tr>\r
-    <td>\r
-         <b>$Lang::tr{'backup to floppy'}</b>\r
-    </td>\r
-</tr>\r
-<tr>\r
-    <td width='50%'>\r
-       $Lang::tr{'insert floppy'}\r
-    </td>\r
-    <td align='center'> \r
-       <input type='submit' name='ACTION' value='$Lang::tr{'backup to floppy'}' />\r
-    </td> \r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-    print   "<b>$Lang::tr{'alt information'}</b><pre>" .\r
-           `/usr/local/bin/ipcopbackup -savecfg floppy` .\r
-           '&nbsp;</pre>' if ($settings{'ACTION'} eq $Lang::tr{'backup to floppy'} );\r
-}\r
-\r
-# Return device name of what is mounted under 'backup'\r
-sub findmounted() {\r
-    my $mounted = `mount|grep ' /home/httpd/html/backup '`;\r
-    if ($mounted) {                            # extract device name\r
-        $mounted =~ m!^/dev/(.*) on!;          # device on mountmoint options\r
-        return $1; \r
-    } else {                                   # it's the normal subdir\r
-        return $Lang::tr{'local hard disk'};\r
-    }\r
-}\r
-# read and return a date/time string from a time file\r
-sub read_timefile() {\r
-    my $fname = shift;   # name of file to read from\r
-    my $fname2 = shift;  # if first file doesn't exist, get date of this file\r
-\r
-    my $dt;\r
-    if (defined(open(FH, "<$fname"))) {\r
-       $dt = <FH>;\r
-       chomp $dt;\r
-       close(FH);\r
-    } else {\r
-       $dt = &get_fdate($fname2);    # get file date/time\r
-       write_timefile($fname, $dt); # write to expected time file\r
-    }\r
-    return $dt;\r
-}\r
-# write a date/time string to a time file\r
-sub write_timefile() {\r
-    my $fname = shift; # name of file to write to\r
-    my $dt = shift;    # date/time string to write\r
-\r
-    if (open(FH, ">$fname")) {\r
-      print FH "$dt\n";\r
-      close(FH);\r
-    }  \r
-}\r
-# move a dat file without time stamp to subdir\r
-sub import_set() {\r
-    my $dt = get_fdate("$setdir/$datafile") . shift;\r
-    &write_timefile("$setdir/$datefile", $dt);\r
-\r
-    # create set directory\r
-    my $setname = "$setdir/" . get_ddate("$setdir/$datafile");\r
-    mkdir($setname);\r
-\r
-    # move files to the new set directory\r
-    copy_files($setdir, $setname);\r
-    erase_files ($setdir);\r
-}\r
-\r
-# get date/time string from file\r
-sub get_fdate() {\r
-    my $fname = shift;\r
-    open(DT, "/bin/date -r $fname|");\r
-    my $dt = <DT>;\r
-    close(DT);\r
-    chomp $dt;\r
-    $dt =~ s/\s+/ /g;  # remove duplicate spaces\r
-    return $dt;\r
-}\r
-# get date/time string from file for use as directory name\r
-sub get_ddate() {\r
-    my $fname = shift;\r
-    open(DT, "/bin/date -r $fname +%Y%m%d_%H%M%S|");\r
-    my $dt = <DT>;\r
-    close(DT);\r
-    chomp $dt;\r
-    return $dt;\r
-}\r
-# copy archive files from source directory to destination directory\r
-sub copy_files() {\r
-    my $src_dir = shift;\r
-    my $dest_dir = shift;\r
-    map (copy ("$src_dir/$_", "$dest_dir/$_"),  ($datafile, $datefile) );\r
-}\r
-# erase set files\r
-sub erase_files() {\r
-    my $src_dir = shift;\r
-    map (unlink ("$src_dir/$_"),  ($datafile, $datefile));\r
-}\r
-# get backup error text\r
-sub get_bk_error() {\r
-    my $exit_code = shift || return '';\r
-    if ($exit_code == 0) {\r
-       return '';\r
-    } elsif ($exit_code == 2) {\r
-       return $Lang::tr{'err bk 2 key'};\r
-    } elsif ($exit_code == 3) {\r
-       return $Lang::tr{'err bk 3 tar'};\r
-    } elsif ($exit_code == 4) {\r
-       return $Lang::tr{'err bk 4 gz'};\r
-    } elsif ($exit_code == 5) {\r
-       return $Lang::tr{'err bk 5 encrypt'};\r
-    } else {\r
-       return $Lang::tr{'err bk 1'};\r
-    }\r
-}\r
-# show any restore errors\r
-sub get_rs_error() {\r
-    \r
-    my $exit_code = shift || return '';\r
-    if ($exit_code == 0) {\r
-       return '';\r
-    } elsif ($exit_code == 6) {\r
-       return $Lang::tr{'err rs 6 decrypt'};\r
-    } elsif ($exit_code == 7) {\r
-       return $Lang::tr{'err rs 7 untartst'};\r
-    } elsif ($exit_code == 8) {\r
-       return $Lang::tr{'err rs 8 untar'};\r
-    } elsif ($exit_code == 9) {\r
-       return $Lang::tr{'missing dat'};\r
-    } else {\r
-       return $Lang::tr{'err rs 1'}."($exit_code)";\r
-    }\r
-}\r
-sub kmgt {\r
-    my ($value,$length,$opt_U) = @_;\r
-    if      ( $value > 10**( $length + 8 ) or $opt_U eq 'T' ) {\r
-       return sprintf( "%d%s", int( ( $value / 1024**4 ) + .5 ), 'T' );\r
-    } elsif ( $value > 10**( $length + 5 ) or $opt_U eq 'G' ) {\r
-       return sprintf( "%d%s", int( ( $value / 1024**3 ) + .5 ), 'G' );\r
-    } elsif ( $value > 10**( $length + 2 ) or $opt_U eq 'M' ) {\r
-       return sprintf( "%d%s", int( ( $value / 1024**2 ) + .5 ), 'M' );\r
-    } elsif ( $value > 10**($length) or $opt_U eq 'K' ) {\r
-       return sprintf( "%d%s", int( ( $value / 1024 ) + .5 ), 'K' );\r
-    } else {\r
-       return $value;\r
-    }\r
-}\r
-\r
-1;\r
+#!/usr/bin/perl
+#
+# IPCop CGI's - backup.cgi: manage import/export of configuration files
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The IPCop Team
+# 2005 Franck Bourdonnec, major rewrite
+#
+# $Id: backup.cgi,v 1.2.2.15 2006/01/29 15:31:49 eoberlander Exp $
+#
+#
+
+
+# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines
+# use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work
+# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help
+#use warnings;
+use strict;
+#use Carp ();
+#local $SIG{__WARN__} = \&Carp::cluck;
+use File::Copy;
+use Sys::Hostname;
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my $errormessage = '';
+my $warnmessage = '';
+my $setdir = '/home/httpd/html/backup'; # location where sets are stored and imported
+my $datafile = hostname() . '.dat';    # file containing data backup
+my $datefile = $datafile . '.time';    # and creation date
+
+# ask if backup crypting key exists
+my $tmpkeyfile = "$setdir/key";                # import the backup key
+
+# Get GUI values
+my %settings = ();
+&Header::getcgihash(\%settings, {'wantfile' => 1, 'filevar' => 'FH'});
+
+##
+## Backup key management
+##
+
+#
+# Export the key. root pw is required to avoid user 'noboby' uses the helper to read it and creates
+# fake backup.
+#
+if ($settings{'ACTION'} eq $Lang::tr{'backup export key'})  {
+
+    my $size = 0;
+    if ($settings{'PASSWORD1'} ne '' && $settings{'PASSWORD1'} ne $settings{'PASSWORD2'} ){
+       $errormessage = $Lang::tr{'passwords do not match'}
+    } else {
+       my @lines = `/usr/local/bin/ipcopbackup -keycat $settings{'PASSWORD'}`;
+       # If previous operation succeded and the key need to be crypted, redo operation with pipe to openssl
+       if (@lines && $settings{'PASSWORD1'}) {
+           @lines = `/usr/local/bin/ipcopbackup -keycat $settings{'PASSWORD'}|openssl enc -a -e -aes256 -salt -pass pass:$settings{'PASSWORD1'} `;
+       }
+        if (@lines) {
+           use bytes;
+           foreach (@lines) {$size += length($_)};
+           print "Pragma: no-cache\n";
+           print "Cache-control: no-cache\n";
+           print "Connection: close\n";
+           print "Content-type: application/octet-stream\n";
+           print "Content-Disposition: filename=backup.key\n";
+           print "Content-Length: $size\n\n";
+           print @lines;
+           exit (0);
+       } else {
+           $errormessage = $Lang::tr{'incorrect password'};
+       }
+    }  
+}
+#
+#  Import the key. Fail if key exists. This avoid creating fake backup.
+#
+if ($settings{'ACTION'} eq $Lang::tr{'backup import key'})  {
+    if (ref ($settings{'FH'}) ne 'Fh') {
+       $errormessage = $Lang::tr{'no cfg upload'};
+    } else {
+       if (copy ($settings{'FH'}, $tmpkeyfile) != 1) {
+           $errormessage = $Lang::tr{'save error'};
+       } else {
+           # if a password is given, decrypt the key received in $tmpkeyfile file with it.
+           # no error is produce if the password is wrong.
+           if ($settings{'PASSWORD1'}) {
+               my @lines = `openssl enc -a -d -aes256 -salt -pass pass:$settings{'PASSWORD1'} -in $tmpkeyfile`;
+               open(FILE,">$tmpkeyfile");
+               print FILE @lines;
+               close (FILE);
+           }
+           $errormessage = &get_bk_error(system ('/usr/local/bin/ipcopbackup -key import')>>8);
+       }
+    }
+}
+#
+#  Import the key. Fail if key exists. Key is extracted from a non-encrypted backup (pre 1.4.10)
+#
+if ($settings{'ACTION'} eq $Lang::tr{'backup extract key'})  {
+    if (ref ($settings{'FH'}) ne 'Fh') {
+       $errormessage = $Lang::tr{'no cfg upload'};
+    } else {
+       if (copy ($settings{'FH'}, '/tmp/tmptarfile.tgz') != 1) {
+           $errormessage = $Lang::tr{'save error'};
+       } else {
+           system( "tar -C /tmp -xzf /tmp/tmptarfile.tgz */backup/backup.key;\
+                   mv -f /tmp${General::swroot}/backup/backup.key $tmpkeyfile;\
+                   rm -rf /tmp${General::swroot};\
+                   rm /tmp/tmptarfile.tgz");
+           $errormessage = &get_bk_error(system ('/usr/local/bin/ipcopbackup -key import')>>8);
+       }
+    }
+}
+#
+#  Create the key. Cannot overwrite existing key to avoid difference with exported (saved) key
+#
+if ($settings{'ACTION'} eq $Lang::tr{'backup generate key'})  {
+    $errormessage = &get_bk_error(system('/usr/local/bin/ipcopbackup -key new')>>8);
+}
+
+my $cryptkeymissing = system ('/usr/local/bin/ipcopbackup -key exist')>>8;
+
+&Header::showhttpheaders();
+if ($cryptkeymissing) {  #If no key is present, force creation or import
+    &Header::openpage($Lang::tr{'backup configuration'}, 1, '');
+    &Header::openbigbox('100%', 'left', '', $errormessage);
+    if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>";
+       &Header::closebox();
+    }
+    &Header::openbox('100%', 'left', $Lang::tr{'backup key'});
+    print <<END
+    <form method = 'post' enctype = 'multipart/form-data'>
+      <table>
+        <tr>
+         <td colspan='2'>
+         $Lang::tr{'backup explain key'}:
+         <ul>
+         <li>$Lang::tr{'backup explain key li1'}
+         <li>$Lang::tr{'backup explain key li2'}
+         <li>$Lang::tr{'backup explain key li3'}
+         </ul>
+          </td>
+       </tr><tr>
+         <td width='15%'></td><td width='20%'></td><td>
+         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup generate key'}' />
+          </td>
+       </tr><tr>
+         <td align='right'>$Lang::tr{'backup key file'}:</td><td><input type = 'file' name = 'FH' size = '30' value='backup.key' />
+         </td><td>
+         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup import key'}' />
+       </tr><tr>
+         <td align='right'>$Lang::tr{'backup protect key password'}:<td><input type = 'password' name='PASSWORD1' size='10' />
+          </td>
+       </tr><tr>
+         <td align='right'>$Lang::tr{'backup clear archive'}:</td><td><input type = 'file' name = 'FH' size = '30' value='your-ipcop.tar.gz' />
+         </td><td>
+         <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup extract key'}' />
+          </td>
+       </tr>
+      </table>
+      $Lang::tr{'notes'}:
+      <ul>
+         <li>$Lang::tr{'backup explain key no1'}
+         <li>$Lang::tr{'backup explain key no2'}
+      </ul>
+    </form>
+END
+;
+    &floppybox();
+    &Header::closebox();
+    &Header::closebigbox();
+    &Header::closepage();
+    exit (0);
+}
+
+##
+## Sets management (create/delete/import/restore)
+##
+
+erase_files ($setdir);                 #clean up
+
+#
+# create new archive set
+#
+if ($settings{'ACTION'} eq $Lang::tr{'create'}) {
+    $errormessage = &get_bk_error(system('/usr/local/bin/ipcopbkcfg > /dev/null')>>8);
+    &import_set (" ".&Header::cleanhtml ($settings{'COMMENT'})) if (!$errormessage);
+}
+#
+# delete a backup set
+#
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    erase_files (&Header::cleanhtml ($settings{'KEY'}));       # remove files
+    rmdir($settings{'KEY'});           # remove directory
+}
+#
+# import an archive set
+#
+if ($settings{'ACTION'} eq $Lang::tr{'import'}) {
+    if (ref ($settings{'FH'}) ne 'Fh') {
+       $errormessage = $Lang::tr{'no cfg upload'};
+    } else {
+       if (!copy ($settings{'FH'}, "$setdir/$datafile")) {
+           $errormessage = $Lang::tr{'save error'};
+       } else {
+           &import_set ('&nbsp;(imported)');
+       }
+    }
+}
+#
+# restore an archive
+#
+if ($settings{'ACTION'} eq $Lang::tr{'restore'}) {
+    if ($settings{'AreYouSure'} eq 'yes') {
+       if (!$cryptkeymissing) {                        # if keyfile exists
+           if (-e "$settings{'KEY'}/$datafile"){       # encrypted dat is required
+               copy_files($settings{'KEY'}, $setdir);  # to working dir
+               $errormessage = get_rs_error(system("/usr/local/bin/ipcoprscfg" 
+                                       . ($settings{'RESTOREHW'} eq 'on' ? ' --hardware' : '') 
+                                       . ' >/dev/null')>>8);
+               if (!$errormessage) {
+                   # restored ok, recommend restarting system
+                   $warnmessage = $Lang::tr{'cfg restart'};
+               }
+               erase_files ($setdir);                  #clean up
+           } else {
+               $errormessage = $Lang::tr{'missing dat'}."$settings{'KEY'}/$datafile";
+           }
+       } else {  # if keyfile does not exist
+           $errormessage = $Lang::tr{'backup missing key'};
+       }
+    
+    } else {  # not AreYouSure=yes
+       &Header::openpage($Lang::tr{'backup configuration'}, 1, '');
+       &Header::openbigbox('100%', 'left');
+       &Header::openbox('100%', 'left', $Lang::tr{'are you sure'});
+       print <<END
+<form method = 'post'>
+  <input type = 'hidden' name = 'KEY' value ='$settings{'KEY'}' /> 
+  <input type = 'hidden' name = 'AreYouSure' value ='yes' />
+  <table align = 'center'>
+    <tr>
+      <td align = 'center'>
+       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'restore'}' />
+      </td><td>
+       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'cancel'}' />
+      </td>
+    </tr><tr>
+      <td>
+       $Lang::tr{'restore hardware settings'}: <input type = 'checkbox' name = 'RESTOREHW'>
+      </td>
+    </tr>
+</table>
+</form>
+END
+;
+       &Header::closebox();
+       &Header::closebigbox();
+       &Header::closepage();
+       exit (0);
+    }
+}
+##
+##  Media management
+##
+#
+# now build the list of removable device
+#
+
+# Read partitions sizes registered with the system
+my %partitions;
+foreach my $li (`/usr/local/bin/ipcopbackup -proc partitions`) {               # use suid helper...
+    # partitions{'sda1'} = 128M        if         /major minor  blocks name/
+    $partitions{$4} = &kmgt($3*1024,4) if ($li =~ /(\d+) +(\d+) +(\d+) +(.*)/);
+}
+
+# Search usb-storage scsi device
+my %medias;
+    
+foreach (`/usr/local/bin/ipcopbackup -glob '/proc/scsi/usb-storage*/*'`) {# use suid helper...
+    my $m;
+    foreach ( `cat $_` ) {     # list each line of information for the device:
+#      Host scsi0: usb-storage
+#      Vendor: SWISSBIT
+#      Product: Black Silver
+#      Serial Number: D0ED423A4F84A31E
+#      Protocol: Transparent SCSI
+#      Transport: Bulk
+#      GUID: 13706828d0ed423a4f84a31e
+#      Attached: Yes
+                                      
+       chomp;
+       my ($key,$val) = split(': ',$_,2);
+       $key =~ s/^ *//;        # remove front space
+
+       # convert 'scsi?' key to sda, sdb,... and use it as a %medias keyhash
+       if ($key =~ /Host scsi(.)/) {
+           $val = $m = 'sd' . chr(97+$1);
+           $key = 'Host';
+       }
+       $medias{$m}{$key} = $val;               # save data
+    }
+}
+
+#
+# Switch mounted media
+#
+if ($settings{'ACTION'} eq $Lang::tr{'mount'})
+{
+    # Find what is really mounted under backup. Can be local hard disk or any removable media
+    my $mounted = &findmounted();
+    #umount previous, even if same device already mouted.
+    system ("/usr/local/bin/ipcopbackup -U $mounted") if ($mounted ne $Lang::tr{'local hard disk'});
+    $errormessage = `/usr/local/bin/ipcopbackup -M $settings{'SELECT'}` if (grep (/$settings{'SELECT'}/,%partitions));
+}
+#
+# Compute a full description of device
+#
+my $mounted = &findmounted();
+my $media_des = $mounted;      # Description
+if ($mounted ne $Lang::tr{'local hard disk'}) {
+    $_ = $mounted;     # sda1 => sda
+    tr/0-9//d;
+    $media_des = "$medias{$_}{'Product'} ($media_des, $partitions{$mounted})";
+}
+&Header::openpage($Lang::tr{'backup configuration'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+
+$warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage <p>" if ($warnmessage);
+
+&Header::openbox('100%', 'left', $Lang::tr{'backup configuration'});
+
+#Divide the window in two : left and right
+print <<END
+    <table width = '100%' >
+    <tr>
+       <th width = '50%'>$Lang::tr{'current media'}:<font color=${Header::colourred}><b>$media_des</b></font></th>
+       <th width = '3%'></th>
+       <th>$Lang::tr{'choose media'}</th>
+    </tr>
+END
+;
+
+# Left part of window
+print <<END
+    <tr><td>
+    <ul>
+    <li>$Lang::tr{'backup sets'}:
+    <table width = '80%' border='0'>
+    <tr>
+       <th  class = 'boldbase' align = 'center'>$Lang::tr{'name'}</th>
+       <th  class = 'boldbase' align = 'center' colspan = '3'>$Lang::tr{'action'}</th>
+    </tr>
+END
+;
+
+# get list of available sets by globbing directories under $setdir
+# External device (usk key) are mounted in $setdir. -R permits finding sets in hierarchy.
+my $i = 0;
+foreach my $set (`ls -Rt1 $setdir`) {
+    chop ($set);       #remove ':' & newline from line
+    chop ($set);
+    if (-d $set && ($set =~ m!/.+/\d{8}_\d{6}! ) ) { # filter out things not sets !
+       if ($i++ % 2) {
+           print "<tr bgcolor = '$Header::table2colour'>";
+       } else {
+           print "<tr bgcolor = '$Header::table1colour'>";
+       }
+       my $settime = read_timefile( "$set/$datefile", "$set/$datafile" );
+       my $name = substr ($set,length($setdir)+1);
+       print<<EOF
+<td>
+    $settime
+</td>
+
+<td align = 'center'>
+<form method = 'post'>
+<input type = 'hidden' name = 'ACTION' value ='$Lang::tr{'restore'}' />
+<input type = 'image'  name = '$Lang::tr{'restore'}' src = '/images/reload.gif' alt = '$Lang::tr{'restore'}' title = '$Lang::tr{'restore'}' />
+<input type = 'hidden' name = 'KEY' value = '$set' />
+</form>
+</td>
+
+<td align = 'center'>
+<a href = '/backup/$name/$datafile'><img src = '/images/floppy.gif' title = '$Lang::tr{'export'}'></a>
+</td>
+
+<td align = 'center'>
+<form method = 'post'>
+<input type = 'hidden' name = 'ACTION' value = '$Lang::tr{'remove'}' />
+<input type = 'image'  name = '$Lang::tr{'remove'}' src = '/images/delete.gif' alt = '$Lang::tr{'remove'}' title = '$Lang::tr{'remove'}' border = '0' />
+<input type = 'hidden' name = 'KEY' value = '$set' />
+</form>
+</td>
+</tr>
+EOF
+;
+    }
+}
+print "</table>" . ($i ? "<br>" : "$Lang::tr{'empty'}!<hr /><br>");
+print <<EOF
+$warnmessage
+<form method = 'post'>
+       <li>$Lang::tr{'backup configuration'}<br>
+       $Lang::tr{'description'}:<input type = 'text' name = 'COMMENT' size='30' />
+       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'create'}' />
+</form><p>
+<form method = 'post' enctype = 'multipart/form-data'>
+       <li>$Lang::tr{'backup import dat file'}:<br>
+       <input type = 'file' name = 'FH' size = '20' />
+       <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'import'}' />
+</form>
+</ul>
+EOF
+;
+
+print "</td><td></td><td valign='top'>";  # Start right part (devices selection)
+print $Lang::tr{'backup media info'};
+
+print "<form method = 'post'>";
+print "<table width = '100%'><tr><td>";
+my $nodev = 1;             # nothing present
+foreach my $media (keys %medias) {
+    if ( $medias{$media}{'Attached'} eq 'Yes') {       # device is attached to USB bus ?
+       $nodev = 0;             # at least one device present
+       my $checked = $medias{$media}{'Host'} eq $mounted ? "checked='checked'" : '';
+       print "<input type='radio' name = 'SELECT' value = '$medias{$media}{'Host'}' $checked />";
+       print "<b>$medias{$media}{'Product'}</b><br>";
+       # list attached partitions to this media
+       foreach my $part (sort (keys (%partitions))) {
+           if ($part =~ /$medias{$media}{'Host'}./) {
+               my $checked = $part eq $mounted ? "checked='checked'" : '';
+               print "&nbsp;&nbsp;&nbsp;<input type='radio' name = 'SELECT' value = '$part' $checked />$part ($partitions{$part})<br>";
+           }
+       }
+    }
+}
+if ($nodev) {
+    print "<br>$Lang::tr{'insert removable device'}";
+    print "</td><td>";
+    print "<br><input type = 'submit' name = 'ACTION' value = '$Lang::tr{'done'}' />";
+} else {
+    #Add an entry for the local disk
+    my $checked =  $Lang::tr{'local hard disk'} eq $mounted ? "checked='checked'" : '';
+    print "<input type = 'radio' name = 'SELECT' value = '$Lang::tr{'local hard disk'}' $checked />";
+    print "<b>$Lang::tr{'local hard disk'}</b>";
+    print "</td><td>";
+    print "<br><input type = 'submit' name = 'ACTION' value = '$Lang::tr{'mount'}' />";
+}
+print "</tr></table>";
+print "</form>";
+#
+#Backup key
+#
+print<<EOF
+    <hr />
+<form method='post'>
+    <b>$Lang::tr{'backup key'}</b><br>
+    $Lang::tr{'backup key info'}<br>
+    <table><tr>
+    <td align= 'right'>$Lang::tr{'root user password'}:
+    <td align='left'><input type = 'password' name='PASSWORD' />
+    <input type = 'submit' name = 'ACTION' value = '$Lang::tr{'backup export key'}' />
+    </tr><tr>
+    <td align='right'>$Lang::tr{'backup protect key password'}:
+    <td align='left'><input type = 'password' name='PASSWORD1' size='10' />
+    </tr><tr>
+    <td align='right'>$Lang::tr{'again'}
+    <td align='left'><input type = 'password' name='PASSWORD2'  size='10'/>
+    </tr></table>
+</form>
+
+EOF
+;
+# End of right table
+print "</td></tr></table>";
+
+&floppybox();
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+sub floppybox {
+    print <<END
+<hr />
+<form method = 'post'>
+<table width='100%'>
+<tr>
+    <td>
+         <b>$Lang::tr{'backup to floppy'}</b>
+    </td>
+</tr>
+<tr>
+    <td width='50%'>
+       $Lang::tr{'insert floppy'}
+    </td>
+    <td align='center'> 
+       <input type='submit' name='ACTION' value='$Lang::tr{'backup to floppy'}' />
+    </td> 
+</tr>
+</table>
+</form>
+END
+;
+    print   "<b>$Lang::tr{'alt information'}</b><pre>" .
+           `/usr/local/bin/ipcopbackup -savecfg floppy` .
+           '&nbsp;</pre>' if ($settings{'ACTION'} eq $Lang::tr{'backup to floppy'} );
+}
+
+# Return device name of what is mounted under 'backup'
+sub findmounted() {
+    my $mounted = `mount|grep ' /home/httpd/html/backup '`;
+    if ($mounted) {                            # extract device name
+        $mounted =~ m!^/dev/(.*) on!;          # device on mountmoint options
+        return $1; 
+    } else {                                   # it's the normal subdir
+        return $Lang::tr{'local hard disk'};
+    }
+}
+# read and return a date/time string from a time file
+sub read_timefile() {
+    my $fname = shift;   # name of file to read from
+    my $fname2 = shift;  # if first file doesn't exist, get date of this file
+
+    my $dt;
+    if (defined(open(FH, "<$fname"))) {
+       $dt = <FH>;
+       chomp $dt;
+       close(FH);
+    } else {
+       $dt = &get_fdate($fname2);    # get file date/time
+       write_timefile($fname, $dt); # write to expected time file
+    }
+    return $dt;
+}
+# write a date/time string to a time file
+sub write_timefile() {
+    my $fname = shift; # name of file to write to
+    my $dt = shift;    # date/time string to write
+
+    if (open(FH, ">$fname")) {
+      print FH "$dt\n";
+      close(FH);
+    }  
+}
+# move a dat file without time stamp to subdir
+sub import_set() {
+    my $dt = get_fdate("$setdir/$datafile") . shift;
+    &write_timefile("$setdir/$datefile", $dt);
+
+    # create set directory
+    my $setname = "$setdir/" . get_ddate("$setdir/$datafile");
+    mkdir($setname);
+
+    # move files to the new set directory
+    copy_files($setdir, $setname);
+    erase_files ($setdir);
+}
+
+# get date/time string from file
+sub get_fdate() {
+    my $fname = shift;
+    open(DT, "/bin/date -r $fname|");
+    my $dt = <DT>;
+    close(DT);
+    chomp $dt;
+    $dt =~ s/\s+/ /g;  # remove duplicate spaces
+    return $dt;
+}
+# get date/time string from file for use as directory name
+sub get_ddate() {
+    my $fname = shift;
+    open(DT, "/bin/date -r $fname +%Y%m%d_%H%M%S|");
+    my $dt = <DT>;
+    close(DT);
+    chomp $dt;
+    return $dt;
+}
+# copy archive files from source directory to destination directory
+sub copy_files() {
+    my $src_dir = shift;
+    my $dest_dir = shift;
+    map (copy ("$src_dir/$_", "$dest_dir/$_"),  ($datafile, $datefile) );
+}
+# erase set files
+sub erase_files() {
+    my $src_dir = shift;
+    map (unlink ("$src_dir/$_"),  ($datafile, $datefile));
+}
+# get backup error text
+sub get_bk_error() {
+    my $exit_code = shift || return '';
+    if ($exit_code == 0) {
+       return '';
+    } elsif ($exit_code == 2) {
+       return $Lang::tr{'err bk 2 key'};
+    } elsif ($exit_code == 3) {
+       return $Lang::tr{'err bk 3 tar'};
+    } elsif ($exit_code == 4) {
+       return $Lang::tr{'err bk 4 gz'};
+    } elsif ($exit_code == 5) {
+       return $Lang::tr{'err bk 5 encrypt'};
+    } else {
+       return $Lang::tr{'err bk 1'};
+    }
+}
+# show any restore errors
+sub get_rs_error() {
+    
+    my $exit_code = shift || return '';
+    if ($exit_code == 0) {
+       return '';
+    } elsif ($exit_code == 6) {
+       return $Lang::tr{'err rs 6 decrypt'};
+    } elsif ($exit_code == 7) {
+       return $Lang::tr{'err rs 7 untartst'};
+    } elsif ($exit_code == 8) {
+       return $Lang::tr{'err rs 8 untar'};
+    } elsif ($exit_code == 9) {
+       return $Lang::tr{'missing dat'};
+    } else {
+       return $Lang::tr{'err rs 1'}."($exit_code)";
+    }
+}
+sub kmgt {
+    my ($value,$length,$opt_U) = @_;
+    if      ( $value > 10**( $length + 8 ) or $opt_U eq 'T' ) {
+       return sprintf( "%d%s", int( ( $value / 1024**4 ) + .5 ), 'T' );
+    } elsif ( $value > 10**( $length + 5 ) or $opt_U eq 'G' ) {
+       return sprintf( "%d%s", int( ( $value / 1024**3 ) + .5 ), 'G' );
+    } elsif ( $value > 10**( $length + 2 ) or $opt_U eq 'M' ) {
+       return sprintf( "%d%s", int( ( $value / 1024**2 ) + .5 ), 'M' );
+    } elsif ( $value > 10**($length) or $opt_U eq 'K' ) {
+       return sprintf( "%d%s", int( ( $value / 1024 ) + .5 ), 'K' );
+    } else {
+       return $value;
+    }
+}
+
+1;
index cc11800f3c6ef6a9128e02707a2ef1bc162f2701..b98e991d489c82bc3ba5db592417fb29bf9de4e7 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGI's - base.cgi\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) place a name here\r
-#\r
-# $Id: base.cgi,v 1.1.2.10 2005/11/03 19:20:50 franck78 Exp $\r
-#\r
-#\r
-\r
-\r
-# This file is a starting base for writting a new GUI screen using the three box model\r
-#      Box 1 : global settings for the application\r
-#      Box 2 : line editor for multiple data line\r
-#      Box 3 : the list of data line, with edit/remove buttons\r
-#\r
-#      This example do the following\r
-#      Read global settings:\r
-#              a NAME and an interface (IT)\r
-#      Lines of data composed of:\r
-#              an ipaddress (IP), an enabled/disabled options (CB), a comment (CO)\r
-#\r
-#\r
-# All you need to do is\r
-#      replace 'XY' with your app name\r
-#      define your global $settings{'var name'}\r
-#      define your strings\r
-#      write validation code for Settings1 and Settings2\r
-#      write HTML box Settings1 and Settings2\r
-#      adapt the sort function\r
-#      write the correct configuration file\r
-#\r
-#\r
-# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines\r
-# use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work\r
-# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help\r
-#use warnings;\r
-use strict;\r
-#use Carp ();\r
-#local $SIG{__WARN__} = \&Carp::cluck;\r
-\r
-require '/var/ipcop/general-functions.pl';     # Replace all occurences of </var/ipcop> with CONFIG_ROOT\r
-                                               # before updating cvs IPCop file.\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-# Files used\r
-our $setting  = "${General::swroot}/XY/settings";              # particular settings\r
-my  $datafile = "${General::swroot}/XY/data";                  # repeted settings (multilines)\r
-our $conffile = "${General::swroot}/XY/XY.conf";               # Config file for application XY\r
-\r
-# strings to add to languages databases or in addon language file\r
-$Lang::tr{'XY title'}     = 'XY service';\r
-$Lang::tr{'XY settings'}  = 'XY setup';\r
-$Lang::tr{'XY add data'}  = 'add data';\r
-$Lang::tr{'XY edit data'} = 'edit data';\r
-$Lang::tr{'XY data'}      = 'XY data';\r
-\r
-# informationnal & log strings, no translation required\r
-my  $msg_added           = 'XY added';\r
-my  $msg_modified        = 'XY modified';\r
-my  $msg_deleted         = 'XY removed';\r
-my  $msg_datafileerror   = 'XY data file error';\r
-our $msg_configfileerror = 'XY configuration file error';\r
-\r
-my %settings=();\r
-\r
-# Settings1\r
-$settings{'NAME'} = '';                # a string field than must be 'GOOD' or 'good'\r
-$settings{'IT'} = '';          # a 'choose' field for color interface\r
-$settings{'TURBO'} = 'off';    # a checkbox field to enable something\r
-\r
-# Settings2 for editing the multi-line list\r
-# Must not be saved by writehash !\r
-$settings{'IP'} = '';                  # datalines are: IPaddress,enable,comment \r
-$settings{'CB'} = 'off';               # Every check box must be set to off\r
-$settings{'COMMENT'} = '';\r
-my @nosaved=('IP','CB','COMMENT');        # List here ALL setting2 fields. Mandatory\r
-\r
-$settings{'ACTION'} = '';              # add/edit/remove....\r
-$settings{'KEY1'} = '';                        # point record for ACTION\r
-\r
-# Define each field that can be used to sort columns\r
-my $sortstring='^IP|^COMMENT';\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-# Read needed Ipcop settings (exemple)\r
-my %mainsettings=();\r
-&General::readhash("${General::swroot}/main/settings", \%mainsettings);\r
-\r
-# Get GUI values\r
-&Header::getcgihash(\%settings);\r
-\r
-# Load multiline data. Do it before use in save action\r
-our $f = new Multilines (filename => $datafile,\r
-                        fields   => ['IP','CB','COMMENT'],\r
-                        comment  => 1\r
-                       );\r
-\r
-##\r
-## SAVE Settings1 \r
-##\r
-# Remove if no Settings1 needed\r
-if ($settings{'ACTION'} eq $Lang::tr{'save'}) {\r
-\r
-    #\r
-    #Validate static Settings1 here\r
-    #\r
-    if (($settings{"NAME"} ne "GOOD") &&\r
-       ($settings{"NAME"} ne "good"))    {\r
-       $errormessage = 'Enter good or GOOD in Name field';\r
-    }\r
-\r
-    unless ($errormessage) {                                   # Everything is ok, save settings\r
-       map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved\r
-       &General::writehash($setting, \%settings);              # Save good settings\r
-       $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'\r
-       map ($settings{$_}= '',(@nosaved,'KEY1'));              # and reinit var to empty\r
-\r
-       # Rebuild configuration file if needed\r
-       &BuildConfiguration;\r
-    }\r
-\r
-    ERROR:                                             # Leave the faulty field untouched\r
-} else {\r
-    &General::readhash($setting, \%settings);                  # Get saved settings and reset to good if needed\r
-}\r
-\r
-##\r
-## Now manipulate the multiline list with Settings2\r
-##\r
-\r
-# Basic actions are:\r
-#      toggle the check box\r
-#      add/update a new line\r
-#      begin editing a line\r
-#      remove a line\r
-# $KEY1 contains the index of the line manipulated\r
-\r
-##\r
-## Toggle CB field.\r
-##\r
-if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {\r
-\r
-    $f->togglebyfields($settings{'KEY1'},'CB');                # toggle checkbox\r
-    $settings{'KEY1'} = '';                            # End edit mode\r
-\r
-    &General::log($msg_modified);\r
-\r
-    # save changes\r
-    $f->savedata || die "$msg_datafileerror";\r
-\r
-    # Rebuild configuration file\r
-    &BuildConfiguration;\r
-}\r
-\r
-##\r
-## ADD/UPDATE a line of configuration from Settings2\r
-##\r
-if ($settings{'ACTION'} eq $Lang::tr{'add'}) {\r
-    # Validate inputs\r
-    if (! &General::validip($settings{'IP'})) {$errormessage = "Specify an IP value !"};\r
-    if (! $settings{'COMMENT'} ) {$warnmessage = "no comment specified"};\r
-\r
-    unless ($errormessage) {\r
-       if ($settings{'KEY1'} eq '') { #add or edit ?\r
-           # insert new data line\r
-           $f->writedata(-1, $settings{'IP'},$settings{'CB'},$settings{'COMMENT'});\r
-           &General::log($msg_added);\r
-       } else {\r
-           # modify data line\r
-           $f->writedata($settings{'KEY1'}, $settings{'IP'},$settings{'CB'},$settings{'COMMENT'});\r
-           $settings{'KEY1'} = '';       # End edit mode\r
-           &General::log($msg_modified);\r
-       }\r
-       # save changes\r
-       $f->savedata || die "$msg_datafileerror";\r
-\r
-       # Rebuild configuration file\r
-       &BuildConfiguration;\r
-\r
-       # if entering data line is a repetitive task, choose here to not erase fields between each addition\r
-       map ($settings{$_}='' ,@nosaved);\r
-    }\r
-}\r
-\r
-##\r
-## begin EDIT: move data fields to Settings2 controls\r
-##\r
-if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-    $f->readdata ($settings{'KEY1'},\r
-                 $settings{'IP'},\r
-                 $settings{'CB'},\r
-                 $settings{'COMMENT'});\r
-}\r
-##\r
-## REMOVE: remove selected line\r
-##\r
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    $f->deleteline ($settings{'KEY1'});\r
-    $settings{'KEY1'} = '';                            # End remove mode\r
-    &General::log($msg_deleted);\r
-\r
-    # save changes\r
-    $f->savedata || die "$msg_datafileerror";\r
-\r
-    # Rebuild configuration file\r
-    &BuildConfiguration;\r
-}\r
-\r
-\r
-##\r
-## Check if sorting is asked\r
-##\r
-if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {\r
-    my $newsort=$ENV{'QUERY_STRING'};\r
-    my $actual=$settings{'SORT_XY'};\r
-\r
-    # Reverse actual sort or choose new column ?\r
-    if ($actual =~ $newsort) {\r
-       $f->setsortorder ($newsort ,rindex($actual,'Rev'));\r
-       $newsort .= rindex($actual,'Rev')==-1 ? 'Rev' : '';\r
-    } else {\r
-       $f->setsortorder ($newsort ,1);\r
-    }\r
-    $f->savedata;                                              # Synchronise file & display\r
-    $settings{'SORT_XY'} = $newsort;\r
-    map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));  # Must never be saved\r
-    &General::writehash($setting, \%settings);\r
-    $settings{'ACTION'} = 'SORT';                              # Recreate an 'ACTION'\r
-    map ($settings{$_}= '',(@nosaved,,'KEY1'));                        # and reinit var to empty\r
-}\r
-\r
-##\r
-## Remove if no Setting1 needed\r
-##\r
-if ($settings{'ACTION'} eq '' ) { # First launch from GUI\r
-    # Place here default value when nothing is initialized\r
-\r
-}\r
-\r
-&Header::openpage($Lang::tr{'XY title'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-my %checked =();     # Checkbox manipulations\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>";\r
-    &Header::closebox();\r
-}\r
-\r
-##\r
-## First box Settings1. Remove if not needed\r
-##\r
-$warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage" if ($warnmessage);\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'XY settings'});\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";\r
-$checked{'IT'}{'RED'} = '';\r
-$checked{'IT'}{'GREEN'} = '';\r
-$checked{'IT'}{'ORANGE'} = '';\r
-$checked{'IT'}{'BLUE'} = '';\r
-$checked{'IT'}{$settings{'IT'}} = "checked='checked'";\r
-$checked{'TURBO'} = ($settings{'TURBO'} eq 'on') ? "checked='checked'" : '';\r
-\r
-print<<END\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base'>Name:</td>\r
-    <td><input type='text' name='NAME' value='$settings{'NAME'}' /></td>\r
-    <td align='right'>INTERFACE</td>\r
-    <td align='right'>red<input type='radio' name='IT' value='RED' $checked{'IT'}{'RED'} /></td>\r
-</tr><tr>\r
-    <td>Turbo:</td>\r
-    <td><input type='checkbox' name='TURBO' $checked{'TURBO'}' /></td>\r
-    <td></td>\r
-    <td align='right'>green<input type='radio' name='IT' value='GREEN' $checked{'IT'}{'GREEN'} /></td>\r
-</tr><tr>\r
-    <td></td>\r
-    <td></td>\r
-    <td></td>\r
-    <td align='right'>blue<input type='radio' name='IT' value='BLUE' $checked{'IT'}{'BLUE'} /></td>\r
-</tr><tr>\r
-    <td></td>\r
-    <td></td>\r
-    <td></td>\r
-    <td align='right'>orange<input type='radio' name='IT' value='ORANGE' $checked{'IT'}{'ORANGE'} /></td>\r
-</tr>\r
-</table>\r
-<br />\r
-END\r
-;\r
-\r
-print<<END\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-    <td class='base' width='25%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td class='base' width='25%'>$warnmessage</td>\r
-    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();   # end of Settings1\r
-\r
-##\r
-## Second box is for editing the an item of the list\r
-##\r
-$checked{'CB'} = ($settings{'CB'} eq 'on') ? "checked='checked'" : '';\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($settings{'KEY1'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    &Header::openbox('100%', 'left', $Lang::tr{'XY edit data'});\r
-} else {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'XY add data'});\r
-}\r
-\r
-# Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base'>$Lang::tr{'ip address'}:</td>\r
-    <td><input type='text' name='IP' value='$settings{'IP'}' /></td>\r
-    <td class='base'>$Lang::tr{'enabled'}</td>\r
-    <td><input type='checkbox' name='CB' $checked{'CB'} /></td>\r
-    <td class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type 'text' name='COMMENT' value='$settings{'COMMENT'}' /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-##\r
-## Third box shows the list\r
-##\r
-\r
-# Columns headers may be a sort link. In this case it must be named in $sortstring\r
-&Header::openbox('100%', 'left', $Lang::tr{'XY data'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'ip address'}</b></a></td>\r
-    <td width='70%' align='center'><a href='$ENV{'SCRIPT_NAME'}?COMMENT'><b>$Lang::tr{'remark'}</b></a></td>\r
-    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-##\r
-## Print each line of @current list\r
-##\r
-my $key = 0;\r
-$f->readreset; # beginning of data\r
-for ($key=0; $key<$f->getnumberofline; $key++) {\r
-\r
-    my($cb,$comment,$ip) = $f->readbyfieldsseq($key,'CB','COMMENT','IP');\r
-\r
-    #Choose icon for checkbox\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    if ($cb eq "on") {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'};\r
-    }\r
-\r
-    #Colorize each line\r
-    if ($settings{'KEY1'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-\r
-    print <<END\r
-<td align='center'>$ip</td>\r
-<td align='center'>$comment</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-} print "</table>";\r
-\r
-# If table contains entries, print 'Key to action icons'\r
-if ($key) {\r
-print <<END\r
-<table>\r
-<tr>\r
-    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to disable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to enable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-    <td class='base'>$Lang::tr{'edit'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-    <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-## Ouf it's the end !\r
-\r
-##\r
-## Build the configuration file for application XY\r
-##\r
-sub BuildConfiguration {\r
-    open(FILE, ">/$conffile") or die "$msg_configfileerror";\r
-    flock(FILE, 2);\r
-\r
-    #Global settings\r
-    print FILE "#\n#  Configuration file for application XY\n#\n\n";\r
-    print FILE "#     do not edit manually\n";\r
-    print FILE "#     build for Ipcop:$mainsettings{'HOSTNAME'}\n\n\n";\r
-    print FILE "service=$settings{'NAME'}\n";\r
-    print FILE "activate-turbo\n" if $settings{'TURBO'} eq 'on';\r
-    print FILE "interface=$settings{'IT'}\n\n\n";\r
-    #write data line\r
-    {\r
-       my ($IP,$CB,$COMMENT);\r
-       $f->readreset;\r
-       while (defined ($f->readdataseq($IP,$CB,$COMMENT))) {\r
-           if ($CB eq "on") {\r
-               print FILE "$IP\t\t\t\t\t#$COMMENT\n";\r
-           } else {\r
-               print FILE "#DISABLED $IP\t\t\t\t#$COMMENT\n";\r
-           }\r
-       }\r
-    }\r
-    close FILE;\r
-\r
-    # Restart service\r
-    #system '/usr/local/bin/restartyourhelper';\r
-}\r
+#!/usr/bin/perl
+#
+# IPCop CGI's - base.cgi
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) place a name here
+#
+# $Id: base.cgi,v 1.1.2.10 2005/11/03 19:20:50 franck78 Exp $
+#
+#
+
+
+# This file is a starting base for writting a new GUI screen using the three box model
+#      Box 1 : global settings for the application
+#      Box 2 : line editor for multiple data line
+#      Box 3 : the list of data line, with edit/remove buttons
+#
+#      This example do the following
+#      Read global settings:
+#              a NAME and an interface (IT)
+#      Lines of data composed of:
+#              an ipaddress (IP), an enabled/disabled options (CB), a comment (CO)
+#
+#
+# All you need to do is
+#      replace 'XY' with your app name
+#      define your global $settings{'var name'}
+#      define your strings
+#      write validation code for Settings1 and Settings2
+#      write HTML box Settings1 and Settings2
+#      adapt the sort function
+#      write the correct configuration file
+#
+#
+# to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines
+# use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work
+# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help
+#use warnings;
+use strict;
+#use Carp ();
+#local $SIG{__WARN__} = \&Carp::cluck;
+
+require '/var/ipcop/general-functions.pl';     # Replace all occurences of </var/ipcop> with CONFIG_ROOT
+                                               # before updating cvs IPCop file.
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+# Files used
+our $setting  = "${General::swroot}/XY/settings";              # particular settings
+my  $datafile = "${General::swroot}/XY/data";                  # repeted settings (multilines)
+our $conffile = "${General::swroot}/XY/XY.conf";               # Config file for application XY
+
+# strings to add to languages databases or in addon language file
+$Lang::tr{'XY title'}     = 'XY service';
+$Lang::tr{'XY settings'}  = 'XY setup';
+$Lang::tr{'XY add data'}  = 'add data';
+$Lang::tr{'XY edit data'} = 'edit data';
+$Lang::tr{'XY data'}      = 'XY data';
+
+# informationnal & log strings, no translation required
+my  $msg_added           = 'XY added';
+my  $msg_modified        = 'XY modified';
+my  $msg_deleted         = 'XY removed';
+my  $msg_datafileerror   = 'XY data file error';
+our $msg_configfileerror = 'XY configuration file error';
+
+my %settings=();
+
+# Settings1
+$settings{'NAME'} = '';                # a string field than must be 'GOOD' or 'good'
+$settings{'IT'} = '';          # a 'choose' field for color interface
+$settings{'TURBO'} = 'off';    # a checkbox field to enable something
+
+# Settings2 for editing the multi-line list
+# Must not be saved by writehash !
+$settings{'IP'} = '';                  # datalines are: IPaddress,enable,comment 
+$settings{'CB'} = 'off';               # Every check box must be set to off
+$settings{'COMMENT'} = '';
+my @nosaved=('IP','CB','COMMENT');        # List here ALL setting2 fields. Mandatory
+
+$settings{'ACTION'} = '';              # add/edit/remove....
+$settings{'KEY1'} = '';                        # point record for ACTION
+
+# Define each field that can be used to sort columns
+my $sortstring='^IP|^COMMENT';
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+# Read needed Ipcop settings (exemple)
+my %mainsettings=();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+
+# Get GUI values
+&Header::getcgihash(\%settings);
+
+# Load multiline data. Do it before use in save action
+our $f = new Multilines (filename => $datafile,
+                        fields   => ['IP','CB','COMMENT'],
+                        comment  => 1
+                       );
+
+##
+## SAVE Settings1 
+##
+# Remove if no Settings1 needed
+if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
+
+    #
+    #Validate static Settings1 here
+    #
+    if (($settings{"NAME"} ne "GOOD") &&
+       ($settings{"NAME"} ne "good"))    {
+       $errormessage = 'Enter good or GOOD in Name field';
+    }
+
+    unless ($errormessage) {                                   # Everything is ok, save settings
+       map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved
+       &General::writehash($setting, \%settings);              # Save good settings
+       $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'
+       map ($settings{$_}= '',(@nosaved,'KEY1'));              # and reinit var to empty
+
+       # Rebuild configuration file if needed
+       &BuildConfiguration;
+    }
+
+    ERROR:                                             # Leave the faulty field untouched
+} else {
+    &General::readhash($setting, \%settings);                  # Get saved settings and reset to good if needed
+}
+
+##
+## Now manipulate the multiline list with Settings2
+##
+
+# Basic actions are:
+#      toggle the check box
+#      add/update a new line
+#      begin editing a line
+#      remove a line
+# $KEY1 contains the index of the line manipulated
+
+##
+## Toggle CB field.
+##
+if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+
+    $f->togglebyfields($settings{'KEY1'},'CB');                # toggle checkbox
+    $settings{'KEY1'} = '';                            # End edit mode
+
+    &General::log($msg_modified);
+
+    # save changes
+    $f->savedata || die "$msg_datafileerror";
+
+    # Rebuild configuration file
+    &BuildConfiguration;
+}
+
+##
+## ADD/UPDATE a line of configuration from Settings2
+##
+if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+    # Validate inputs
+    if (! &General::validip($settings{'IP'})) {$errormessage = "Specify an IP value !"};
+    if (! $settings{'COMMENT'} ) {$warnmessage = "no comment specified"};
+
+    unless ($errormessage) {
+       if ($settings{'KEY1'} eq '') { #add or edit ?
+           # insert new data line
+           $f->writedata(-1, $settings{'IP'},$settings{'CB'},$settings{'COMMENT'});
+           &General::log($msg_added);
+       } else {
+           # modify data line
+           $f->writedata($settings{'KEY1'}, $settings{'IP'},$settings{'CB'},$settings{'COMMENT'});
+           $settings{'KEY1'} = '';       # End edit mode
+           &General::log($msg_modified);
+       }
+       # save changes
+       $f->savedata || die "$msg_datafileerror";
+
+       # Rebuild configuration file
+       &BuildConfiguration;
+
+       # if entering data line is a repetitive task, choose here to not erase fields between each addition
+       map ($settings{$_}='' ,@nosaved);
+    }
+}
+
+##
+## begin EDIT: move data fields to Settings2 controls
+##
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+    $f->readdata ($settings{'KEY1'},
+                 $settings{'IP'},
+                 $settings{'CB'},
+                 $settings{'COMMENT'});
+}
+##
+## REMOVE: remove selected line
+##
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    $f->deleteline ($settings{'KEY1'});
+    $settings{'KEY1'} = '';                            # End remove mode
+    &General::log($msg_deleted);
+
+    # save changes
+    $f->savedata || die "$msg_datafileerror";
+
+    # Rebuild configuration file
+    &BuildConfiguration;
+}
+
+
+##
+## Check if sorting is asked
+##
+if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {
+    my $newsort=$ENV{'QUERY_STRING'};
+    my $actual=$settings{'SORT_XY'};
+
+    # Reverse actual sort or choose new column ?
+    if ($actual =~ $newsort) {
+       $f->setsortorder ($newsort ,rindex($actual,'Rev'));
+       $newsort .= rindex($actual,'Rev')==-1 ? 'Rev' : '';
+    } else {
+       $f->setsortorder ($newsort ,1);
+    }
+    $f->savedata;                                              # Synchronise file & display
+    $settings{'SORT_XY'} = $newsort;
+    map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));  # Must never be saved
+    &General::writehash($setting, \%settings);
+    $settings{'ACTION'} = 'SORT';                              # Recreate an 'ACTION'
+    map ($settings{$_}= '',(@nosaved,,'KEY1'));                        # and reinit var to empty
+}
+
+##
+## Remove if no Setting1 needed
+##
+if ($settings{'ACTION'} eq '' ) { # First launch from GUI
+    # Place here default value when nothing is initialized
+
+}
+
+&Header::openpage($Lang::tr{'XY title'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+my %checked =();     # Checkbox manipulations
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+
+##
+## First box Settings1. Remove if not needed
+##
+$warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage" if ($warnmessage);
+
+&Header::openbox('100%', 'left', $Lang::tr{'XY settings'});
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+$checked{'IT'}{'RED'} = '';
+$checked{'IT'}{'GREEN'} = '';
+$checked{'IT'}{'ORANGE'} = '';
+$checked{'IT'}{'BLUE'} = '';
+$checked{'IT'}{$settings{'IT'}} = "checked='checked'";
+$checked{'TURBO'} = ($settings{'TURBO'} eq 'on') ? "checked='checked'" : '';
+
+print<<END
+<table width='100%'>
+<tr>
+    <td class='base'>Name:</td>
+    <td><input type='text' name='NAME' value='$settings{'NAME'}' /></td>
+    <td align='right'>INTERFACE</td>
+    <td align='right'>red<input type='radio' name='IT' value='RED' $checked{'IT'}{'RED'} /></td>
+</tr><tr>
+    <td>Turbo:</td>
+    <td><input type='checkbox' name='TURBO' $checked{'TURBO'}' /></td>
+    <td></td>
+    <td align='right'>green<input type='radio' name='IT' value='GREEN' $checked{'IT'}{'GREEN'} /></td>
+</tr><tr>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td align='right'>blue<input type='radio' name='IT' value='BLUE' $checked{'IT'}{'BLUE'} /></td>
+</tr><tr>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td align='right'>orange<input type='radio' name='IT' value='ORANGE' $checked{'IT'}{'ORANGE'} /></td>
+</tr>
+</table>
+<br />
+END
+;
+
+print<<END
+<table width='100%'>
+<hr />
+<tr>
+    <td class='base' width='25%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td class='base' width='25%'>$warnmessage</td>
+    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();   # end of Settings1
+
+##
+## Second box is for editing the an item of the list
+##
+$checked{'CB'} = ($settings{'CB'} eq 'on') ? "checked='checked'" : '';
+
+my $buttontext = $Lang::tr{'add'};
+if ($settings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    &Header::openbox('100%', 'left', $Lang::tr{'XY edit data'});
+} else {
+    &Header::openbox('100%', 'left', $Lang::tr{'XY add data'});
+}
+
+# Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<table width='100%'>
+<tr>
+    <td class='base'>$Lang::tr{'ip address'}:</td>
+    <td><input type='text' name='IP' value='$settings{'IP'}' /></td>
+    <td class='base'>$Lang::tr{'enabled'}</td>
+    <td><input type='checkbox' name='CB' $checked{'CB'} /></td>
+    <td class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type 'text' name='COMMENT' value='$settings{'COMMENT'}' /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+##
+## Third box shows the list
+##
+
+# Columns headers may be a sort link. In this case it must be named in $sortstring
+&Header::openbox('100%', 'left', $Lang::tr{'XY data'});
+print <<END
+<table width='100%'>
+<tr>
+    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'ip address'}</b></a></td>
+    <td width='70%' align='center'><a href='$ENV{'SCRIPT_NAME'}?COMMENT'><b>$Lang::tr{'remark'}</b></a></td>
+    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+##
+## Print each line of @current list
+##
+my $key = 0;
+$f->readreset; # beginning of data
+for ($key=0; $key<$f->getnumberofline; $key++) {
+
+    my($cb,$comment,$ip) = $f->readbyfieldsseq($key,'CB','COMMENT','IP');
+
+    #Choose icon for checkbox
+    my $gif = '';
+    my $gdesc = '';
+    if ($cb eq "on") {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'};
+    }
+
+    #Colorize each line
+    if ($settings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+
+    print <<END
+<td align='center'>$ip</td>
+<td align='center'>$comment</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+} print "</table>";
+
+# If table contains entries, print 'Key to action icons'
+if ($key) {
+print <<END
+<table>
+<tr>
+    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+    <td class='base'>$Lang::tr{'click to disable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+    <td class='base'>$Lang::tr{'click to enable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+    <td class='base'>$Lang::tr{'edit'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+    <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+##
+## Build the configuration file for application XY
+##
+sub BuildConfiguration {
+    open(FILE, ">/$conffile") or die "$msg_configfileerror";
+    flock(FILE, 2);
+
+    #Global settings
+    print FILE "#\n#  Configuration file for application XY\n#\n\n";
+    print FILE "#     do not edit manually\n";
+    print FILE "#     build for Ipcop:$mainsettings{'HOSTNAME'}\n\n\n";
+    print FILE "service=$settings{'NAME'}\n";
+    print FILE "activate-turbo\n" if $settings{'TURBO'} eq 'on';
+    print FILE "interface=$settings{'IT'}\n\n\n";
+    #write data line
+    {
+       my ($IP,$CB,$COMMENT);
+       $f->readreset;
+       while (defined ($f->readdataseq($IP,$CB,$COMMENT))) {
+           if ($CB eq "on") {
+               print FILE "$IP\t\t\t\t\t#$COMMENT\n";
+           } else {
+               print FILE "#DISABLED $IP\t\t\t\t#$COMMENT\n";
+           }
+       }
+    }
+    close FILE;
+
+    # Restart service
+    #system '/usr/local/bin/restartyourhelper';
+}
index b8d5c5ae0891dbfbed7482808552ea8dcac4bf46..09a1bcc83081f968a1e795691197bce0f58c056b 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: changepw.cgi,v 1.4.2.6 2005/03/07 21:28:03 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my $errormessage='';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ACTION_ADMIN'} = '';\r
-$cgiparams{'ACTION_DIAL'} = '';\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-if ($cgiparams{'ACTION_ADMIN'} eq $Lang::tr{'save'})\r
-{\r
-       my $password1 = $cgiparams{'ADMIN_PASSWORD1'};\r
-       my $password2 = $cgiparams{'ADMIN_PASSWORD2'};  \r
-       if ($password1 eq $password2)\r
-       {\r
-               if ($password1 =~ m/\s|\"/) {\r
-                       $errormessage = $Lang::tr{'password contains illegal characters'};\r
-               }\r
-               elsif (length($password1) >= 6)\r
-               {\r
-                       system('/usr/bin/htpasswd', '-m', '-b', "${General::swroot}/auth/users", 'admin', "${password1}");\r
-                       &General::log($Lang::tr{'admin user password has been changed'});\r
-               }\r
-               else {\r
-                       $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }\r
-       }\r
-       else {\r
-               $errormessage = $Lang::tr{'passwords do not match'}; }\r
-}\r
-\r
-if ($cgiparams{'ACTION_DIAL'} eq $Lang::tr{'save'})\r
-{\r
-       my $password1 = $cgiparams{'DIAL_PASSWORD1'};\r
-       my $password2 = $cgiparams{'DIAL_PASSWORD2'};   \r
-       if ($password1 eq $password2)\r
-       {\r
-               if($password1 =~ m/\s|\"/) {\r
-                       $errormessage = $Lang::tr{'password contains illegal characters'};\r
-                }\r
-               elsif (length($password1) >= 6)\r
-               {\r
-                       system('/usr/bin/htpasswd', '-b', "${General::swroot}/auth/users", 'dial', "${password1}"); \r
-                       &General::log($Lang::tr{'dial user password has been changed'});\r
-               }\r
-               else {\r
-                       $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }\r
-       }\r
-       else {\r
-               $errormessage = $Lang::tr{'passwords do not match'}; }\r
-}\r
-\r
-&Header::openpage($Lang::tr{'change passwords'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'administrator user password'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='20%' class='base'>$Lang::tr{'username'}&nbsp;'admin'</td>\r
-       <td width='15%' class='base' align='right'>$Lang::tr{'password'}&nbsp;</td>\r
-       <td width='15%'><input type='password' name='ADMIN_PASSWORD1' size='10' /></td>\r
-       <td width='15%' class='base' align='right'>$Lang::tr{'again'} </td>\r
-       <td width='15%'><input type='password' name='ADMIN_PASSWORD2' size='10' /></td>\r
-       <td width='20%' align='center'><input type='submit' name='ACTION_ADMIN' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'dial user password'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='20%' class='base'>$Lang::tr{'username'}&nbsp;'dial'</td>\r
-       <td width='15%' class='base' align='right'>$Lang::tr{'password'}&nbsp;</td>\r
-       <td width='15%'><input type='password' name='DIAL_PASSWORD1' size='10'/></td>\r
-       <td width='15%' class='base' align='right'>$Lang::tr{'again'}&nbsp;</td>\r
-       <td width='15%'><input type='password' name='DIAL_PASSWORD2' size='10' /></td>\r
-       <td width='20%' align='center'><input type='submit' name='ACTION_DIAL' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: changepw.cgi,v 1.4.2.6 2005/03/07 21:28:03 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my $errormessage='';
+
+&Header::showhttpheaders();
+
+$cgiparams{'ACTION_ADMIN'} = '';
+$cgiparams{'ACTION_DIAL'} = '';
+
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION_ADMIN'} eq $Lang::tr{'save'})
+{
+       my $password1 = $cgiparams{'ADMIN_PASSWORD1'};
+       my $password2 = $cgiparams{'ADMIN_PASSWORD2'};  
+       if ($password1 eq $password2)
+       {
+               if ($password1 =~ m/\s|\"/) {
+                       $errormessage = $Lang::tr{'password contains illegal characters'};
+               }
+               elsif (length($password1) >= 6)
+               {
+                       system('/usr/bin/htpasswd', '-m', '-b', "${General::swroot}/auth/users", 'admin', "${password1}");
+                       &General::log($Lang::tr{'admin user password has been changed'});
+               }
+               else {
+                       $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }
+       }
+       else {
+               $errormessage = $Lang::tr{'passwords do not match'}; }
+}
+
+if ($cgiparams{'ACTION_DIAL'} eq $Lang::tr{'save'})
+{
+       my $password1 = $cgiparams{'DIAL_PASSWORD1'};
+       my $password2 = $cgiparams{'DIAL_PASSWORD2'};   
+       if ($password1 eq $password2)
+       {
+               if($password1 =~ m/\s|\"/) {
+                       $errormessage = $Lang::tr{'password contains illegal characters'};
+                }
+               elsif (length($password1) >= 6)
+               {
+                       system('/usr/bin/htpasswd', '-b', "${General::swroot}/auth/users", 'dial', "${password1}"); 
+                       &General::log($Lang::tr{'dial user password has been changed'});
+               }
+               else {
+                       $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }
+       }
+       else {
+               $errormessage = $Lang::tr{'passwords do not match'}; }
+}
+
+&Header::openpage($Lang::tr{'change passwords'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'administrator user password'});
+print <<END
+<table width='100%'>
+<tr>
+       <td width='20%' class='base'>$Lang::tr{'username'}&nbsp;'admin'</td>
+       <td width='15%' class='base' align='right'>$Lang::tr{'password'}&nbsp;</td>
+       <td width='15%'><input type='password' name='ADMIN_PASSWORD1' size='10' /></td>
+       <td width='15%' class='base' align='right'>$Lang::tr{'again'} </td>
+       <td width='15%'><input type='password' name='ADMIN_PASSWORD2' size='10' /></td>
+       <td width='20%' align='center'><input type='submit' name='ACTION_ADMIN' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'dial user password'});
+print <<END
+<table width='100%'>
+<tr>
+       <td width='20%' class='base'>$Lang::tr{'username'}&nbsp;'dial'</td>
+       <td width='15%' class='base' align='right'>$Lang::tr{'password'}&nbsp;</td>
+       <td width='15%'><input type='password' name='DIAL_PASSWORD1' size='10'/></td>
+       <td width='15%' class='base' align='right'>$Lang::tr{'again'}&nbsp;</td>
+       <td width='15%'><input type='password' name='DIAL_PASSWORD2' size='10' /></td>
+       <td width='20%' align='center'><input type='submit' name='ACTION_DIAL' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
index 8fe8f8aa9af7a22b922bb8921860965d25f94565..36bbaf0ded2080df6315e27efe2fe4bb81a41071 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# (c) 2001 Jack Beglinger <jackb_guppy@yahoo.com>\r
-#\r
-# (c) 2003 Dave Roberts <countzerouk@hotmail.com> - colour coded netfilter/iptables rewrite for 1.3\r
-#\r
-# $Id: connections.cgi,v 1.6.2.11 2005/02/24 07:44:35 gespinasse Exp $\r
-#\r
-\r
-# Setup GREEN, ORANGE, IPCOP, VPN CIDR networks, masklengths and colours only once\r
-\r
-my @network=();\r
-my @masklen=();\r
-my @colour=();\r
-\r
-use Net::IPv4Addr qw( :all );\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::table1colour} );\r
-undef (@dummy);\r
-\r
-# Read various files\r
-\r
-my %netsettings=();\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-open (ACTIVE, "/proc/net/ip_conntrack") or die 'Unable to open ip_conntrack';\r
-my @active = <ACTIVE>;\r
-close (ACTIVE);\r
-\r
-my @vpn = ('none');\r
-open (ACTIVE, "/proc/net/ipsec_eroute") and @vpn = <ACTIVE>; close (ACTIVE);\r
-\r
-my $aliasfile = "${General::swroot}/ethernet/aliases";\r
-open(ALIASES, $aliasfile) or die 'Unable to open aliases file.';\r
-my @aliases = <ALIASES>;\r
-close(ALIASES);\r
-\r
-# Add Green Firewall Interface\r
-push(@network, $netsettings{'GREEN_ADDRESS'});\r
-push(@masklen, "255.255.255.255" );\r
-push(@colour, ${Header::colourfw} );\r
-\r
-# Add Green Network to Array\r
-push(@network, $netsettings{'GREEN_NETADDRESS'});\r
-push(@masklen, $netsettings{'GREEN_NETMASK'} );\r
-push(@colour, ${Header::colourgreen} );\r
-\r
-# Add Green Routes to Array\r
-my @routes = `/sbin/route -n | /bin/grep $netsettings{'GREEN_DEV'}`;\r
-foreach my $route (@routes) {\r
-       chomp($route);\r
-       my @temp = split(/[\t ]+/, $route);\r
-       push(@network, $temp[0]);\r
-       push(@masklen, $temp[2]);\r
-       push(@colour, ${Header::colourgreen} );\r
-}\r
-\r
-# Add Firewall Localhost 127.0.0.1\r
-push(@network, '127.0.0.1');\r
-push(@masklen, '255.255.255.255' );\r
-push(@colour, ${Header::colourfw} );\r
-\r
-# Add Orange Network\r
-if ($netsettings{'ORANGE_DEV'}) {\r
-       push(@network, $netsettings{'ORANGE_NETADDRESS'});\r
-       push(@masklen, $netsettings{'ORANGE_NETMASK'} );\r
-       push(@colour, ${Header::colourorange} );\r
-       # Add Orange Routes to Array\r
-       @routes = `/sbin/route -n | /bin/grep $netsettings{'ORANGE_DEV'}`;\r
-       foreach my $route (@routes) {\r
-               chomp($route);\r
-               my @temp = split(/[\t ]+/, $route);\r
-               push(@network, $temp[0]);\r
-               push(@masklen, $temp[2]);\r
-               push(@colour, ${Header::colourorange} );\r
-       }\r
-}\r
-\r
-# Add Blue Network\r
-if ($netsettings{'BLUE_DEV'}) {\r
-       push(@network, $netsettings{'BLUE_NETADDRESS'});\r
-       push(@masklen, $netsettings{'BLUE_NETMASK'} );\r
-       push(@colour, ${Header::colourblue} );\r
-       # Add Blue Routes to Array\r
-       @routes = `/sbin/route -n | /bin/grep $netsettings{'BLUE_DEV'}`;\r
-       foreach my $route (@routes) {\r
-               chomp($route);\r
-               my @temp = split(/[\t ]+/, $route);\r
-               push(@network, $temp[0]);\r
-               push(@masklen, $temp[2]);\r
-               push(@colour, ${Header::colourblue} );\r
-       }\r
-}\r
-\r
-# Add STATIC RED aliases\r
-if ($netsettings{'RED_DEV'}) {\r
-       # We have a RED eth iface\r
-       if ($netsettings{'RED_TYPE'} eq 'STATIC') {\r
-               # We have a STATIC RED eth iface\r
-               foreach my $line (@aliases)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ( $temp[0] ) {\r
-                               push(@network, $temp[0]);\r
-                               push(@masklen, $netsettings{'RED_NETMASK'} );\r
-                               push(@colour, ${Header::colourfw} );\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-# Add VPNs\r
-if ( $vpn[0] ne 'none' ) {\r
-       foreach my $line (@vpn) {\r
-               my @temp = split(/[\t ]+/,$line);\r
-               my @temp1 = split(/[\/:]+/,$temp[3]);\r
-               push(@network, $temp1[0]);\r
-               push(@masklen, ipv4_cidr2msk($temp1[1]));\r
-               push(@colour, ${Header::colourvpn} );\r
-       }\r
-}\r
-if (open(IP, "${General::swroot}/red/local-ipaddress")) {\r
-       my $redip = <IP>;\r
-       close(IP);\r
-       chomp $redip;\r
-       push(@network, $redip);\r
-       push(@masklen, '255.255.255.255' );\r
-       push(@colour, ${Header::colourfw} );\r
-}\r
-\r
-&Header::showhttpheaders();\r
-&Header::openpage($Lang::tr{'connections'}, 1, '');\r
-&Header::openbigbox('100%', 'left');\r
-&Header::openbox('100%', 'left', $Lang::tr{'connection tracking'});\r
-\r
-print <<END\r
-<table width='60%'>\r
-<tr><td align='center'><b>$Lang::tr{'legend'} : </b></td>\r
-     <td align='center' bgcolor='${Header::colourgreen}'><b><font color='#FFFFFF'>$Lang::tr{'lan'}</font></b></td>\r
-     <td align='center' bgcolor='${Header::colourred}'><b><font color='#FFFFFF'>$Lang::tr{'internet'}</font></b></td>\r
-     <td align='center' bgcolor='${Header::colourorange}'><b><font color='#FFFFFF'>$Lang::tr{'dmz'}</font></b></td>\r
-     <td align='center' bgcolor='${Header::colourblue}'><b><font color='#FFFFFF'>$Lang::tr{'wireless'}</font></b></td>\r
-     <td align='center' bgcolor='${Header::colourfw}'><b><font color='#FFFFFF'>IPCop</font></b></td>\r
-     <td align='center' bgcolor='${Header::colourvpn}'><b><font color='#FFFFFF'>$Lang::tr{'vpn'}</font></b></td>\r
-</tr>\r
-</table>\r
-<br />\r
-<table cellpadding='2'>\r
-<tr><td align='center'><b>$Lang::tr{'protocol'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'expires'}<br />($Lang::tr{'seconds'})</b></td>\r
-    <td align='center'><b>$Lang::tr{'connection'}<br />$Lang::tr{'status'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'original'}<br />$Lang::tr{'source ip and port'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'original'}<br />$Lang::tr{'dest ip and port'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'expected'}<br />$Lang::tr{'source ip and port'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'expected'}<br />$Lang::tr{'dest ip and port'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'marked'}</b></td>\r
-    <td align='center'><b>$Lang::tr{'use'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-foreach my $line (@active)\r
-{\r
-       my $protocol='';\r
-       my $expires='';\r
-       my $connstatus='';\r
-       my $orgsip='';\r
-       my $orgdip='';\r
-       my $orgsp='';\r
-       my $orgdp='';\r
-       my $exsip='';\r
-       my $exdip='';\r
-       my $exsp='';\r
-       my $exdp='';\r
-       my $marked='';\r
-       my $use='';\r
-       my $orgsipcolour='';\r
-       my $orgdipcolour='';\r
-       my $exsipcolour='';\r
-       my $exdipcolour='';\r
-\r
-       chomp($line);\r
-       my @temp = split(' ',$line);\r
-       print "<tr bgcolor='${Header::table1colour}'>\n";\r
-       if ($temp[0] eq 'udp') {\r
-               my $offset = 0;\r
-               $marked = '';\r
-               $protocol = $temp[0] . " (" . $temp[1] . ")";\r
-               $expires = $temp[2];\r
-               $connstatus = ' ';\r
-               $orgsip = substr $temp[3], 4;\r
-               $orgdip = substr $temp[4], 4;\r
-               $orgsp = substr $temp[5], 6;\r
-               $orgdp = substr $temp[6], 6;\r
-               if ($temp[7] eq '[UNREPLIED]') {\r
-                        $marked = $temp[7];\r
-                        $offset = 1;\r
-                }\r
-                else {\r
-                        $connstatus = ' ';\r
-                }\r
-\r
-               $exsip = substr $temp[7 + $offset], 4;\r
-               $exdip = substr $temp[8 + $offset], 4;\r
-               $exsp = substr $temp[9 + $offset], 6;\r
-               $exdp = substr $temp[10 + $offset], 6;\r
-               if ($marked eq '[UNREPLIED]') {\r
-                       $use = substr $temp[11 + $offset], 4;\r
-                }\r
-                else {\r
-                        $marked = $temp[11 + $offset];\r
-                       $use = substr $marked, 0, 3;\r
-                       if ($use eq 'use' ) {\r
-                               $marked = '';\r
-                               $use = substr $temp[11 + $offset], 4;\r
-                       }\r
-                       else {\r
-                               $use = substr $temp[12 + $offset], 4;\r
-                       }\r
-               }\r
-       }\r
-       if ($temp[0] eq 'tcp') {\r
-               my $offset = 0;\r
-                $protocol = $temp[0] . " (" . $temp[1] . ")";\r
-                $expires = $temp[2];\r
-                $connstatus = $temp[3];\r
-                $orgsip = substr $temp[4], 4;\r
-                $orgdip = substr $temp[5], 4;\r
-                $orgsp = substr $temp[6], 6;\r
-               $orgdp = substr $temp[7], 6;\r
-               if ($temp[8] eq '[UNREPLIED]') {\r
-                        $marked = $temp[8];\r
-                        $offset = 1;\r
-                       $use = substr $temp[13], 4;\r
-                }\r
-                else {\r
-                        $marked = $temp[12];\r
-                       $use = substr $temp[13], 4;\r
-                }\r
-               \r
-               $exsip = substr $temp[8 + $offset], 4;\r
-                $exdip = substr $temp[9 + $offset], 4;\r
-                $exsp = substr $temp[10 + $offset], 6;\r
-                $exdp = substr $temp[11 + $offset], 6;\r
-        }\r
-       if ($temp[0] eq 'unknown') {\r
-                my $offset = 0;\r
-                $protocol = "??? (" . $temp[1] . ")";\r
-                $protocol = "esp (" . $temp[1] . ")" if ($temp[1] == 50);\r
-                $protocol = " ah (" . $temp[1] . ")" if ($temp[1] == 51);\r
-                $expires = $temp[2];\r
-                $connstatus = ' ';\r
-                $orgsip = substr $temp[3], 4;\r
-                $orgdip = substr $temp[4], 4;\r
-                $orgsp = ' ';\r
-                $orgdp = ' ';\r
-                $exsip = substr $temp[5], 4;\r
-                $exdip = substr $temp[6], 4;\r
-                $exsp = ' ';\r
-                $exdp = ' ';\r
-                $marked = ' ';\r
-                $use = ' ';\r
-        }\r
-       if ($temp[0] eq 'gre') {\r
-                my $offset = 0;\r
-               $protocol = $temp[0] . " (" . $temp[1] . ")";\r
-                $expires = $temp[2];\r
-                $orgsip = substr $temp[5], 4;\r
-                $orgdip = substr $temp[6], 4;\r
-                $orgsp = ' ';\r
-               $orgdp = ' ';\r
-               $exsip = substr $temp[11], 4;\r
-                $exdip = substr $temp[12], 4;\r
-                $exsp = ' ';\r
-                $exdp = ' ';\r
-               $marked = $temp[17];\r
-               $use = $temp[18];\r
-       }\r
-       $orgsipcolour = &ipcolour($orgsip);\r
-       $orgdipcolour = &ipcolour($orgdip);\r
-       $exsipcolour = &ipcolour($exsip);\r
-       $exdipcolour = &ipcolour($exdip);\r
-       print <<END\r
-       <td align='center'>$protocol</td>\r
-       <td align='center'>$expires</td>\r
-       <td align='center'>$connstatus</td>\r
-       <td align='center' bgcolor='$orgsipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$orgsip'><font color='#FFFFFF'>$orgsip</font></a><font color='#FFFFFF'>:$orgsp</font></td>\r
-       <td align='center' bgcolor='$orgdipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$orgdip'><font color='#FFFFFF'>$orgdip</font></a><font color='#FFFFFF'>:$orgdp</font></td>\r
-       <td align='center' bgcolor='$exsipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$exsip'><font color='#FFFFFF'>$exsip</font></a><font color='#FFFFFF'>:$exsp</font></td>\r
-       <td align='center' bgcolor='$exdipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$exdip'><font color='#FFFFFF'>$exdip</font></a><font color='#FFFFFF'>:$exdp</font></td>\r
-       <td align='center'>$marked</td><td align='center'>$use</td>\r
-       </tr>\r
-END\r
-       ;\r
-}\r
-print "</table>\n";\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-sub ipcolour($) {\r
-       my $id = 0;\r
-       my $line;\r
-       my $colour = ${Header::colourred};\r
-       my ($ip) = $_[0];\r
-       my $found = 0;\r
-       foreach $line (@network)\r
-       {\r
-               if (!$found && ipv4_in_network( $network[$id] , $masklen[$id], $ip) ) {\r
-                       $found = 1;\r
-                       $colour = $colour[$id];\r
-               }\r
-               $id++;\r
-       }\r
-       return $colour\r
-}\r
+#!/usr/bin/perl
+#
+# (c) 2001 Jack Beglinger <jackb_guppy@yahoo.com>
+#
+# (c) 2003 Dave Roberts <countzerouk@hotmail.com> - colour coded netfilter/iptables rewrite for 1.3
+#
+# $Id: connections.cgi,v 1.6.2.11 2005/02/24 07:44:35 gespinasse Exp $
+#
+
+# Setup GREEN, ORANGE, IPCOP, VPN CIDR networks, masklengths and colours only once
+
+my @network=();
+my @masklen=();
+my @colour=();
+
+use Net::IPv4Addr qw( :all );
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::table1colour} );
+undef (@dummy);
+
+# Read various files
+
+my %netsettings=();
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+open (ACTIVE, "/proc/net/ip_conntrack") or die 'Unable to open ip_conntrack';
+my @active = <ACTIVE>;
+close (ACTIVE);
+
+my @vpn = ('none');
+open (ACTIVE, "/proc/net/ipsec_eroute") and @vpn = <ACTIVE>; close (ACTIVE);
+
+my $aliasfile = "${General::swroot}/ethernet/aliases";
+open(ALIASES, $aliasfile) or die 'Unable to open aliases file.';
+my @aliases = <ALIASES>;
+close(ALIASES);
+
+# Add Green Firewall Interface
+push(@network, $netsettings{'GREEN_ADDRESS'});
+push(@masklen, "255.255.255.255" );
+push(@colour, ${Header::colourfw} );
+
+# Add Green Network to Array
+push(@network, $netsettings{'GREEN_NETADDRESS'});
+push(@masklen, $netsettings{'GREEN_NETMASK'} );
+push(@colour, ${Header::colourgreen} );
+
+# Add Green Routes to Array
+my @routes = `/sbin/route -n | /bin/grep $netsettings{'GREEN_DEV'}`;
+foreach my $route (@routes) {
+       chomp($route);
+       my @temp = split(/[\t ]+/, $route);
+       push(@network, $temp[0]);
+       push(@masklen, $temp[2]);
+       push(@colour, ${Header::colourgreen} );
+}
+
+# Add Firewall Localhost 127.0.0.1
+push(@network, '127.0.0.1');
+push(@masklen, '255.255.255.255' );
+push(@colour, ${Header::colourfw} );
+
+# Add Orange Network
+if ($netsettings{'ORANGE_DEV'}) {
+       push(@network, $netsettings{'ORANGE_NETADDRESS'});
+       push(@masklen, $netsettings{'ORANGE_NETMASK'} );
+       push(@colour, ${Header::colourorange} );
+       # Add Orange Routes to Array
+       @routes = `/sbin/route -n | /bin/grep $netsettings{'ORANGE_DEV'}`;
+       foreach my $route (@routes) {
+               chomp($route);
+               my @temp = split(/[\t ]+/, $route);
+               push(@network, $temp[0]);
+               push(@masklen, $temp[2]);
+               push(@colour, ${Header::colourorange} );
+       }
+}
+
+# Add Blue Network
+if ($netsettings{'BLUE_DEV'}) {
+       push(@network, $netsettings{'BLUE_NETADDRESS'});
+       push(@masklen, $netsettings{'BLUE_NETMASK'} );
+       push(@colour, ${Header::colourblue} );
+       # Add Blue Routes to Array
+       @routes = `/sbin/route -n | /bin/grep $netsettings{'BLUE_DEV'}`;
+       foreach my $route (@routes) {
+               chomp($route);
+               my @temp = split(/[\t ]+/, $route);
+               push(@network, $temp[0]);
+               push(@masklen, $temp[2]);
+               push(@colour, ${Header::colourblue} );
+       }
+}
+
+# Add STATIC RED aliases
+if ($netsettings{'RED_DEV'}) {
+       # We have a RED eth iface
+       if ($netsettings{'RED_TYPE'} eq 'STATIC') {
+               # We have a STATIC RED eth iface
+               foreach my $line (@aliases)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ( $temp[0] ) {
+                               push(@network, $temp[0]);
+                               push(@masklen, $netsettings{'RED_NETMASK'} );
+                               push(@colour, ${Header::colourfw} );
+                       }
+               }
+       }
+}
+
+# Add VPNs
+if ( $vpn[0] ne 'none' ) {
+       foreach my $line (@vpn) {
+               my @temp = split(/[\t ]+/,$line);
+               my @temp1 = split(/[\/:]+/,$temp[3]);
+               push(@network, $temp1[0]);
+               push(@masklen, ipv4_cidr2msk($temp1[1]));
+               push(@colour, ${Header::colourvpn} );
+       }
+}
+if (open(IP, "${General::swroot}/red/local-ipaddress")) {
+       my $redip = <IP>;
+       close(IP);
+       chomp $redip;
+       push(@network, $redip);
+       push(@masklen, '255.255.255.255' );
+       push(@colour, ${Header::colourfw} );
+}
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'connections'}, 1, '');
+&Header::openbigbox('100%', 'left');
+&Header::openbox('100%', 'left', $Lang::tr{'connection tracking'});
+
+print <<END
+<table width='60%'>
+<tr><td align='center'><b>$Lang::tr{'legend'} : </b></td>
+     <td align='center' bgcolor='${Header::colourgreen}'><b><font color='#FFFFFF'>$Lang::tr{'lan'}</font></b></td>
+     <td align='center' bgcolor='${Header::colourred}'><b><font color='#FFFFFF'>$Lang::tr{'internet'}</font></b></td>
+     <td align='center' bgcolor='${Header::colourorange}'><b><font color='#FFFFFF'>$Lang::tr{'dmz'}</font></b></td>
+     <td align='center' bgcolor='${Header::colourblue}'><b><font color='#FFFFFF'>$Lang::tr{'wireless'}</font></b></td>
+     <td align='center' bgcolor='${Header::colourfw}'><b><font color='#FFFFFF'>IPCop</font></b></td>
+     <td align='center' bgcolor='${Header::colourvpn}'><b><font color='#FFFFFF'>$Lang::tr{'vpn'}</font></b></td>
+</tr>
+</table>
+<br />
+<table cellpadding='2'>
+<tr><td align='center'><b>$Lang::tr{'protocol'}</b></td>
+    <td align='center'><b>$Lang::tr{'expires'}<br />($Lang::tr{'seconds'})</b></td>
+    <td align='center'><b>$Lang::tr{'connection'}<br />$Lang::tr{'status'}</b></td>
+    <td align='center'><b>$Lang::tr{'original'}<br />$Lang::tr{'source ip and port'}</b></td>
+    <td align='center'><b>$Lang::tr{'original'}<br />$Lang::tr{'dest ip and port'}</b></td>
+    <td align='center'><b>$Lang::tr{'expected'}<br />$Lang::tr{'source ip and port'}</b></td>
+    <td align='center'><b>$Lang::tr{'expected'}<br />$Lang::tr{'dest ip and port'}</b></td>
+    <td align='center'><b>$Lang::tr{'marked'}</b></td>
+    <td align='center'><b>$Lang::tr{'use'}</b></td>
+</tr>
+END
+;
+
+foreach my $line (@active)
+{
+       my $protocol='';
+       my $expires='';
+       my $connstatus='';
+       my $orgsip='';
+       my $orgdip='';
+       my $orgsp='';
+       my $orgdp='';
+       my $exsip='';
+       my $exdip='';
+       my $exsp='';
+       my $exdp='';
+       my $marked='';
+       my $use='';
+       my $orgsipcolour='';
+       my $orgdipcolour='';
+       my $exsipcolour='';
+       my $exdipcolour='';
+
+       chomp($line);
+       my @temp = split(' ',$line);
+       print "<tr bgcolor='${Header::table1colour}'>\n";
+       if ($temp[0] eq 'udp') {
+               my $offset = 0;
+               $marked = '';
+               $protocol = $temp[0] . " (" . $temp[1] . ")";
+               $expires = $temp[2];
+               $connstatus = ' ';
+               $orgsip = substr $temp[3], 4;
+               $orgdip = substr $temp[4], 4;
+               $orgsp = substr $temp[5], 6;
+               $orgdp = substr $temp[6], 6;
+               if ($temp[7] eq '[UNREPLIED]') {
+                        $marked = $temp[7];
+                        $offset = 1;
+                }
+                else {
+                        $connstatus = ' ';
+                }
+
+               $exsip = substr $temp[7 + $offset], 4;
+               $exdip = substr $temp[8 + $offset], 4;
+               $exsp = substr $temp[9 + $offset], 6;
+               $exdp = substr $temp[10 + $offset], 6;
+               if ($marked eq '[UNREPLIED]') {
+                       $use = substr $temp[11 + $offset], 4;
+                }
+                else {
+                        $marked = $temp[11 + $offset];
+                       $use = substr $marked, 0, 3;
+                       if ($use eq 'use' ) {
+                               $marked = '';
+                               $use = substr $temp[11 + $offset], 4;
+                       }
+                       else {
+                               $use = substr $temp[12 + $offset], 4;
+                       }
+               }
+       }
+       if ($temp[0] eq 'tcp') {
+               my $offset = 0;
+                $protocol = $temp[0] . " (" . $temp[1] . ")";
+                $expires = $temp[2];
+                $connstatus = $temp[3];
+                $orgsip = substr $temp[4], 4;
+                $orgdip = substr $temp[5], 4;
+                $orgsp = substr $temp[6], 6;
+               $orgdp = substr $temp[7], 6;
+               if ($temp[8] eq '[UNREPLIED]') {
+                        $marked = $temp[8];
+                        $offset = 1;
+                       $use = substr $temp[13], 4;
+                }
+                else {
+                        $marked = $temp[12];
+                       $use = substr $temp[13], 4;
+                }
+               
+               $exsip = substr $temp[8 + $offset], 4;
+                $exdip = substr $temp[9 + $offset], 4;
+                $exsp = substr $temp[10 + $offset], 6;
+                $exdp = substr $temp[11 + $offset], 6;
+        }
+       if ($temp[0] eq 'unknown') {
+                my $offset = 0;
+                $protocol = "??? (" . $temp[1] . ")";
+                $protocol = "esp (" . $temp[1] . ")" if ($temp[1] == 50);
+                $protocol = " ah (" . $temp[1] . ")" if ($temp[1] == 51);
+                $expires = $temp[2];
+                $connstatus = ' ';
+                $orgsip = substr $temp[3], 4;
+                $orgdip = substr $temp[4], 4;
+                $orgsp = ' ';
+                $orgdp = ' ';
+                $exsip = substr $temp[5], 4;
+                $exdip = substr $temp[6], 4;
+                $exsp = ' ';
+                $exdp = ' ';
+                $marked = ' ';
+                $use = ' ';
+        }
+       if ($temp[0] eq 'gre') {
+                my $offset = 0;
+               $protocol = $temp[0] . " (" . $temp[1] . ")";
+                $expires = $temp[2];
+                $orgsip = substr $temp[5], 4;
+                $orgdip = substr $temp[6], 4;
+                $orgsp = ' ';
+               $orgdp = ' ';
+               $exsip = substr $temp[11], 4;
+                $exdip = substr $temp[12], 4;
+                $exsp = ' ';
+                $exdp = ' ';
+               $marked = $temp[17];
+               $use = $temp[18];
+       }
+       $orgsipcolour = &ipcolour($orgsip);
+       $orgdipcolour = &ipcolour($orgdip);
+       $exsipcolour = &ipcolour($exsip);
+       $exdipcolour = &ipcolour($exdip);
+       print <<END
+       <td align='center'>$protocol</td>
+       <td align='center'>$expires</td>
+       <td align='center'>$connstatus</td>
+       <td align='center' bgcolor='$orgsipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$orgsip'><font color='#FFFFFF'>$orgsip</font></a><font color='#FFFFFF'>:$orgsp</font></td>
+       <td align='center' bgcolor='$orgdipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$orgdip'><font color='#FFFFFF'>$orgdip</font></a><font color='#FFFFFF'>:$orgdp</font></td>
+       <td align='center' bgcolor='$exsipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$exsip'><font color='#FFFFFF'>$exsip</font></a><font color='#FFFFFF'>:$exsp</font></td>
+       <td align='center' bgcolor='$exdipcolour'><a href='/cgi-bin/ipinfo.cgi?ip=$exdip'><font color='#FFFFFF'>$exdip</font></a><font color='#FFFFFF'>:$exdp</font></td>
+       <td align='center'>$marked</td><td align='center'>$use</td>
+       </tr>
+END
+       ;
+}
+print "</table>\n";
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+sub ipcolour($) {
+       my $id = 0;
+       my $line;
+       my $colour = ${Header::colourred};
+       my ($ip) = $_[0];
+       my $found = 0;
+       foreach $line (@network)
+       {
+               if (!$found && ipv4_in_network( $network[$id] , $masklen[$id], $ip) ) {
+                       $found = 1;
+                       $colour = $colour[$id];
+               }
+               $id++;
+       }
+       return $colour
+}
index 3c62306e92fab432725dbfe3cbeea16702837ec0..8a83de9ac64e4f938514d44b64875fa3964d31c4 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: credits.cgi,v 1.11.2.30 2006/01/08 13:33:36 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-&Header::showhttpheaders();\r
-\r
-&Header::openpage($Lang::tr{'credits'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'center');\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'credits'});\r
-\r
-print <<END\r
-<br /><center><b>Visit us on <a href='http://www.ipcop.org/'>http://www.ipcop.org/</a></b></center>\r
-\r
-<p><b>Main Credits</b><br />\r
-Project Member - Mark Wormgoor\r
-(<a href='mailto:mark\@wormgoor.com'>mark\@wormgoor.com</a>)<br />\r
-Project Member &amp; Configuration backup/restore - Eric S. Johansson\r
-(<a href='mailto:esj\@harvee.billerica.ma.us'>esj\@harvee.billerica.ma.us</a>)<br />\r
-Project Member - Jack Beglinger\r
-(<a href='mailto:jackb_guppy\@yahoo.com'>jackb_guppy\@yahoo.com</a>)<br />\r
-Developer - Darren Critchley\r
-(<a href='mailto:darrenc\@telus.net'>darrenc\@telus.net</a>)<br />\r
-Developer - Robert Kerr\r
-(<a href='mailto:LittleThor\@xsw.terminator.net'>LittleThor\@xsw.terminator.net</a>)<br />\r
-Developer - Alan Hourihane\r
-(<a href='mailto:alanh\@fairlite.demon.co.uk'>alanh\@fairlite.demon.co.uk</a>)<br />\r
-ADSL Developer - Gilles Espinasse\r
-(<a href='mailto:g.esp.ipcop\@free.fr'>g.esp.ipcop\@free.fr</a>)<br />\r
-Perl Developer - Franck Bourdonnec\r
-(<a href='mailto:fbourdonnec\@chez.com'>fbourdonnec\@chez.com</a>)<br />\r
-Testing - Dave Roberts\r
-(<a href='mailto:dave\@daver.demon.co.uk'>dave\@daver.demon.co.uk</a>)<br />\r
-Website Design + Graphics - Seth Bareiss\r
-(<a href='mailto:seth\@fureai-ch.ne.jp'>seth\@fureai-ch.ne.jp</a>)<br />\r
-Documentation - Harry Goldschmitt\r
-(<a href='mailto:harry\@hgac.com'>harry\@hgac.com</a>)<br />\r
-Red IP Aliasing - Steve Bootes\r
-(<a href='mailto:Steve\@computingdynamics.co.uk'>Steve\@computingdynamics.co.uk</a>)<br />\r
-Static DHCP Addresses - Graham Smith\r
-(<a href='mailto:grhm\@grhm.co.uk'>grhm\@grhm.co.uk</a>)<br />\r
-Squid graphs - Robert Wood\r
-(<a href='rob\@empathymp3.co.uk'>rob\@empathymp3.co.uk</a>)<br />\r
-Time Synchronization - Eric Oberlander\r
-(<a href='mailto:eric\@oberlander.co.uk'>eric\@oberlander.co.uk</a>)<br />\r
-Backup - Tim Butterfield\r
-(<a href='mailto:timbutterfield\@mindspring.com'>timbutterfield\@mindspring.com</a>)<br />\r
-DOV Support and Improved Dual ISDN Support - Traverse Technologies\r
-(<a href='http://www.traverse.com.au/'>http://www.traverse.com.au/</a>)<br />\r
-Traffic Shaping - David Kilpatrick\r
-(<a href='mailto:dave\@thunder.com.au'>dave\@thunder.com.au</a>)<br />\r
-Improved VPN Documentation - Christiaan Theron\r
-(<a href='mailto:christiaan.theron\@virgin.net'>christiaan.theron\@virgin.net</a>)<br />\r
-</p>\r
-\r
-<p><b>Translations</b><br />\r
-Rebecca Ward - Translation Coordinator\r
-(<a href='mailto:rebeccaaward\@cox.net'>rebeccaaward\@cox.net</a>)<br />\r
-Marco van Beek - Website Translation Database Developer\r
-(<a href='mailto:mvanbeek\@supporting-role.co.uk'>mvanbeek\@supporting-role.co.uk</a>)<br />\r
-Brazilian Portuguese:<br />\r
-&nbsp; Edson-Empresa\r
-(<a href='mailto:soma2\@somainformatica.com.br'>soma2\@somainformatica.com.br</a>)<br />\r
-&nbsp; Claudio Corr&ecirc;a Porto\r
-(<a href='mailto:claudio\@tsasp.com.br'>claudio\@tsasp.com.br</a>)<br />\r
-&nbsp; Adilson Oliveira\r
-(<a href='mailto:adilson\@linuxembarcado.com.br'>adilson\@linuxembarcado.com.br</a>)<br />\r
-&nbsp; Mauricio Andrade\r
-(<a href='mailto:mandrade\@mma.com.br'>mandrade\@mma.com.br</a>)<br />\r
-&nbsp; Wladimir Nunes\r
-(<a href='mailto:wnunes\@treesystems.com.br'>wnunes\@treesystems.com.br</a>)<br />\r
-Chinese (Simplified):<br />\r
-&nbsp; Vince Chu\r
-(<a href='mailto:chuhei\@beunion.net'>chuhei\@beunion.net</a>)<br />\r
-&nbsp; Yuan-Chen Cheng\r
-(<a href='mailto:ycheng\@wiscore.com'>ycheng\@wiscore.com</a>)<br />\r
-&nbsp; Sohoguard\r
-(<a href='mailto:sohoguard\@hotmail.com'>sohoguard\@hotmail.com</a>)<br />\r
-Chinese (Traditional):<br />\r
-&nbsp; Ronald Ng\r
-(<a href='mailto:mwpmo\@hotmail.com'>mwpmo\@hotmail.com</a>)<br />\r
-Czech:<br />\r
-&nbsp; Petr Dvoracek\r
-(<a href='mailto:mandrake\@tiscali.cz'>mandrake\@tiscali.cz</a>)<br />\r
-&nbsp; Jakub Moc\r
-(<a href='mailto:Jakub.Moc\@seznam.cz'>Jakub.Moc\@seznam.cz</a>)<br />\r
-Danish:<br />\r
-&nbsp; Michael Rasmussen\r
-(<a href='mailto:mir\@datanom.net'>mir\@datanom.net</a>)<br />\r
-Dutch:<br />\r
-&nbsp; Gerard Zwart\r
-(<a href='mailto:zwartg\@home.nl'>zwartg\@home.nl</a>)<br />\r
-&nbsp; Berdt van der Lingen\r
-(<a href='mailto:berdt\@xs4all.nl'>berdt\@xs4all.nl</a>)<br />\r
-&nbsp; Tony Vroon\r
-(<a href='mailto:mrchainsaw\@users.sourceforge.net'>mrchainsaw\@users.sourceforge.net</a>)<br />\r
-&nbsp; Mark Wormgoor<br />\r
-&nbsp; Maikel Punie\r
-(<a href='mailto:maikel.punie\@gmail.com'>maikel.punie\@gmail.com</a>)<br />\r
-English:<br />\r
-&nbsp; Jack Beglinger\r
-(<a href='mailto:jackb_guppy\@yahoo.com'>jackb_guppy\@yahoo.com</a>)<br />\r
-&nbsp; James Brice\r
-(<a href='mailto:jbrice\@jamesbrice.com'>jbrice\@jamesbrice.com</a><br />\r
-&nbsp; Tim Butterfield\r
-(<a href='mailto:timbutterfield\@mindspring.com'>timbutterfield\@mindspring.com</a>)<br />\r
-&nbsp; Chris Clancey\r
-(<a href='mailto:chrisjc\@amoose.com'>chrisjc\@amoose.com</a>)<br />\r
-&nbsp; Harry Goldschmitt\r
-(<a href='mailto:harry\@hgac.com'>harry\@hgac.com</a>)<br />\r
-&nbsp; John Kastner\r
-(<a href='mailto:john\@kastner.us'>john\@kastner.us</a>)<br />\r
-&nbsp; Eric Oberlander\r
-(<a href='mailto:eric\@oberlander.co.uk'>eric\@oberlander.co.uk</a>)<br />\r
-&nbsp; Stephen Pielschmidt\r
-(<a href='mailto:stephen.pielschmidt\@sfp.com.au'>stephen.pielschmidt\@sfp.com.au</a>)<br />\r
-&nbsp; Peter Walker\r
-(<a href='mailto:peter.walker\@stockfast.co.uk'>peter.walker\@stockfast.co.uk</a>)<br />\r
-Finnish:<br />\r
-&nbsp; Kai Käpölä\r
-(<a href='mailto:kai\@kapola.fi'>kai\@kapola.fi</a>)<br />\r
-French:<br />\r
-&nbsp; Bertrand Sarthre\r
-(<a href='mailto:zetrebu\@softhome.net'>zetrebu\@softhome.net</a>)<br />\r
-&nbsp; Michel Janssens\r
-(<a href='mailto:micj\@ixus.net'>micj\@ixus.net</a>)<br />\r
-&nbsp; Erwann Simon\r
-(<a href='mailto:esn\@infobi.com'>esn\@infobi.com</a>) (<a href='mailto:wann\@ixus.net'>wann\@ixus.net</a>)<br />\r
-&nbsp; Patrick Bernaud\r
-(<a href='mailto:patrickbernaud\@users.sourceforge.net'>patrickbernaud\@users.sourceforge.net</a>)<br />\r
-&nbsp; Marc Faid\'herbe\r
-(<a href='mailto:marc\@decad.fr'>marc\@decad.fr</a>)<br />\r
-&nbsp; Eric Legigan\r
-(<a href='mailto:eric.legigan\@wanadoo.fr'>eric.legigan\@wanadoo.fr</a>)<br />\r
-&nbsp; Eric Berthomier\r
-(<a href='mailto:ebr\@infobi.com'>ebr\@infobi.com</a>)<br />\r
-&nbsp; Stéphane Le Bourdon\r
-(<a href='mailto:stephane.lebourdon\@free.fr'>stephane.lebourdon\@free.fr</a>)<br />\r
-&nbsp; Stéphane Thirion\r
-(<a href='mailto:sthirion\@activlan.com'>sthirion\@activlan.com</a>)<br />\r
-&nbsp; Jan M. Dziewulski\r
-(<a href='mailto:jan\@dziewulski.com'>jan\@dziewulski.com</a>)<br />\r
-&nbsp;\r
-(<a href='mailto:spoutnik\@inbox.lv'>spoutnik\@inbox.lv</a>)<br />\r
-&nbsp; Eric\r
-(<a href='mailto:darriak\@users.sourceforge.net'>darriak\@users.sourceforge.net</a>)<br />\r
-&nbsp; Eric Boniface\r
-(<a href='mailto:ericboniface\@chez.com'>ericboniface\@chez.com</a>)<br />\r
-&nbsp; Franck Bourdonnec\r
-(<a href='mailto:fbourdonnec\@chez.com'>fbourdonnec\@chez.com</a>)<br />\r
-German:<br />\r
-&nbsp; Dirk Loss\r
-(<a href='mailto:dloss\@uni-muenster.de'>dloss\@uni-muenster.de</a>)<br />\r
-&nbsp; Ludwig Steininger\r
-(<a href='mailto:antispam1eastcomp\@gmx.de'>antispam1eastcomp\@gmx.de</a>)<br />\r
-&nbsp; Helmet\r
-(<a href='mailto:list\@metatalk.de'>list\@metatalk.de</a>)<br />\r
-&nbsp; Markus\r
-(<a href='mailto:mstl\@gmx.de'>mstl\@gmx.de</a>)<br />\r
-&nbsp; Michael Knappe\r
-(<a href='mailto:michael.knappe\@chello.at'>michael.knappe\@chello.at</a>)<br />\r
-&nbsp; Michael Linke\r
-(<a href='mailto:linke\@netmedia.de'>linke\@netmedia.de</a>)<br />\r
-&nbsp; Richard Hartmann\r
-(<a href='mailto:linux\@smhsoftware.de'>linux\@smhsoftware.de</a>)<br />\r
-&nbsp; Ufuk Altinkaynak\r
-(<a href='mailto:ufuk.altinkaynak\@wibo-werk.com'>ufuk.altinkaynak\@wibo-werk.com</a>)<br />\r
-&nbsp; Gerhard Abrahams\r
-(<a href='mailto:g.abrahams\@gmx.de'>g.abrahams\@gmx.de</a>)<br />\r
-&nbsp; Benjamin Kohberg\r
-(<a href='mailto:b.kohberg\@pci-software.de'>b.kohberg\@pci-software.de</a>)<br />\r
-&nbsp; Samuel Wiktor\r
-(<a href='mailto:samuel.wiktor\@stud.tu-ilmenau.de'>samuel.wiktor\@stud.tu-ilmenau.de</a>)<br />\r
-Greek:<br />\r
-&nbsp; Spyros Tsiolis\r
-(<a href='mailto:info\@abaxb2b.com'>info\@abaxb2b.com</a>)<br />\r
-&nbsp; A. Papageorgiou\r
-(<a href='mailto:apap\@freemail.gr'>apap\@freemail.gr</a>)<br />\r
-&nbsp; G. Xrysostomou\r
-(<a href='mailto:gxry\@freemail.gr'>gxry\@freemail.gr</a>)<br />\r
-Hungarian:<br />\r
-&nbsp; Ádám Makovecz\r
-(<a href='mailto:adam\@makovecz.hu'>adam\@makovecz.hu</a>)<br />\r
-&nbsp; Ferenc Mányi-Szabó\r
-(<a href='mailto:asd1234\@freemail.hu'>asd1234\@freemail.hu</a>)<br />\r
-Italian:<br />\r
-&nbsp; Fabio Gava\r
-(<a href='mailto:fabio.gava\@bloomtech.it'>fabio.gava\@bloomtech.it</a>)<br />\r
-&nbsp; Antonio Stano\r
-(<a href='mailto:admin\@securityinfos.com'>admin\@securityinfos.com</a>)<br />\r
-&nbsp; Marco Spreafico\r
-(<a href='mailto:marco\@yetopen.it'>marco\@yetopen.it</a>)<br />\r
-Latino Spanish:<br />\r
-&nbsp; Fernando Díaz\r
-(<a href='mailto:fernando.diaz\@adinet.com.uy'>fernando.diaz\@adinet.com.uy</a>)<br />\r
-Lithuanian:<br />\r
-&nbsp; Aurimas Fišeras\r
-(<a href='mailto:aurimas\@gmail.com'>aurimas\@gmail.com</a>)<br />\r
-&nbsp; Rodion Kotelnikov\r
-(<a href='mailto:r0dik\@takas.lt'>r0dik\@takas.lt</a>)<br />\r
-Norwegian:<br />\r
-&nbsp; Morten Grendal\r
-(<a href='mailto:morten\@grendal.no'>morten\@grendal.no</a>)<br />\r
-&nbsp; Alexander Dawson\r
-(<a href='mailto:daftkid\@users.sourceforge.net'>daftkid\@users.sourceforge.net</a>)<br />\r
-&nbsp; Mounir S. Chermiti\r
-(<a href='mailto:mounir\@solidonline.org'>mounir\@solidonline.org</a>)<br />\r
-&nbsp; Runar Skraastad\r
-(<a href='mailto:rus-\@home.no'>rus-\@home.no</a>)<br />\r
-&nbsp; Alf-Ivar Holm\r
-(<a href='mailto:alfh\@ifi.uio.no'>alfh\@ifi.uio.no</a>)<br />\r
-Persian (Farsi):<br />\r
-&nbsp; Ali Tajik\r
-(<a href='mailto:trosec113\@gmail.com'>trosec113\@gmail.com</a>)<br />\r
-&nbsp; A T Khalilian<br />\r
-Polish:<br />\r
-&nbsp; Jack Korzeniowski\r
-(<a href='mailto:jk2002\@mail.com'>jk2002\@mail.com</a>)<br />\r
-&nbsp; Piotr\r
-(<a href='mailto:piotr\@esse.pl'>piotr\@esse.pl</a>)<br />\r
-&nbsp; Andrzej Zolnierowicz\r
-(<a href='mailto:zolnierowicz\@users.sourceforge.net'>zolnierowicz\@users.sourceforge.net</a>)<br />\r
-&nbsp; Remi Schleicher\r
-(remi(dot)schleicher(at)phreaker(dot)net)<br />\r
-Portuguese:<br />\r
-&nbsp; Luis Santos\r
-(<a href='mailto:luis\@ciclo2000.com'>luis\@ciclo2000.com</a>)<br />\r
-&nbsp; Renato Kenji Kano\r
-(<a href='mailto:renato_kenji\@users.sourceforge.net'>renato_kenji\@users.sourceforge.net</a>)<br />\r
-&nbsp; Mark Peter\r
-(<a href='mailto:mark\@markpeter.com'>mark\@markpeter.com</a>)<br />\r
-&nbsp; Wladimir Nunes\r
-(<a href='mailto:wnunes\@users.sourceforge.net'>wnunes\@users.sourceforge.net</a>)<br />\r
-&nbsp; Daniela Cattarossi\r
-(<a href='mailto:daniela\@netpandora.com'>daniela\@netpandora.com</a>)<br />\r
-Romanian:<br />\r
-&nbsp; Viorel Melinte\r
-(<a href='mailto:viorel.melinte\@hidro.ro'>viorel.melinte\@hidro.ro</a>)<br />\r
-Russian/Ukranian:<br />\r
-&nbsp; Vladimir Grichina\r
-(<a href='mailto:vgua\@users.sourceforge.net'>vgua\@users.sourceforge.net</a>)<br />\r
-&nbsp; Vitaly Tarasov\r
-(<a href='mailto:vtarasov\@knoa.com'>vtarasov\@knoa.com</a>)<br />\r
-&nbsp; Rodion Kotelnikov\r
-(<a href='mailto:r0dik\@takas.lt'>r0dik\@takas.lt</a>)<br />\r
-Slovak:<br />\r
-&nbsp; Miloš Mráz\r
-(<a href='mailto:Milos.Mraz\@svum.sk'>Milos.Mraz\@svum.sk</a>)<br />\r
-&nbsp; Drlik Zbynek\r
-(<a href='mailto:denix\@host.sk'>denix\@host.sk</a>)<br />\r
-Slovenian:<br />\r
-&nbsp; Miha Martinec\r
-(<a href='mailto:miha\@martinec.si'>miha\@martinec.si</a>)<br />\r
-&nbsp; Grega Varl\r
-(<a href='mailto:gregav\@finea-holding.si'>gregav\@finea-holding.si</a>)<br />\r
-Somali:<br />\r
-&nbsp; Arnt Karlsen\r
-(<a href='mailto:arnt\@c2i.net'>arnt\@c2i.net</a>)<br />\r
-&nbsp; Mohamed Musa Ali\r
-(<a href='mailto:alimuse\@hotmail.com'>alimuse\@hotmail.com</a>)<br />\r
-&nbsp; Michael Spann\r
-(<a href='mailto:dr-ms\@lycos.de'>dr-ms\@lycos.de</a>)<br />\r
-Spanish:<br />\r
-&nbsp; Curtis Anderson\r
-(<a href='mailto:curtis_anderson\@curtisanderson.com'>curtis_anderson\@curtisanderson.com</a>)<br />\r
-&nbsp; Diego Lombardia\r
-(<a href='mailto:Diego.Lombardia\@IT-Plus.com.ar'>Diego.Lombardia\@IT-Plus.com.ar</a>)<br />\r
-&nbsp; Mark Peter\r
-(<a href='mailto:mark\@markpeter.com'>mark\@markpeter.com</a>)<br />\r
-&nbsp; QuiQue Soriano\r
-(<a href='mailto:jqsoriano\@hotmail.com'>jqsoriano\@hotmail.com</a>)<br />\r
-&nbsp; David Cabrera Lozano\r
-(<a href='mailto:silews\@users.sourceforge.net'>silews\@users.sourceforge.net</a>)<br />\r
-&nbsp; Jose Sanchez\r
-(<a href='mailto:jsanchez\@cyberdude.com'>jsanchez\@cyberdude.com</a>)<br />\r
-&nbsp; Santiago Cassina\r
-(<a href='mailto:scap2000\@yahoo.com'>scap2000\@yahoo.com</a>)<br />\r
-&nbsp; Marcelo Zunino\r
-(<a href='mailto:cezuni\@adinet.com.uy'>cezuni\@adinet.com.uy</a>)<br />\r
-&nbsp; Alfredo Matignon\r
-(<a href='mailto:amatignon\@softhome.net'>amatignon\@softhome.net</a>)<br />\r
-&nbsp; Juan Janczuk\r
-(<a href='mailto:jjanzcuk\@msn.com'>jjanzcuk\@msn.com</a>)<br />\r
-Swedish:<br />\r
-&nbsp; Anders Sahlman\r
-(<a href='mailto:anders.sahlman\@dataunit.se'>anders.sahlman\@dataunit.se</a>)<br />\r
-&nbsp; Christer Jonson\r
-(<a href='mailto:christer.jonson\@swipnet.se'>christer.jonson\@swipnet.se</a>)<br />\r
-Thai:<br />\r
-&nbsp; Touchie\r
-(<a href='mailto:pongsathorns\@se-ed.net'>pongsathorns\@se-ed.net</a>)<br />\r
-Turkish:<br />\r
-&nbsp; Ismail Murat Dilek\r
-(<a href='mailto:olive\@zoom.co.uk'>olive\@zoom.co.uk</a>)<br />\r
-&nbsp; Emre Sumengen\r
-<br />\r
-Vietnamese:<br />\r
-&nbsp; Le Dinh Long\r
-(<a href='mailto:longld\@yahoo.com'>longld\@yahoo.com</a>)<br />\r
-</p>\r
-\r
-<p><b>Smoothwall</b><br />\r
-IPCop is partially based on the <a href='http://www.smoothwall.org'>Smoothwall</a> GPL\r
-version, v0.9.9.  We are grateful to them for both inspiring this product and\r
-giving us the codebase to work with.  Smoothwall was developed by:\r
-</p>\r
-<p>\r
-Founder and Project Manager - Richard Morrell\r
-(<a href='mailto:richard\@smoothwall.org'>richard\@smoothwall.org</a>)<br />\r
-Development Team Leader and Author - Lawrence Manning\r
-(<a href='mailto:lawrence\@smoothwall.org'>lawrence\@smoothwall.org</a>)<br />\r
-Dan Goscomb - Architecture team leader, Core Developer &amp; Perl Guru\r
-(<a href='mailto:dang\@smoothwall.org'>dang\@smoothwall.org</a>)<br />\r
-Paul Tansom - Worldwide Community Liason\r
-(<a href='mailto:paul\@smoothwall.org'>paul\@smoothwall.org</a>)<br />\r
-William Anderson - Worldwide Online Team Manager &amp; Webmanager\r
-(<a href='mailto:neuro\@smoothwall.org'>neuro\@smoothwall.org</a>)<br />\r
-Rebecca Ward - Worldwide Online Support Manager\r
-(<a href='mailto:becca\@smoothwall.org'>becca\@smoothwall.org</a>)<br />\r
-Bill Ward - US Support &amp; Evangelist\r
-(<a href='mailto:bill\@smoothwall.org'>bill\@smoothwall.org</a>)<br />\r
-Chris Ross - Chief Wizard\r
-(<a href='mailto:chris\@smoothwall.org'>chris\@smoothwall.org</a>)<br />\r
-Mark Wormgoor - ISDN Lead Developer\r
-(<a href='mailto:mark\@wormgoor.com'>mark\@wormgoor.com</a>)<br />\r
-Eric Johansson - US Team Leader\r
-(<a href='mailto:esj\@harvee.billerica.ma.us'>esj\@harvee.billerica.ma.us</a>)<br />\r
-Dan Cuthbert - Lead Security Manager\r
-(<a href='mailto:security\@smoothwall.org'>security\@smoothwall.org</a>)<br />\r
-Pierre-Yves Paulus - Belgian Team Leader and PPPoE guru\r
-(<a href='mailto:pauluspy\@easynet.be'>pauluspy\@easynet.be</a>)<br />\r
-John Payne - DNS &amp; Tech Contibutor\r
-(<a href='mailto:john\@sackheads.org'>john\@sackheads.org</a>)<br />\r
-Adam Wilkinson - VPN Assistance\r
-(<a href='mailto:aaw10\@hslmc.cam.ac.uk'>aaw10\@hslmc.cam.ac.uk</a>)<br />\r
-Jez Tucker - Testing\r
-(<a href='mailto:jez\@rib-it.org'>jez\@rib-it.org</a>)<br />\r
-Pete Guyan - Tech testing &amp; Input\r
-(<a href='mailto:pete\@snowplains.org'>pete\@snowplains.org</a>)<br />\r
-Nigel Fenton - Development and Testing\r
-(<a href='mailto:nigel.fenton\@btinternet.com'>nigel.fenton\@btinternet.com</a>)<br />\r
-Bob Dunlop - The Guru's Guru &amp; Code Magician\r
-(<a href='mailto:rjd\@xyzzy.clara.co.uk'>rjd\@xyzzy.clara.co.uk</a>)<br />\r
-</p>\r
-<br />\r
-END\r
-;\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: credits.cgi,v 1.11.2.30 2006/01/08 13:33:36 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+&Header::showhttpheaders();
+
+&Header::openpage($Lang::tr{'credits'}, 1, '');
+
+&Header::openbigbox('100%', 'center');
+
+&Header::openbox('100%', 'left', $Lang::tr{'credits'});
+
+print <<END
+<br /><center><b>Visit us on <a href='http://www.ipcop.org/'>http://www.ipcop.org/</a></b></center>
+
+<p><b>Main Credits</b><br />
+Project Member - Mark Wormgoor
+(<a href='mailto:mark\@wormgoor.com'>mark\@wormgoor.com</a>)<br />
+Project Member &amp; Configuration backup/restore - Eric S. Johansson
+(<a href='mailto:esj\@harvee.billerica.ma.us'>esj\@harvee.billerica.ma.us</a>)<br />
+Project Member - Jack Beglinger
+(<a href='mailto:jackb_guppy\@yahoo.com'>jackb_guppy\@yahoo.com</a>)<br />
+Developer - Darren Critchley
+(<a href='mailto:darrenc\@telus.net'>darrenc\@telus.net</a>)<br />
+Developer - Robert Kerr
+(<a href='mailto:LittleThor\@xsw.terminator.net'>LittleThor\@xsw.terminator.net</a>)<br />
+Developer - Alan Hourihane
+(<a href='mailto:alanh\@fairlite.demon.co.uk'>alanh\@fairlite.demon.co.uk</a>)<br />
+ADSL Developer - Gilles Espinasse
+(<a href='mailto:g.esp.ipcop\@free.fr'>g.esp.ipcop\@free.fr</a>)<br />
+Perl Developer - Franck Bourdonnec
+(<a href='mailto:fbourdonnec\@chez.com'>fbourdonnec\@chez.com</a>)<br />
+Testing - Dave Roberts
+(<a href='mailto:dave\@daver.demon.co.uk'>dave\@daver.demon.co.uk</a>)<br />
+Website Design + Graphics - Seth Bareiss
+(<a href='mailto:seth\@fureai-ch.ne.jp'>seth\@fureai-ch.ne.jp</a>)<br />
+Documentation - Harry Goldschmitt
+(<a href='mailto:harry\@hgac.com'>harry\@hgac.com</a>)<br />
+Red IP Aliasing - Steve Bootes
+(<a href='mailto:Steve\@computingdynamics.co.uk'>Steve\@computingdynamics.co.uk</a>)<br />
+Static DHCP Addresses - Graham Smith
+(<a href='mailto:grhm\@grhm.co.uk'>grhm\@grhm.co.uk</a>)<br />
+Squid graphs - Robert Wood
+(<a href='rob\@empathymp3.co.uk'>rob\@empathymp3.co.uk</a>)<br />
+Time Synchronization - Eric Oberlander
+(<a href='mailto:eric\@oberlander.co.uk'>eric\@oberlander.co.uk</a>)<br />
+Backup - Tim Butterfield
+(<a href='mailto:timbutterfield\@mindspring.com'>timbutterfield\@mindspring.com</a>)<br />
+DOV Support and Improved Dual ISDN Support - Traverse Technologies
+(<a href='http://www.traverse.com.au/'>http://www.traverse.com.au/</a>)<br />
+Traffic Shaping - David Kilpatrick
+(<a href='mailto:dave\@thunder.com.au'>dave\@thunder.com.au</a>)<br />
+Improved VPN Documentation - Christiaan Theron
+(<a href='mailto:christiaan.theron\@virgin.net'>christiaan.theron\@virgin.net</a>)<br />
+</p>
+
+<p><b>Translations</b><br />
+Rebecca Ward - Translation Coordinator
+(<a href='mailto:rebeccaaward\@cox.net'>rebeccaaward\@cox.net</a>)<br />
+Marco van Beek - Website Translation Database Developer
+(<a href='mailto:mvanbeek\@supporting-role.co.uk'>mvanbeek\@supporting-role.co.uk</a>)<br />
+Brazilian Portuguese:<br />
+&nbsp; Edson-Empresa
+(<a href='mailto:soma2\@somainformatica.com.br'>soma2\@somainformatica.com.br</a>)<br />
+&nbsp; Claudio Corr&ecirc;a Porto
+(<a href='mailto:claudio\@tsasp.com.br'>claudio\@tsasp.com.br</a>)<br />
+&nbsp; Adilson Oliveira
+(<a href='mailto:adilson\@linuxembarcado.com.br'>adilson\@linuxembarcado.com.br</a>)<br />
+&nbsp; Mauricio Andrade
+(<a href='mailto:mandrade\@mma.com.br'>mandrade\@mma.com.br</a>)<br />
+&nbsp; Wladimir Nunes
+(<a href='mailto:wnunes\@treesystems.com.br'>wnunes\@treesystems.com.br</a>)<br />
+Chinese (Simplified):<br />
+&nbsp; Vince Chu
+(<a href='mailto:chuhei\@beunion.net'>chuhei\@beunion.net</a>)<br />
+&nbsp; Yuan-Chen Cheng
+(<a href='mailto:ycheng\@wiscore.com'>ycheng\@wiscore.com</a>)<br />
+&nbsp; Sohoguard
+(<a href='mailto:sohoguard\@hotmail.com'>sohoguard\@hotmail.com</a>)<br />
+Chinese (Traditional):<br />
+&nbsp; Ronald Ng
+(<a href='mailto:mwpmo\@hotmail.com'>mwpmo\@hotmail.com</a>)<br />
+Czech:<br />
+&nbsp; Petr Dvoracek
+(<a href='mailto:mandrake\@tiscali.cz'>mandrake\@tiscali.cz</a>)<br />
+&nbsp; Jakub Moc
+(<a href='mailto:Jakub.Moc\@seznam.cz'>Jakub.Moc\@seznam.cz</a>)<br />
+Danish:<br />
+&nbsp; Michael Rasmussen
+(<a href='mailto:mir\@datanom.net'>mir\@datanom.net</a>)<br />
+Dutch:<br />
+&nbsp; Gerard Zwart
+(<a href='mailto:zwartg\@home.nl'>zwartg\@home.nl</a>)<br />
+&nbsp; Berdt van der Lingen
+(<a href='mailto:berdt\@xs4all.nl'>berdt\@xs4all.nl</a>)<br />
+&nbsp; Tony Vroon
+(<a href='mailto:mrchainsaw\@users.sourceforge.net'>mrchainsaw\@users.sourceforge.net</a>)<br />
+&nbsp; Mark Wormgoor<br />
+&nbsp; Maikel Punie
+(<a href='mailto:maikel.punie\@gmail.com'>maikel.punie\@gmail.com</a>)<br />
+English:<br />
+&nbsp; Jack Beglinger
+(<a href='mailto:jackb_guppy\@yahoo.com'>jackb_guppy\@yahoo.com</a>)<br />
+&nbsp; James Brice
+(<a href='mailto:jbrice\@jamesbrice.com'>jbrice\@jamesbrice.com</a><br />
+&nbsp; Tim Butterfield
+(<a href='mailto:timbutterfield\@mindspring.com'>timbutterfield\@mindspring.com</a>)<br />
+&nbsp; Chris Clancey
+(<a href='mailto:chrisjc\@amoose.com'>chrisjc\@amoose.com</a>)<br />
+&nbsp; Harry Goldschmitt
+(<a href='mailto:harry\@hgac.com'>harry\@hgac.com</a>)<br />
+&nbsp; John Kastner
+(<a href='mailto:john\@kastner.us'>john\@kastner.us</a>)<br />
+&nbsp; Eric Oberlander
+(<a href='mailto:eric\@oberlander.co.uk'>eric\@oberlander.co.uk</a>)<br />
+&nbsp; Stephen Pielschmidt
+(<a href='mailto:stephen.pielschmidt\@sfp.com.au'>stephen.pielschmidt\@sfp.com.au</a>)<br />
+&nbsp; Peter Walker
+(<a href='mailto:peter.walker\@stockfast.co.uk'>peter.walker\@stockfast.co.uk</a>)<br />
+Finnish:<br />
+&nbsp; Kai Käpölä
+(<a href='mailto:kai\@kapola.fi'>kai\@kapola.fi</a>)<br />
+French:<br />
+&nbsp; Bertrand Sarthre
+(<a href='mailto:zetrebu\@softhome.net'>zetrebu\@softhome.net</a>)<br />
+&nbsp; Michel Janssens
+(<a href='mailto:micj\@ixus.net'>micj\@ixus.net</a>)<br />
+&nbsp; Erwann Simon
+(<a href='mailto:esn\@infobi.com'>esn\@infobi.com</a>) (<a href='mailto:wann\@ixus.net'>wann\@ixus.net</a>)<br />
+&nbsp; Patrick Bernaud
+(<a href='mailto:patrickbernaud\@users.sourceforge.net'>patrickbernaud\@users.sourceforge.net</a>)<br />
+&nbsp; Marc Faid\'herbe
+(<a href='mailto:marc\@decad.fr'>marc\@decad.fr</a>)<br />
+&nbsp; Eric Legigan
+(<a href='mailto:eric.legigan\@wanadoo.fr'>eric.legigan\@wanadoo.fr</a>)<br />
+&nbsp; Eric Berthomier
+(<a href='mailto:ebr\@infobi.com'>ebr\@infobi.com</a>)<br />
+&nbsp; Stéphane Le Bourdon
+(<a href='mailto:stephane.lebourdon\@free.fr'>stephane.lebourdon\@free.fr</a>)<br />
+&nbsp; Stéphane Thirion
+(<a href='mailto:sthirion\@activlan.com'>sthirion\@activlan.com</a>)<br />
+&nbsp; Jan M. Dziewulski
+(<a href='mailto:jan\@dziewulski.com'>jan\@dziewulski.com</a>)<br />
+&nbsp;
+(<a href='mailto:spoutnik\@inbox.lv'>spoutnik\@inbox.lv</a>)<br />
+&nbsp; Eric
+(<a href='mailto:darriak\@users.sourceforge.net'>darriak\@users.sourceforge.net</a>)<br />
+&nbsp; Eric Boniface
+(<a href='mailto:ericboniface\@chez.com'>ericboniface\@chez.com</a>)<br />
+&nbsp; Franck Bourdonnec
+(<a href='mailto:fbourdonnec\@chez.com'>fbourdonnec\@chez.com</a>)<br />
+German:<br />
+&nbsp; Dirk Loss
+(<a href='mailto:dloss\@uni-muenster.de'>dloss\@uni-muenster.de</a>)<br />
+&nbsp; Ludwig Steininger
+(<a href='mailto:antispam1eastcomp\@gmx.de'>antispam1eastcomp\@gmx.de</a>)<br />
+&nbsp; Helmet
+(<a href='mailto:list\@metatalk.de'>list\@metatalk.de</a>)<br />
+&nbsp; Markus
+(<a href='mailto:mstl\@gmx.de'>mstl\@gmx.de</a>)<br />
+&nbsp; Michael Knappe
+(<a href='mailto:michael.knappe\@chello.at'>michael.knappe\@chello.at</a>)<br />
+&nbsp; Michael Linke
+(<a href='mailto:linke\@netmedia.de'>linke\@netmedia.de</a>)<br />
+&nbsp; Richard Hartmann
+(<a href='mailto:linux\@smhsoftware.de'>linux\@smhsoftware.de</a>)<br />
+&nbsp; Ufuk Altinkaynak
+(<a href='mailto:ufuk.altinkaynak\@wibo-werk.com'>ufuk.altinkaynak\@wibo-werk.com</a>)<br />
+&nbsp; Gerhard Abrahams
+(<a href='mailto:g.abrahams\@gmx.de'>g.abrahams\@gmx.de</a>)<br />
+&nbsp; Benjamin Kohberg
+(<a href='mailto:b.kohberg\@pci-software.de'>b.kohberg\@pci-software.de</a>)<br />
+&nbsp; Samuel Wiktor
+(<a href='mailto:samuel.wiktor\@stud.tu-ilmenau.de'>samuel.wiktor\@stud.tu-ilmenau.de</a>)<br />
+Greek:<br />
+&nbsp; Spyros Tsiolis
+(<a href='mailto:info\@abaxb2b.com'>info\@abaxb2b.com</a>)<br />
+&nbsp; A. Papageorgiou
+(<a href='mailto:apap\@freemail.gr'>apap\@freemail.gr</a>)<br />
+&nbsp; G. Xrysostomou
+(<a href='mailto:gxry\@freemail.gr'>gxry\@freemail.gr</a>)<br />
+Hungarian:<br />
+&nbsp; Ádám Makovecz
+(<a href='mailto:adam\@makovecz.hu'>adam\@makovecz.hu</a>)<br />
+&nbsp; Ferenc Mányi-Szabó
+(<a href='mailto:asd1234\@freemail.hu'>asd1234\@freemail.hu</a>)<br />
+Italian:<br />
+&nbsp; Fabio Gava
+(<a href='mailto:fabio.gava\@bloomtech.it'>fabio.gava\@bloomtech.it</a>)<br />
+&nbsp; Antonio Stano
+(<a href='mailto:admin\@securityinfos.com'>admin\@securityinfos.com</a>)<br />
+&nbsp; Marco Spreafico
+(<a href='mailto:marco\@yetopen.it'>marco\@yetopen.it</a>)<br />
+Latino Spanish:<br />
+&nbsp; Fernando Díaz
+(<a href='mailto:fernando.diaz\@adinet.com.uy'>fernando.diaz\@adinet.com.uy</a>)<br />
+Lithuanian:<br />
+&nbsp; Aurimas Fišeras
+(<a href='mailto:aurimas\@gmail.com'>aurimas\@gmail.com</a>)<br />
+&nbsp; Rodion Kotelnikov
+(<a href='mailto:r0dik\@takas.lt'>r0dik\@takas.lt</a>)<br />
+Norwegian:<br />
+&nbsp; Morten Grendal
+(<a href='mailto:morten\@grendal.no'>morten\@grendal.no</a>)<br />
+&nbsp; Alexander Dawson
+(<a href='mailto:daftkid\@users.sourceforge.net'>daftkid\@users.sourceforge.net</a>)<br />
+&nbsp; Mounir S. Chermiti
+(<a href='mailto:mounir\@solidonline.org'>mounir\@solidonline.org</a>)<br />
+&nbsp; Runar Skraastad
+(<a href='mailto:rus-\@home.no'>rus-\@home.no</a>)<br />
+&nbsp; Alf-Ivar Holm
+(<a href='mailto:alfh\@ifi.uio.no'>alfh\@ifi.uio.no</a>)<br />
+Persian (Farsi):<br />
+&nbsp; Ali Tajik
+(<a href='mailto:trosec113\@gmail.com'>trosec113\@gmail.com</a>)<br />
+&nbsp; A T Khalilian<br />
+Polish:<br />
+&nbsp; Jack Korzeniowski
+(<a href='mailto:jk2002\@mail.com'>jk2002\@mail.com</a>)<br />
+&nbsp; Piotr
+(<a href='mailto:piotr\@esse.pl'>piotr\@esse.pl</a>)<br />
+&nbsp; Andrzej Zolnierowicz
+(<a href='mailto:zolnierowicz\@users.sourceforge.net'>zolnierowicz\@users.sourceforge.net</a>)<br />
+&nbsp; Remi Schleicher
+(remi(dot)schleicher(at)phreaker(dot)net)<br />
+Portuguese:<br />
+&nbsp; Luis Santos
+(<a href='mailto:luis\@ciclo2000.com'>luis\@ciclo2000.com</a>)<br />
+&nbsp; Renato Kenji Kano
+(<a href='mailto:renato_kenji\@users.sourceforge.net'>renato_kenji\@users.sourceforge.net</a>)<br />
+&nbsp; Mark Peter
+(<a href='mailto:mark\@markpeter.com'>mark\@markpeter.com</a>)<br />
+&nbsp; Wladimir Nunes
+(<a href='mailto:wnunes\@users.sourceforge.net'>wnunes\@users.sourceforge.net</a>)<br />
+&nbsp; Daniela Cattarossi
+(<a href='mailto:daniela\@netpandora.com'>daniela\@netpandora.com</a>)<br />
+Romanian:<br />
+&nbsp; Viorel Melinte
+(<a href='mailto:viorel.melinte\@hidro.ro'>viorel.melinte\@hidro.ro</a>)<br />
+Russian/Ukranian:<br />
+&nbsp; Vladimir Grichina
+(<a href='mailto:vgua\@users.sourceforge.net'>vgua\@users.sourceforge.net</a>)<br />
+&nbsp; Vitaly Tarasov
+(<a href='mailto:vtarasov\@knoa.com'>vtarasov\@knoa.com</a>)<br />
+&nbsp; Rodion Kotelnikov
+(<a href='mailto:r0dik\@takas.lt'>r0dik\@takas.lt</a>)<br />
+Slovak:<br />
+&nbsp; Miloš Mráz
+(<a href='mailto:Milos.Mraz\@svum.sk'>Milos.Mraz\@svum.sk</a>)<br />
+&nbsp; Drlik Zbynek
+(<a href='mailto:denix\@host.sk'>denix\@host.sk</a>)<br />
+Slovenian:<br />
+&nbsp; Miha Martinec
+(<a href='mailto:miha\@martinec.si'>miha\@martinec.si</a>)<br />
+&nbsp; Grega Varl
+(<a href='mailto:gregav\@finea-holding.si'>gregav\@finea-holding.si</a>)<br />
+Somali:<br />
+&nbsp; Arnt Karlsen
+(<a href='mailto:arnt\@c2i.net'>arnt\@c2i.net</a>)<br />
+&nbsp; Mohamed Musa Ali
+(<a href='mailto:alimuse\@hotmail.com'>alimuse\@hotmail.com</a>)<br />
+&nbsp; Michael Spann
+(<a href='mailto:dr-ms\@lycos.de'>dr-ms\@lycos.de</a>)<br />
+Spanish:<br />
+&nbsp; Curtis Anderson
+(<a href='mailto:curtis_anderson\@curtisanderson.com'>curtis_anderson\@curtisanderson.com</a>)<br />
+&nbsp; Diego Lombardia
+(<a href='mailto:Diego.Lombardia\@IT-Plus.com.ar'>Diego.Lombardia\@IT-Plus.com.ar</a>)<br />
+&nbsp; Mark Peter
+(<a href='mailto:mark\@markpeter.com'>mark\@markpeter.com</a>)<br />
+&nbsp; QuiQue Soriano
+(<a href='mailto:jqsoriano\@hotmail.com'>jqsoriano\@hotmail.com</a>)<br />
+&nbsp; David Cabrera Lozano
+(<a href='mailto:silews\@users.sourceforge.net'>silews\@users.sourceforge.net</a>)<br />
+&nbsp; Jose Sanchez
+(<a href='mailto:jsanchez\@cyberdude.com'>jsanchez\@cyberdude.com</a>)<br />
+&nbsp; Santiago Cassina
+(<a href='mailto:scap2000\@yahoo.com'>scap2000\@yahoo.com</a>)<br />
+&nbsp; Marcelo Zunino
+(<a href='mailto:cezuni\@adinet.com.uy'>cezuni\@adinet.com.uy</a>)<br />
+&nbsp; Alfredo Matignon
+(<a href='mailto:amatignon\@softhome.net'>amatignon\@softhome.net</a>)<br />
+&nbsp; Juan Janczuk
+(<a href='mailto:jjanzcuk\@msn.com'>jjanzcuk\@msn.com</a>)<br />
+Swedish:<br />
+&nbsp; Anders Sahlman
+(<a href='mailto:anders.sahlman\@dataunit.se'>anders.sahlman\@dataunit.se</a>)<br />
+&nbsp; Christer Jonson
+(<a href='mailto:christer.jonson\@swipnet.se'>christer.jonson\@swipnet.se</a>)<br />
+Thai:<br />
+&nbsp; Touchie
+(<a href='mailto:pongsathorns\@se-ed.net'>pongsathorns\@se-ed.net</a>)<br />
+Turkish:<br />
+&nbsp; Ismail Murat Dilek
+(<a href='mailto:olive\@zoom.co.uk'>olive\@zoom.co.uk</a>)<br />
+&nbsp; Emre Sumengen
+<br />
+Vietnamese:<br />
+&nbsp; Le Dinh Long
+(<a href='mailto:longld\@yahoo.com'>longld\@yahoo.com</a>)<br />
+</p>
+
+<p><b>Smoothwall</b><br />
+IPCop is partially based on the <a href='http://www.smoothwall.org'>Smoothwall</a> GPL
+version, v0.9.9.  We are grateful to them for both inspiring this product and
+giving us the codebase to work with.  Smoothwall was developed by:
+</p>
+<p>
+Founder and Project Manager - Richard Morrell
+(<a href='mailto:richard\@smoothwall.org'>richard\@smoothwall.org</a>)<br />
+Development Team Leader and Author - Lawrence Manning
+(<a href='mailto:lawrence\@smoothwall.org'>lawrence\@smoothwall.org</a>)<br />
+Dan Goscomb - Architecture team leader, Core Developer &amp; Perl Guru
+(<a href='mailto:dang\@smoothwall.org'>dang\@smoothwall.org</a>)<br />
+Paul Tansom - Worldwide Community Liason
+(<a href='mailto:paul\@smoothwall.org'>paul\@smoothwall.org</a>)<br />
+William Anderson - Worldwide Online Team Manager &amp; Webmanager
+(<a href='mailto:neuro\@smoothwall.org'>neuro\@smoothwall.org</a>)<br />
+Rebecca Ward - Worldwide Online Support Manager
+(<a href='mailto:becca\@smoothwall.org'>becca\@smoothwall.org</a>)<br />
+Bill Ward - US Support &amp; Evangelist
+(<a href='mailto:bill\@smoothwall.org'>bill\@smoothwall.org</a>)<br />
+Chris Ross - Chief Wizard
+(<a href='mailto:chris\@smoothwall.org'>chris\@smoothwall.org</a>)<br />
+Mark Wormgoor - ISDN Lead Developer
+(<a href='mailto:mark\@wormgoor.com'>mark\@wormgoor.com</a>)<br />
+Eric Johansson - US Team Leader
+(<a href='mailto:esj\@harvee.billerica.ma.us'>esj\@harvee.billerica.ma.us</a>)<br />
+Dan Cuthbert - Lead Security Manager
+(<a href='mailto:security\@smoothwall.org'>security\@smoothwall.org</a>)<br />
+Pierre-Yves Paulus - Belgian Team Leader and PPPoE guru
+(<a href='mailto:pauluspy\@easynet.be'>pauluspy\@easynet.be</a>)<br />
+John Payne - DNS &amp; Tech Contibutor
+(<a href='mailto:john\@sackheads.org'>john\@sackheads.org</a>)<br />
+Adam Wilkinson - VPN Assistance
+(<a href='mailto:aaw10\@hslmc.cam.ac.uk'>aaw10\@hslmc.cam.ac.uk</a>)<br />
+Jez Tucker - Testing
+(<a href='mailto:jez\@rib-it.org'>jez\@rib-it.org</a>)<br />
+Pete Guyan - Tech testing &amp; Input
+(<a href='mailto:pete\@snowplains.org'>pete\@snowplains.org</a>)<br />
+Nigel Fenton - Development and Testing
+(<a href='mailto:nigel.fenton\@btinternet.com'>nigel.fenton\@btinternet.com</a>)<br />
+Bob Dunlop - The Guru's Guru &amp; Code Magician
+(<a href='mailto:rjd\@xyzzy.clara.co.uk'>rjd\@xyzzy.clara.co.uk</a>)<br />
+</p>
+<br />
+END
+;
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
index 6785a8968cacb89783b3fdf3d46e7b0fb947645e..69b9838e68e37574b6ba98005812fb44b1a8fd06 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: ddns.cgi,v 1.7.2.41 2006/02/07 01:29:47 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my $ddnsprefix = $Lang::tr{'ddns noip prefix'};\r
-$ddnsprefix =~ s/%/$General::noipprefix/;\r
-\r
-# Files used\r
-my $setting = "${General::swroot}/ddns/settings";\r
-our $datafile = "${General::swroot}/ddns/config";\r
-\r
-my %settings=();\r
-#Settings1\r
-$settings{'BEHINDROUTER'} = 'RED_IP';\r
-$settings{'MINIMIZEUPDATES'} = '';\r
-\r
-#Settings2 for editing the multi-line list\r
-#Must not be saved !\r
-$settings{'HOSTNAME'} = '';\r
-$settings{'DOMAIN'} = '';\r
-$settings{'LOGIN'} = '';\r
-$settings{'PASSWORD'} = '';\r
-$settings{'PASSWORD2'} = '';\r
-$settings{'ENABLED'} = '';\r
-$settings{'PROXY'} = '';\r
-$settings{'WILDCARDS'} = '';\r
-$settings{'SERVICE'} = '';\r
-\r
-my @nosaved=('HOSTNAME','DOMAIN','LOGIN','PASSWORD','PASSWORD2',\r
-            'ENABLED','PROXY','WILDCARDS','SERVICE');  # List here ALL setting2 fields. Mandatory\r
-    \r
-$settings{'ACTION'} = '';              # add/edit/remove\r
-$settings{'KEY1'} = '';                        # point record for ACTION\r
-$settings{'KEY2'} = '';                        # point record for ACTION\r
-\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-#Get GUI values\r
-&Header::getcgihash(\%settings);\r
-\r
-# Load multiline data\r
-our @current = ();\r
-if (open(FILE, "$datafile")) {\r
-    @current = <FILE>;\r
-    close (FILE);\r
-}\r
-\r
-#\r
-# Check Settings1 first because they are needed before working on @current\r
-#\r
-if ($settings{'ACTION'} eq $Lang::tr{'save'}) {\r
-    # No user input to check.  !\r
-    #unless ($errormessage) {                                  # Everything is ok, save settings\r
-       $settings{'BEHINDROUTERWAITLOOP'} = '-1';               # init  & will update on next setddns.pl call\r
-       map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1','KEY2'));# Must never be saved \r
-       &General::writehash($setting, \%settings);              # Save good settings\r
-       $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'\r
-       map ($settings{$_}= '',(@nosaved,'KEY1','KEY2'));       # and reinit var to empty\r
-    #}\r
-} else {\r
-    &General::readhash($setting, \%settings);                  # Get saved settings and reset to good if needed\r
-}\r
-\r
-#\r
-# Now manipulate the multi-line list with Settings2\r
-#\r
-# Toggle enable/disable field.  Field is in second position\r
-if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {\r
-    #move out new line\r
-    chomp(@current[$settings{'KEY1'}]);\r
-    my @temp = split(/\,/,@current[$settings{'KEY1'}]);\r
-    my $K2=$settings{'KEY2'};\r
-    $temp[ $K2 ] = ( $temp[ $K2 ] eq 'on') ? '' : 'on';                # Toggle the field\r
-    @current[$settings{'KEY1'}] = join (',',@temp)."\n";\r
-    $settings{'KEY1'} = '';                                    # End edit mode\r
-    &General::log($Lang::tr{'ddns hostname modified'});\r
-\r
-    # Write changes to config file.\r
-    &WriteDataFile;                                            # sort newly added/modified entry\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'add'}) {\r
-    # Validate inputs\r
-\r
-    unless ($settings{'LOGIN'} ne '') {\r
-       $errormessage = $Lang::tr{'username not set'};\r
-    }\r
-\r
-    # list box returns 'service optional synonyms'\r
-    # keep only first name\r
-    $settings{'SERVICE'} =~ s/ .*$//;\r
-    \r
-    # for freedns.afraid.org, only 'connect string' is mandatory\r
-    if ($settings{'SERVICE'} ne 'freedns.afraid.org') {\r
-       unless ($settings{'SERVICE'} eq 'regfish.com' || $settings{'PASSWORD'} ne '') {\r
-           $errormessage = $Lang::tr{'password not set'};\r
-       }\r
-       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {\r
-           $errormessage = $Lang::tr{'passwords do not match'};\r
-       }\r
-       \r
-       # Permit an empty HOSTNAME for the nsupdate, regfish, dyndns, enom, ovh, zoneedit, no-ip, easydns\r
-        unless ($settings{'SERVICE'} eq 'zoneedit.com' || $settings{'SERVICE'} eq 'nsupdate' || \r
-               $settings{'SERVICE'} eq 'dyndns-custom'|| $settings{'SERVICE'} eq 'regfish.com' || \r
-               $settings{'SERVICE'} eq 'enom.com' || $settings{'SERVICE'} eq 'dnspark.com' ||\r
-               $settings{'SERVICE'} eq 'ovh.com' || $settings{'HOSTNAME'} ne '' ||\r
-               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com' ) {\r
-           $errormessage = $Lang::tr{'hostname not set'};\r
-       }\r
-       unless ($settings{'HOSTNAME'} eq '' || $settings{'HOSTNAME'} =~ /^[a-zA-Z_0-9-]+$/) {\r
-           $errormessage = $Lang::tr{'invalid hostname'};\r
-       }\r
-       unless ($settings{'DOMAIN'} ne '') {\r
-           $errormessage = $Lang::tr{'domain not set'};\r
-       }\r
-       unless ($settings{'DOMAIN'} =~ /^[a-zA-Z_0-9.-]+$/) { \r
-           $errormessage = $Lang::tr{'invalid domain name'};\r
-       }\r
-       unless ($settings{'DOMAIN'} =~ /[.]/) {\r
-           $errormessage = $Lang::tr{'invalid domain name'};\r
-       }\r
-    }\r
-\r
-    # recheck service wich don't need too much fields\r
-    if ($settings{'SERVICE'} eq 'cjb.net') {\r
-       $errormessage = ''; # clear previous error\r
-       unless ($settings{'LOGIN'} ne '') {\r
-           $errormessage = $Lang::tr{'username not set'};\r
-       }\r
-       unless ($settings{'PASSWORD'} ne '') {\r
-           $errormessage = $Lang::tr{'password not set'};\r
-       }\r
-       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {\r
-           $errormessage = $Lang::tr{'passwords do not match'};\r
-       }\r
-    }\r
-\r
-    unless ($errormessage) {\r
-       if ($settings{'KEY1'} eq '') { #add or edit ?\r
-           unshift (@current, "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n");\r
-           &General::log($Lang::tr{'ddns hostname added'});\r
-       } else {\r
-           @current[$settings{'KEY1'}] = "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";\r
-           $settings{'KEY1'} = '';       # End edit mode\r
-           &General::log($Lang::tr{'ddns hostname modified'});\r
-       }\r
-       map ($settings{$_}='' ,@nosaved);       # Clear fields\r
-        # Write changes to config file.\r
-       &WriteDataFile;                         # sort newly added/modified entry\r
-    }\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-    #move out new line\r
-    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current\r
-    chomp($line);\r
-    my @temp = split(/\,/, $line);\r
-    $settings{'SERVICE'}       = $temp[0];\r
-    $settings{'HOSTNAME'}      = $temp[1];\r
-    $settings{'DOMAIN'}                = $temp[2];\r
-    $settings{'PROXY'}         = $temp[3];\r
-    $settings{'WILDCARDS'}     = $temp[4];\r
-    $settings{'LOGIN'}         = $temp[5];\r
-    $settings{'PASSWORD'} = $settings{'PASSWORD2'} = $temp[6];\r
-    $settings{'ENABLED'}       = $temp[7];\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    splice (@current,$settings{'KEY1'},1);             # Delete line \r
-    open(FILE, ">$datafile") or die 'ddns datafile error';\r
-    print FILE @current;\r
-    close(FILE);\r
-    $settings{'KEY1'} = '';                            # End remove mode\r
-    &General::log($Lang::tr{'ddns hostname removed'});\r
-    # Write changes to config file.\r
-    &WriteDataFile;\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'instant update'}) {\r
-    system('/usr/local/bin/setddns.pl', '-f');\r
-}\r
-\r
-\r
-if ($settings{'ACTION'} eq '')\r
-{\r
-    $settings{'SERVICE'} = 'dyndns.org';\r
-    $settings{'ENABLED'} = 'on';\r
-}\r
-\r
-&Header::openpage($Lang::tr{'dynamic dns'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-my %checked =();     # Checkbox manipulations\r
-$checked{'SERVICE'}{'cjb.net'} = '';\r
-$checked{'SERVICE'}{'dhs.org'} = '';\r
-$checked{'SERVICE'}{'dnspark.com'} = '';\r
-$checked{'SERVICE'}{'dtdns.com'} = '';\r
-$checked{'SERVICE'}{'dyndns.org'} = '';\r
-$checked{'SERVICE'}{'dyndns-custom'} = '';\r
-$checked{'SERVICE'}{'dyndns-static'} = '';\r
-$checked{'SERVICE'}{'dyns.cx'} = '';\r
-$checked{'SERVICE'}{'dynu.ca'} = '';\r
-$checked{'SERVICE'}{'easydns.com'} = '';\r
-$checked{'SERVICE'}{'enom.com'} = '';\r
-$checked{'SERVICE'}{'freedns.afraid.org'} = '';\r
-$checked{'SERVICE'}{'hn.org'} = '';\r
-$checked{'SERVICE'}{'no-ip.com'} = '';\r
-$checked{'SERVICE'}{'nsupdate'} = '';\r
-$checked{'SERVICE'}{'ovh.com'} = '';\r
-$checked{'SERVICE'}{'regfish.com'} = '';\r
-$checked{'SERVICE'}{'selfhost.de'} = '';\r
-$checked{'SERVICE'}{'tzo.com'} = '';\r
-$checked{'SERVICE'}{'zoneedit.com'} = '';\r
-$checked{'SERVICE'}{$settings{'SERVICE'}} = "selected='selected'";\r
-\r
-$checked{'BEHINDROUTER'}{'RED_IP'} = '';\r
-$checked{'BEHINDROUTER'}{'FETCH_IP'} = '';\r
-$checked{'BEHINDROUTER'}{$settings{'BEHINDROUTER'}} = "checked='checked'";\r
-$checked{'MINIMIZEUPDATES'} = ($settings{'MINIMIZEUPDATES'} eq '' ) ? '' : "checked='checked'";\r
-\r
-$checked{'PROXY'}{'on'} = ($settings{'PROXY'} eq '') ? '' : "checked='checked'";\r
-$checked{'WILDCARDS'}{'on'} = ($settings{'WILDCARDS'} eq '') ? '' : "checked='checked'";\r
-$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq '' ) ? '' : "checked='checked'";\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>";\r
-    &Header::closebox();\r
-}\r
-\r
-if ($warnmessage) {\r
-    $warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage";\r
-}\r
-&Header::openbox('100%', 'left', $Lang::tr{'settings'});\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-        <td class='base'>$Lang::tr{'dyn dns source choice'}</td>\r
-</tr><tr>\r
-    <td class='base'><input type='radio' name='BEHINDROUTER' value='RED_IP' $checked{'BEHINDROUTER'}{'RED_IP'} />\r
-    $Lang::tr{'use ipcop red ip'}</td>\r
-</tr><tr>\r
-    <td class='base'><input type='radio' name='BEHINDROUTER' value='FETCH_IP' $checked{'BEHINDROUTER'}{'FETCH_IP'} />\r
-    $Lang::tr{'fetch ip from'} <img src='/blob.gif' alt='*' /></td>\r
-</tr>\r
-<tr>\r
-    <td class='base'><input type='checkbox' name='MINIMIZEUPDATES' $checked{'MINIMIZEUPDATES'} />\r
-    $Lang::tr{'ddns minimize updates'}</td>\r
-</tr>\r
-</table>\r
-<br /><hr />\r
-END\r
-;\r
-\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>\r
-    <td width='70%' class='base'>$Lang::tr{'avoid dod'}</td>\r
-    <td width='30%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();   # end of Settings1\r
-\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($settings{'KEY1'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});\r
-} else {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'add a host'});\r
-}\r
-\r
-#Edited line number (KEY1) passed until cleared by 'save' or 'remove'\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />\r
-<table width='100%'>\r
-<tr>\r
-    <td width='25%' class='base'>$Lang::tr{'service'}:</td>\r
-    <td width='25%'><select size='1' name='SERVICE'>\r
-    <option $checked{'SERVICE'}{'cjb.net'}>cjb.net</option>\r
-    <option $checked{'SERVICE'}{'dhs.org'}>dhs.org</option>\r
-    <option $checked{'SERVICE'}{'dnspark.com'}>dnspark.com</option>\r
-    <option $checked{'SERVICE'}{'dtdns.com'}>dtdns.com</option>\r
-    <option $checked{'SERVICE'}{'dyndns.org'}>dyndns.org</option>\r
-    <option $checked{'SERVICE'}{'dyndns-custom'}>dyndns-custom</option>\r
-    <option $checked{'SERVICE'}{'dyndns-static'}>dyndns-static</option>\r
-    <option $checked{'SERVICE'}{'dyns.cx'}>dyns.cx</option>\r
-    <option $checked{'SERVICE'}{'dynu.ca'}>dynu.ca dyn.ee dynserv.(ca|org|net|com)</option>\r
-    <option $checked{'SERVICE'}{'easydns.com'}>easydns.com</option>\r
-    <option $checked{'SERVICE'}{'enom.com'}>enom.com</option>\r
-    <option $checked{'SERVICE'}{'freedns.afraid.org'}>freedns.afraid.org</option>\r
-    <option $checked{'SERVICE'}{'hn.org'}>hn.org</option>\r
-    <option $checked{'SERVICE'}{'no-ip.com'}>no-ip.com</option>\r
-    <option $checked{'SERVICE'}{'nsupdate'}>nsupdate</option>\r
-    <option $checked{'SERVICE'}{'ovh.com'}>ovh.com</option>\r
-    <option $checked{'SERVICE'}{'regfish.com'}>regfish.com</option>\r
-    <option $checked{'SERVICE'}{'selfhost.de'}>selfhost.de</option>\r
-<!--    <option $checked{'SERVICE'}{'tzo.com'}>tzo.com</option>        comment this service out until a working fix is developed -->\r
-    <option $checked{'SERVICE'}{'zoneedit.com'}>zoneedit.com</option>\r
-    </select></td>\r
-    <td width='20%' class='base'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td width='30%'><input type='text' name='HOSTNAME' value='$settings{'HOSTNAME'}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'behind a proxy'}</td>\r
-    <td><input type='checkbox' name='PROXY' value='on' $checked{'PROXY'}{'on'} /></td>\r
-    <td class='base'>$Lang::tr{'domain'}:</td>\r
-    <td><input type='text' name='DOMAIN' value='$settings{'DOMAIN'}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'enable wildcards'}</td>\r
-    <td><input type='checkbox' name='WILDCARDS' value='on' $checked{'WILDCARDS'}{'on'} /></td>\r
-    <td class='base'>$Lang::tr{'username'}</td>\r
-    <td><input type='text' name='LOGIN' value='$settings{'LOGIN'}' /></td>\r
-</tr><tr>\r
-    <td></td>\r
-    <td></td>\r
-    <td class='base'>$Lang::tr{'password'}</td>\r
-    <td><input type='password' name='PASSWORD' value='$settings{'PASSWORD'}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'enabled'}</td>\r
-    <td><input type='checkbox' name='ENABLED' value='on' $checked{'ENABLED'}{'on'} /></td>\r
-    <td class='base'>$Lang::tr{'again'}</td>\r
-    <td><input type='password' name='PASSWORD2' value='$settings{'PASSWORD2'}' /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>\r
-    <td width='70%' class='base'>$ddnsprefix</td>\r
-    \r
-    <td width='30%' align='center' class='base'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />\r
-       <input type='submit' name='SUBMIT' value='$buttontext' />    </td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-#\r
-# Third box shows the list, in columns\r
-#\r
-&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td width='15%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></td>\r
-    <td width='25%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></td>\r
-    <td width='30%' align='center' class='boldbase'><b>$Lang::tr{'domain'}</b></td>\r
-    <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'proxy'}</b></td>\r
-    <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'wildcards'}</b></td>\r
-    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-my $ip = &General::GetDyndnsRedIP;\r
-my $key = 0;\r
-foreach my $line (@current) {\r
-    chomp($line);                              # remove newline\r
-    my @temp = split(/\,/,$line);\r
-\r
-    if ($temp[0] eq 'no-ip.com') {\r
-       $temp[1] =~ s!$General::noipprefix(.*)!<b>group:</b>$1 !;\r
-    } \r
-\r
-    #Choose icon for checkbox\r
-\r
-    my $gifproxy='';\r
-    my $descproxy='';\r
-    if ($temp[3] eq "on") {\r
-       $gifproxy = 'on.gif';\r
-       $descproxy = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gifproxy = 'off.gif';\r
-       $descproxy = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    my $gifwildcard='';\r
-    my $descwildcard='';\r
-    if ($temp[4] eq "on") {\r
-       $gifwildcard = 'on.gif';\r
-       $descwildcard = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gifwildcard = 'off.gif';\r
-       $descwildcard = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    my $sync = "<font color='blue'>";\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    if ($temp[7] eq "on") {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-        $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'};\r
-    }\r
-                               \r
-    #Colorize each line\r
-    if ($settings{'KEY1'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-    \r
-    #if a field is empty, replace it with a '---' to see colorized info!\r
-    $temp[1] = '---' if (!$temp[1]);\r
-    $temp[2] = '---' if (!$temp[2]);\r
-\r
-    print <<END\r
-<td align='center'><a href='http://$temp[0]'>$temp[0]</a></td>\r
-<td align='center'>$sync$temp[1]</td>\r
-<td align='center'>$sync$temp[2]</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifproxy' alt='$descproxy' title='$descproxy' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-<input type='hidden' name='KEY2' value='3' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifwildcard' alt='$descwildcard' title='$descwildcard' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-<input type='hidden' name='KEY2' value='4' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-<input type='hidden' name='KEY2' value='7' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-    $key++;\r
-}\r
-print "</table>";\r
-\r
-# If table contains entries, print 'Key to action icons'\r
-if ($key) {\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to disable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to enable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-    <td class='base'>$Lang::tr{'edit'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-    <td class='base'>$Lang::tr{'remove'}</td>\r
-    <form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-        <td align='center' width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>\r
-    </form>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-## Ouf it's the end !\r
-\r
-\r
-# write the "current" array\r
-sub WriteDataFile {\r
-    #Save current\r
-    open(FILE, ">$datafile") or die 'ddns datafile error';\r
-    print FILE @current;\r
-    close (FILE);\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: ddns.cgi,v 1.7.2.41 2006/02/07 01:29:47 franck78 Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );
+undef (@dummy);
+
+my $ddnsprefix = $Lang::tr{'ddns noip prefix'};
+$ddnsprefix =~ s/%/$General::noipprefix/;
+
+# Files used
+my $setting = "${General::swroot}/ddns/settings";
+our $datafile = "${General::swroot}/ddns/config";
+
+my %settings=();
+#Settings1
+$settings{'BEHINDROUTER'} = 'RED_IP';
+$settings{'MINIMIZEUPDATES'} = '';
+
+#Settings2 for editing the multi-line list
+#Must not be saved !
+$settings{'HOSTNAME'} = '';
+$settings{'DOMAIN'} = '';
+$settings{'LOGIN'} = '';
+$settings{'PASSWORD'} = '';
+$settings{'PASSWORD2'} = '';
+$settings{'ENABLED'} = '';
+$settings{'PROXY'} = '';
+$settings{'WILDCARDS'} = '';
+$settings{'SERVICE'} = '';
+
+my @nosaved=('HOSTNAME','DOMAIN','LOGIN','PASSWORD','PASSWORD2',
+            'ENABLED','PROXY','WILDCARDS','SERVICE');  # List here ALL setting2 fields. Mandatory
+    
+$settings{'ACTION'} = '';              # add/edit/remove
+$settings{'KEY1'} = '';                        # point record for ACTION
+$settings{'KEY2'} = '';                        # point record for ACTION
+
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+#Get GUI values
+&Header::getcgihash(\%settings);
+
+# Load multiline data
+our @current = ();
+if (open(FILE, "$datafile")) {
+    @current = <FILE>;
+    close (FILE);
+}
+
+#
+# Check Settings1 first because they are needed before working on @current
+#
+if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
+    # No user input to check.  !
+    #unless ($errormessage) {                                  # Everything is ok, save settings
+       $settings{'BEHINDROUTERWAITLOOP'} = '-1';               # init  & will update on next setddns.pl call
+       map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1','KEY2'));# Must never be saved 
+       &General::writehash($setting, \%settings);              # Save good settings
+       $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'
+       map ($settings{$_}= '',(@nosaved,'KEY1','KEY2'));       # and reinit var to empty
+    #}
+} else {
+    &General::readhash($setting, \%settings);                  # Get saved settings and reset to good if needed
+}
+
+#
+# Now manipulate the multi-line list with Settings2
+#
+# Toggle enable/disable field.  Field is in second position
+if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+    #move out new line
+    chomp(@current[$settings{'KEY1'}]);
+    my @temp = split(/\,/,@current[$settings{'KEY1'}]);
+    my $K2=$settings{'KEY2'};
+    $temp[ $K2 ] = ( $temp[ $K2 ] eq 'on') ? '' : 'on';                # Toggle the field
+    @current[$settings{'KEY1'}] = join (',',@temp)."\n";
+    $settings{'KEY1'} = '';                                    # End edit mode
+    &General::log($Lang::tr{'ddns hostname modified'});
+
+    # Write changes to config file.
+    &WriteDataFile;                                            # sort newly added/modified entry
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+    # Validate inputs
+
+    unless ($settings{'LOGIN'} ne '') {
+       $errormessage = $Lang::tr{'username not set'};
+    }
+
+    # list box returns 'service optional synonyms'
+    # keep only first name
+    $settings{'SERVICE'} =~ s/ .*$//;
+    
+    # for freedns.afraid.org, only 'connect string' is mandatory
+    if ($settings{'SERVICE'} ne 'freedns.afraid.org') {
+       unless ($settings{'SERVICE'} eq 'regfish.com' || $settings{'PASSWORD'} ne '') {
+           $errormessage = $Lang::tr{'password not set'};
+       }
+       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {
+           $errormessage = $Lang::tr{'passwords do not match'};
+       }
+       
+       # Permit an empty HOSTNAME for the nsupdate, regfish, dyndns, enom, ovh, zoneedit, no-ip, easydns
+        unless ($settings{'SERVICE'} eq 'zoneedit.com' || $settings{'SERVICE'} eq 'nsupdate' || 
+               $settings{'SERVICE'} eq 'dyndns-custom'|| $settings{'SERVICE'} eq 'regfish.com' || 
+               $settings{'SERVICE'} eq 'enom.com' || $settings{'SERVICE'} eq 'dnspark.com' ||
+               $settings{'SERVICE'} eq 'ovh.com' || $settings{'HOSTNAME'} ne '' ||
+               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com' ) {
+           $errormessage = $Lang::tr{'hostname not set'};
+       }
+       unless ($settings{'HOSTNAME'} eq '' || $settings{'HOSTNAME'} =~ /^[a-zA-Z_0-9-]+$/) {
+           $errormessage = $Lang::tr{'invalid hostname'};
+       }
+       unless ($settings{'DOMAIN'} ne '') {
+           $errormessage = $Lang::tr{'domain not set'};
+       }
+       unless ($settings{'DOMAIN'} =~ /^[a-zA-Z_0-9.-]+$/) { 
+           $errormessage = $Lang::tr{'invalid domain name'};
+       }
+       unless ($settings{'DOMAIN'} =~ /[.]/) {
+           $errormessage = $Lang::tr{'invalid domain name'};
+       }
+    }
+
+    # recheck service wich don't need too much fields
+    if ($settings{'SERVICE'} eq 'cjb.net') {
+       $errormessage = ''; # clear previous error
+       unless ($settings{'LOGIN'} ne '') {
+           $errormessage = $Lang::tr{'username not set'};
+       }
+       unless ($settings{'PASSWORD'} ne '') {
+           $errormessage = $Lang::tr{'password not set'};
+       }
+       unless ($settings{'PASSWORD'} eq $settings{'PASSWORD2'}) {
+           $errormessage = $Lang::tr{'passwords do not match'};
+       }
+    }
+
+    unless ($errormessage) {
+       if ($settings{'KEY1'} eq '') { #add or edit ?
+           unshift (@current, "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n");
+           &General::log($Lang::tr{'ddns hostname added'});
+       } else {
+           @current[$settings{'KEY1'}] = "$settings{'SERVICE'},$settings{'HOSTNAME'},$settings{'DOMAIN'},$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";
+           $settings{'KEY1'} = '';       # End edit mode
+           &General::log($Lang::tr{'ddns hostname modified'});
+       }
+       map ($settings{$_}='' ,@nosaved);       # Clear fields
+        # Write changes to config file.
+       &WriteDataFile;                         # sort newly added/modified entry
+    }
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+    #move out new line
+    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current
+    chomp($line);
+    my @temp = split(/\,/, $line);
+    $settings{'SERVICE'}       = $temp[0];
+    $settings{'HOSTNAME'}      = $temp[1];
+    $settings{'DOMAIN'}                = $temp[2];
+    $settings{'PROXY'}         = $temp[3];
+    $settings{'WILDCARDS'}     = $temp[4];
+    $settings{'LOGIN'}         = $temp[5];
+    $settings{'PASSWORD'} = $settings{'PASSWORD2'} = $temp[6];
+    $settings{'ENABLED'}       = $temp[7];
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    splice (@current,$settings{'KEY1'},1);             # Delete line 
+    open(FILE, ">$datafile") or die 'ddns datafile error';
+    print FILE @current;
+    close(FILE);
+    $settings{'KEY1'} = '';                            # End remove mode
+    &General::log($Lang::tr{'ddns hostname removed'});
+    # Write changes to config file.
+    &WriteDataFile;
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'instant update'}) {
+    system('/usr/local/bin/setddns.pl', '-f');
+}
+
+
+if ($settings{'ACTION'} eq '')
+{
+    $settings{'SERVICE'} = 'dyndns.org';
+    $settings{'ENABLED'} = 'on';
+}
+
+&Header::openpage($Lang::tr{'dynamic dns'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+my %checked =();     # Checkbox manipulations
+$checked{'SERVICE'}{'cjb.net'} = '';
+$checked{'SERVICE'}{'dhs.org'} = '';
+$checked{'SERVICE'}{'dnspark.com'} = '';
+$checked{'SERVICE'}{'dtdns.com'} = '';
+$checked{'SERVICE'}{'dyndns.org'} = '';
+$checked{'SERVICE'}{'dyndns-custom'} = '';
+$checked{'SERVICE'}{'dyndns-static'} = '';
+$checked{'SERVICE'}{'dyns.cx'} = '';
+$checked{'SERVICE'}{'dynu.ca'} = '';
+$checked{'SERVICE'}{'easydns.com'} = '';
+$checked{'SERVICE'}{'enom.com'} = '';
+$checked{'SERVICE'}{'freedns.afraid.org'} = '';
+$checked{'SERVICE'}{'hn.org'} = '';
+$checked{'SERVICE'}{'no-ip.com'} = '';
+$checked{'SERVICE'}{'nsupdate'} = '';
+$checked{'SERVICE'}{'ovh.com'} = '';
+$checked{'SERVICE'}{'regfish.com'} = '';
+$checked{'SERVICE'}{'selfhost.de'} = '';
+$checked{'SERVICE'}{'tzo.com'} = '';
+$checked{'SERVICE'}{'zoneedit.com'} = '';
+$checked{'SERVICE'}{$settings{'SERVICE'}} = "selected='selected'";
+
+$checked{'BEHINDROUTER'}{'RED_IP'} = '';
+$checked{'BEHINDROUTER'}{'FETCH_IP'} = '';
+$checked{'BEHINDROUTER'}{$settings{'BEHINDROUTER'}} = "checked='checked'";
+$checked{'MINIMIZEUPDATES'} = ($settings{'MINIMIZEUPDATES'} eq '' ) ? '' : "checked='checked'";
+
+$checked{'PROXY'}{'on'} = ($settings{'PROXY'} eq '') ? '' : "checked='checked'";
+$checked{'WILDCARDS'}{'on'} = ($settings{'WILDCARDS'} eq '') ? '' : "checked='checked'";
+$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq '' ) ? '' : "checked='checked'";
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+
+if ($warnmessage) {
+    $warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage";
+}
+&Header::openbox('100%', 'left', $Lang::tr{'settings'});
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+print <<END
+<table width='100%'>
+<tr>
+        <td class='base'>$Lang::tr{'dyn dns source choice'}</td>
+</tr><tr>
+    <td class='base'><input type='radio' name='BEHINDROUTER' value='RED_IP' $checked{'BEHINDROUTER'}{'RED_IP'} />
+    $Lang::tr{'use ipcop red ip'}</td>
+</tr><tr>
+    <td class='base'><input type='radio' name='BEHINDROUTER' value='FETCH_IP' $checked{'BEHINDROUTER'}{'FETCH_IP'} />
+    $Lang::tr{'fetch ip from'} <img src='/blob.gif' alt='*' /></td>
+</tr>
+<tr>
+    <td class='base'><input type='checkbox' name='MINIMIZEUPDATES' $checked{'MINIMIZEUPDATES'} />
+    $Lang::tr{'ddns minimize updates'}</td>
+</tr>
+</table>
+<br /><hr />
+END
+;
+
+print <<END
+<table width='100%'>
+<tr>
+    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
+    <td width='70%' class='base'>$Lang::tr{'avoid dod'}</td>
+    <td width='30%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();   # end of Settings1
+
+
+my $buttontext = $Lang::tr{'add'};
+if ($settings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});
+} else {
+    &Header::openbox('100%', 'left', $Lang::tr{'add a host'});
+}
+
+#Edited line number (KEY1) passed until cleared by 'save' or 'remove'
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<table width='100%'>
+<tr>
+    <td width='25%' class='base'>$Lang::tr{'service'}:</td>
+    <td width='25%'><select size='1' name='SERVICE'>
+    <option $checked{'SERVICE'}{'cjb.net'}>cjb.net</option>
+    <option $checked{'SERVICE'}{'dhs.org'}>dhs.org</option>
+    <option $checked{'SERVICE'}{'dnspark.com'}>dnspark.com</option>
+    <option $checked{'SERVICE'}{'dtdns.com'}>dtdns.com</option>
+    <option $checked{'SERVICE'}{'dyndns.org'}>dyndns.org</option>
+    <option $checked{'SERVICE'}{'dyndns-custom'}>dyndns-custom</option>
+    <option $checked{'SERVICE'}{'dyndns-static'}>dyndns-static</option>
+    <option $checked{'SERVICE'}{'dyns.cx'}>dyns.cx</option>
+    <option $checked{'SERVICE'}{'dynu.ca'}>dynu.ca dyn.ee dynserv.(ca|org|net|com)</option>
+    <option $checked{'SERVICE'}{'easydns.com'}>easydns.com</option>
+    <option $checked{'SERVICE'}{'enom.com'}>enom.com</option>
+    <option $checked{'SERVICE'}{'freedns.afraid.org'}>freedns.afraid.org</option>
+    <option $checked{'SERVICE'}{'hn.org'}>hn.org</option>
+    <option $checked{'SERVICE'}{'no-ip.com'}>no-ip.com</option>
+    <option $checked{'SERVICE'}{'nsupdate'}>nsupdate</option>
+    <option $checked{'SERVICE'}{'ovh.com'}>ovh.com</option>
+    <option $checked{'SERVICE'}{'regfish.com'}>regfish.com</option>
+    <option $checked{'SERVICE'}{'selfhost.de'}>selfhost.de</option>
+<!--    <option $checked{'SERVICE'}{'tzo.com'}>tzo.com</option>        comment this service out until a working fix is developed -->
+    <option $checked{'SERVICE'}{'zoneedit.com'}>zoneedit.com</option>
+    </select></td>
+    <td width='20%' class='base'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td width='30%'><input type='text' name='HOSTNAME' value='$settings{'HOSTNAME'}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'behind a proxy'}</td>
+    <td><input type='checkbox' name='PROXY' value='on' $checked{'PROXY'}{'on'} /></td>
+    <td class='base'>$Lang::tr{'domain'}:</td>
+    <td><input type='text' name='DOMAIN' value='$settings{'DOMAIN'}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'enable wildcards'}</td>
+    <td><input type='checkbox' name='WILDCARDS' value='on' $checked{'WILDCARDS'}{'on'} /></td>
+    <td class='base'>$Lang::tr{'username'}</td>
+    <td><input type='text' name='LOGIN' value='$settings{'LOGIN'}' /></td>
+</tr><tr>
+    <td></td>
+    <td></td>
+    <td class='base'>$Lang::tr{'password'}</td>
+    <td><input type='password' name='PASSWORD' value='$settings{'PASSWORD'}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'enabled'}</td>
+    <td><input type='checkbox' name='ENABLED' value='on' $checked{'ENABLED'}{'on'} /></td>
+    <td class='base'>$Lang::tr{'again'}</td>
+    <td><input type='password' name='PASSWORD2' value='$settings{'PASSWORD2'}' /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
+    <td width='70%' class='base'>$ddnsprefix</td>
+    
+    <td width='30%' align='center' class='base'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />
+       <input type='submit' name='SUBMIT' value='$buttontext' />    </td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+#
+# Third box shows the list, in columns
+#
+&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
+print <<END
+<table width='100%'>
+<tr>
+    <td width='15%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></td>
+    <td width='25%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></td>
+    <td width='30%' align='center' class='boldbase'><b>$Lang::tr{'domain'}</b></td>
+    <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'proxy'}</b></td>
+    <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'wildcards'}</b></td>
+    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+my $ip = &General::GetDyndnsRedIP;
+my $key = 0;
+foreach my $line (@current) {
+    chomp($line);                              # remove newline
+    my @temp = split(/\,/,$line);
+
+    if ($temp[0] eq 'no-ip.com') {
+       $temp[1] =~ s!$General::noipprefix(.*)!<b>group:</b>$1 !;
+    } 
+
+    #Choose icon for checkbox
+
+    my $gifproxy='';
+    my $descproxy='';
+    if ($temp[3] eq "on") {
+       $gifproxy = 'on.gif';
+       $descproxy = $Lang::tr{'click to disable'};
+    } else {
+       $gifproxy = 'off.gif';
+       $descproxy = $Lang::tr{'click to enable'}; 
+    }
+
+    my $gifwildcard='';
+    my $descwildcard='';
+    if ($temp[4] eq "on") {
+       $gifwildcard = 'on.gif';
+       $descwildcard = $Lang::tr{'click to disable'};
+    } else {
+       $gifwildcard = 'off.gif';
+       $descwildcard = $Lang::tr{'click to enable'}; 
+    }
+
+    my $sync = "<font color='blue'>";
+    my $gif = '';
+    my $gdesc = '';
+    if ($temp[7] eq "on") {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+        $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'};
+    }
+                               
+    #Colorize each line
+    if ($settings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+    
+    #if a field is empty, replace it with a '---' to see colorized info!
+    $temp[1] = '---' if (!$temp[1]);
+    $temp[2] = '---' if (!$temp[2]);
+
+    print <<END
+<td align='center'><a href='http://$temp[0]'>$temp[0]</a></td>
+<td align='center'>$sync$temp[1]</td>
+<td align='center'>$sync$temp[2]</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifproxy' alt='$descproxy' title='$descproxy' />
+<input type='hidden' name='KEY1' value='$key' />
+<input type='hidden' name='KEY2' value='3' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gifwildcard' alt='$descwildcard' title='$descwildcard' />
+<input type='hidden' name='KEY1' value='$key' />
+<input type='hidden' name='KEY2' value='4' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+<input type='hidden' name='KEY2' value='7' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+print "</table>";
+
+# If table contains entries, print 'Key to action icons'
+if ($key) {
+print <<END
+<table width='100%'>
+<tr>
+    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+    <td class='base'>$Lang::tr{'click to disable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+    <td class='base'>$Lang::tr{'click to enable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+    <td class='base'>$Lang::tr{'edit'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+    <td class='base'>$Lang::tr{'remove'}</td>
+    <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+        <td align='center' width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>
+    </form>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+
+# write the "current" array
+sub WriteDataFile {
+    #Save current
+    open(FILE, ">$datafile") or die 'ddns datafile error';
+    print FILE @current;
+    close (FILE);
+}
index da1d8d0a3ac52d3351f0bd825c1f29f5d4bb9441..be7e0bf5319ab1ffb7bb85bc88fe125d74c4c57c 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# Copyright (C) 01-02-2002 Graham Smith <grhm@grhm.co.uk>\r
-#              - Fixed DHCP Leases added\r
-#\r
-# $Id: dhcp.cgi,v 1.14.2.81 2006/01/20 12:05:29 franck78 Exp $\r
-#\r
-#  Franck      -rewrite for two or more interface\r
-#  nov/2004    -check range is in correct subnet\r
-#              -add NTP option\r
-#              -add display sorting of actives leases\r
-#  dec/2004    -add comment field to fixed leases\r
-# \r
-# to do : choose a correct format for displaying dates\r
-#\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-our %dhcpsettings=();\r
-our %netsettings=();\r
-my %mainsettings=();\r
-my %timesettings=();\r
-my $setting = "${General::swroot}/dhcp/settings";\r
-our $filename1 = "${General::swroot}/dhcp/advoptions";         # Field separator is TAB in this file (comma is standart)\r
-                                                       # because we need commas in the some data\r
-our $filename2 = "${General::swroot}/dhcp/fixleases";\r
-our $filename3 = "${General::swroot}/dhcp/advoptions-list"; # Describe the allowed syntax for dhcp options\r
-my $errormessage = '';\r
-my $warnNTPmessage = '';\r
-my @nosaved=();\r
-\r
-#Basic syntax allowed for new Option definition. Not implemented: RECORDS & array of RECORDS \r
-our $OptionTypes = 'boolean|((un)?signed )?integer (8|16|32)|ip-address|text|string|encapsulate \w+|array of ip-address';\r
-\r
-&Header::showhttpheaders();\r
-our @ITFs=('GREEN','BLUE');\r
-\r
-#Settings1 for the first screen box\r
-foreach my $itf (@ITFs) {\r
-    $dhcpsettings{"ENABLE_${itf}"} = 'off';\r
-    $dhcpsettings{"ENABLEBOOTP_${itf}"} = 'off';\r
-    $dhcpsettings{"START_ADDR_${itf}"} = '';\r
-    $dhcpsettings{"END_ADDR_${itf}"} = '';\r
-    $dhcpsettings{"DOMAIN_NAME_${itf}"} = '';\r
-    $dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} = '';\r
-    $dhcpsettings{"MAX_LEASE_TIME_${itf}"} = '';\r
-    $dhcpsettings{"WINS1_${itf}"} = '';\r
-    $dhcpsettings{"WINS2_${itf}"} = '';\r
-    $dhcpsettings{"DNS1_${itf}"} = '';\r
-    $dhcpsettings{"DNS2_${itf}"} = '';\r
-    $dhcpsettings{"NTP1_${itf}"} = '';\r
-    $dhcpsettings{"NTP2_${itf}"} = '';\r
-}\r
-\r
-$dhcpsettings{'SORT_FLEASELIST'} = 'FIPADDR';\r
-$dhcpsettings{'SORT_LEASELIST'} = 'IPADDR';\r
-\r
-#Settings2 for editing the multi-line list\r
-#Must not be saved with writehash !\r
-$dhcpsettings{'FIX_MAC'} = '';\r
-$dhcpsettings{'FIX_ADDR'} = '';\r
-$dhcpsettings{'FIX_ENABLED'} = 'off';\r
-$dhcpsettings{'FIX_NEXTADDR'} = '';\r
-$dhcpsettings{'FIX_FILENAME'} = '';\r
-$dhcpsettings{'FIX_ROOTPATH'} = '';\r
-$dhcpsettings{'FIX_REMARK'} = '';\r
-$dhcpsettings{'ACTION'} = '';\r
-$dhcpsettings{'KEY1'} = '';\r
-$dhcpsettings{'KEY2'} = '';\r
-@nosaved=('FIX_MAC','FIX_ADDR','FIX_ENABLED','FIX_NEXTADDR',\r
-           'FIX_FILENAME','FIX_ROOTPATH','FIX_REMARK');\r
-\r
-$dhcpsettings{'ADVOPT_ENABLED'} = '';\r
-$dhcpsettings{'ADVOPT_NAME'} = '';\r
-$dhcpsettings{'ADVOPT_DATA'} = '';\r
-unshift (@nosaved,'ADVOPT_ENABLED','ADVOPT_NAME','ADVOPT_DATA');\r
-foreach my $itf (@ITFs) {\r
-    $dhcpsettings{"ADVOPT_SCOPE_${itf}"} = 'off';\r
-    unshift (@nosaved, "ADVOPT_SCOPE_${itf}");\r
-}\r
-\r
-# Read Ipcop settings\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-&General::readhash("${General::swroot}/main/settings", \%mainsettings);\r
-&General::readhash("${General::swroot}/time/settings", \%timesettings);\r
-\r
-#Get GUI values\r
-&Header::getcgihash(\%dhcpsettings);\r
-\r
-open(FILE, "$filename1") or die 'Unable to open dhcp advanced options file.';\r
-our @current1 = <FILE>;\r
-close(FILE);\r
-# Extract OptionDefinition\r
-foreach my $line (@current1) {\r
-    #chomp($line);   # remove newline        #don't know why, but this remove newline in @current1 .... !\r
-    my @temp = split(/\t/,$line);\r
-    AddNewOptionDefinition ($temp[1] . ' ' . $temp[2]);\r
-}\r
-\r
-open(FILE, "$filename2") or die 'Unable to open fixed leases file.';\r
-our @current2 = <FILE>;\r
-close(FILE);\r
-\r
-# Check Settings1 first because they are needed by &buildconf\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'save'}) {\r
-    foreach my $itf (@ITFs) {\r
-       if ($dhcpsettings{"ENABLE_${itf}"} eq 'on' ) {\r
-           # "Start" is defined, need "End" and vice versa\r
-           if ($dhcpsettings{"START_ADDR_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"START_ADDR_${itf}"}))) {\r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};\r
-                   goto ERROR;\r
-               }\r
-               if (!$dhcpsettings{"END_ADDR_${itf}"}) {\r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};\r
-                   goto ERROR;\r
-               }\r
-               if (! &General::IpInSubnet ( $dhcpsettings{"START_ADDR_${itf}"}, \r
-                                   $netsettings{"${itf}_NETADDRESS"},\r
-                                   $netsettings{"${itf}_NETMASK"})) {\r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};\r
-                   goto ERROR;\r
-               }\r
-           }\r
-           \r
-           if ($dhcpsettings{"END_ADDR_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"END_ADDR_${itf}"}))) {\r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};\r
-                   goto ERROR;\r
-               }\r
-               if (!$dhcpsettings{"START_ADDR_${itf}"}) {\r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};\r
-                   goto ERROR;\r
-               }\r
-               if (! &General::IpInSubnet ( $dhcpsettings{"END_ADDR_${itf}"}, \r
-                                   $netsettings{"${itf}_NETADDRESS"},\r
-                                   $netsettings{"${itf}_NETMASK"})) { \r
-                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};\r
-                   goto ERROR;\r
-               }\r
-               #swap if necessary! (support 255.255.0.0 range, I doubt we need more) GE\r
-               my @startoct = split (/\./, $dhcpsettings{"START_ADDR_${itf}"});\r
-               my @endoct   = split (/\./, $dhcpsettings{"END_ADDR_${itf}"});\r
-               if ( $endoct[2]*256+$endoct[3] < $startoct[2]*256+$startoct[3] ) {\r
-                   ($dhcpsettings{"START_ADDR_${itf}"},$dhcpsettings{"END_ADDR_${itf}"}) =\r
-                       ($dhcpsettings{"END_ADDR_${itf}"},$dhcpsettings{"START_ADDR_${itf}"});\r
-               }\r
-           }\r
-\r
-           if (!($dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} =~ /^\d+$/)) {\r
-               $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid default lease time'} . $dhcpsettings{'DEFAULT_LEASE_TIME_${itf}'};\r
-               goto ERROR;\r
-           }\r
-\r
-           if (!($dhcpsettings{"MAX_LEASE_TIME_${itf}"} =~ /^\d+$/)) {\r
-               $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid max lease time'} . $dhcpsettings{'MAX_LEASE_TIME_${itf}'};\r
-               goto ERROR;\r
-           }\r
-\r
-           if ($dhcpsettings{"DNS1_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"DNS1_${itf}"}))) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid primary dns'};\r
-                       goto ERROR;\r
-               }\r
-           }\r
-           if ($dhcpsettings{"DNS2_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"DNS2_${itf}"}))) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid secondary dns'};\r
-                       goto ERROR;\r
-               }\r
-               if (! $dhcpsettings{"DNS1_${itf}"}) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary dns without specifying primary'}; \r
-                       goto ERROR;\r
-               }\r
-           }\r
-\r
-           if ($dhcpsettings{"WINS1_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"WINS1_${itf}"}))) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid wins address'};\r
-                       goto ERROR;\r
-               }\r
-           }\r
-           if ($dhcpsettings{"WINS2_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"WINS2_${itf}"})))        {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid wins address'};\r
-                       goto ERROR;\r
-               }\r
-               if (! $dhcpsettings{"WINS1_${itf}"} ) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary wins without specifying primary'};\r
-                       goto ERROR;\r
-               }               \r
-           }\r
-\r
-           if ($dhcpsettings{"NTP1_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"NTP1_${itf}"}))) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid primary ntp'};\r
-                       goto ERROR;\r
-               }\r
-               if ($dhcpsettings{"NTP1_${itf}"} eq $netsettings{"${itf}_ADDRESS"} && ($timesettings{'ENABLECLNTP'} ne 'on')) {\r
-                       $warnNTPmessage = "DHCP on ${itf}: " . $Lang::tr{'local ntp server specified but not enabled'};\r
-                       #goto ERROR;\r
-               }\r
-           }\r
-           if ($dhcpsettings{"NTP2_${itf}"}) {\r
-               if (!(&General::validip($dhcpsettings{"NTP2_${itf}"}))) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid secondary ntp'};\r
-                       goto ERROR;\r
-               }\r
-               if ($dhcpsettings{"NTP2_${itf}"} eq $netsettings{"${itf}_ADDRESS"} && ($timesettings{'ENABLECLNTP'} ne 'on')) {\r
-                       $warnNTPmessage = "DHCP on ${itf}: " . $Lang::tr{'local ntp server specified but not enabled'};\r
-                       #goto ERROR;\r
-               }\r
-               if (! $dhcpsettings{"NTP1_${itf}"}) {\r
-                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary ntp without specifying primary'};\r
-                       goto ERROR;\r
-               }\r
-           }\r
-       } # enabled\r
-    }#loop interface verify\r
-\r
-    map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must not be saved \r
-    &General::writehash($setting, \%dhcpsettings);             # Save good settings\r
-    $dhcpsettings{'ACTION'} = $Lang::tr{'save'};               # create an 'ACTION'\r
-    map ($dhcpsettings{$_} = '',@nosaved,'KEY1','KEY2');       # and reinit vars to empty\r
-    &buildconf;\r
-    ERROR:                                                     # Leave the faulty field untouched\r
-} else {\r
-    &General::readhash($setting, \%dhcpsettings);              # Get saved settings and reset to good if needed\r
-}\r
-\r
-## Sorting of fixed leases\r
-if ($ENV{'QUERY_STRING'} =~ /^FETHER|^FIPADDR/ ) {\r
-    my $newsort=$ENV{'QUERY_STRING'};\r
-    my $act=$dhcpsettings{'SORT_FLEASELIST'};\r
-    #Reverse actual sort ?\r
-    if ($act =~ $newsort) {\r
-       my $Rev='';\r
-       if ($act !~ 'Rev') {\r
-           $Rev='Rev';\r
-       }\r
-       $newsort.=$Rev;\r
-    }\r
-    $dhcpsettings{'SORT_FLEASELIST'}=$newsort;\r
-    map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must never be saved \r
-    &General::writehash($setting, \%dhcpsettings);\r
-    &sortcurrent2;\r
-    $dhcpsettings{'ACTION'} = 'SORT';                  # create an 'ACTION'\r
-    map ($dhcpsettings{$_} = '',@nosaved,'KEY1','KEY2');# and reinit vars to empty \r
-}\r
-\r
-#Sorting of allocated leases\r
-&Header::CheckSortOrder;\r
-\r
-\r
-## Now manipulate the two multi-line list with Settings2. \r
-#  '1' suffix is for ADVANCED OPTIONS\r
-#  '2' suffix is for FIXED LEASES\r
-\r
-# Toggle enable/disable field on specified options.\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'}.'1') {\r
-    #move out new line\r
-    chomp(@current1[$dhcpsettings{'KEY1'}]);\r
-    my @temp = split(/\t/,@current1[$dhcpsettings{'KEY1'}]);           #use TAB separator !\r
-    $temp[0] = $temp[0] eq 'on' ? '' : 'on';    # Toggle the field\r
-    @current1[$dhcpsettings{'KEY1'}] = join ("\t",@temp)."\n";\r
-    $dhcpsettings{'KEY1'} = ''; # End edit mode\r
-    &General::log($Lang::tr{'dhcp advopt modified'});\r
-    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';\r
-    print FILE @current1;\r
-    close(FILE);\r
-       \r
-    #Write changes to dhcpd.conf.\r
-    &buildconf;\r
-}\r
-\r
-    \r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'add'}.'1' &&\r
-       $dhcpsettings{'SUBMIT'} ne $Lang::tr{'dhcp advopt help'}) {\r
-    $dhcpsettings{'ADVOPT_NAME'} =~ s/[^ \w-]//g;      # prevent execution of code by removing everything except letters/space\r
-    $dhcpsettings{'ADVOPT_DATA'} =~ s/`//g;            # back tik ` ? not allowed !\r
-\r
-    if ($dhcpsettings{'ADVOPT_DATA'} eq '') {\r
-       $errormessage=$Lang::tr{'dhcp advopt blank value'};\r
-    }\r
-    \r
-    # Test for a new option definition string (join field name & data)\r
-    if (ExistNewOptionDefinition ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {\r
-       #only edit permitted if option definition exists\r
-       $errormessage = $Lang::tr{'dhcp advopt definition exists'} if ($dhcpsettings{'KEY1'} eq '');\r
-       $dhcpsettings{'ADVOPT_ENABLED'} = 'on';                 # force active\r
-       map ($dhcpsettings{"ADVOPT_SCOPE_$_"} = 'off', @ITFs);  # force global\r
-    } elsif (AddNewOptionDefinition ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {\r
-       #was a new option definition\r
-       $dhcpsettings{'ADVOPT_ENABLED'} = 'on';                 # force active\r
-       map ($dhcpsettings{"ADVOPT_SCOPE_$_"} = 'off', @ITFs);  # force global\r
-    } elsif (ValidNewOption ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {\r
-       #was a new option\r
-    } elsif (! `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`) {\r
-       $errormessage=$Lang::tr{'dhcp advopt unknown'}.': '.$dhcpsettings{'ADVOPT_NAME'};\r
-    }\r
-\r
-    unless ($errormessage) {\r
-       \r
-       my $scope = '';\r
-       foreach my $itf (@ITFs) {  # buils "RED,GREEN,ORANGE,... based on selection\r
-           $scope .= $dhcpsettings{"ADVOPT_SCOPE_${itf}"} eq 'on' ? "\t$itf" : "\toff" ;\r
-       }\r
-       if ($dhcpsettings{'KEY1'} eq '') { #add or edit ?  TAB separator !\r
-           unshift (@current1, "$dhcpsettings{'ADVOPT_ENABLED'}\t$dhcpsettings{'ADVOPT_NAME'}\t$dhcpsettings{'ADVOPT_DATA'}$scope\n");\r
-           &General::log($Lang::tr{'dhcp advopt added'});\r
-       } else {\r
-           @current1[$dhcpsettings{'KEY1'}] = "$dhcpsettings{'ADVOPT_ENABLED'}\t$dhcpsettings{'ADVOPT_NAME'}\t$dhcpsettings{'ADVOPT_DATA'}$scope\n";\r
-           $dhcpsettings{'KEY1'} = '';       # End edit mode\r
-           &General::log($Lang::tr{'dhcp advopt modified'});\r
-       }\r
-\r
-        #Write changes to dhcpd.conf.\r
-        &sortcurrent1;    # sort newly added/modified entry\r
-        &buildconf;       # before calling buildconf which use fixed lease file !\r
-    }\r
-}\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'edit'}.'1') {\r
-    #move out new line\r
-    my $line = @current1[$dhcpsettings{'KEY1'}];\r
-    chomp($line);\r
-    my @temp = split(/\t/, $line);\r
-    $dhcpsettings{'ADVOPT_ENABLED'}=$temp[0];\r
-    $dhcpsettings{'ADVOPT_NAME'}=$temp[1];\r
-    $dhcpsettings{'ADVOPT_DATA'}=$temp[2];\r
-\r
-    # read next fields which are the name (color) of an interface if this interface is scoped\r
-    for (my $key=0; $key<@ITFs; $key++) {\r
-       my $itf = $temp[3+$key];\r
-       if ($itf ne 'off') # Only is an interface name is read\r
-       {\r
-           $dhcpsettings{"ADVOPT_SCOPE_${itf}"} = 'on';\r
-       }    \r
-    }\r
-}\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'remove'}.'1') {\r
-    splice (@current1,$dhcpsettings{'KEY1'},1);\r
-    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';\r
-    print FILE @current1;\r
-    close(FILE);\r
-    $dhcpsettings{'KEY1'} = '';                                # End remove mode\r
-    &General::log($Lang::tr{'dhcp advopt removed'});\r
-    #Write changes to dhcpd.conf.\r
-    &buildconf;\r
-}\r
-#end KEY1\r
-\r
-\r
-# Toggle enable/disable field on specified lease.\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'}.'2') {\r
-    #move out new line\r
-    chomp(@current2[$dhcpsettings{'KEY2'}]);\r
-    my @temp = split(/\,/,@current2[$dhcpsettings{'KEY2'}]);\r
-    $temp[2] = $temp[2] eq 'on' ? '' : 'on';    # Toggle the field\r
-    @current2[$dhcpsettings{'KEY2'}] = join (',',@temp)."\n";\r
-    $dhcpsettings{'KEY2'} = ''; # End edit mode\r
-    &General::log($Lang::tr{'fixed ip lease modified'});\r
-    open(FILE, ">$filename2") or die 'Unable to open fixed leases file.';\r
-    print FILE @current2;\r
-    close(FILE);\r
-       \r
-    #Write changes to dhcpd.conf.\r
-    &buildconf;\r
-}\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'add'}.'2') {\r
-    $dhcpsettings{'FIX_MAC'} =~ tr/-/:/;\r
-    unless(&General::validip($dhcpsettings{'FIX_ADDR'})) { $errormessage = $Lang::tr{'invalid fixed ip address'}; }\r
-    unless(&General::validmac($dhcpsettings{'FIX_MAC'})) { $errormessage = $Lang::tr{'invalid fixed mac address'}; }\r
-    if ($dhcpsettings{'FIX_NEXTADDR'}) {\r
-        unless(&General::validip($dhcpsettings{'FIX_NEXTADDR'})) { $errormessage = $Lang::tr{'invalid fixed ip address'}; }\r
-    }\r
-       \r
-    my $key = 0;\r
-    CHECK:foreach my $line (@current2) {\r
-        my @temp = split(/\,/,$line);\r
-        if($dhcpsettings{'KEY2'} ne $key) {\r
-           # same MAC is OK on different subnets. This test is not complete because\r
-           # if ip are not inside a known subnet, I don't warn.\r
-           # Also it may be needed to put duplicate fixed lease in their right subnet definition..\r
-           foreach my $itf (@ITFs) {\r
-               my $scoped = &General::IpInSubnet($dhcpsettings{'FIX_ADDR'},\r
-                                                 $netsettings{"${itf}_NETADDRESS"}, \r
-                                                 $netsettings{"${itf}_NETMASK"}) &&\r
-                                                 $dhcpsettings{"ENABLE_${itf}"} eq 'on';\r
-               if ( $scoped &&\r
-                   (lc($dhcpsettings{'FIX_MAC'}) eq lc($temp[0])) &&\r
-                   &General::IpInSubnet($temp[1],\r
-                                        $netsettings{"${itf}_NETADDRESS"}, \r
-                                        $netsettings{"${itf}_NETMASK"})) {\r
-                   $errormessage = "$Lang::tr{'mac address in use'} $dhcpsettings{'FIX_MAC'}";\r
-                   last CHECK;\r
-               }\r
-           }\r
-       }\r
-       $key++;\r
-    }\r
-\r
-    unless ($errormessage) {\r
-       $dhcpsettings{'FIX_REMARK'} = &Header::cleanhtml($dhcpsettings{'FIX_REMARK'});\r
-       $dhcpsettings{'FIX_NEXTADDR'} = &Header::cleanhtml($dhcpsettings{'FIX_NEXTADDR'});\r
-       $dhcpsettings{'FIX_FILENAME'} = &Header::cleanhtml($dhcpsettings{'FIX_FILENAME'});\r
-       $dhcpsettings{'FIX_ROOTPATH'} = &Header::cleanhtml($dhcpsettings{'FIX_ROOTPATH'});\r
-       if ($dhcpsettings{'KEY2'} eq '') { #add or edit ?\r
-           unshift (@current2, "$dhcpsettings{'FIX_MAC'},$dhcpsettings{'FIX_ADDR'},$dhcpsettings{'FIX_ENABLED'},$dhcpsettings{'FIX_NEXTADDR'},$dhcpsettings{'FIX_FILENAME'},$dhcpsettings{'FIX_ROOTPATH'},$dhcpsettings{'FIX_REMARK'}\n");\r
-           &General::log($Lang::tr{'fixed ip lease added'});\r
-       } else {\r
-           @current2[$dhcpsettings{'KEY2'}] = "$dhcpsettings{'FIX_MAC'},$dhcpsettings{'FIX_ADDR'},$dhcpsettings{'FIX_ENABLED'},$dhcpsettings{'FIX_NEXTADDR'},$dhcpsettings{'FIX_FILENAME'},$dhcpsettings{'FIX_ROOTPATH'},$dhcpsettings{'FIX_REMARK'}\n";\r
-           $dhcpsettings{'KEY2'} = '';       # End edit mode\r
-           &General::log($Lang::tr{'fixed ip lease modified'});\r
-       }\r
-\r
-        #Write changes to dhcpd.conf.\r
-        &sortcurrent2;    # sort newly added/modified entry\r
-        &buildconf;       # before calling buildconf which use fixed lease file !\r
-    }\r
-}\r
-\r
-if ($dhcpsettings{'ACTION_ALL'} eq '+') {\r
-    my $news = 0;\r
-    foreach (keys %dhcpsettings) {\r
-        if (/^(\d+\.\d+\.\d+\.\d+)-([0-9a-fA-F:]+)$/) {     # checked names are index of the line\r
-            my $ip=$1;\r
-            my $mac=$2;\r
-            if (!grep (/$2/,@current2)) {\r
-                unshift (@current2, "$mac,$ip,on,,,,imported\n");\r
-                $news++;\r
-            }\r
-        }\r
-    }\r
-    if ($news) {\r
-        #Write changes to dhcpd.conf.\r
-        $warnNTPmessage = $Lang::tr{'fixed ip lease added'}."($news)";\r
-        &General::log($warnNTPmessage);\r
-        &sortcurrent2;    # sort newly added/modified entry\r
-        &buildconf;       # before calling buildconf which use fixed lease file !\r
-    }\r
-}\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'edit'}.'2') {\r
-    #move out new line\r
-    my $line = @current2[$dhcpsettings{'KEY2'}];\r
-    chomp($line);\r
-    my @temp = split(/\,/, $line);\r
-    $dhcpsettings{'FIX_MAC'}=$temp[0];\r
-    $dhcpsettings{'FIX_ADDR'}=$temp[1];\r
-    $dhcpsettings{'FIX_ENABLED'}=$temp[2];\r
-    $dhcpsettings{'FIX_NEXTADDR'}=$temp[3];\r
-    $dhcpsettings{'FIX_FILENAME'}=$temp[4];\r
-    $dhcpsettings{'FIX_ROOTPATH'}=$temp[5];\r
-    $dhcpsettings{'FIX_REMARK'}=$temp[6];\r
-}\r
-\r
-if ($dhcpsettings{'ACTION'} eq $Lang::tr{'remove'}.'2') {\r
-    splice (@current2,$dhcpsettings{'KEY2'},1);\r
-    open(FILE, ">$filename2") or die 'Unable to open fixed lease file.';\r
-    print FILE @current2;\r
-    close(FILE);\r
-    $dhcpsettings{'KEY2'} = '';                                # End remove mode\r
-    &General::log($Lang::tr{'fixed ip lease removed'});\r
-    #Write changes to dhcpd.conf.\r
-    &buildconf;\r
-}\r
-#end KEY2 defined\r
-\r
-\r
-\r
-\r
-if ($dhcpsettings{'ACTION'} eq '' ) { # First launch from GUI\r
-\r
-    # Set default DHCP values only if blank and disabled\r
-    foreach my $itf (@ITFs) {\r
-       if ($dhcpsettings{"ENABLE_${itf}"} ne 'on' ) {\r
-           $dhcpsettings{"DNS1_${itf}"} = $netsettings{"${itf}_ADDRESS"};\r
-           $dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} = '60';\r
-           $dhcpsettings{"MAX_LEASE_TIME_${itf}"} = '120';\r
-           $dhcpsettings{"DOMAIN_NAME_${itf}"} = $mainsettings{'DOMAINNAME'};\r
-       }\r
-    }\r
-    $dhcpsettings{'FIX_ENABLED'} = 'on';\r
-}\r
-\r
-&Header::openpage($Lang::tr{'dhcp configuration'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-    &Header::closebox();\r
-}\r
-if ($warnNTPmessage) {\r
-    $warnNTPmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnNTPmessage";\r
-}\r
-\r
-&Header::openbox('100%', 'left', 'DHCP');\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";\r
-\r
-foreach my $itf (@ITFs) {\r
-    my %checked=();\r
-    $checked{'ENABLE'}{'on'} = ( $dhcpsettings{"ENABLE_${itf}"} ne 'on') ? '' : "checked='checked'";\r
-    $checked{'ENABLEBOOTP'}{'on'} = ( $dhcpsettings{"ENABLEBOOTP_${itf}"} ne 'on') ? '' : "checked='checked'";\r
-\r
-    if ($netsettings{"${itf}_DEV"} ne '' ) { # Show only defined interface\r
-       my $lc_itf=lc($itf);\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td width='25%' class='boldbase'><b><font color='${lc_itf}'>$Lang::tr{"$lc_itf interface"}</font></b></td>\r
-    <td class='base'>$Lang::tr{'enabled'}\r
-    <input type='checkbox' name='ENABLE_${itf}' $checked{'ENABLE'}{'on'} /></td>\r
-    <td width='25%' class='base'>$Lang::tr{'ip address'}/$Lang::tr{'netmask'}:</td><td><b>$netsettings{"${itf}_ADDRESS"}/$netsettings{"${itf}_NETMASK"}</b></td>\r
-</tr><tr>\r
-    <td width='25%' class='base'>$Lang::tr{'start address'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td width='25%'><input type='text' name='START_ADDR_${itf}' value='$dhcpsettings{"START_ADDR_${itf}"}' /></td>\r
-    <td width='25%' class='base'>$Lang::tr{'end address'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td width='25%'><input type='text' name='END_ADDR_${itf}' value='$dhcpsettings{"END_ADDR_${itf}"}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'default lease time'}</td>\r
-    <td><input type='text' name='DEFAULT_LEASE_TIME_${itf}' value='$dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"}' /></td>\r
-    <td class='base'>$Lang::tr{'max lease time'}</td>\r
-    <td><input type='text' name='MAX_LEASE_TIME_${itf}' value='$dhcpsettings{"MAX_LEASE_TIME_${itf}"}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'domain name suffix'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='DOMAIN_NAME_${itf}' value='$dhcpsettings{"DOMAIN_NAME_${itf}"}' /></td>\r
-    <td>$Lang::tr{'dhcp allow bootp'}:</td>\r
-    <td><input type='checkbox' name='ENABLEBOOTP_${itf}' $checked{'ENABLEBOOTP'}{'on'} /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'primary dns'}</td>\r
-    <td><input type='text' name='DNS1_${itf}' value='$dhcpsettings{"DNS1_${itf}"}' /></td>\r
-    <td class='base'>$Lang::tr{'secondary dns'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='DNS2_${itf}' value='$dhcpsettings{"DNS2_${itf}"}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'primary ntp server'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='NTP1_${itf}' value='$dhcpsettings{"NTP1_${itf}"}' /></td>\r
-    <td class='base'>$Lang::tr{'secondary ntp server'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='NTP2_${itf}' value='$dhcpsettings{"NTP2_${itf}"}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'primary wins server address'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='WINS1_${itf}' value='$dhcpsettings{"WINS1_${itf}"}' /></td>\r
-    <td class='base'>$Lang::tr{'secondary wins server address'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='WINS2_${itf}' value='$dhcpsettings{"WINS2_${itf}"}' /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-END\r
-;\r
-    }# Show only defined interface\r
-}#foreach itf\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='25%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td class='base' width='30%'>$warnNTPmessage</td>\r
-    <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-    <td width='5%' align='right'>\r
-        <a href='${General::adminmanualurl}/services.html#services_dhcp' target='_blank'>\r
-        <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'dhcp advopt list'});\r
-# DHCP Advanced options settings\r
-my %checked=();\r
-$checked{'ADVOPT_ENABLED'}{'on'} = ($dhcpsettings{'ADVOPT_ENABLED'} ne 'on') ? '' : "checked='checked'";\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>";\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($dhcpsettings{'KEY1'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    print "<tr><td class='boldbase'><b>$Lang::tr{'dhcp advopt edit'}</b></td></tr>";\r
-} else {\r
-    print "<tr><td class='boldbase'><b>$Lang::tr{'dhcp advopt add'}</b></td></tr>"\r
-}\r
-\r
-#search if the 'option' is in the list and print the syntax model\r
-my $opt = `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`;\r
-if ($opt ne '') {\r
-   $opt =~ s/option $dhcpsettings{'ADVOPT_NAME'}/Syntax:/;  # "option xyz abc" => "syntax: abc"\r
-   $opt =~ s/;//;\r
-   $opt = "<tr><td></td><td></td><td colspan='2'>$opt</td></tr>";\r
-}\r
-print <<END\r
-<tr>\r
-    <td class='base'>$Lang::tr{'dhcp advopt name'}:</td>\r
-    <td><input type='text' name='ADVOPT_NAME' value='$dhcpsettings{'ADVOPT_NAME'}' size='18' /></td>\r
-    <td class='base'>$Lang::tr{'dhcp advopt value'}:</td>\r
-    <td><input type='text' name='ADVOPT_DATA' value='$dhcpsettings{'ADVOPT_DATA'}' size='40' /></td>\r
-</tr>$opt<tr>\r
-    <td class='base'>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='ADVOPT_ENABLED' $checked{'ADVOPT_ENABLED'}{'on'} /></td>\r
-    <td class='base'>$Lang::tr{'dhcp advopt scope'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td>\r
-END\r
-;\r
-\r
-# Put a checkbox for each interface. Checkbox visible disabled if interface is disabled  \r
-foreach my $itf (@ITFs) {\r
-    my $lc_itf=lc($itf);\r
-    $checked{'ADVOPT_SCOPE_${itf}'}{'on'} = $dhcpsettings{"ADVOPT_SCOPE_${itf}"} ne 'on' ? '' : "checked='checked'";    \r
-    print "$Lang::tr{\"${lc_itf}\"} <input type='checkbox' name='ADVOPT_SCOPE_${itf}' $checked{'ADVOPT_SCOPE_${itf}'}{'on'} ";\r
-    print $dhcpsettings{"ENABLE_${itf}"} eq 'on' ? "/>" : "disabled='disabled' />";\r
-    print "&nbsp; &nbsp;";\r
-}\r
-\r
-print <<END\r
-    </td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'dhcp advopt scope help'}</td>\r
-    <td width='50%' align='center'>\r
-    <input type='hidden' name='ACTION' value='$Lang::tr{'add'}1' />\r
-    <input type='submit' name='SUBMIT' value='$buttontext' />\r
-    <input type='submit' name='SUBMIT' value='$Lang::tr{'dhcp advopt help'}' />\r
-    <input type='hidden' name='KEY1' value='$dhcpsettings{'KEY1'}' />\r
-    </td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'\r
-\r
-# print help taken from the file describing options\r
-if ($dhcpsettings{'SUBMIT'} eq $Lang::tr{'dhcp advopt help'}) {\r
-    print "<hr />";\r
-    print "<table width='100%'>";\r
-    print "<tr><td width='30%'><b>$Lang::tr{'dhcp advopt name'}</b></td><td width='70%'><b>$Lang::tr{'dhcp advopt value'}</b></td>";\r
-    open(FILE, "$filename3");\r
-    my @current3 = <FILE>;\r
-    close(FILE);\r
-    foreach my $line (@current3) {\r
-       $line =~ /option ([a-z0-9-]+) (.*);/;\r
-       print "<tr><td>$1</td><td>$2</td></tr>\n";\r
-    }\r
-    print "<tr><td colspan='2'><hr /></td></tr>\n";\r
-    print '<tr><td>string type</td><td>"quoted string" or 00:01:FF...</td></tr>';\r
-    print '<tr><td>ip-address type </td><td>10.0.0.1 | www.dot.com</td></tr>';\r
-    print '<tr><td>int,uint types</td><td>numbers</td></tr>';\r
-    print '<tr><td>flag type</td><td>on | off</td></tr>';\r
-    print '</table>';\r
-    print "<hr />";\r
-    print "<table width='100%'>";\r
-    print "<tr><td width='30%'><b>$Lang::tr{'dhcp advopt custom definition'}</b></td><td width='70%'><b>$Lang::tr{'dhcp advopt value'}</b></td>";\r
-    print "<tr><td>any-name </td><td> code NNN=$OptionTypes</td></tr>";\r
-    print '<tr><td>a-string</td><td>code 100=string</td></tr>';\r
-    print '<tr><td>a-number</td><td>code 101=signed integer 8</td></tr>';\r
-    print '<tr><td>wpad</td><td>code 252=text</td></tr>';\r
-    print '<tr><td>wpad</td><td>"http://www.server.fr/path-to/proxy.pac"</td></tr>';\r
-    print '</table>';\r
\r
-}\r
-\r
-print <<END\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td width='30%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt name'}</b></td>\r
-    <td width='50%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt value'}</b></td>\r
-    <td width='20%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt scope'}</b></td>\r
-    <td colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-my $key = 0;\r
-foreach my $line (@current1) {\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    chomp($line);   # remove newline\r
-    my @temp = split(/\t/,$line);\r
-\r
-    if ($temp[0] eq "on") {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    if ($dhcpsettings{'KEY1'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-\r
-    print <<END\r
-<td align='center'>$temp[1]</td>\r
-<td align='center'>$temp[2]</td>\r
-<td align='center'>\r
-END\r
-;\r
-    # Prepare a global flag to make easy reading\r
-    my $global = '';\r
-    my $disabledTogle = '';\r
-    my $disabledEditRemove = '';\r
-    if ( ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2]) ) {\r
-       $global = $Lang::tr{'dhcp advopt definition'};\r
-       $disabledTogle = "disabled='disabled'";\r
-       # Search if it is a used NewOptionDefinition to also disable edit & delete\r
-       $disabledEditRemove = "disabled='disabled'" if (IsUsedNewOptionDefinition ($temp[1], $temp[2]));\r
-    } else {\r
-       $global = $Lang::tr{'dhcp advopt scope global'};\r
-    }\r
-    \r
-    \r
-    # Print each checked interface\r
-    for (my $key=0; $key<@ITFs; $key++) {\r
-       my $itf = $temp[3+$key];\r
-       if ($itf ne 'off') {    # Only if an interface name is read\r
-           print "$itf";\r
-           $global='';         # fall to local scope !\r
-       }\r
-    }\r
-    print <<END\r
-$global</td>\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}1' />\r
-<input $disabledTogle type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}1' />\r
-<input $disabledEditRemove type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}1' />\r
-<input $disabledEditRemove type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-    $key++;\r
-}\r
-\r
-print "</table>";\r
-\r
-# If there are dhcp options, print Key to action icons\r
-if ($key) {\r
-print <<END\r
-<table>\r
-<tr>\r
-       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'current fixed leases'});\r
-# Fixed leases screens\r
-$checked{'FIX_ENABLED'}{'on'} = ($dhcpsettings{'FIX_ENABLED'} ne 'on') ? '' : "checked='checked'";\r
-\r
-$buttontext = $Lang::tr{'add'};\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>";\r
-\r
-if ($dhcpsettings{'KEY2'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    print "<tr><td class='boldbase' colspan='3'><b>$Lang::tr{'edit an existing lease'}</b></td></tr>";\r
-} else {\r
-    print "<tr><td class='boldbase' colspan='3'><b>$Lang::tr{'add new lease'}</b></td></tr>"\r
-}\r
-print <<END\r
-<tr>\r
-    <td class='base'>$Lang::tr{'mac address'}:</td>\r
-    <td><input type='text' name='FIX_MAC' value='$dhcpsettings{'FIX_MAC'}' size='18' /></td>\r
-    <td class='base'>$Lang::tr{'ip address'}:</td>\r
-    <td><input type='text' name='FIX_ADDR' value='$dhcpsettings{'FIX_ADDR'}' size='18' /></td>\r
-    <td class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='FIX_REMARK' value='$dhcpsettings{'FIX_REMARK'}' size='18' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='FIX_ENABLED' $checked{'FIX_ENABLED'}{'on'} /></td>\r
-</tr><tr>\r
-    <td colspan = '3'><b>$Lang::tr{'dhcp bootp pxe data'}</b></td>\r
-</tr><tr>\r
-    <td class='base'>next-server:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='FIX_NEXTADDR' value='$dhcpsettings{'FIX_NEXTADDR'}' size='18' /></td>\r
-    <td class='base'>filename:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='FIX_FILENAME' value='$dhcpsettings{'FIX_FILENAME'}' size='18' /></td>\r
-    <td class='base'>root path:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='FIX_ROOTPATH' value='$dhcpsettings{'FIX_ROOTPATH'}' size='18' /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td width='50%' align='center'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' />\r
-       <input type='submit' name='SUBMIT' value='$buttontext' />\r
-       <input type='hidden' name='KEY2' value='$dhcpsettings{'KEY2'}' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-#Edited line number (KEY2) passed until cleared by 'save' or 'remove' or 'new sort order'\r
-\r
-print <<END\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FETHER'><b>$Lang::tr{'mac address'}</b></a></td>\r
-    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FIPADDR'><b>$Lang::tr{'ip address'}</b></a></td>\r
-    <td width='15%' align='center'><b>$Lang::tr{'remark'}</b></td>\r
-    <td width='15%' class='boldbase' align='center'><b>next-server</b></td>\r
-    <td width='15%' class='boldbase' align='center'><b>filename</b></td>\r
-    <td width='15%' class='boldbase' align='center'><b>root path</b></td>\r
-    <td colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-my $ipdup = 0;\r
-my %ipinuse = ();\r
-my %macdupl = (); # Duplicate MACs have to be on different subnets\r
-my %ipoutside = ();\r
-\r
-# mark duplicate ip or duplicate MAC\r
-foreach my $line (@current2) {\r
-    my @temp = split(/\,/,$line);\r
-    $macdupl{$temp[0]} += 1;\r
-    if ($macdupl{$temp[0]} > 1) { \r
-       $ipdup = 1;     # Flag up duplicates for use later\r
-    }\r
-    $ipinuse{$temp[1]} += 1;\r
-    if ($ipinuse{$temp[1]} > 1) { \r
-       $ipdup = 1;     # Flag up duplicates for use later\r
-    }\r
-    # Mark IP addresses outwith known subnets\r
-    $ipoutside{$temp[1]} = 1;\r
-    foreach my $itf (@ITFs) {\r
-        if ( &General::IpInSubnet($temp[1],\r
-                $netsettings{"${itf}_NETADDRESS"}, \r
-                $netsettings{"${itf}_NETMASK"})) {\r
-            $ipoutside{$temp[1]} = 0;\r
-        }\r
-    }\r
-}\r
-\r
-$key = 0;\r
-foreach my $line (@current2) {\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    chomp($line);   # remove newline\r
-    my @temp = split(/\,/,$line);\r
-\r
-    if ($temp[2] eq "on") {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    if ($dhcpsettings{'KEY2'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-    my $TAG0 = '';\r
-    my $TAG1 = '';\r
-    my $TAG2 = '';\r
-    my $TAG3 = '';\r
-    my $TAG4 = '';\r
-    if ($ipinuse{$temp[1]} > 1) { \r
-       $TAG0 = '<b>';\r
-       $TAG1 = '</b>';\r
-    }\r
-    if ($macdupl{$temp[0]} > 1) { \r
-       $TAG2 = '<b>';\r
-       $TAG3 = '</b>';\r
-    }\r
-    if ($ipoutside{$temp[1]} > 0) { \r
-       $TAG4 = "bgcolor='orange'" if ($dhcpsettings{'KEY2'} ne $key);\r
-    }\r
-\r
-    print <<END\r
-<td align='center'>$TAG2$temp[0]$TAG3</td>\r
-<td align='center' $TAG4>$TAG0$temp[1]$TAG1</td>\r
-<td align='center'>$temp[6]&nbsp;</td>\r
-<td align='center'>$temp[3]&nbsp;</td>\r
-<td align='center'>$temp[4]&nbsp;</td>\r
-<td align='center'>$temp[5]&nbsp;</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}2' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY2' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}2' />\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY2' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}2' />\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY2' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-    $key++;\r
-}\r
-print "</table>";\r
-\r
-# If the fixed lease file contains entries, print Key to action icons\r
-if ($key) {\r
-my $dup = $ipdup ? "<td class='base'>$Lang::tr{'duplicate ip bold'}</td>" :'';\r
-print <<END\r
-<table>\r
-<tr>\r
-       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td bgcolor='orange'>&nbsp;</td>\r
-       <td class='base'>$Lang::tr{'ip address outside subnets'}</td>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       $dup\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-\r
-\r
-foreach my $itf (@ITFs) {\r
-    if ($dhcpsettings{"ENABLE_${itf}"} eq 'on') {\r
-       # display leases with a list of actions to do with the global select checkbox.\r
-       &Header::PrintActualLeases("+");        # "+" => create fixed leases from nodeaddress\r
-       last;                   #Print one time only for all interfaces\r
-    };\r
-}\r
-\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-## Ouf it's the end !\r
-\r
-sub sortcurrent1  # by now, do not sort, just write\r
-{\r
-    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';\r
-    print FILE @current1;\r
-    close(FILE);\r
-}\r
-\r
-\r
-# Sort the "current2" array according to choices\r
-sub sortcurrent2\r
-{\r
-    our %entries = ();\r
-\r
-    sub fixedleasesort {\r
-       my $qs='';\r
-       if (rindex ($dhcpsettings{'SORT_FLEASELIST'},'Rev') != -1) {\r
-           $qs=substr ($dhcpsettings{'SORT_FLEASELIST'},0,length($dhcpsettings{'SORT_FLEASELIST'})-3);\r
-           if ($qs eq 'FIPADDR') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($b[0]<=>$a[0]) ||\r
-               ($b[1]<=>$a[1]) ||\r
-               ($b[2]<=>$a[2]) ||\r
-               ($b[3]<=>$a[3]);\r
-           } else {\r
-               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};\r
-           }\r
-       } else { #not reverse\r
-           $qs=$dhcpsettings{'SORT_FLEASELIST'};\r
-           if ($qs eq 'FIPADDR') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($a[0]<=>$b[0]) ||\r
-               ($a[1]<=>$b[1]) ||\r
-               ($a[2]<=>$b[2]) ||\r
-               ($a[3]<=>$b[3]);\r
-           } else {\r
-               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};\r
-           }\r
-       }\r
-    }\r
-\r
-    #Use an associative array (%entries)\r
-    foreach my $line (@current2) {\r
-       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)\r
-       my @temp = split (',',$line);\r
-       my @record = ('FETHER',$temp[0],'FIPADDR',$temp[1],'DATA',join(',',@temp[2..6]));\r
-       my $record = {};                        # create a reference to empty hash\r
-       %{$record} = @record;                   # populate that hash with @record\r
-       # use combination of ether & IP as key to allow duplicates in either but not both\r
-       $entries{$record->{FETHER} . $record->{FIPADDR}} = $record; # add this to a hash of hashes\r
-    }\r
-    \r
-    open(FILE, ">$filename2") or die 'Unable to open fixed lease file.';\r
-    foreach my $entry ( sort fixedleasesort keys %entries) {\r
-       print FILE "$entries{$entry}->{FETHER},$entries{$entry}->{FIPADDR},$entries{$entry}->{DATA}\n";\r
-    }\r
-    close(FILE);\r
-\r
-    # Reload sorted  @current2\r
-    open (FILE, "$filename2");\r
-    @current2 = <FILE>;\r
-    close (FILE);\r
-    undef (%entries);  #This array is reused latter. Clear it.\r
-}\r
-                                                   \r
-# Build the configuration file mixing  settings, fixed leases and advanced options\r
-sub buildconf {\r
-    open(FILE, ">/${General::swroot}/dhcp/dhcpd.conf") or die "Unable to write dhcpd.conf file";\r
-    flock(FILE, 2);\r
-\r
-    # Global settings\r
-    print FILE "ddns-update-style none;\n";\r
-    print FILE "deny bootp;    #default\n";\r
-    print FILE "authoritative;\n";\r
-    \r
-    # Write first new option definition\r
-    foreach my $line (@current1) {\r
-       chomp($line);   # remove newline\r
-       my @temp = split(/\t/,$line);\r
-        if (ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2])) {\r
-               print FILE "option $temp[1] $temp[2];\n";\r
-       }\r
-    }\r
-    # Write other global options\r
-    foreach my $line (@current1) {\r
-       chomp($line);   # remove newline\r
-       my @temp = split(/\t/,$line);\r
-       \r
-       if ($temp[0] eq 'on' && !ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2])){ # active & !definition\r
-           my $global=1;\r
-           for (my $key=0; $key<@ITFs; $key++) {\r
-               my $itf = $temp[3+$key];\r
-               if ($itf ne 'off') # Only if an interface name is read\r
-               {\r
-                   $global=0;\r
-               }\r
-           }\r
-           if ($global) {\r
-               print FILE "option $temp[1] $temp[2];\n";\r
-           }\r
-       }# on    \r
-    }# foreach line\r
-\r
-    #Subnet range definition\r
-    foreach my $itf (@ITFs) {\r
-       my $lc_itf=lc($itf);\r
-       if ($dhcpsettings{"ENABLE_${itf}"} eq 'on' ){\r
-           print FILE "\nsubnet " . $netsettings{"${itf}_NETADDRESS"} . " netmask ". $netsettings{"${itf}_NETMASK"} . " #$itf\n";\r
-           print FILE "{\n";\r
-           print FILE "\trange " . $dhcpsettings{"START_ADDR_${itf}"} . ' ' . $dhcpsettings{"END_ADDR_${itf}"}.";\n" if ($dhcpsettings{"START_ADDR_${itf}"});\r
-           print FILE "\toption subnet-mask "   . $netsettings{"${itf}_NETMASK"} . ";\n";\r
-           print FILE "\toption domain-name \"" . $dhcpsettings{"DOMAIN_NAME_${itf}"} . "\";\n";\r
-           print FILE "\toption routers " . $netsettings{"${itf}_ADDRESS"} . ";\n";\r
-           print FILE "\toption domain-name-servers " . $dhcpsettings{"DNS1_${itf}"}  if ($dhcpsettings{"DNS1_${itf}"});\r
-           print FILE ", " . $dhcpsettings{"DNS2_${itf}"}                             if ($dhcpsettings{"DNS2_${itf}"});\r
-           print FILE ";\n"                                                           if ($dhcpsettings{"DNS1_${itf}"});\r
-           print FILE "\toption ntp-servers " . $dhcpsettings{"NTP1_${itf}"}          if ($dhcpsettings{"NTP1_${itf}"});\r
-           print FILE ", " . $dhcpsettings{"NTP2_${itf}"}                             if ($dhcpsettings{"NTP2_${itf}"});\r
-           print FILE ";\n"                                                           if ($dhcpsettings{"NTP1_${itf}"});\r
-           print FILE "\toption netbios-name-servers " . $dhcpsettings{"WINS1_${itf}"}     if ($dhcpsettings{"WINS1_${itf}"});\r
-           print FILE ", " . $dhcpsettings{"WINS2_${itf}"}                            if ($dhcpsettings{"WINS2_${itf}"});\r
-           print FILE ";\n"                                                           if ($dhcpsettings{"WINS1_${itf}"});\r
-           print FILE "\tdefault-lease-time " . ($dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} * 60). ";\n";\r
-           print FILE "\tmax-lease-time "     . ($dhcpsettings{"MAX_LEASE_TIME_${itf}"} * 60)    . ";\n";\r
-           print FILE "\tallow bootp;\n" if ($dhcpsettings{"ENABLEBOOTP_${itf}"} eq 'on');\r
-\r
-\r
-\r
-           # Write scoped options\r
-           foreach my $line (@current1) {\r
-               chomp($line);   # remove newline\r
-               my @temp = split(/\t/,$line);           # Use TAB separator !\r
-       \r
-               if ($temp[0] eq 'on'){\r
-                   for (my $key=0; $key<@ITFs; $key++) {\r
-                       if ($itf eq $temp[3+$key]) # Only is an interface name is read\r
-                       {\r
-                           print FILE "\toption $temp[1] $temp[2];\n";\r
-                       }\r
-                   }\r
-               }# on    \r
-           }# foreach line\r
-           print FILE "} #$itf\n";\r
-\r
-           system ('/bin/touch', "${General::swroot}/dhcp/enable_${lc_itf}");\r
-           &General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server enabled'})\r
-       } else {\r
-           unlink "${General::swroot}/dhcp/enable_${lc_itf}";\r
-           &General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server disabled'})\r
-       }\r
-    }\r
-\r
-    #write fixed leases if any. Does not handle duplicates to write them elsewhere than the global scope.\r
-    my $key = 0;\r
-    foreach my $line (@current2) {\r
-       chomp($line);\r
-       my @temp = split(/\,/,$line);\r
-       if ($temp[2] eq "on") {\r
-           print FILE "\nhost fix$key # $temp[6]\n";\r
-           print FILE "{\n";\r
-           print FILE "\thardware ethernet $temp[0];\n";\r
-           print FILE "\tfixed-address $temp[1];\n";\r
-           print FILE "\tnext-server $temp[3];\n"          if ($temp[3]);\r
-           print FILE "\tfilename \"$temp[4]\";\n"         if ($temp[4]);\r
-           print FILE "\toption root-path \"$temp[5]\";\n" if ($temp[5]);\r
-           print FILE "}\n";\r
-           $key++;\r
-       }\r
-    }\r
-    close FILE;\r
-    system '/usr/local/bin/restartdhcp';\r
-}\r
-\r
-#\r
-# Receive a string and if it match model for a new option,\r
-# add it to the list %newOptions\r
-#\r
-my %NewOptions = ();\r
-\r
-sub AddNewOptionDefinition {\r
-    my ($line) = @_;\r
-    if ( $line =~ /^([-\w]+)( code \d+=($OptionTypes))/ ) {\r
-       $NewOptions{$1} = $2;\r
-       #&General::log ("new:<$1><$2>");\r
-       return 1;\r
-    }\r
-    return 0;\r
-}\r
-\r
-#\r
-# Check existence of definition for a new option\r
-#\r
-sub ExistNewOptionDefinition {\r
-    my ($line) = @_;\r
-\r
-    if ( $line =~ /^([-\w]+)( code \d+=($OptionTypes))/ ) {\r
-       return defined $NewOptions{$1};\r
-    }\r
-    return 0;\r
-}\r
-\r
-#\r
-# Check if it is a new option (definition must exist)\r
-# "code=" test eliminate a false response when definition exists\r
-# but this string is a definition with bad $OptionTypes.\r
-sub ValidNewOption {\r
-    my ($line) = @_;\r
-    if ($line =~ /^([-\w]+) (.*)/ ) {\r
-       return defined ( $NewOptions{$1} ) && $2 !~ /code=/;\r
-    }\r
-    return 0;\r
-}\r
-\r
-#\r
-# Check if the new option $opt is used, except the definition of itself!\r
-#\r
-sub IsUsedNewOptionDefinition {\r
-    my ($opt,$val) = @_;\r
-\r
-    foreach my $line (@current1) {\r
-       #chomp($line);   # remove newline        #don't know why, but this remove newline in @current1 .... !\r
-       my @temp = split(/\t/,$line);\r
-       # if we find something "opt value" & value != "code nnn=" it's ok.\r
-       return 1 if ( ($opt eq $temp[1]) && ($temp[2] !~ /code \d+=/) );\r
-    }\r
-    return 0;\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# Copyright (C) 01-02-2002 Graham Smith <grhm@grhm.co.uk>
+#              - Fixed DHCP Leases added
+#
+# $Id: dhcp.cgi,v 1.14.2.81 2006/01/20 12:05:29 franck78 Exp $
+#
+#  Franck      -rewrite for two or more interface
+#  nov/2004    -check range is in correct subnet
+#              -add NTP option
+#              -add display sorting of actives leases
+#  dec/2004    -add comment field to fixed leases
+# 
+# to do : choose a correct format for displaying dates
+#
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+our %dhcpsettings=();
+our %netsettings=();
+my %mainsettings=();
+my %timesettings=();
+my $setting = "${General::swroot}/dhcp/settings";
+our $filename1 = "${General::swroot}/dhcp/advoptions";         # Field separator is TAB in this file (comma is standart)
+                                                       # because we need commas in the some data
+our $filename2 = "${General::swroot}/dhcp/fixleases";
+our $filename3 = "${General::swroot}/dhcp/advoptions-list"; # Describe the allowed syntax for dhcp options
+my $errormessage = '';
+my $warnNTPmessage = '';
+my @nosaved=();
+
+#Basic syntax allowed for new Option definition. Not implemented: RECORDS & array of RECORDS 
+our $OptionTypes = 'boolean|((un)?signed )?integer (8|16|32)|ip-address|text|string|encapsulate \w+|array of ip-address';
+
+&Header::showhttpheaders();
+our @ITFs=('GREEN','BLUE');
+
+#Settings1 for the first screen box
+foreach my $itf (@ITFs) {
+    $dhcpsettings{"ENABLE_${itf}"} = 'off';
+    $dhcpsettings{"ENABLEBOOTP_${itf}"} = 'off';
+    $dhcpsettings{"START_ADDR_${itf}"} = '';
+    $dhcpsettings{"END_ADDR_${itf}"} = '';
+    $dhcpsettings{"DOMAIN_NAME_${itf}"} = '';
+    $dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} = '';
+    $dhcpsettings{"MAX_LEASE_TIME_${itf}"} = '';
+    $dhcpsettings{"WINS1_${itf}"} = '';
+    $dhcpsettings{"WINS2_${itf}"} = '';
+    $dhcpsettings{"DNS1_${itf}"} = '';
+    $dhcpsettings{"DNS2_${itf}"} = '';
+    $dhcpsettings{"NTP1_${itf}"} = '';
+    $dhcpsettings{"NTP2_${itf}"} = '';
+}
+
+$dhcpsettings{'SORT_FLEASELIST'} = 'FIPADDR';
+$dhcpsettings{'SORT_LEASELIST'} = 'IPADDR';
+
+#Settings2 for editing the multi-line list
+#Must not be saved with writehash !
+$dhcpsettings{'FIX_MAC'} = '';
+$dhcpsettings{'FIX_ADDR'} = '';
+$dhcpsettings{'FIX_ENABLED'} = 'off';
+$dhcpsettings{'FIX_NEXTADDR'} = '';
+$dhcpsettings{'FIX_FILENAME'} = '';
+$dhcpsettings{'FIX_ROOTPATH'} = '';
+$dhcpsettings{'FIX_REMARK'} = '';
+$dhcpsettings{'ACTION'} = '';
+$dhcpsettings{'KEY1'} = '';
+$dhcpsettings{'KEY2'} = '';
+@nosaved=('FIX_MAC','FIX_ADDR','FIX_ENABLED','FIX_NEXTADDR',
+           'FIX_FILENAME','FIX_ROOTPATH','FIX_REMARK');
+
+$dhcpsettings{'ADVOPT_ENABLED'} = '';
+$dhcpsettings{'ADVOPT_NAME'} = '';
+$dhcpsettings{'ADVOPT_DATA'} = '';
+unshift (@nosaved,'ADVOPT_ENABLED','ADVOPT_NAME','ADVOPT_DATA');
+foreach my $itf (@ITFs) {
+    $dhcpsettings{"ADVOPT_SCOPE_${itf}"} = 'off';
+    unshift (@nosaved, "ADVOPT_SCOPE_${itf}");
+}
+
+# Read Ipcop settings
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("${General::swroot}/time/settings", \%timesettings);
+
+#Get GUI values
+&Header::getcgihash(\%dhcpsettings);
+
+open(FILE, "$filename1") or die 'Unable to open dhcp advanced options file.';
+our @current1 = <FILE>;
+close(FILE);
+# Extract OptionDefinition
+foreach my $line (@current1) {
+    #chomp($line);   # remove newline        #don't know why, but this remove newline in @current1 .... !
+    my @temp = split(/\t/,$line);
+    AddNewOptionDefinition ($temp[1] . ' ' . $temp[2]);
+}
+
+open(FILE, "$filename2") or die 'Unable to open fixed leases file.';
+our @current2 = <FILE>;
+close(FILE);
+
+# Check Settings1 first because they are needed by &buildconf
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'save'}) {
+    foreach my $itf (@ITFs) {
+       if ($dhcpsettings{"ENABLE_${itf}"} eq 'on' ) {
+           # "Start" is defined, need "End" and vice versa
+           if ($dhcpsettings{"START_ADDR_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"START_ADDR_${itf}"}))) {
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};
+                   goto ERROR;
+               }
+               if (!$dhcpsettings{"END_ADDR_${itf}"}) {
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};
+                   goto ERROR;
+               }
+               if (! &General::IpInSubnet ( $dhcpsettings{"START_ADDR_${itf}"}, 
+                                   $netsettings{"${itf}_NETADDRESS"},
+                                   $netsettings{"${itf}_NETMASK"})) {
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};
+                   goto ERROR;
+               }
+           }
+           
+           if ($dhcpsettings{"END_ADDR_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"END_ADDR_${itf}"}))) {
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};
+                   goto ERROR;
+               }
+               if (!$dhcpsettings{"START_ADDR_${itf}"}) {
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid start address'};
+                   goto ERROR;
+               }
+               if (! &General::IpInSubnet ( $dhcpsettings{"END_ADDR_${itf}"}, 
+                                   $netsettings{"${itf}_NETADDRESS"},
+                                   $netsettings{"${itf}_NETMASK"})) { 
+                   $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid end address'};
+                   goto ERROR;
+               }
+               #swap if necessary! (support 255.255.0.0 range, I doubt we need more) GE
+               my @startoct = split (/\./, $dhcpsettings{"START_ADDR_${itf}"});
+               my @endoct   = split (/\./, $dhcpsettings{"END_ADDR_${itf}"});
+               if ( $endoct[2]*256+$endoct[3] < $startoct[2]*256+$startoct[3] ) {
+                   ($dhcpsettings{"START_ADDR_${itf}"},$dhcpsettings{"END_ADDR_${itf}"}) =
+                       ($dhcpsettings{"END_ADDR_${itf}"},$dhcpsettings{"START_ADDR_${itf}"});
+               }
+           }
+
+           if (!($dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} =~ /^\d+$/)) {
+               $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid default lease time'} . $dhcpsettings{'DEFAULT_LEASE_TIME_${itf}'};
+               goto ERROR;
+           }
+
+           if (!($dhcpsettings{"MAX_LEASE_TIME_${itf}"} =~ /^\d+$/)) {
+               $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid max lease time'} . $dhcpsettings{'MAX_LEASE_TIME_${itf}'};
+               goto ERROR;
+           }
+
+           if ($dhcpsettings{"DNS1_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"DNS1_${itf}"}))) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid primary dns'};
+                       goto ERROR;
+               }
+           }
+           if ($dhcpsettings{"DNS2_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"DNS2_${itf}"}))) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid secondary dns'};
+                       goto ERROR;
+               }
+               if (! $dhcpsettings{"DNS1_${itf}"}) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary dns without specifying primary'}; 
+                       goto ERROR;
+               }
+           }
+
+           if ($dhcpsettings{"WINS1_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"WINS1_${itf}"}))) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid wins address'};
+                       goto ERROR;
+               }
+           }
+           if ($dhcpsettings{"WINS2_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"WINS2_${itf}"})))        {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid wins address'};
+                       goto ERROR;
+               }
+               if (! $dhcpsettings{"WINS1_${itf}"} ) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary wins without specifying primary'};
+                       goto ERROR;
+               }               
+           }
+
+           if ($dhcpsettings{"NTP1_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"NTP1_${itf}"}))) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid primary ntp'};
+                       goto ERROR;
+               }
+               if ($dhcpsettings{"NTP1_${itf}"} eq $netsettings{"${itf}_ADDRESS"} && ($timesettings{'ENABLECLNTP'} ne 'on')) {
+                       $warnNTPmessage = "DHCP on ${itf}: " . $Lang::tr{'local ntp server specified but not enabled'};
+                       #goto ERROR;
+               }
+           }
+           if ($dhcpsettings{"NTP2_${itf}"}) {
+               if (!(&General::validip($dhcpsettings{"NTP2_${itf}"}))) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'invalid secondary ntp'};
+                       goto ERROR;
+               }
+               if ($dhcpsettings{"NTP2_${itf}"} eq $netsettings{"${itf}_ADDRESS"} && ($timesettings{'ENABLECLNTP'} ne 'on')) {
+                       $warnNTPmessage = "DHCP on ${itf}: " . $Lang::tr{'local ntp server specified but not enabled'};
+                       #goto ERROR;
+               }
+               if (! $dhcpsettings{"NTP1_${itf}"}) {
+                       $errormessage = "DHCP on ${itf}: " . $Lang::tr{'cannot specify secondary ntp without specifying primary'};
+                       goto ERROR;
+               }
+           }
+       } # enabled
+    }#loop interface verify
+
+    map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must not be saved 
+    &General::writehash($setting, \%dhcpsettings);             # Save good settings
+    $dhcpsettings{'ACTION'} = $Lang::tr{'save'};               # create an 'ACTION'
+    map ($dhcpsettings{$_} = '',@nosaved,'KEY1','KEY2');       # and reinit vars to empty
+    &buildconf;
+    ERROR:                                                     # Leave the faulty field untouched
+} else {
+    &General::readhash($setting, \%dhcpsettings);              # Get saved settings and reset to good if needed
+}
+
+## Sorting of fixed leases
+if ($ENV{'QUERY_STRING'} =~ /^FETHER|^FIPADDR/ ) {
+    my $newsort=$ENV{'QUERY_STRING'};
+    my $act=$dhcpsettings{'SORT_FLEASELIST'};
+    #Reverse actual sort ?
+    if ($act =~ $newsort) {
+       my $Rev='';
+       if ($act !~ 'Rev') {
+           $Rev='Rev';
+       }
+       $newsort.=$Rev;
+    }
+    $dhcpsettings{'SORT_FLEASELIST'}=$newsort;
+    map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must never be saved 
+    &General::writehash($setting, \%dhcpsettings);
+    &sortcurrent2;
+    $dhcpsettings{'ACTION'} = 'SORT';                  # create an 'ACTION'
+    map ($dhcpsettings{$_} = '',@nosaved,'KEY1','KEY2');# and reinit vars to empty 
+}
+
+#Sorting of allocated leases
+&Header::CheckSortOrder;
+
+
+## Now manipulate the two multi-line list with Settings2. 
+#  '1' suffix is for ADVANCED OPTIONS
+#  '2' suffix is for FIXED LEASES
+
+# Toggle enable/disable field on specified options.
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'}.'1') {
+    #move out new line
+    chomp(@current1[$dhcpsettings{'KEY1'}]);
+    my @temp = split(/\t/,@current1[$dhcpsettings{'KEY1'}]);           #use TAB separator !
+    $temp[0] = $temp[0] eq 'on' ? '' : 'on';    # Toggle the field
+    @current1[$dhcpsettings{'KEY1'}] = join ("\t",@temp)."\n";
+    $dhcpsettings{'KEY1'} = ''; # End edit mode
+    &General::log($Lang::tr{'dhcp advopt modified'});
+    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';
+    print FILE @current1;
+    close(FILE);
+       
+    #Write changes to dhcpd.conf.
+    &buildconf;
+}
+
+    
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'add'}.'1' &&
+       $dhcpsettings{'SUBMIT'} ne $Lang::tr{'dhcp advopt help'}) {
+    $dhcpsettings{'ADVOPT_NAME'} =~ s/[^ \w-]//g;      # prevent execution of code by removing everything except letters/space
+    $dhcpsettings{'ADVOPT_DATA'} =~ s/`//g;            # back tik ` ? not allowed !
+
+    if ($dhcpsettings{'ADVOPT_DATA'} eq '') {
+       $errormessage=$Lang::tr{'dhcp advopt blank value'};
+    }
+    
+    # Test for a new option definition string (join field name & data)
+    if (ExistNewOptionDefinition ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {
+       #only edit permitted if option definition exists
+       $errormessage = $Lang::tr{'dhcp advopt definition exists'} if ($dhcpsettings{'KEY1'} eq '');
+       $dhcpsettings{'ADVOPT_ENABLED'} = 'on';                 # force active
+       map ($dhcpsettings{"ADVOPT_SCOPE_$_"} = 'off', @ITFs);  # force global
+    } elsif (AddNewOptionDefinition ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {
+       #was a new option definition
+       $dhcpsettings{'ADVOPT_ENABLED'} = 'on';                 # force active
+       map ($dhcpsettings{"ADVOPT_SCOPE_$_"} = 'off', @ITFs);  # force global
+    } elsif (ValidNewOption ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {
+       #was a new option
+    } elsif (! `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`) {
+       $errormessage=$Lang::tr{'dhcp advopt unknown'}.': '.$dhcpsettings{'ADVOPT_NAME'};
+    }
+
+    unless ($errormessage) {
+       
+       my $scope = '';
+       foreach my $itf (@ITFs) {  # buils "RED,GREEN,ORANGE,... based on selection
+           $scope .= $dhcpsettings{"ADVOPT_SCOPE_${itf}"} eq 'on' ? "\t$itf" : "\toff" ;
+       }
+       if ($dhcpsettings{'KEY1'} eq '') { #add or edit ?  TAB separator !
+           unshift (@current1, "$dhcpsettings{'ADVOPT_ENABLED'}\t$dhcpsettings{'ADVOPT_NAME'}\t$dhcpsettings{'ADVOPT_DATA'}$scope\n");
+           &General::log($Lang::tr{'dhcp advopt added'});
+       } else {
+           @current1[$dhcpsettings{'KEY1'}] = "$dhcpsettings{'ADVOPT_ENABLED'}\t$dhcpsettings{'ADVOPT_NAME'}\t$dhcpsettings{'ADVOPT_DATA'}$scope\n";
+           $dhcpsettings{'KEY1'} = '';       # End edit mode
+           &General::log($Lang::tr{'dhcp advopt modified'});
+       }
+
+        #Write changes to dhcpd.conf.
+        &sortcurrent1;    # sort newly added/modified entry
+        &buildconf;       # before calling buildconf which use fixed lease file !
+    }
+}
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'edit'}.'1') {
+    #move out new line
+    my $line = @current1[$dhcpsettings{'KEY1'}];
+    chomp($line);
+    my @temp = split(/\t/, $line);
+    $dhcpsettings{'ADVOPT_ENABLED'}=$temp[0];
+    $dhcpsettings{'ADVOPT_NAME'}=$temp[1];
+    $dhcpsettings{'ADVOPT_DATA'}=$temp[2];
+
+    # read next fields which are the name (color) of an interface if this interface is scoped
+    for (my $key=0; $key<@ITFs; $key++) {
+       my $itf = $temp[3+$key];
+       if ($itf ne 'off') # Only is an interface name is read
+       {
+           $dhcpsettings{"ADVOPT_SCOPE_${itf}"} = 'on';
+       }    
+    }
+}
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'remove'}.'1') {
+    splice (@current1,$dhcpsettings{'KEY1'},1);
+    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';
+    print FILE @current1;
+    close(FILE);
+    $dhcpsettings{'KEY1'} = '';                                # End remove mode
+    &General::log($Lang::tr{'dhcp advopt removed'});
+    #Write changes to dhcpd.conf.
+    &buildconf;
+}
+#end KEY1
+
+
+# Toggle enable/disable field on specified lease.
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'}.'2') {
+    #move out new line
+    chomp(@current2[$dhcpsettings{'KEY2'}]);
+    my @temp = split(/\,/,@current2[$dhcpsettings{'KEY2'}]);
+    $temp[2] = $temp[2] eq 'on' ? '' : 'on';    # Toggle the field
+    @current2[$dhcpsettings{'KEY2'}] = join (',',@temp)."\n";
+    $dhcpsettings{'KEY2'} = ''; # End edit mode
+    &General::log($Lang::tr{'fixed ip lease modified'});
+    open(FILE, ">$filename2") or die 'Unable to open fixed leases file.';
+    print FILE @current2;
+    close(FILE);
+       
+    #Write changes to dhcpd.conf.
+    &buildconf;
+}
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'add'}.'2') {
+    $dhcpsettings{'FIX_MAC'} =~ tr/-/:/;
+    unless(&General::validip($dhcpsettings{'FIX_ADDR'})) { $errormessage = $Lang::tr{'invalid fixed ip address'}; }
+    unless(&General::validmac($dhcpsettings{'FIX_MAC'})) { $errormessage = $Lang::tr{'invalid fixed mac address'}; }
+    if ($dhcpsettings{'FIX_NEXTADDR'}) {
+        unless(&General::validip($dhcpsettings{'FIX_NEXTADDR'})) { $errormessage = $Lang::tr{'invalid fixed ip address'}; }
+    }
+       
+    my $key = 0;
+    CHECK:foreach my $line (@current2) {
+        my @temp = split(/\,/,$line);
+        if($dhcpsettings{'KEY2'} ne $key) {
+           # same MAC is OK on different subnets. This test is not complete because
+           # if ip are not inside a known subnet, I don't warn.
+           # Also it may be needed to put duplicate fixed lease in their right subnet definition..
+           foreach my $itf (@ITFs) {
+               my $scoped = &General::IpInSubnet($dhcpsettings{'FIX_ADDR'},
+                                                 $netsettings{"${itf}_NETADDRESS"}, 
+                                                 $netsettings{"${itf}_NETMASK"}) &&
+                                                 $dhcpsettings{"ENABLE_${itf}"} eq 'on';
+               if ( $scoped &&
+                   (lc($dhcpsettings{'FIX_MAC'}) eq lc($temp[0])) &&
+                   &General::IpInSubnet($temp[1],
+                                        $netsettings{"${itf}_NETADDRESS"}, 
+                                        $netsettings{"${itf}_NETMASK"})) {
+                   $errormessage = "$Lang::tr{'mac address in use'} $dhcpsettings{'FIX_MAC'}";
+                   last CHECK;
+               }
+           }
+       }
+       $key++;
+    }
+
+    unless ($errormessage) {
+       $dhcpsettings{'FIX_REMARK'} = &Header::cleanhtml($dhcpsettings{'FIX_REMARK'});
+       $dhcpsettings{'FIX_NEXTADDR'} = &Header::cleanhtml($dhcpsettings{'FIX_NEXTADDR'});
+       $dhcpsettings{'FIX_FILENAME'} = &Header::cleanhtml($dhcpsettings{'FIX_FILENAME'});
+       $dhcpsettings{'FIX_ROOTPATH'} = &Header::cleanhtml($dhcpsettings{'FIX_ROOTPATH'});
+       if ($dhcpsettings{'KEY2'} eq '') { #add or edit ?
+           unshift (@current2, "$dhcpsettings{'FIX_MAC'},$dhcpsettings{'FIX_ADDR'},$dhcpsettings{'FIX_ENABLED'},$dhcpsettings{'FIX_NEXTADDR'},$dhcpsettings{'FIX_FILENAME'},$dhcpsettings{'FIX_ROOTPATH'},$dhcpsettings{'FIX_REMARK'}\n");
+           &General::log($Lang::tr{'fixed ip lease added'});
+       } else {
+           @current2[$dhcpsettings{'KEY2'}] = "$dhcpsettings{'FIX_MAC'},$dhcpsettings{'FIX_ADDR'},$dhcpsettings{'FIX_ENABLED'},$dhcpsettings{'FIX_NEXTADDR'},$dhcpsettings{'FIX_FILENAME'},$dhcpsettings{'FIX_ROOTPATH'},$dhcpsettings{'FIX_REMARK'}\n";
+           $dhcpsettings{'KEY2'} = '';       # End edit mode
+           &General::log($Lang::tr{'fixed ip lease modified'});
+       }
+
+        #Write changes to dhcpd.conf.
+        &sortcurrent2;    # sort newly added/modified entry
+        &buildconf;       # before calling buildconf which use fixed lease file !
+    }
+}
+
+if ($dhcpsettings{'ACTION_ALL'} eq '+') {
+    my $news = 0;
+    foreach (keys %dhcpsettings) {
+        if (/^(\d+\.\d+\.\d+\.\d+)-([0-9a-fA-F:]+)$/) {     # checked names are index of the line
+            my $ip=$1;
+            my $mac=$2;
+            if (!grep (/$2/,@current2)) {
+                unshift (@current2, "$mac,$ip,on,,,,imported\n");
+                $news++;
+            }
+        }
+    }
+    if ($news) {
+        #Write changes to dhcpd.conf.
+        $warnNTPmessage = $Lang::tr{'fixed ip lease added'}."($news)";
+        &General::log($warnNTPmessage);
+        &sortcurrent2;    # sort newly added/modified entry
+        &buildconf;       # before calling buildconf which use fixed lease file !
+    }
+}
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'edit'}.'2') {
+    #move out new line
+    my $line = @current2[$dhcpsettings{'KEY2'}];
+    chomp($line);
+    my @temp = split(/\,/, $line);
+    $dhcpsettings{'FIX_MAC'}=$temp[0];
+    $dhcpsettings{'FIX_ADDR'}=$temp[1];
+    $dhcpsettings{'FIX_ENABLED'}=$temp[2];
+    $dhcpsettings{'FIX_NEXTADDR'}=$temp[3];
+    $dhcpsettings{'FIX_FILENAME'}=$temp[4];
+    $dhcpsettings{'FIX_ROOTPATH'}=$temp[5];
+    $dhcpsettings{'FIX_REMARK'}=$temp[6];
+}
+
+if ($dhcpsettings{'ACTION'} eq $Lang::tr{'remove'}.'2') {
+    splice (@current2,$dhcpsettings{'KEY2'},1);
+    open(FILE, ">$filename2") or die 'Unable to open fixed lease file.';
+    print FILE @current2;
+    close(FILE);
+    $dhcpsettings{'KEY2'} = '';                                # End remove mode
+    &General::log($Lang::tr{'fixed ip lease removed'});
+    #Write changes to dhcpd.conf.
+    &buildconf;
+}
+#end KEY2 defined
+
+
+
+
+if ($dhcpsettings{'ACTION'} eq '' ) { # First launch from GUI
+
+    # Set default DHCP values only if blank and disabled
+    foreach my $itf (@ITFs) {
+       if ($dhcpsettings{"ENABLE_${itf}"} ne 'on' ) {
+           $dhcpsettings{"DNS1_${itf}"} = $netsettings{"${itf}_ADDRESS"};
+           $dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} = '60';
+           $dhcpsettings{"MAX_LEASE_TIME_${itf}"} = '120';
+           $dhcpsettings{"DOMAIN_NAME_${itf}"} = $mainsettings{'DOMAINNAME'};
+       }
+    }
+    $dhcpsettings{'FIX_ENABLED'} = 'on';
+}
+
+&Header::openpage($Lang::tr{'dhcp configuration'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>\n";
+    &Header::closebox();
+}
+if ($warnNTPmessage) {
+    $warnNTPmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnNTPmessage";
+}
+
+&Header::openbox('100%', 'left', 'DHCP');
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+
+foreach my $itf (@ITFs) {
+    my %checked=();
+    $checked{'ENABLE'}{'on'} = ( $dhcpsettings{"ENABLE_${itf}"} ne 'on') ? '' : "checked='checked'";
+    $checked{'ENABLEBOOTP'}{'on'} = ( $dhcpsettings{"ENABLEBOOTP_${itf}"} ne 'on') ? '' : "checked='checked'";
+
+    if ($netsettings{"${itf}_DEV"} ne '' ) { # Show only defined interface
+       my $lc_itf=lc($itf);
+print <<END
+<table width='100%'>
+<tr>
+    <td width='25%' class='boldbase'><b><font color='${lc_itf}'>$Lang::tr{"$lc_itf interface"}</font></b></td>
+    <td class='base'>$Lang::tr{'enabled'}
+    <input type='checkbox' name='ENABLE_${itf}' $checked{'ENABLE'}{'on'} /></td>
+    <td width='25%' class='base'>$Lang::tr{'ip address'}/$Lang::tr{'netmask'}:</td><td><b>$netsettings{"${itf}_ADDRESS"}/$netsettings{"${itf}_NETMASK"}</b></td>
+</tr><tr>
+    <td width='25%' class='base'>$Lang::tr{'start address'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td width='25%'><input type='text' name='START_ADDR_${itf}' value='$dhcpsettings{"START_ADDR_${itf}"}' /></td>
+    <td width='25%' class='base'>$Lang::tr{'end address'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td width='25%'><input type='text' name='END_ADDR_${itf}' value='$dhcpsettings{"END_ADDR_${itf}"}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'default lease time'}</td>
+    <td><input type='text' name='DEFAULT_LEASE_TIME_${itf}' value='$dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"}' /></td>
+    <td class='base'>$Lang::tr{'max lease time'}</td>
+    <td><input type='text' name='MAX_LEASE_TIME_${itf}' value='$dhcpsettings{"MAX_LEASE_TIME_${itf}"}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'domain name suffix'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='DOMAIN_NAME_${itf}' value='$dhcpsettings{"DOMAIN_NAME_${itf}"}' /></td>
+    <td>$Lang::tr{'dhcp allow bootp'}:</td>
+    <td><input type='checkbox' name='ENABLEBOOTP_${itf}' $checked{'ENABLEBOOTP'}{'on'} /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'primary dns'}</td>
+    <td><input type='text' name='DNS1_${itf}' value='$dhcpsettings{"DNS1_${itf}"}' /></td>
+    <td class='base'>$Lang::tr{'secondary dns'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='DNS2_${itf}' value='$dhcpsettings{"DNS2_${itf}"}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'primary ntp server'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='NTP1_${itf}' value='$dhcpsettings{"NTP1_${itf}"}' /></td>
+    <td class='base'>$Lang::tr{'secondary ntp server'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='NTP2_${itf}' value='$dhcpsettings{"NTP2_${itf}"}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'primary wins server address'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='WINS1_${itf}' value='$dhcpsettings{"WINS1_${itf}"}' /></td>
+    <td class='base'>$Lang::tr{'secondary wins server address'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='WINS2_${itf}' value='$dhcpsettings{"WINS2_${itf}"}' /></td>
+</tr>
+</table>
+<hr />
+END
+;
+    }# Show only defined interface
+}#foreach itf
+print <<END
+<table width='100%'>
+<tr>
+    <td class='base' width='25%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td class='base' width='30%'>$warnNTPmessage</td>
+    <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+    <td width='5%' align='right'>
+        <a href='${General::adminmanualurl}/services.html#services_dhcp' target='_blank'>
+        <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>
+</tr>
+</table>
+</form>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'dhcp advopt list'});
+# DHCP Advanced options settings
+my %checked=();
+$checked{'ADVOPT_ENABLED'}{'on'} = ($dhcpsettings{'ADVOPT_ENABLED'} ne 'on') ? '' : "checked='checked'";
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>";
+my $buttontext = $Lang::tr{'add'};
+if ($dhcpsettings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    print "<tr><td class='boldbase'><b>$Lang::tr{'dhcp advopt edit'}</b></td></tr>";
+} else {
+    print "<tr><td class='boldbase'><b>$Lang::tr{'dhcp advopt add'}</b></td></tr>"
+}
+
+#search if the 'option' is in the list and print the syntax model
+my $opt = `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`;
+if ($opt ne '') {
+   $opt =~ s/option $dhcpsettings{'ADVOPT_NAME'}/Syntax:/;  # "option xyz abc" => "syntax: abc"
+   $opt =~ s/;//;
+   $opt = "<tr><td></td><td></td><td colspan='2'>$opt</td></tr>";
+}
+print <<END
+<tr>
+    <td class='base'>$Lang::tr{'dhcp advopt name'}:</td>
+    <td><input type='text' name='ADVOPT_NAME' value='$dhcpsettings{'ADVOPT_NAME'}' size='18' /></td>
+    <td class='base'>$Lang::tr{'dhcp advopt value'}:</td>
+    <td><input type='text' name='ADVOPT_DATA' value='$dhcpsettings{'ADVOPT_DATA'}' size='40' /></td>
+</tr>$opt<tr>
+    <td class='base'>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='ADVOPT_ENABLED' $checked{'ADVOPT_ENABLED'}{'on'} /></td>
+    <td class='base'>$Lang::tr{'dhcp advopt scope'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td>
+END
+;
+
+# Put a checkbox for each interface. Checkbox visible disabled if interface is disabled  
+foreach my $itf (@ITFs) {
+    my $lc_itf=lc($itf);
+    $checked{'ADVOPT_SCOPE_${itf}'}{'on'} = $dhcpsettings{"ADVOPT_SCOPE_${itf}"} ne 'on' ? '' : "checked='checked'";    
+    print "$Lang::tr{\"${lc_itf}\"} <input type='checkbox' name='ADVOPT_SCOPE_${itf}' $checked{'ADVOPT_SCOPE_${itf}'}{'on'} ";
+    print $dhcpsettings{"ENABLE_${itf}"} eq 'on' ? "/>" : "disabled='disabled' />";
+    print "&nbsp; &nbsp;";
+}
+
+print <<END
+    </td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'dhcp advopt scope help'}</td>
+    <td width='50%' align='center'>
+    <input type='hidden' name='ACTION' value='$Lang::tr{'add'}1' />
+    <input type='submit' name='SUBMIT' value='$buttontext' />
+    <input type='submit' name='SUBMIT' value='$Lang::tr{'dhcp advopt help'}' />
+    <input type='hidden' name='KEY1' value='$dhcpsettings{'KEY1'}' />
+    </td>
+</tr>
+</table>
+</form>
+END
+;
+#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
+
+# print help taken from the file describing options
+if ($dhcpsettings{'SUBMIT'} eq $Lang::tr{'dhcp advopt help'}) {
+    print "<hr />";
+    print "<table width='100%'>";
+    print "<tr><td width='30%'><b>$Lang::tr{'dhcp advopt name'}</b></td><td width='70%'><b>$Lang::tr{'dhcp advopt value'}</b></td>";
+    open(FILE, "$filename3");
+    my @current3 = <FILE>;
+    close(FILE);
+    foreach my $line (@current3) {
+       $line =~ /option ([a-z0-9-]+) (.*);/;
+       print "<tr><td>$1</td><td>$2</td></tr>\n";
+    }
+    print "<tr><td colspan='2'><hr /></td></tr>\n";
+    print '<tr><td>string type</td><td>"quoted string" or 00:01:FF...</td></tr>';
+    print '<tr><td>ip-address type </td><td>10.0.0.1 | www.dot.com</td></tr>';
+    print '<tr><td>int,uint types</td><td>numbers</td></tr>';
+    print '<tr><td>flag type</td><td>on | off</td></tr>';
+    print '</table>';
+    print "<hr />";
+    print "<table width='100%'>";
+    print "<tr><td width='30%'><b>$Lang::tr{'dhcp advopt custom definition'}</b></td><td width='70%'><b>$Lang::tr{'dhcp advopt value'}</b></td>";
+    print "<tr><td>any-name </td><td> code NNN=$OptionTypes</td></tr>";
+    print '<tr><td>a-string</td><td>code 100=string</td></tr>';
+    print '<tr><td>a-number</td><td>code 101=signed integer 8</td></tr>';
+    print '<tr><td>wpad</td><td>code 252=text</td></tr>';
+    print '<tr><td>wpad</td><td>"http://www.server.fr/path-to/proxy.pac"</td></tr>';
+    print '</table>';
+}
+
+print <<END
+<hr />
+<table width='100%'>
+<tr>
+    <td width='30%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt name'}</b></td>
+    <td width='50%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt value'}</b></td>
+    <td width='20%' class='boldbase' align='center'><b>$Lang::tr{'dhcp advopt scope'}</b></td>
+    <td colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+my $key = 0;
+foreach my $line (@current1) {
+    my $gif = '';
+    my $gdesc = '';
+    chomp($line);   # remove newline
+    my @temp = split(/\t/,$line);
+
+    if ($temp[0] eq "on") {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'}; 
+    }
+
+    if ($dhcpsettings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+
+    print <<END
+<td align='center'>$temp[1]</td>
+<td align='center'>$temp[2]</td>
+<td align='center'>
+END
+;
+    # Prepare a global flag to make easy reading
+    my $global = '';
+    my $disabledTogle = '';
+    my $disabledEditRemove = '';
+    if ( ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2]) ) {
+       $global = $Lang::tr{'dhcp advopt definition'};
+       $disabledTogle = "disabled='disabled'";
+       # Search if it is a used NewOptionDefinition to also disable edit & delete
+       $disabledEditRemove = "disabled='disabled'" if (IsUsedNewOptionDefinition ($temp[1], $temp[2]));
+    } else {
+       $global = $Lang::tr{'dhcp advopt scope global'};
+    }
+    
+    
+    # Print each checked interface
+    for (my $key=0; $key<@ITFs; $key++) {
+       my $itf = $temp[3+$key];
+       if ($itf ne 'off') {    # Only if an interface name is read
+           print "$itf";
+           $global='';         # fall to local scope !
+       }
+    }
+    print <<END
+$global</td>
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}1' />
+<input $disabledTogle type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}1' />
+<input $disabledEditRemove type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}1' />
+<input $disabledEditRemove type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+
+print "</table>";
+
+# If there are dhcp options, print Key to action icons
+if ($key) {
+print <<END
+<table>
+<tr>
+       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'current fixed leases'});
+# Fixed leases screens
+$checked{'FIX_ENABLED'}{'on'} = ($dhcpsettings{'FIX_ENABLED'} ne 'on') ? '' : "checked='checked'";
+
+$buttontext = $Lang::tr{'add'};
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>";
+
+if ($dhcpsettings{'KEY2'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    print "<tr><td class='boldbase' colspan='3'><b>$Lang::tr{'edit an existing lease'}</b></td></tr>";
+} else {
+    print "<tr><td class='boldbase' colspan='3'><b>$Lang::tr{'add new lease'}</b></td></tr>"
+}
+print <<END
+<tr>
+    <td class='base'>$Lang::tr{'mac address'}:</td>
+    <td><input type='text' name='FIX_MAC' value='$dhcpsettings{'FIX_MAC'}' size='18' /></td>
+    <td class='base'>$Lang::tr{'ip address'}:</td>
+    <td><input type='text' name='FIX_ADDR' value='$dhcpsettings{'FIX_ADDR'}' size='18' /></td>
+    <td class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='FIX_REMARK' value='$dhcpsettings{'FIX_REMARK'}' size='18' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='FIX_ENABLED' $checked{'FIX_ENABLED'}{'on'} /></td>
+</tr><tr>
+    <td colspan = '3'><b>$Lang::tr{'dhcp bootp pxe data'}</b></td>
+</tr><tr>
+    <td class='base'>next-server:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='FIX_NEXTADDR' value='$dhcpsettings{'FIX_NEXTADDR'}' size='18' /></td>
+    <td class='base'>filename:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='FIX_FILENAME' value='$dhcpsettings{'FIX_FILENAME'}' size='18' /></td>
+    <td class='base'>root path:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='FIX_ROOTPATH' value='$dhcpsettings{'FIX_ROOTPATH'}' size='18' /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td width='50%' align='center'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' />
+       <input type='submit' name='SUBMIT' value='$buttontext' />
+       <input type='hidden' name='KEY2' value='$dhcpsettings{'KEY2'}' /></td>
+</tr>
+</table>
+</form>
+END
+;
+#Edited line number (KEY2) passed until cleared by 'save' or 'remove' or 'new sort order'
+
+print <<END
+<hr />
+<table width='100%'>
+<tr>
+    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FETHER'><b>$Lang::tr{'mac address'}</b></a></td>
+    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FIPADDR'><b>$Lang::tr{'ip address'}</b></a></td>
+    <td width='15%' align='center'><b>$Lang::tr{'remark'}</b></td>
+    <td width='15%' class='boldbase' align='center'><b>next-server</b></td>
+    <td width='15%' class='boldbase' align='center'><b>filename</b></td>
+    <td width='15%' class='boldbase' align='center'><b>root path</b></td>
+    <td colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+my $ipdup = 0;
+my %ipinuse = ();
+my %macdupl = (); # Duplicate MACs have to be on different subnets
+my %ipoutside = ();
+
+# mark duplicate ip or duplicate MAC
+foreach my $line (@current2) {
+    my @temp = split(/\,/,$line);
+    $macdupl{$temp[0]} += 1;
+    if ($macdupl{$temp[0]} > 1) { 
+       $ipdup = 1;     # Flag up duplicates for use later
+    }
+    $ipinuse{$temp[1]} += 1;
+    if ($ipinuse{$temp[1]} > 1) { 
+       $ipdup = 1;     # Flag up duplicates for use later
+    }
+    # Mark IP addresses outwith known subnets
+    $ipoutside{$temp[1]} = 1;
+    foreach my $itf (@ITFs) {
+        if ( &General::IpInSubnet($temp[1],
+                $netsettings{"${itf}_NETADDRESS"}, 
+                $netsettings{"${itf}_NETMASK"})) {
+            $ipoutside{$temp[1]} = 0;
+        }
+    }
+}
+
+$key = 0;
+foreach my $line (@current2) {
+    my $gif = '';
+    my $gdesc = '';
+    chomp($line);   # remove newline
+    my @temp = split(/\,/,$line);
+
+    if ($temp[2] eq "on") {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'}; 
+    }
+
+    if ($dhcpsettings{'KEY2'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+    my $TAG0 = '';
+    my $TAG1 = '';
+    my $TAG2 = '';
+    my $TAG3 = '';
+    my $TAG4 = '';
+    if ($ipinuse{$temp[1]} > 1) { 
+       $TAG0 = '<b>';
+       $TAG1 = '</b>';
+    }
+    if ($macdupl{$temp[0]} > 1) { 
+       $TAG2 = '<b>';
+       $TAG3 = '</b>';
+    }
+    if ($ipoutside{$temp[1]} > 0) { 
+       $TAG4 = "bgcolor='orange'" if ($dhcpsettings{'KEY2'} ne $key);
+    }
+
+    print <<END
+<td align='center'>$TAG2$temp[0]$TAG3</td>
+<td align='center' $TAG4>$TAG0$temp[1]$TAG1</td>
+<td align='center'>$temp[6]&nbsp;</td>
+<td align='center'>$temp[3]&nbsp;</td>
+<td align='center'>$temp[4]&nbsp;</td>
+<td align='center'>$temp[5]&nbsp;</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}2' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY2' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}2' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY2' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}2' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY2' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+print "</table>";
+
+# If the fixed lease file contains entries, print Key to action icons
+if ($key) {
+my $dup = $ipdup ? "<td class='base'>$Lang::tr{'duplicate ip bold'}</td>" :'';
+print <<END
+<table>
+<tr>
+       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td bgcolor='orange'>&nbsp;</td>
+       <td class='base'>$Lang::tr{'ip address outside subnets'}</td>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       $dup
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+
+
+foreach my $itf (@ITFs) {
+    if ($dhcpsettings{"ENABLE_${itf}"} eq 'on') {
+       # display leases with a list of actions to do with the global select checkbox.
+       &Header::PrintActualLeases("+");        # "+" => create fixed leases from nodeaddress
+       last;                   #Print one time only for all interfaces
+    };
+}
+
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+sub sortcurrent1  # by now, do not sort, just write
+{
+    open(FILE, ">$filename1") or die 'Unable to open dhcp advanced options file.';
+    print FILE @current1;
+    close(FILE);
+}
+
+
+# Sort the "current2" array according to choices
+sub sortcurrent2
+{
+    our %entries = ();
+
+    sub fixedleasesort {
+       my $qs='';
+       if (rindex ($dhcpsettings{'SORT_FLEASELIST'},'Rev') != -1) {
+           $qs=substr ($dhcpsettings{'SORT_FLEASELIST'},0,length($dhcpsettings{'SORT_FLEASELIST'})-3);
+           if ($qs eq 'FIPADDR') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($b[0]<=>$a[0]) ||
+               ($b[1]<=>$a[1]) ||
+               ($b[2]<=>$a[2]) ||
+               ($b[3]<=>$a[3]);
+           } else {
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
+           }
+       } else { #not reverse
+           $qs=$dhcpsettings{'SORT_FLEASELIST'};
+           if ($qs eq 'FIPADDR') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+           } else {
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
+           }
+       }
+    }
+
+    #Use an associative array (%entries)
+    foreach my $line (@current2) {
+       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)
+       my @temp = split (',',$line);
+       my @record = ('FETHER',$temp[0],'FIPADDR',$temp[1],'DATA',join(',',@temp[2..6]));
+       my $record = {};                        # create a reference to empty hash
+       %{$record} = @record;                   # populate that hash with @record
+       # use combination of ether & IP as key to allow duplicates in either but not both
+       $entries{$record->{FETHER} . $record->{FIPADDR}} = $record; # add this to a hash of hashes
+    }
+    
+    open(FILE, ">$filename2") or die 'Unable to open fixed lease file.';
+    foreach my $entry ( sort fixedleasesort keys %entries) {
+       print FILE "$entries{$entry}->{FETHER},$entries{$entry}->{FIPADDR},$entries{$entry}->{DATA}\n";
+    }
+    close(FILE);
+
+    # Reload sorted  @current2
+    open (FILE, "$filename2");
+    @current2 = <FILE>;
+    close (FILE);
+    undef (%entries);  #This array is reused latter. Clear it.
+}
+                                                   
+# Build the configuration file mixing  settings, fixed leases and advanced options
+sub buildconf {
+    open(FILE, ">/${General::swroot}/dhcp/dhcpd.conf") or die "Unable to write dhcpd.conf file";
+    flock(FILE, 2);
+
+    # Global settings
+    print FILE "ddns-update-style none;\n";
+    print FILE "deny bootp;    #default\n";
+    print FILE "authoritative;\n";
+    
+    # Write first new option definition
+    foreach my $line (@current1) {
+       chomp($line);   # remove newline
+       my @temp = split(/\t/,$line);
+        if (ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2])) {
+               print FILE "option $temp[1] $temp[2];\n";
+       }
+    }
+    # Write other global options
+    foreach my $line (@current1) {
+       chomp($line);   # remove newline
+       my @temp = split(/\t/,$line);
+       
+       if ($temp[0] eq 'on' && !ExistNewOptionDefinition ($temp[1] . ' ' . $temp[2])){ # active & !definition
+           my $global=1;
+           for (my $key=0; $key<@ITFs; $key++) {
+               my $itf = $temp[3+$key];
+               if ($itf ne 'off') # Only if an interface name is read
+               {
+                   $global=0;
+               }
+           }
+           if ($global) {
+               print FILE "option $temp[1] $temp[2];\n";
+           }
+       }# on    
+    }# foreach line
+
+    #Subnet range definition
+    foreach my $itf (@ITFs) {
+       my $lc_itf=lc($itf);
+       if ($dhcpsettings{"ENABLE_${itf}"} eq 'on' ){
+           print FILE "\nsubnet " . $netsettings{"${itf}_NETADDRESS"} . " netmask ". $netsettings{"${itf}_NETMASK"} . " #$itf\n";
+           print FILE "{\n";
+           print FILE "\trange " . $dhcpsettings{"START_ADDR_${itf}"} . ' ' . $dhcpsettings{"END_ADDR_${itf}"}.";\n" if ($dhcpsettings{"START_ADDR_${itf}"});
+           print FILE "\toption subnet-mask "   . $netsettings{"${itf}_NETMASK"} . ";\n";
+           print FILE "\toption domain-name \"" . $dhcpsettings{"DOMAIN_NAME_${itf}"} . "\";\n";
+           print FILE "\toption routers " . $netsettings{"${itf}_ADDRESS"} . ";\n";
+           print FILE "\toption domain-name-servers " . $dhcpsettings{"DNS1_${itf}"}  if ($dhcpsettings{"DNS1_${itf}"});
+           print FILE ", " . $dhcpsettings{"DNS2_${itf}"}                             if ($dhcpsettings{"DNS2_${itf}"});
+           print FILE ";\n"                                                           if ($dhcpsettings{"DNS1_${itf}"});
+           print FILE "\toption ntp-servers " . $dhcpsettings{"NTP1_${itf}"}          if ($dhcpsettings{"NTP1_${itf}"});
+           print FILE ", " . $dhcpsettings{"NTP2_${itf}"}                             if ($dhcpsettings{"NTP2_${itf}"});
+           print FILE ";\n"                                                           if ($dhcpsettings{"NTP1_${itf}"});
+           print FILE "\toption netbios-name-servers " . $dhcpsettings{"WINS1_${itf}"}     if ($dhcpsettings{"WINS1_${itf}"});
+           print FILE ", " . $dhcpsettings{"WINS2_${itf}"}                            if ($dhcpsettings{"WINS2_${itf}"});
+           print FILE ";\n"                                                           if ($dhcpsettings{"WINS1_${itf}"});
+           print FILE "\tdefault-lease-time " . ($dhcpsettings{"DEFAULT_LEASE_TIME_${itf}"} * 60). ";\n";
+           print FILE "\tmax-lease-time "     . ($dhcpsettings{"MAX_LEASE_TIME_${itf}"} * 60)    . ";\n";
+           print FILE "\tallow bootp;\n" if ($dhcpsettings{"ENABLEBOOTP_${itf}"} eq 'on');
+
+
+
+           # Write scoped options
+           foreach my $line (@current1) {
+               chomp($line);   # remove newline
+               my @temp = split(/\t/,$line);           # Use TAB separator !
+       
+               if ($temp[0] eq 'on'){
+                   for (my $key=0; $key<@ITFs; $key++) {
+                       if ($itf eq $temp[3+$key]) # Only is an interface name is read
+                       {
+                           print FILE "\toption $temp[1] $temp[2];\n";
+                       }
+                   }
+               }# on    
+           }# foreach line
+           print FILE "} #$itf\n";
+
+           system ('/bin/touch', "${General::swroot}/dhcp/enable_${lc_itf}");
+           &General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server enabled'})
+       } else {
+           unlink "${General::swroot}/dhcp/enable_${lc_itf}";
+           &General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server disabled'})
+       }
+    }
+
+    #write fixed leases if any. Does not handle duplicates to write them elsewhere than the global scope.
+    my $key = 0;
+    foreach my $line (@current2) {
+       chomp($line);
+       my @temp = split(/\,/,$line);
+       if ($temp[2] eq "on") {
+           print FILE "\nhost fix$key # $temp[6]\n";
+           print FILE "{\n";
+           print FILE "\thardware ethernet $temp[0];\n";
+           print FILE "\tfixed-address $temp[1];\n";
+           print FILE "\tnext-server $temp[3];\n"          if ($temp[3]);
+           print FILE "\tfilename \"$temp[4]\";\n"         if ($temp[4]);
+           print FILE "\toption root-path \"$temp[5]\";\n" if ($temp[5]);
+           print FILE "}\n";
+           $key++;
+       }
+    }
+    close FILE;
+    system '/usr/local/bin/restartdhcp';
+}
+
+#
+# Receive a string and if it match model for a new option,
+# add it to the list %newOptions
+#
+my %NewOptions = ();
+
+sub AddNewOptionDefinition {
+    my ($line) = @_;
+    if ( $line =~ /^([-\w]+)( code \d+=($OptionTypes))/ ) {
+       $NewOptions{$1} = $2;
+       #&General::log ("new:<$1><$2>");
+       return 1;
+    }
+    return 0;
+}
+
+#
+# Check existence of definition for a new option
+#
+sub ExistNewOptionDefinition {
+    my ($line) = @_;
+
+    if ( $line =~ /^([-\w]+)( code \d+=($OptionTypes))/ ) {
+       return defined $NewOptions{$1};
+    }
+    return 0;
+}
+
+#
+# Check if it is a new option (definition must exist)
+# "code=" test eliminate a false response when definition exists
+# but this string is a definition with bad $OptionTypes.
+sub ValidNewOption {
+    my ($line) = @_;
+    if ($line =~ /^([-\w]+) (.*)/ ) {
+       return defined ( $NewOptions{$1} ) && $2 !~ /code=/;
+    }
+    return 0;
+}
+
+#
+# Check if the new option $opt is used, except the definition of itself!
+#
+sub IsUsedNewOptionDefinition {
+    my ($opt,$val) = @_;
+
+    foreach my $line (@current1) {
+       #chomp($line);   # remove newline        #don't know why, but this remove newline in @current1 .... !
+       my @temp = split(/\t/,$line);
+       # if we find something "opt value" & value != "code nnn=" it's ok.
+       return 1 if ( ($opt eq $temp[1]) && ($temp[2] !~ /code \d+=/) );
+    }
+    return 0;
+}
index 88f7bad3cd397963be68b5c675f72f014e7394a5..7751fa45d78af4e3328b9b722c3906fa4ac26534 100644 (file)
@@ -1,35 +1,35 @@
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: dial.cgi,v 1.4.2.3 2005/02/22 22:21:55 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'dial'}) {\r
-       system('/etc/rc.d/rc.red','start') == 0\r
-       or &General::log("Dial failed: $?"); }\r
-elsif ($cgiparams{'ACTION'} eq $Lang::tr{'hangup'}) {\r
-       system('/etc/rc.d/rc.red','stop') == 0\r
-       or &General::log("Hangup failed: $?"); }\r
-sleep 1;\r
-\r
-print "Status: 302 Moved\nLocation: /cgi-bin/index.cgi\n\n";\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: dial.cgi,v 1.4.2.3 2005/02/22 22:21:55 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'dial'}) {
+       system('/etc/rc.d/rc.red','start') == 0
+       or &General::log("Dial failed: $?"); }
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'hangup'}) {
+       system('/etc/rc.d/rc.red','stop') == 0
+       or &General::log("Hangup failed: $?"); }
+sleep 1;
+
+print "Status: 302 Moved\nLocation: /cgi-bin/index.cgi\n\n";
index 64354eeb7e5a4513d17478c273c9d7631e913d6b..5421284aff9cf362821ac159d58e4d19e1257d0e 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: dmzholes.cgi,v 1.9.2.16 2005/10/18 17:05:27 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my %cgiparams=();\r
-my %checked=();\r
-my %selected=();\r
-my %netsettings=();\r
-my $errormessage = '';\r
-my $filename = "${General::swroot}/dmzholes/config";\r
-\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ENABLED'} = 'off';\r
-$cgiparams{'REMARK'} = '';\r
-$cgiparams{'ACTION'} = '';\r
-$cgiparams{'SRC_IP'} = '';\r
-$cgiparams{'DEST_IP'} ='';\r
-$cgiparams{'DEST_PORT'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-open(FILE, $filename) or die 'Unable to open config file.';\r
-my @current = <FILE>;\r
-close(FILE);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})\r
-{\r
-       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }\r
-       unless(&General::validipormask($cgiparams{'SRC_IP'})) { $errormessage = $Lang::tr{'source ip bad'}; }\r
-       unless($errormessage){$errormessage = &General::validportrange($cgiparams{'DEST_PORT'},'dst');}\r
-       unless(&General::validipormask($cgiparams{'DEST_IP'})) { $errormessage = $Lang::tr{'destination ip bad'}; }\r
-       unless ($errormessage) {\r
-               $errormessage = &validNet($cgiparams{'SRC_NET'},$cgiparams{'DEST_NET'}); }\r
-       # Darren Critchley - Remove commas from remarks\r
-       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});\r
-\r
-       unless ($errormessage)\r
-       {\r
-               if($cgiparams{'EDITING'} eq 'no') {\r
-                       open(FILE,">>$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       print FILE "$cgiparams{'PROTOCOL'},";           # [0]\r
-                       print FILE "$cgiparams{'SRC_IP'},";             # [1]\r
-                       print FILE "$cgiparams{'DEST_IP'},";            # [2]\r
-                       print FILE "$cgiparams{'DEST_PORT'},";          # [3]\r
-                       print FILE "$cgiparams{'ENABLED'},";            # [4]\r
-                       print FILE "$cgiparams{'SRC_NET'},";            # [5]\r
-                       print FILE "$cgiparams{'DEST_NET'},";           # [6]\r
-                       print FILE "$cgiparams{'REMARK'}\n";            # [7]\r
-               } else {\r
-                       open(FILE,">$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       my $id = 0;\r
-                       foreach my $line (@current)\r
-                       {\r
-                               $id++;\r
-                               if ($cgiparams{'EDITING'} eq $id) {\r
-                                       print FILE "$cgiparams{'PROTOCOL'},";           # [0]\r
-                                       print FILE "$cgiparams{'SRC_IP'},";             # [1]\r
-                                       print FILE "$cgiparams{'DEST_IP'},";            # [2]\r
-                                       print FILE "$cgiparams{'DEST_PORT'},";          # [3]\r
-                                       print FILE "$cgiparams{'ENABLED'},";            # [4]\r
-                                       print FILE "$cgiparams{'SRC_NET'},";            # [5]\r
-                                       print FILE "$cgiparams{'DEST_NET'},";           # [6]\r
-                                       print FILE "$cgiparams{'REMARK'}\n";            # [7]\r
-                               } else { print FILE "$line"; }\r
-                       }\r
-               }\r
-               close(FILE);\r
-               undef %cgiparams;\r
-               &General::log($Lang::tr{'dmz pinhole rule added'});\r
-               system('/usr/local/bin/setdmzholes');\r
-       }\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})\r
-{\r
-       my $id = 0;\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }\r
-       }\r
-       close(FILE);\r
-       system('/usr/local/bin/setdmzholes');\r
-       &General::log($Lang::tr{'dmz pinhole rule removed'});\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})\r
-{\r
-       my $id = 0;\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }\r
-               else\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$cgiparams{'ENABLE'},$temp[5],$temp[6],$temp[7]\n";\r
-               }\r
-       }\r
-       close(FILE);\r
-       system('/usr/local/bin/setdmzholes');\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               if ($cgiparams{'ID'} eq $id)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       $cgiparams{'PROTOCOL'} = $temp[0];\r
-                       $cgiparams{'SRC_IP'} = $temp[1];\r
-                       $cgiparams{'DEST_IP'} = $temp[2];\r
-                       $cgiparams{'DEST_PORT'} = $temp[3];\r
-                       $cgiparams{'ENABLED'} = $temp[4];\r
-                       $cgiparams{'SRC_NET'} = $temp[5];\r
-                       $cgiparams{'DEST_NET'} = $temp[6];\r
-                       $cgiparams{'REMARK'} = $temp[7];\r
-               }\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq '')\r
-{\r
-       $cgiparams{'PROTOCOL'} = 'tcp';\r
-       $cgiparams{'ENABLED'} = 'on';\r
-       $cgiparams{'SRC_NET'} = 'orange';\r
-       $cgiparams{'DEST_NET'} = 'blue';\r
-}\r
-\r
-$selected{'PROTOCOL'}{'udp'} = '';\r
-$selected{'PROTOCOL'}{'tcp'} = '';\r
-$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";\r
-\r
-$selected{'SRC_NET'}{'orange'} = '';\r
-$selected{'SRC_NET'}{'blue'} = '';\r
-$selected{'SRC_NET'}{$cgiparams{'SRC_NET'}} = "selected='selected'";\r
-\r
-$selected{'DEST_NET'}{'blue'} = '';\r
-$selected{'DEST_NET'}{'green'} = '';\r
-$selected{'DEST_NET'}{$cgiparams{'DEST_NET'}} = "selected='selected'";\r
-\r
-$checked{'ENABLED'}{'off'} = '';\r
-$checked{'ENABLED'}{'on'} = '';\r
-$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'dmz pinhole configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-my $buttonText = $Lang::tr{'add'};\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});\r
-       $buttonText = $Lang::tr{'update'};\r
-} else {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});\r
-}\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td>\r
-       <select name='PROTOCOL'>\r
-               <option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>\r
-               <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>\r
-       </select>\r
-</td>\r
-<td>\r
-       $Lang::tr{'source net'}:</td>\r
-<td>\r
-       <select name='SRC_NET'>\r
-END\r
-;\r
-       if (&haveOrangeNet()) {\r
-               print "<option value='orange' $selected{'SRC_NET'}{'orange'}>$Lang::tr{'orange'}</option>";\r
-       }\r
-       if (&haveBlueNet()) {\r
-               print "<option value='blue' $selected{'SRC_NET'}{'blue'}>$Lang::tr{'blue'}</option>";\r
-       }\r
-print <<END\r
-       </select>\r
-</td>\r
-<td class='base'>$Lang::tr{'source ip or net'}:</td>\r
-<td><input type='text' name='SRC_IP' value='$cgiparams{'SRC_IP'}' size='15' /></td>\r
-</tr>\r
-<tr>\r
-<td>\r
-       &nbsp;</td>\r
-<td>\r
-       $Lang::tr{'destination net'}:</td>\r
-<td>\r
-       <select name='DEST_NET'>\r
-END\r
-;\r
-       if (&haveOrangeNet() && &haveBlueNet()) {\r
-               print "<option value='blue' $selected{'DEST_NET'}{'blue'}>$Lang::tr{'blue'}</option>";\r
-       }\r
-\r
-print <<END\r
-               <option value='green' $selected{'DEST_NET'}{'green'}>$Lang::tr{'green'}</option>\r
-       </select>\r
-</td>\r
-<td class='base'>\r
-       $Lang::tr{'destination ip or net'}:</td>\r
-<td>\r
-       <input type='text' name='DEST_IP' value='$cgiparams{'DEST_IP'}' size='15' />\r
-</td>\r
-<td class='base'>\r
-       $Lang::tr{'destination port'}:&nbsp;\r
-       <input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' />\r
-</td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-       <tr>\r
-               <td colspan='3' width='50%' class='base'>\r
-                       <font class='boldbase'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' /></font>\r
-                       <input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' />\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td class='base' width='50%'>\r
-                       <img src='/blob.gif' alt ='*' align='top' />&nbsp;\r
-                       <font class='base'>$Lang::tr{'this field may be blank'}</font>\r
-               </td>\r
-               <td class='base' width='25%' align='center'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\r
-               <td width='25%' align='center'>\r
-                       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />\r
-                       <input type='submit' name='SUBMIT' value='$buttonText' />\r
-               </td>\r
-       </tr>\r
-</table>\r
-END\r
-;\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";\r
-} else {\r
-       print "<input type='hidden' name='EDITING' value='no' />\n";\r
-}\r
-&Header::closebox();\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'current rules'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='7%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>\r
-<td width='3%' class='boldbase' align='center'><b>$Lang::tr{'net'}</b></td>\r
-<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'source'}</b></td>\r
-<td width='2%' class='boldbase' align='center'>&nbsp;</td>\r
-<td width='3%' class='boldbase' align='center'><b>$Lang::tr{'net'}</b></td>\r
-<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'destination'}</b></td>\r
-<td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>\r
-<td width='1%' class='boldbase' align='center'>&nbsp;</td>\r
-<td width='4%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>\r
-END\r
-;\r
-\r
-# Achim Weber: if i add a new rule, this rule is not displayed?!?\r
-#                                                      we re-read always config.\r
-# If something has happeened re-read config\r
-#if($cgiparams{'ACTION'} ne '')\r
-#{\r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       @current = <FILE>;\r
-       close(FILE);\r
-#}\r
-my $id = 0;\r
-foreach my $line (@current)\r
-{\r
-       my $protocol='';\r
-       my $gif='';\r
-       my $toggle='';\r
-       my $gdesc='';\r
-       $id++;\r
-       chomp($line);\r
-       my @temp = split(/\,/,$line);\r
-       if ($temp[0] eq 'udp') { $protocol = 'UDP'; } else { $protocol = 'TCP' }\r
-\r
-       my $srcnetcolor = ($temp[5] eq 'blue')? ${Header::colourblue} : ${Header::colourorange};\r
-       my $destnetcolor = ($temp[6] eq 'blue')? ${Header::colourblue} : ${Header::colourgreen};\r
-\r
-       if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'ID'} eq $id) {\r
-               print "<tr bgcolor='${Header::colouryellow}'>\n"; }\r
-       elsif ($id % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n"; }\r
-       else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n"; }\r
-       if ($temp[4] eq 'on') { $gif='on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}\r
-       else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }\r
-\r
-       # Darren Critchley - Get Port Service Name if we can - code borrowed from firewalllog.dat\r
-       my $dstprt =$temp[3];\r
-       $_=$temp[3];\r
-       if (/^\d+$/) {\r
-               my $servi = uc(getservbyport($temp[3], lc($temp[0])));\r
-               if ($servi ne '' && $temp[3] < 1024) {\r
-                       $dstprt = "$dstprt($servi)"; }\r
-       }\r
-       # Darren Critchley - If the line is too long, wrap the port numbers\r
-       my $dstaddr = "$temp[2] : $dstprt";\r
-       if (length($dstaddr) > 26) {\r
-               $dstaddr = "$temp[2] :<br /> $dstprt";\r
-       }\r
-print <<END\r
-<td align='center'>$protocol</td>\r
-<td bgcolor='$srcnetcolor'></td>\r
-<td align='center'>$temp[1]</td>\r
-<td align='center'><img src='/images/forward.gif' /></td>\r
-<td bgcolor='$destnetcolor'></td>\r
-<td align='center'>$dstaddr</td>\r
-<td align='center'>$temp[7]</td>\r
-\r
-<td align='center'>\r
-<form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ENABLE' value='$toggle' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-</form>\r
-</td>\r
-\r
-</tr>\r
-END\r
-       ;\r
-}\r
-print "</table>\n";\r
-\r
-# If the fixed lease file contains entries, print Key to action icons\r
-if ( ! -z "$filename") {\r
-print <<END\r
-<table>\r
-<tr>\r
-       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>\r
-       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub validNet\r
-{\r
-       my $srcNet      = $_[0];\r
-       my $destNet     = $_[1];\r
-\r
-       if ($srcNet eq $destNet) {\r
-               return $Lang::tr{'dmzpinholes for same net not necessary'}; }\r
-       unless ($srcNet =~ /^(blue|orange)$/) {\r
-               return $Lang::tr{'select source net'}; }\r
-       unless ($destNet =~ /^(blue|green)$/) {\r
-               return $Lang::tr{'select dest net'}; }\r
-               \r
-       return '';\r
-}\r
-\r
-sub haveOrangeNet\r
-{\r
-       if ($netsettings{'CONFIG_TYPE'} == 1) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 3) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}\r
-       return 0;\r
-}\r
-\r
-sub haveBlueNet\r
-{\r
-       if ($netsettings{'CONFIG_TYPE'} == 4) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 6) {return 1;}\r
-       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}\r
-       return 0;\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: dmzholes.cgi,v 1.9.2.16 2005/10/18 17:05:27 franck78 Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );
+undef (@dummy);
+
+my %cgiparams=();
+my %checked=();
+my %selected=();
+my %netsettings=();
+my $errormessage = '';
+my $filename = "${General::swroot}/dmzholes/config";
+
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+&Header::showhttpheaders();
+
+$cgiparams{'ENABLED'} = 'off';
+$cgiparams{'REMARK'} = '';
+$cgiparams{'ACTION'} = '';
+$cgiparams{'SRC_IP'} = '';
+$cgiparams{'DEST_IP'} ='';
+$cgiparams{'DEST_PORT'} = '';
+&Header::getcgihash(\%cgiparams);
+
+open(FILE, $filename) or die 'Unable to open config file.';
+my @current = <FILE>;
+close(FILE);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})
+{
+       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }
+       unless(&General::validipormask($cgiparams{'SRC_IP'})) { $errormessage = $Lang::tr{'source ip bad'}; }
+       unless($errormessage){$errormessage = &General::validportrange($cgiparams{'DEST_PORT'},'dst');}
+       unless(&General::validipormask($cgiparams{'DEST_IP'})) { $errormessage = $Lang::tr{'destination ip bad'}; }
+       unless ($errormessage) {
+               $errormessage = &validNet($cgiparams{'SRC_NET'},$cgiparams{'DEST_NET'}); }
+       # Darren Critchley - Remove commas from remarks
+       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
+
+       unless ($errormessage)
+       {
+               if($cgiparams{'EDITING'} eq 'no') {
+                       open(FILE,">>$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       print FILE "$cgiparams{'PROTOCOL'},";           # [0]
+                       print FILE "$cgiparams{'SRC_IP'},";             # [1]
+                       print FILE "$cgiparams{'DEST_IP'},";            # [2]
+                       print FILE "$cgiparams{'DEST_PORT'},";          # [3]
+                       print FILE "$cgiparams{'ENABLED'},";            # [4]
+                       print FILE "$cgiparams{'SRC_NET'},";            # [5]
+                       print FILE "$cgiparams{'DEST_NET'},";           # [6]
+                       print FILE "$cgiparams{'REMARK'}\n";            # [7]
+               } else {
+                       open(FILE,">$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       my $id = 0;
+                       foreach my $line (@current)
+                       {
+                               $id++;
+                               if ($cgiparams{'EDITING'} eq $id) {
+                                       print FILE "$cgiparams{'PROTOCOL'},";           # [0]
+                                       print FILE "$cgiparams{'SRC_IP'},";             # [1]
+                                       print FILE "$cgiparams{'DEST_IP'},";            # [2]
+                                       print FILE "$cgiparams{'DEST_PORT'},";          # [3]
+                                       print FILE "$cgiparams{'ENABLED'},";            # [4]
+                                       print FILE "$cgiparams{'SRC_NET'},";            # [5]
+                                       print FILE "$cgiparams{'DEST_NET'},";           # [6]
+                                       print FILE "$cgiparams{'REMARK'}\n";            # [7]
+                               } else { print FILE "$line"; }
+                       }
+               }
+               close(FILE);
+               undef %cgiparams;
+               &General::log($Lang::tr{'dmz pinhole rule added'});
+               system('/usr/local/bin/setdmzholes');
+       }
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
+{
+       my $id = 0;
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }
+       }
+       close(FILE);
+       system('/usr/local/bin/setdmzholes');
+       &General::log($Lang::tr{'dmz pinhole rule removed'});
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})
+{
+       my $id = 0;
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }
+               else
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$cgiparams{'ENABLE'},$temp[5],$temp[6],$temp[7]\n";
+               }
+       }
+       close(FILE);
+       system('/usr/local/bin/setdmzholes');
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})
+{
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               if ($cgiparams{'ID'} eq $id)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       $cgiparams{'PROTOCOL'} = $temp[0];
+                       $cgiparams{'SRC_IP'} = $temp[1];
+                       $cgiparams{'DEST_IP'} = $temp[2];
+                       $cgiparams{'DEST_PORT'} = $temp[3];
+                       $cgiparams{'ENABLED'} = $temp[4];
+                       $cgiparams{'SRC_NET'} = $temp[5];
+                       $cgiparams{'DEST_NET'} = $temp[6];
+                       $cgiparams{'REMARK'} = $temp[7];
+               }
+       }
+}
+
+if ($cgiparams{'ACTION'} eq '')
+{
+       $cgiparams{'PROTOCOL'} = 'tcp';
+       $cgiparams{'ENABLED'} = 'on';
+       $cgiparams{'SRC_NET'} = 'orange';
+       $cgiparams{'DEST_NET'} = 'blue';
+}
+
+$selected{'PROTOCOL'}{'udp'} = '';
+$selected{'PROTOCOL'}{'tcp'} = '';
+$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";
+
+$selected{'SRC_NET'}{'orange'} = '';
+$selected{'SRC_NET'}{'blue'} = '';
+$selected{'SRC_NET'}{$cgiparams{'SRC_NET'}} = "selected='selected'";
+
+$selected{'DEST_NET'}{'blue'} = '';
+$selected{'DEST_NET'}{'green'} = '';
+$selected{'DEST_NET'}{$cgiparams{'DEST_NET'}} = "selected='selected'";
+
+$checked{'ENABLED'}{'off'} = '';
+$checked{'ENABLED'}{'on'} = '';
+$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'dmz pinhole configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+my $buttonText = $Lang::tr{'add'};
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {
+       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});
+       $buttonText = $Lang::tr{'update'};
+} else {
+       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});
+}
+print <<END
+<table width='100%'>
+<tr>
+<td>
+       <select name='PROTOCOL'>
+               <option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
+               <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>
+       </select>
+</td>
+<td>
+       $Lang::tr{'source net'}:</td>
+<td>
+       <select name='SRC_NET'>
+END
+;
+       if (&haveOrangeNet()) {
+               print "<option value='orange' $selected{'SRC_NET'}{'orange'}>$Lang::tr{'orange'}</option>";
+       }
+       if (&haveBlueNet()) {
+               print "<option value='blue' $selected{'SRC_NET'}{'blue'}>$Lang::tr{'blue'}</option>";
+       }
+print <<END
+       </select>
+</td>
+<td class='base'>$Lang::tr{'source ip or net'}:</td>
+<td><input type='text' name='SRC_IP' value='$cgiparams{'SRC_IP'}' size='15' /></td>
+</tr>
+<tr>
+<td>
+       &nbsp;</td>
+<td>
+       $Lang::tr{'destination net'}:</td>
+<td>
+       <select name='DEST_NET'>
+END
+;
+       if (&haveOrangeNet() && &haveBlueNet()) {
+               print "<option value='blue' $selected{'DEST_NET'}{'blue'}>$Lang::tr{'blue'}</option>";
+       }
+
+print <<END
+               <option value='green' $selected{'DEST_NET'}{'green'}>$Lang::tr{'green'}</option>
+       </select>
+</td>
+<td class='base'>
+       $Lang::tr{'destination ip or net'}:</td>
+<td>
+       <input type='text' name='DEST_IP' value='$cgiparams{'DEST_IP'}' size='15' />
+</td>
+<td class='base'>
+       $Lang::tr{'destination port'}:&nbsp;
+       <input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' />
+</td>
+</tr>
+</table>
+<table width='100%'>
+       <tr>
+               <td colspan='3' width='50%' class='base'>
+                       <font class='boldbase'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' /></font>
+                       <input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' />
+               </td>
+       </tr>
+       <tr>
+               <td class='base' width='50%'>
+                       <img src='/blob.gif' alt ='*' align='top' />&nbsp;
+                       <font class='base'>$Lang::tr{'this field may be blank'}</font>
+               </td>
+               <td class='base' width='25%' align='center'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
+               <td width='25%' align='center'>
+                       <input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />
+                       <input type='submit' name='SUBMIT' value='$buttonText' />
+               </td>
+       </tr>
+</table>
+END
+;
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {
+       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";
+} else {
+       print "<input type='hidden' name='EDITING' value='no' />\n";
+}
+&Header::closebox();
+print "</form>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'current rules'});
+print <<END
+<table width='100%'>
+<tr>
+<td width='7%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>
+<td width='3%' class='boldbase' align='center'><b>$Lang::tr{'net'}</b></td>
+<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'source'}</b></td>
+<td width='2%' class='boldbase' align='center'>&nbsp;</td>
+<td width='3%' class='boldbase' align='center'><b>$Lang::tr{'net'}</b></td>
+<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'destination'}</b></td>
+<td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>
+<td width='1%' class='boldbase' align='center'>&nbsp;</td>
+<td width='4%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>
+END
+;
+
+# Achim Weber: if i add a new rule, this rule is not displayed?!?
+#                                                      we re-read always config.
+# If something has happeened re-read config
+#if($cgiparams{'ACTION'} ne '')
+#{
+       open(FILE, $filename) or die 'Unable to open config file.';
+       @current = <FILE>;
+       close(FILE);
+#}
+my $id = 0;
+foreach my $line (@current)
+{
+       my $protocol='';
+       my $gif='';
+       my $toggle='';
+       my $gdesc='';
+       $id++;
+       chomp($line);
+       my @temp = split(/\,/,$line);
+       if ($temp[0] eq 'udp') { $protocol = 'UDP'; } else { $protocol = 'TCP' }
+
+       my $srcnetcolor = ($temp[5] eq 'blue')? ${Header::colourblue} : ${Header::colourorange};
+       my $destnetcolor = ($temp[6] eq 'blue')? ${Header::colourblue} : ${Header::colourgreen};
+
+       if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'ID'} eq $id) {
+               print "<tr bgcolor='${Header::colouryellow}'>\n"; }
+       elsif ($id % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n"; }
+       else {
+               print "<tr bgcolor='${Header::table2colour}'>\n"; }
+       if ($temp[4] eq 'on') { $gif='on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}
+       else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }
+
+       # Darren Critchley - Get Port Service Name if we can - code borrowed from firewalllog.dat
+       my $dstprt =$temp[3];
+       $_=$temp[3];
+       if (/^\d+$/) {
+               my $servi = uc(getservbyport($temp[3], lc($temp[0])));
+               if ($servi ne '' && $temp[3] < 1024) {
+                       $dstprt = "$dstprt($servi)"; }
+       }
+       # Darren Critchley - If the line is too long, wrap the port numbers
+       my $dstaddr = "$temp[2] : $dstprt";
+       if (length($dstaddr) > 26) {
+               $dstaddr = "$temp[2] :<br /> $dstprt";
+       }
+print <<END
+<td align='center'>$protocol</td>
+<td bgcolor='$srcnetcolor'></td>
+<td align='center'>$temp[1]</td>
+<td align='center'><img src='/images/forward.gif' /></td>
+<td bgcolor='$destnetcolor'></td>
+<td align='center'>$dstaddr</td>
+<td align='center'>$temp[7]</td>
+
+<td align='center'>
+<form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ENABLE' value='$toggle' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+</form>
+</td>
+
+</tr>
+END
+       ;
+}
+print "</table>\n";
+
+# If the fixed lease file contains entries, print Key to action icons
+if ( ! -z "$filename") {
+print <<END
+<table>
+<tr>
+       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>
+       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub validNet
+{
+       my $srcNet      = $_[0];
+       my $destNet     = $_[1];
+
+       if ($srcNet eq $destNet) {
+               return $Lang::tr{'dmzpinholes for same net not necessary'}; }
+       unless ($srcNet =~ /^(blue|orange)$/) {
+               return $Lang::tr{'select source net'}; }
+       unless ($destNet =~ /^(blue|green)$/) {
+               return $Lang::tr{'select dest net'}; }
+               
+       return '';
+}
+
+sub haveOrangeNet
+{
+       if ($netsettings{'CONFIG_TYPE'} == 1) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 3) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}
+       return 0;
+}
+
+sub haveBlueNet
+{
+       if ($netsettings{'CONFIG_TYPE'} == 4) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 6) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}
+       return 0;
+}
index 5c6f91512e28b3f151675eb6fdcb0af98ce513f4..59ba89195f390cbbfb11789d558980c50c91a82c 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: graphs.cgi,v 1.9.2.6 2005/02/22 22:21:55 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my %pppsettings=();\r
-my %netsettings=();\r
-my @cgigraphs=();\r
-my @graphs=();\r
-my $iface='';\r
-\r
-&Header::showhttpheaders();\r
-\r
-my $graphdir = "/home/httpd/html/graphs";\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-$ENV{'QUERY_STRING'} =~ s/&//g;\r
-@cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});\r
-$cgigraphs[1] = '' unless defined $cgigraphs[1];\r
-\r
-if ($cgigraphs[1] =~ /(network|GREEN|BLUE|ORANGE|RED)/) {\r
-       &Header::openpage($Lang::tr{'network traffic graphs'}, 1, '');\r
-} else {\r
-       &Header::openpage($Lang::tr{'system graphs'}, 1, '');\r
-}\r
-&Header::openbigbox('100%', 'left');\r
-\r
-if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|cpu|memory|swap|disk)/) {\r
-       my $graph = $cgigraphs[1];\r
-       my $graphname = ucfirst(lc($cgigraphs[1]));\r
-       &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");\r
-\r
-       if (-e "$graphdir/${graph}-day.png") {\r
-               my $ftime = localtime((stat("$graphdir/${graph}-day.png"))[9]);\r
-               print "<center>";\r
-               print "<b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br /><hr />\n";\r
-               print "<img src='/graphs/${graph}-day.png' border='0' /><hr />";\r
-               print "<img src='/graphs/${graph}-week.png' border='0' /><hr />";\r
-               print "<img src='/graphs/${graph}-month.png' border='0' /><hr />";\r
-               print "<img src='/graphs/${graph}-year.png' border='0' />";\r
-       } else {\r
-               print $Lang::tr{'no information available'};\r
-       }\r
-       &Header::closebox();\r
-       print "<div align='center'><table width='80%'><tr><td align='center'>";\r
-       if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED)/) {\r
-               print "<a href='/cgi-bin/graphs.cgi?graph=network'>";\r
-       } else {\r
-               print "<a href='/cgi-bin/graphs.cgi'>";\r
-       }\r
-       print "$Lang::tr{'back'}</a></td></tr></table></div>\n";\r
-       ;\r
-} elsif ($cgigraphs[1] =~ /network/) {\r
-       push (@graphs, ('GREEN'));\r
-       if ($netsettings{'BLUE_DEV'}) {\r
-               push (@graphs, ('BLUE')); }\r
-       if ($netsettings{'ORANGE_DEV'}) {\r
-               push (@graphs, ('ORANGE')); }\r
-       push (@graphs, ("RED"));\r
-\r
-       foreach my $graphname (@graphs) {\r
-               &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");\r
-\r
-               if (-e "$graphdir/${graphname}-day.png") {\r
-                       my $ftime = localtime((stat("$graphdir/${graphname}-day.png"))[9]);\r
-                       print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";\r
-                       print "<a href='/cgi-bin/graphs.cgi?graph=$graphname'>";\r
-                       print "<img src='/graphs/${graphname}-day.png' border='0' />";\r
-                       print "</a>";\r
-               } else {\r
-                       print $Lang::tr{'no information available'};\r
-               }\r
-               print "<br />\n";\r
-               &Header::closebox();\r
-       }\r
-} else {\r
-       &Header::openbox('100%', 'center', "CPU $Lang::tr{'graph'}");\r
-       if (-e "$graphdir/cpu-day.png") {\r
-               my $ftime = localtime((stat("$graphdir/cpu-day.png"))[9]);\r
-               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";\r
-               print "<a href='/cgi-bin/graphs.cgi?graph=cpu'>";\r
-               print "<img src='/graphs/cpu-day.png' border='0' />";\r
-               print "</a>";\r
-       } else {\r
-               print $Lang::tr{'no information available'};\r
-       }\r
-       print "<br />\n";\r
-       &Header::closebox();\r
-\r
-       &Header::openbox('100%', 'center', "Memory $Lang::tr{'graph'}");\r
-       if (-e "$graphdir/memory-day.png") {\r
-               my $ftime = localtime((stat("$graphdir/memory-day.png"))[9]);\r
-               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";\r
-               print "<a href='/cgi-bin/graphs.cgi?graph=memory'>";\r
-               print "<img src='/graphs/memory-day.png' border='0' />";\r
-               print "</a>";\r
-       } else {\r
-               print $Lang::tr{'no information available'};\r
-       }\r
-       print "<br />\n";\r
-       &Header::closebox();\r
-\r
-       &Header::openbox('100%', 'center', "Swap $Lang::tr{'graph'}");\r
-       if (-e "$graphdir/swap-day.png") {\r
-               my $ftime = localtime((stat("$graphdir/swap-day.png"))[9]);\r
-               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";\r
-               print "<a href='/cgi-bin/graphs.cgi?graph=swap'>";\r
-               print "<img src='/graphs/swap-day.png' border='0' />";\r
-               print "</a>";\r
-       } else {\r
-               print $Lang::tr{'no information available'};\r
-       }\r
-       print "<br />\n";\r
-       &Header::closebox();\r
-\r
-       &Header::openbox('100%', 'center', "Disk $Lang::tr{'graph'}");\r
-       if (-e "$graphdir/disk-day.png") {\r
-               my $ftime = localtime((stat("$graphdir/disk-day.png"))[9]);\r
-               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";\r
-               print "<a href='/cgi-bin/graphs.cgi?graph=disk'>";\r
-               print "<img src='/graphs/disk-day.png' border='0' />";\r
-               print "</a>";\r
-       } else {\r
-               print $Lang::tr{'no information available'};\r
-       }\r
-       print "<br />\n";\r
-       &Header::closebox();\r
-}\r
-\r
-&Header::closebigbox();\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: graphs.cgi,v 1.9.2.6 2005/02/22 22:21:55 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my %pppsettings=();
+my %netsettings=();
+my @cgigraphs=();
+my @graphs=();
+my $iface='';
+
+&Header::showhttpheaders();
+
+my $graphdir = "/home/httpd/html/graphs";
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+$ENV{'QUERY_STRING'} =~ s/&//g;
+@cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});
+$cgigraphs[1] = '' unless defined $cgigraphs[1];
+
+if ($cgigraphs[1] =~ /(network|GREEN|BLUE|ORANGE|RED)/) {
+       &Header::openpage($Lang::tr{'network traffic graphs'}, 1, '');
+} else {
+       &Header::openpage($Lang::tr{'system graphs'}, 1, '');
+}
+&Header::openbigbox('100%', 'left');
+
+if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|cpu|memory|swap|disk)/) {
+       my $graph = $cgigraphs[1];
+       my $graphname = ucfirst(lc($cgigraphs[1]));
+       &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");
+
+       if (-e "$graphdir/${graph}-day.png") {
+               my $ftime = localtime((stat("$graphdir/${graph}-day.png"))[9]);
+               print "<center>";
+               print "<b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br /><hr />\n";
+               print "<img src='/graphs/${graph}-day.png' border='0' /><hr />";
+               print "<img src='/graphs/${graph}-week.png' border='0' /><hr />";
+               print "<img src='/graphs/${graph}-month.png' border='0' /><hr />";
+               print "<img src='/graphs/${graph}-year.png' border='0' />";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       &Header::closebox();
+       print "<div align='center'><table width='80%'><tr><td align='center'>";
+       if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED)/) {
+               print "<a href='/cgi-bin/graphs.cgi?graph=network'>";
+       } else {
+               print "<a href='/cgi-bin/graphs.cgi'>";
+       }
+       print "$Lang::tr{'back'}</a></td></tr></table></div>\n";
+       ;
+} elsif ($cgigraphs[1] =~ /network/) {
+       push (@graphs, ('GREEN'));
+       if ($netsettings{'BLUE_DEV'}) {
+               push (@graphs, ('BLUE')); }
+       if ($netsettings{'ORANGE_DEV'}) {
+               push (@graphs, ('ORANGE')); }
+       push (@graphs, ("RED"));
+
+       foreach my $graphname (@graphs) {
+               &Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");
+
+               if (-e "$graphdir/${graphname}-day.png") {
+                       my $ftime = localtime((stat("$graphdir/${graphname}-day.png"))[9]);
+                       print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+                       print "<a href='/cgi-bin/graphs.cgi?graph=$graphname'>";
+                       print "<img src='/graphs/${graphname}-day.png' border='0' />";
+                       print "</a>";
+               } else {
+                       print $Lang::tr{'no information available'};
+               }
+               print "<br />\n";
+               &Header::closebox();
+       }
+} else {
+       &Header::openbox('100%', 'center', "CPU $Lang::tr{'graph'}");
+       if (-e "$graphdir/cpu-day.png") {
+               my $ftime = localtime((stat("$graphdir/cpu-day.png"))[9]);
+               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+               print "<a href='/cgi-bin/graphs.cgi?graph=cpu'>";
+               print "<img src='/graphs/cpu-day.png' border='0' />";
+               print "</a>";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       print "<br />\n";
+       &Header::closebox();
+
+       &Header::openbox('100%', 'center', "Memory $Lang::tr{'graph'}");
+       if (-e "$graphdir/memory-day.png") {
+               my $ftime = localtime((stat("$graphdir/memory-day.png"))[9]);
+               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+               print "<a href='/cgi-bin/graphs.cgi?graph=memory'>";
+               print "<img src='/graphs/memory-day.png' border='0' />";
+               print "</a>";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       print "<br />\n";
+       &Header::closebox();
+
+       &Header::openbox('100%', 'center', "Swap $Lang::tr{'graph'}");
+       if (-e "$graphdir/swap-day.png") {
+               my $ftime = localtime((stat("$graphdir/swap-day.png"))[9]);
+               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+               print "<a href='/cgi-bin/graphs.cgi?graph=swap'>";
+               print "<img src='/graphs/swap-day.png' border='0' />";
+               print "</a>";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       print "<br />\n";
+       &Header::closebox();
+
+       &Header::openbox('100%', 'center', "Disk $Lang::tr{'graph'}");
+       if (-e "$graphdir/disk-day.png") {
+               my $ftime = localtime((stat("$graphdir/disk-day.png"))[9]);
+               print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+               print "<a href='/cgi-bin/graphs.cgi?graph=disk'>";
+               print "<img src='/graphs/disk-day.png' border='0' />";
+               print "</a>";
+       } else {
+               print $Lang::tr{'no information available'};
+       }
+       print "<br />\n";
+       &Header::closebox();
+}
+
+&Header::closebigbox();
+&Header::closepage();
index 319542878dab25e269b234da729bde7f2bba1f6e..6eaac2956e1b5e9efd65fd7ecedab315147f351b 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) Bill Ward\r
-#\r
-# $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my %mainsettings=();\r
-my %checked=();\r
-my $errormessage='';\r
-\r
-\r
-$cgiparams{'JAVASCRIPT'} = 'off';\r
-$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
-$cgiparams{'REFRESHINDEX'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-&Header::showhttpheaders();\r
-&General::readhash("${General::swroot}/main/settings",\%mainsettings);\r
-if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")\r
-{\r
-       open(FILE,"${General::swroot}/langs/list");\r
-       my $found=0;\r
-       while (<FILE>)\r
-       {\r
-               my $lang='';\r
-               my $engname='';\r
-               my $natname='';\r
-               chomp;\r
-               ($lang,$engname,$natname) = split (/:/, $_,3);\r
-               if ($cgiparams{'lang'} eq $lang)\r
-               {\r
-                       $found=1;\r
-               }\r
-       }\r
-       close (FILE);\r
-       if ( $found == 0 )\r
-       {\r
-               $errormessage="$errormessage<P>$Lang::tr{'invalid input'}";\r
-               goto SAVE_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'JAVASCRIPT'} !~ /^(on|off)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto SAVE_ERROR;\r
-       }  \r
-\r
-        # Set flag if index page is to refresh whilst ppp is up.\r
-        # Default is NO refresh.\r
-        if ($cgiparams{'REFRESHINDEX'} ne 'off') {\r
-            system ('/bin/touch', "${General::swroot}/main/refreshindex");\r
-        } else {\r
-            unlink "${General::swroot}/main/refreshindex";\r
-        }\r
-\r
-        # Beep on ip-up or ip-down. Default is ON.\r
-        if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {\r
-            $cgiparams{'PPPUPDOWNBEEP'} = 'off';\r
-            system ('/bin/touch', "${General::swroot}/ppp/nobeeps");\r
-        } else {\r
-            unlink "${General::swroot}/ppp/nobeeps";\r
-        }\r
-\r
-        # write cgi vars to the file.\r
-       $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};\r
-       $mainsettings{'JAVASCRIPT'} = $cgiparams{'JAVASCRIPT'};\r
-       $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};\r
-       $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};\r
-       $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};\r
-       &General::writehash("${General::swroot}/main/settings", \%mainsettings);\r
-       &Lang::reload($cgiparams{'lang'});\r
-       SAVE_ERROR:\r
-} else {\r
-       if ($mainsettings{'JAVASCRIPT'}) {\r
-               $cgiparams{'JAVASCRIPT'} = $mainsettings{'JAVASCRIPT'};\r
-       } else {\r
-               $cgiparams{'JAVASCRIPT'} = 'on';\r
-       }\r
-\r
-       if ($mainsettings{'WINDOWWITHHOSTNAME'}) {\r
-               $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};\r
-       } else {\r
-               $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
-       }\r
-\r
-       if ($mainsettings{'PPPUPDOWNBEEP'}) {\r
-               $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};\r
-       } else {\r
-               $cgiparams{'PPPUPDOWNBEEP'} = 'on';\r
-       }\r
-\r
-       if($mainsettings{'REFRESHINDEX'}) {\r
-               $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};\r
-       } else {\r
-               $cgiparams{'REFRESHINDEX'} = 'off';\r
-       }\r
-}\r
-\r
-# Default settings\r
-if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")\r
-{\r
-       $cgiparams{'JAVASCRIPT'} = 'on';\r
-       $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';\r
-       $cgiparams{'PPPUPDOWNBEEP'} = 'on';\r
-       $cgiparams{'REFRESHINDEX'} = 'off';\r
-}\r
-\r
-$checked{'JAVASCRIPT'}{'off'} = '';\r
-$checked{'JAVASCRIPT'}{'on'} = '';\r
-$checked{'JAVASCRIPT'}{$cgiparams{'JAVASCRIPT'}} = "checked='checked'";\r
-\r
-$checked{'WINDOWWITHHOSTNAME'}{'off'} = '';\r
-$checked{'WINDOWWITHHOSTNAME'}{'on'} = '';\r
-$checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";\r
-\r
-$checked{'PPPUPDOWNBEEP'}{'off'} = '';\r
-$checked{'PPPUPDOWNBEEP'}{'on'} = '';\r
-$checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";\r
-\r
-$checked{'REFRESHINDEX'}{'off'} = '';\r
-$checked{'REFRESHINDEX'}{'on'} = '';\r
-$checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'gui settings'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%','left',$Lang::tr{'error messages'});\r
-       print "<font class='base'>${errormessage}&nbsp;</font>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-&Header::openbox('100%','left',$Lang::tr{'gui settings'});\r
-\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<table width='100%'>\r
-<tr>\r
-    <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>\r
-</tr>\r
-<tr>\r
-    <td><input type='checkbox' name='JAVASCRIPT' $checked{'JAVASCRIPT'}{'on'} />\r
-    <td width='100%'>$Lang::tr{'enable javascript'}</td>\r
-</tr>\r
-<tr>\r
-    <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>\r
-    <td>$Lang::tr{'display hostname in window title'}</td>\r
-</tr>\r
-<tr>\r
-    <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>\r
-    <td>$Lang::tr{'refresh index page while connected'}</td>\r
-</tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>$Lang::tr{'languagepurpose'}</td>\r
-</tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td><select name='lang'>\r
-END\r
-;\r
-\r
-my $id=0;\r
-open(FILE,"${General::swroot}/langs/list");\r
-while (<FILE>)\r
-{\r
-       my $lang='';\r
-       my $engname='';\r
-       my $natname='';\r
-        $id++;\r
-        chomp;\r
-        ($lang,$engname,$natname) = split (/:/, $_, 3);\r
-       print "<option value='$lang' ";\r
-       if ($lang =~ /$mainsettings{'LANGUAGE'}/)\r
-       {\r
-               print " selected='selected'";\r
-       }\r
-       print <<END\r
->$engname ($natname)</option>\r
-END\r
-       ;\r
-}\r
-\r
-print <<END\r
-</select></td></tr>\r
-<tr>\r
-    <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>\r
-</tr>\r
-<tr>\r
-    <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>\r
-    <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>\r
-</tr>\r
-<tr>\r
-    <td colspan='2'><hr /></td>\r
-</tr>\r
-</table>\r
-<div align='center'>\r
-<table width='80%'>\r
-<tr>\r
-    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>\r
-    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-</div>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-\r
-\r
+#!/usr/bin/perl
+#
+# IPCop CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) Bill Ward
+#
+# $Id: gui.cgi,v 1.2.2.17 2005/07/06 09:21:22 franck78 Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my %mainsettings=();
+my %checked=();
+my $errormessage='';
+
+
+$cgiparams{'JAVASCRIPT'} = 'off';
+$cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+$cgiparams{'REFRESHINDEX'} = 'off';
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+
+&Header::showhttpheaders();
+&General::readhash("${General::swroot}/main/settings",\%mainsettings);
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
+{
+       open(FILE,"${General::swroot}/langs/list");
+       my $found=0;
+       while (<FILE>)
+       {
+               my $lang='';
+               my $engname='';
+               my $natname='';
+               chomp;
+               ($lang,$engname,$natname) = split (/:/, $_,3);
+               if ($cgiparams{'lang'} eq $lang)
+               {
+                       $found=1;
+               }
+       }
+       close (FILE);
+       if ( $found == 0 )
+       {
+               $errormessage="$errormessage<P>$Lang::tr{'invalid input'}";
+               goto SAVE_ERROR;
+       }
+
+       if ($cgiparams{'JAVASCRIPT'} !~ /^(on|off)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto SAVE_ERROR;
+       }  
+
+        # Set flag if index page is to refresh whilst ppp is up.
+        # Default is NO refresh.
+        if ($cgiparams{'REFRESHINDEX'} ne 'off') {
+            system ('/bin/touch', "${General::swroot}/main/refreshindex");
+        } else {
+            unlink "${General::swroot}/main/refreshindex";
+        }
+
+        # Beep on ip-up or ip-down. Default is ON.
+        if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {
+            $cgiparams{'PPPUPDOWNBEEP'} = 'off';
+            system ('/bin/touch', "${General::swroot}/ppp/nobeeps");
+        } else {
+            unlink "${General::swroot}/ppp/nobeeps";
+        }
+
+        # write cgi vars to the file.
+       $mainsettings{'LANGUAGE'} = $cgiparams{'lang'};
+       $mainsettings{'JAVASCRIPT'} = $cgiparams{'JAVASCRIPT'};
+       $mainsettings{'WINDOWWITHHOSTNAME'} = $cgiparams{'WINDOWWITHHOSTNAME'};
+       $mainsettings{'PPPUPDOWNBEEP'} = $cgiparams{'PPPUPDOWNBEEP'};
+       $mainsettings{'REFRESHINDEX'} = $cgiparams{'REFRESHINDEX'};
+       &General::writehash("${General::swroot}/main/settings", \%mainsettings);
+       &Lang::reload($cgiparams{'lang'});
+       SAVE_ERROR:
+} else {
+       if ($mainsettings{'JAVASCRIPT'}) {
+               $cgiparams{'JAVASCRIPT'} = $mainsettings{'JAVASCRIPT'};
+       } else {
+               $cgiparams{'JAVASCRIPT'} = 'on';
+       }
+
+       if ($mainsettings{'WINDOWWITHHOSTNAME'}) {
+               $cgiparams{'WINDOWWITHHOSTNAME'} = $mainsettings{'WINDOWWITHHOSTNAME'};
+       } else {
+               $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+       }
+
+       if ($mainsettings{'PPPUPDOWNBEEP'}) {
+               $cgiparams{'PPPUPDOWNBEEP'} = $mainsettings{'PPPUPDOWNBEEP'};
+       } else {
+               $cgiparams{'PPPUPDOWNBEEP'} = 'on';
+       }
+
+       if($mainsettings{'REFRESHINDEX'}) {
+               $cgiparams{'REFRESHINDEX'} = $mainsettings{'REFRESHINDEX'};
+       } else {
+               $cgiparams{'REFRESHINDEX'} = 'off';
+       }
+}
+
+# Default settings
+if ($cgiparams{'ACTION'} eq "$Lang::tr{'restore defaults'}")
+{
+       $cgiparams{'JAVASCRIPT'} = 'on';
+       $cgiparams{'WINDOWWITHHOSTNAME'} = 'off';
+       $cgiparams{'PPPUPDOWNBEEP'} = 'on';
+       $cgiparams{'REFRESHINDEX'} = 'off';
+}
+
+$checked{'JAVASCRIPT'}{'off'} = '';
+$checked{'JAVASCRIPT'}{'on'} = '';
+$checked{'JAVASCRIPT'}{$cgiparams{'JAVASCRIPT'}} = "checked='checked'";
+
+$checked{'WINDOWWITHHOSTNAME'}{'off'} = '';
+$checked{'WINDOWWITHHOSTNAME'}{'on'} = '';
+$checked{'WINDOWWITHHOSTNAME'}{$cgiparams{'WINDOWWITHHOSTNAME'}} = "checked='checked'";
+
+$checked{'PPPUPDOWNBEEP'}{'off'} = '';
+$checked{'PPPUPDOWNBEEP'}{'on'} = '';
+$checked{'PPPUPDOWNBEEP'}{$cgiparams{'PPPUPDOWNBEEP'}} = "checked='checked'";
+
+$checked{'REFRESHINDEX'}{'off'} = '';
+$checked{'REFRESHINDEX'}{'on'} = '';
+$checked{'REFRESHINDEX'}{$cgiparams{'REFRESHINDEX'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'gui settings'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%','left',$Lang::tr{'error messages'});
+       print "<font class='base'>${errormessage}&nbsp;</font>\n";
+       &Header::closebox();
+}
+
+&Header::openbox('100%','left',$Lang::tr{'gui settings'});
+
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%'>
+<tr>
+    <td colspan='2'><p><b>$Lang::tr{'display'}</b></td>
+</tr>
+<tr>
+    <td><input type='checkbox' name='JAVASCRIPT' $checked{'JAVASCRIPT'}{'on'} />
+    <td width='100%'>$Lang::tr{'enable javascript'}</td>
+</tr>
+<tr>
+    <td><input type='checkbox' name='WINDOWWITHHOSTNAME' $checked{'WINDOWWITHHOSTNAME'}{'on'} /></td>
+    <td>$Lang::tr{'display hostname in window title'}</td>
+</tr>
+<tr>
+    <td><input type='checkbox' name='REFRESHINDEX' $checked{'REFRESHINDEX'}{'on'} /></td>
+    <td>$Lang::tr{'refresh index page while connected'}</td>
+</tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>$Lang::tr{'languagepurpose'}</td>
+</tr>
+<tr>
+    <td>&nbsp;</td>
+    <td><select name='lang'>
+END
+;
+
+my $id=0;
+open(FILE,"${General::swroot}/langs/list");
+while (<FILE>)
+{
+       my $lang='';
+       my $engname='';
+       my $natname='';
+        $id++;
+        chomp;
+        ($lang,$engname,$natname) = split (/:/, $_, 3);
+       print "<option value='$lang' ";
+       if ($lang =~ /$mainsettings{'LANGUAGE'}/)
+       {
+               print " selected='selected'";
+       }
+       print <<END
+>$engname ($natname)</option>
+END
+       ;
+}
+
+print <<END
+</select></td></tr>
+<tr>
+    <td colspan='2'><hr /><p><b>$Lang::tr{'sound'}</b></td>
+</tr>
+<tr>
+    <td><input type ='checkbox' name='PPPUPDOWNBEEP' $checked{'PPPUPDOWNBEEP'}{'on'} /></td>
+    <td>$Lang::tr{'beep when ppp connects or disconnects'}</td>
+</tr>
+<tr>
+    <td colspan='2'><hr /></td>
+</tr>
+</table>
+<div align='center'>
+<table width='80%'>
+<tr>
+    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' /></td>
+    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+</div>
+</form>
+END
+;
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+
+
index b8b43bc6746eed352dae7a1f938c4dee19948c75..d1f946704f24fabc614a16640082d530277554e6 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) Alan Hourihane <alanh@fairlite.demon.co.uk>\r
-#\r
-# $Id: hosts.cgi,v 1.4.2.20 2005/11/05 15:46:25 gespinasse Exp $\r
-#\r
-# Franck\r
-#         use dhcp.cgi model to rewrite this code\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-# Files used\r
-my $setting = "${General::swroot}/main/settings";\r
-our $datafile = "${General::swroot}/main/hosts";               #(our: used in subroutine)\r
-\r
-our %settings = ();\r
-#Settings1\r
-# removed\r
-\r
-#Settings2 for editing the multi-line list\r
-#Must not be saved !\r
-$settings{'EN'} = '';                  # reuse for dummy field in position zero\r
-$settings{'IP'} = '';\r
-$settings{'HOST'} = '';                        \r
-$settings{'DOM'} = '';                 \r
-my @nosaved=('EN','IP','HOST','DOM');  # List here ALL setting2 fields. Mandatory\r
-    \r
-$settings{'ACTION'} = '';              # add/edit/remove\r
-$settings{'KEY1'} = '';                        # point record for ACTION\r
-\r
-#Define each field that can be used to sort columns\r
-my $sortstring='^IP|^HOST|^DOM';\r
-$settings{'SORT_HOSTSLIST'} = 'HOST';\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-#Get GUI values\r
-&Header::getcgihash(\%settings);\r
-\r
-# Load multiline data\r
-our @current = ();\r
-if (open(FILE, "$datafile")) {\r
-    @current = <FILE>;\r
-    close (FILE);\r
-}\r
-\r
-## Settings1 Box not used...\r
-&General::readhash("${General::swroot}/main/settings", \%settings);\r
-\r
-\r
-## Now manipulate the multi-line list with Settings2\r
-# Basic actions are:\r
-#      toggle the check box\r
-#      add/update a new line\r
-#      begin editing a line\r
-#      remove a line\r
-\r
-\r
-# Toggle enable/disable field.  Field is in second position\r
-if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {\r
-    #move out new line\r
-    chomp(@current[$settings{'KEY1'}]);\r
-    my @temp = split(/\,/,@current[$settings{'KEY1'}]);\r
-\r
-    $temp[0] = $temp[0] ne '' ? '' : 'on';             # Toggle the field\r
-    @current[$settings{'KEY1'}] = join (',',@temp)."\n";\r
-    $settings{'KEY1'} = '';                            # End edit mode\r
-    \r
-    &General::log($Lang::tr{'hosts config changed'});\r
-\r
-    #Save current\r
-    open(FILE, ">$datafile") or die 'hosts datafile error';\r
-    print FILE @current;\r
-    close(FILE);\r
-       \r
-    # Rebuild configuration file\r
-    &BuildConfiguration;\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'add'}) {\r
-    # Validate inputs\r
-    unless(&General::validip($settings{'IP'})) {\r
-       $errormessage = $Lang::tr{'invalid fixed ip address'};\r
-    }\r
-\r
-    unless(&General::validhostname($settings{'HOST'})) {\r
-       $errormessage = $Lang::tr{'invalid hostname'};\r
-    }\r
-\r
-    if ($settings{'DOM'} && ! &General::validdomainname($settings{'DOM'})) {\r
-        $errormessage = $Lang::tr{'invalid domain name'};\r
-    }\r
-\r
-\r
-    unless ($errormessage) {\r
-       if ($settings{'KEY1'} eq '') { #add or edit ?\r
-           unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n");\r
-           &General::log($Lang::tr{'hosts config added'});\r
-       } else {\r
-           @current[$settings{'KEY1'}] = "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n";\r
-           $settings{'KEY1'} = '';       # End edit mode\r
-           &General::log($Lang::tr{'hosts config changed'});\r
-       }\r
-\r
-        # Write changes to config file.\r
-        &SortDataFile;                         # sort newly added/modified entry\r
-        &BuildConfiguration;                   # then re-build new host\r
-       \r
-       #map ($settings{$_}='' ,@nosaved);      # Clear fields\r
-    }\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-    #move out new line\r
-    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current\r
-    chomp($line);\r
-    my @temp = split(/\,/, $line);\r
-    $settings{'EN'}=$temp[0];                  # Prepare the screen for editing\r
-    $settings{'IP'}=$temp[1];\r
-    $settings{'HOST'}=$temp[2];\r
-    $settings{'DOM'}=$temp[3];\r
-}\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    splice (@current,$settings{'KEY1'},1);             # Delete line \r
-    open(FILE, ">$datafile") or die 'hosts datafile error';\r
-    print FILE @current;\r
-    close(FILE);\r
-    $settings{'KEY1'} = '';                            # End remove mode\r
-    &General::log($Lang::tr{'hosts config changed'});\r
-\r
-    &BuildConfiguration;                               # then re-build conf which use new data\r
-}\r
-\r
-\r
-\r
-##  Check if sorting is asked\r
-# If same column clicked, reverse the sort.\r
-if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {\r
-    my $newsort=$ENV{'QUERY_STRING'};\r
-    my $actual=$settings{'SORT_HOSTSLIST'};\r
-    #Reverse actual sort ?\r
-    if ($actual =~ $newsort) {\r
-       my $Rev='';\r
-       if ($actual !~ 'Rev') {\r
-           $Rev='Rev';\r
-       }\r
-       $newsort.=$Rev;\r
-    }\r
-    $settings{'SORT_HOSTSLIST'}=$newsort;\r
-    map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved\r
-    &General::writehash($setting, \%settings);\r
-    &SortDataFile;\r
-    $settings{'ACTION'} = 'SORT';                      # Create an 'ACTION'\r
-    map ($settings{$_} = '' ,@nosaved,'KEY1');         # and reinit vars to empty\r
-}\r
-\r
-if ($settings{'ACTION'} eq '' ) { # First launch from GUI\r
-    # Place here default value when nothing is initialized\r
-    $settings{'EN'} = 'on';\r
-    $settings{'DOM'} = $settings{'DOMAINNAME'};\r
-}\r
-\r
-&Header::openpage($Lang::tr{'hostname'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-my %checked=();     # Checkbox manipulations\r
-\r
-if ($errormessage) {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-    print "<font class='base'>$errormessage&nbsp;</font>";\r
-    &Header::closebox();\r
-}\r
-\r
-#\r
-# Remove if no Setting1 needed\r
-#\r
-#if ($warnmessage) {\r
-#    $warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage";\r
-#}\r
-#&Header::openbox('100%', 'left', $Lang::tr{'settings'});\r
-#print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";\r
-#print <<END\r
-#<table width='100%'>\r
-#<tr>\r
-#    <td class='base'>$Lang::tr{'domain name'} : $settings{'DOMAINNAME'}</td>\r
-#</table>\r
-#\r
-#END\r
-#;\r
-#\r
-#print <<END\r
-#<table width='100%'>\r
-#<hr />\r
-#<tr>\r
-#    <td class='base' width='25%'><!--<img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>-->\r
-#    <td class='base' width='25%'>$warnmessage</td>\r
-#    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' disabled='disabled' /></td>\r
-#</tr>\r
-#</table>\r
-#</form>\r
-#END\r
-#;\r
-#&Header::closebox();   # end of Settings1\r
-\r
-\r
-#\r
-# Second check box is for editing the list\r
-#\r
-$checked{'EN'}{'on'} = ($settings{'EN'} eq '' ) ? '' : "checked='checked'";\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($settings{'KEY1'} ne '') {\r
-    $buttontext = $Lang::tr{'update'};\r
-    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});\r
-} else {\r
-    &Header::openbox('100%', 'left', $Lang::tr{'add a host'});\r
-}\r
-\r
-#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base'>$Lang::tr{'host ip'}:&nbsp;</td>\r
-    <td><input type='text' name='IP' value='$settings{'IP'}' /></td>\r
-    <td class='base'>$Lang::tr{'hostname'}:</td>\r
-    <td><input type='text' name='HOST' value='$settings{'HOST'}' /></td>\r
-</tr><tr>\r
-    <td class='base'>$Lang::tr{'domain name'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-    <td><input type='text' name='DOM' value='$settings{'DOM'}' /></td>\r
-    <td class='base'>$Lang::tr{'enabled'}</td>\r
-    <td><input type='checkbox' name='EN' $checked{'EN'}{'on'} /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-#\r
-# Third box shows the list, in columns\r
-#\r
-# Columns headers may content a link. In this case it must be named in $sortstring\r
-#\r
-&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'host ip'}</b></a></td>\r
-    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOST'><b>$Lang::tr{'hostname'}</b></a></td>\r
-    <td width='50%' align='center'><a href='$ENV{'SCRIPT_NAME'}?DOM'><b>$Lang::tr{'domain name'}</b></a></td>\r
-    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-#\r
-# Print each line of @current list\r
-#\r
-\r
-my $key = 0;\r
-foreach my $line (@current) {\r
-    chomp($line);                              # remove newline\r
-    my @temp=split(/\,/,$line);\r
-    $temp[3] ='' unless defined $temp[3]; # not always populated\r
-\r
-    #Choose icon for checkbox\r
-    my $gif = '';\r
-    my $gdesc = '';\r
-    if ($temp[0] ne '' ) {\r
-       $gif = 'on.gif';\r
-       $gdesc = $Lang::tr{'click to disable'};\r
-    } else {\r
-       $gif = 'off.gif';\r
-       $gdesc = $Lang::tr{'click to enable'}; \r
-    }\r
-\r
-    #Colorize each line\r
-    if ($settings{'KEY1'} eq $key) {\r
-       print "<tr bgcolor='${Header::colouryellow}'>";\r
-    } elsif ($key % 2) {\r
-       print "<tr bgcolor='${Header::table2colour}'>";\r
-    } else {\r
-       print "<tr bgcolor='${Header::table1colour}'>"; \r
-    }\r
-    print <<END\r
-<td align='center'>$temp[1]</td>\r
-<td align='center'>$temp[2]</td>\r
-<td align='center'>$temp[3]</td>\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-\r
-<td align='center'>\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='KEY1' value='$key' />\r
-</form>\r
-</td>\r
-</tr>\r
-END\r
-;\r
-    $key++;\r
-}\r
-print "</table>";\r
-\r
-# If table contains entries, print 'Key to action icons'\r
-if ($key) {\r
-print <<END\r
-<table>\r
-<tr>\r
-    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to disable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-    <td class='base'>$Lang::tr{'click to enable'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-    <td class='base'>$Lang::tr{'edit'}</td>\r
-    <td>&nbsp;&nbsp;</td>\r
-    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-    <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-## Ouf it's the end !\r
-\r
-# Sort the "current" array according to choices\r
-sub SortDataFile\r
-{\r
-    our %entries = ();\r
-    \r
-    # Sort pair of record received in $a $b special vars.\r
-    # When IP is specified use numeric sort else alpha.\r
-    # If sortname ends with 'Rev', do reverse sort.\r
-    #\r
-    sub fixedleasesort {\r
-       my $qs='';             # The sort field specified minus 'Rev'\r
-       if (rindex ($settings{'SORT_HOSTSLIST'},'Rev') != -1) {\r
-           $qs=substr ($settings{'SORT_HOSTSLIST'},0,length($settings{'SORT_HOSTSLIST'})-3);\r
-           if ($qs eq 'IP') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($b[0]<=>$a[0]) ||\r
-               ($b[1]<=>$a[1]) ||\r
-               ($b[2]<=>$a[2]) ||\r
-               ($b[3]<=>$a[3]);\r
-           } else {\r
-               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};\r
-           }\r
-       } else { #not reverse\r
-           $qs=$settings{'SORT_HOSTSLIST'};\r
-           if ($qs eq 'IP') {\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($a[0]<=>$b[0]) ||\r
-               ($a[1]<=>$b[1]) ||\r
-               ($a[2]<=>$b[2]) ||\r
-               ($a[3]<=>$b[3]);\r
-           } else {\r
-               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};\r
-           }\r
-       }\r
-    }\r
-\r
-    #Use an associative array (%entries)\r
-    my $key = 0;\r
-    foreach my $line (@current) {\r
-       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)\r
-       my @temp = ( '','','', '');\r
-       @temp = split (',',$line);\r
-\r
-       # Build a pair 'Field Name',value for each of the data dataline.\r
-       # Each SORTABLE field must have is pair.\r
-       # Other data fields (non sortable) can be grouped in one\r
-       \r
-       my @record = ('KEY',$key++,'EN',$temp[0],'IP',$temp[1],'HOST',$temp[2],'DOM',$temp[3]);\r
-       my $record = {};                                # create a reference to empty hash\r
-       %{$record} = @record;                           # populate that hash with @record\r
-       $entries{$record->{KEY}} = $record;             # add this to a hash of hashes\r
-    }\r
-    \r
-    open(FILE, ">$datafile") or die 'hosts datafile error';\r
-\r
-    # Each field value is printed , with the newline ! Don't forget separator and order of them.\r
-    foreach my $entry (sort fixedleasesort keys %entries) {\r
-       print FILE "$entries{$entry}->{EN},$entries{$entry}->{IP},$entries{$entry}->{HOST},$entries{$entry}->{DOM}\n";\r
-    }\r
-\r
-    close(FILE);\r
-    # Reload sorted  @current\r
-    open (FILE, "$datafile");\r
-    @current = <FILE>;\r
-    close (FILE);\r
-}\r
-\r
-#\r
-# Build the configuration file\r
-#\r
-sub BuildConfiguration {\r
-    system '/usr/local/bin/rebuildhosts';\r
-}\r
+#!/usr/bin/perl
+#
+# IPCop CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) Alan Hourihane <alanh@fairlite.demon.co.uk>
+#
+# $Id: hosts.cgi,v 1.4.2.20 2005/11/05 15:46:25 gespinasse Exp $
+#
+# Franck
+#         use dhcp.cgi model to rewrite this code
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+# Files used
+my $setting = "${General::swroot}/main/settings";
+our $datafile = "${General::swroot}/main/hosts";               #(our: used in subroutine)
+
+our %settings = ();
+#Settings1
+# removed
+
+#Settings2 for editing the multi-line list
+#Must not be saved !
+$settings{'EN'} = '';                  # reuse for dummy field in position zero
+$settings{'IP'} = '';
+$settings{'HOST'} = '';                        
+$settings{'DOM'} = '';                 
+my @nosaved=('EN','IP','HOST','DOM');  # List here ALL setting2 fields. Mandatory
+    
+$settings{'ACTION'} = '';              # add/edit/remove
+$settings{'KEY1'} = '';                        # point record for ACTION
+
+#Define each field that can be used to sort columns
+my $sortstring='^IP|^HOST|^DOM';
+$settings{'SORT_HOSTSLIST'} = 'HOST';
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+#Get GUI values
+&Header::getcgihash(\%settings);
+
+# Load multiline data
+our @current = ();
+if (open(FILE, "$datafile")) {
+    @current = <FILE>;
+    close (FILE);
+}
+
+## Settings1 Box not used...
+&General::readhash("${General::swroot}/main/settings", \%settings);
+
+
+## Now manipulate the multi-line list with Settings2
+# Basic actions are:
+#      toggle the check box
+#      add/update a new line
+#      begin editing a line
+#      remove a line
+
+
+# Toggle enable/disable field.  Field is in second position
+if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+    #move out new line
+    chomp(@current[$settings{'KEY1'}]);
+    my @temp = split(/\,/,@current[$settings{'KEY1'}]);
+
+    $temp[0] = $temp[0] ne '' ? '' : 'on';             # Toggle the field
+    @current[$settings{'KEY1'}] = join (',',@temp)."\n";
+    $settings{'KEY1'} = '';                            # End edit mode
+    
+    &General::log($Lang::tr{'hosts config changed'});
+
+    #Save current
+    open(FILE, ">$datafile") or die 'hosts datafile error';
+    print FILE @current;
+    close(FILE);
+       
+    # Rebuild configuration file
+    &BuildConfiguration;
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+    # Validate inputs
+    unless(&General::validip($settings{'IP'})) {
+       $errormessage = $Lang::tr{'invalid fixed ip address'};
+    }
+
+    unless(&General::validhostname($settings{'HOST'})) {
+       $errormessage = $Lang::tr{'invalid hostname'};
+    }
+
+    if ($settings{'DOM'} && ! &General::validdomainname($settings{'DOM'})) {
+        $errormessage = $Lang::tr{'invalid domain name'};
+    }
+
+
+    unless ($errormessage) {
+       if ($settings{'KEY1'} eq '') { #add or edit ?
+           unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n");
+           &General::log($Lang::tr{'hosts config added'});
+       } else {
+           @current[$settings{'KEY1'}] = "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n";
+           $settings{'KEY1'} = '';       # End edit mode
+           &General::log($Lang::tr{'hosts config changed'});
+       }
+
+        # Write changes to config file.
+        &SortDataFile;                         # sort newly added/modified entry
+        &BuildConfiguration;                   # then re-build new host
+       
+       #map ($settings{$_}='' ,@nosaved);      # Clear fields
+    }
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+    #move out new line
+    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current
+    chomp($line);
+    my @temp = split(/\,/, $line);
+    $settings{'EN'}=$temp[0];                  # Prepare the screen for editing
+    $settings{'IP'}=$temp[1];
+    $settings{'HOST'}=$temp[2];
+    $settings{'DOM'}=$temp[3];
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    splice (@current,$settings{'KEY1'},1);             # Delete line 
+    open(FILE, ">$datafile") or die 'hosts datafile error';
+    print FILE @current;
+    close(FILE);
+    $settings{'KEY1'} = '';                            # End remove mode
+    &General::log($Lang::tr{'hosts config changed'});
+
+    &BuildConfiguration;                               # then re-build conf which use new data
+}
+
+
+
+##  Check if sorting is asked
+# If same column clicked, reverse the sort.
+if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {
+    my $newsort=$ENV{'QUERY_STRING'};
+    my $actual=$settings{'SORT_HOSTSLIST'};
+    #Reverse actual sort ?
+    if ($actual =~ $newsort) {
+       my $Rev='';
+       if ($actual !~ 'Rev') {
+           $Rev='Rev';
+       }
+       $newsort.=$Rev;
+    }
+    $settings{'SORT_HOSTSLIST'}=$newsort;
+    map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved
+    &General::writehash($setting, \%settings);
+    &SortDataFile;
+    $settings{'ACTION'} = 'SORT';                      # Create an 'ACTION'
+    map ($settings{$_} = '' ,@nosaved,'KEY1');         # and reinit vars to empty
+}
+
+if ($settings{'ACTION'} eq '' ) { # First launch from GUI
+    # Place here default value when nothing is initialized
+    $settings{'EN'} = 'on';
+    $settings{'DOM'} = $settings{'DOMAINNAME'};
+}
+
+&Header::openpage($Lang::tr{'hostname'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+my %checked=();     # Checkbox manipulations
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+
+#
+# Remove if no Setting1 needed
+#
+#if ($warnmessage) {
+#    $warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage";
+#}
+#&Header::openbox('100%', 'left', $Lang::tr{'settings'});
+#print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+#print <<END
+#<table width='100%'>
+#<tr>
+#    <td class='base'>$Lang::tr{'domain name'} : $settings{'DOMAINNAME'}</td>
+#</table>
+#
+#END
+#;
+#
+#print <<END
+#<table width='100%'>
+#<hr />
+#<tr>
+#    <td class='base' width='25%'><!--<img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>-->
+#    <td class='base' width='25%'>$warnmessage</td>
+#    <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' disabled='disabled' /></td>
+#</tr>
+#</table>
+#</form>
+#END
+#;
+#&Header::closebox();   # end of Settings1
+
+
+#
+# Second check box is for editing the list
+#
+$checked{'EN'}{'on'} = ($settings{'EN'} eq '' ) ? '' : "checked='checked'";
+
+my $buttontext = $Lang::tr{'add'};
+if ($settings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    &Header::openbox('100%', 'left', $Lang::tr{'edit an existing host'});
+} else {
+    &Header::openbox('100%', 'left', $Lang::tr{'add a host'});
+}
+
+#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<table width='100%'>
+<tr>
+    <td class='base'>$Lang::tr{'host ip'}:&nbsp;</td>
+    <td><input type='text' name='IP' value='$settings{'IP'}' /></td>
+    <td class='base'>$Lang::tr{'hostname'}:</td>
+    <td><input type='text' name='HOST' value='$settings{'HOST'}' /></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'domain name'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+    <td><input type='text' name='DOM' value='$settings{'DOM'}' /></td>
+    <td class='base'>$Lang::tr{'enabled'}</td>
+    <td><input type='checkbox' name='EN' $checked{'EN'}{'on'} /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+#
+# Third box shows the list, in columns
+#
+# Columns headers may content a link. In this case it must be named in $sortstring
+#
+&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
+print <<END
+<table width='100%'>
+<tr>
+    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'host ip'}</b></a></td>
+    <td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOST'><b>$Lang::tr{'hostname'}</b></a></td>
+    <td width='50%' align='center'><a href='$ENV{'SCRIPT_NAME'}?DOM'><b>$Lang::tr{'domain name'}</b></a></td>
+    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+#
+# Print each line of @current list
+#
+
+my $key = 0;
+foreach my $line (@current) {
+    chomp($line);                              # remove newline
+    my @temp=split(/\,/,$line);
+    $temp[3] ='' unless defined $temp[3]; # not always populated
+
+    #Choose icon for checkbox
+    my $gif = '';
+    my $gdesc = '';
+    if ($temp[0] ne '' ) {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'}; 
+    }
+
+    #Colorize each line
+    if ($settings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='${Header::table2colour}'>";
+    } else {
+       print "<tr bgcolor='${Header::table1colour}'>"; 
+    }
+    print <<END
+<td align='center'>$temp[1]</td>
+<td align='center'>$temp[2]</td>
+<td align='center'>$temp[3]</td>
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+print "</table>";
+
+# If table contains entries, print 'Key to action icons'
+if ($key) {
+print <<END
+<table>
+<tr>
+    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+    <td class='base'>$Lang::tr{'click to disable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+    <td class='base'>$Lang::tr{'click to enable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+    <td class='base'>$Lang::tr{'edit'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+    <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+# Sort the "current" array according to choices
+sub SortDataFile
+{
+    our %entries = ();
+    
+    # Sort pair of record received in $a $b special vars.
+    # When IP is specified use numeric sort else alpha.
+    # If sortname ends with 'Rev', do reverse sort.
+    #
+    sub fixedleasesort {
+       my $qs='';             # The sort field specified minus 'Rev'
+       if (rindex ($settings{'SORT_HOSTSLIST'},'Rev') != -1) {
+           $qs=substr ($settings{'SORT_HOSTSLIST'},0,length($settings{'SORT_HOSTSLIST'})-3);
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($b[0]<=>$a[0]) ||
+               ($b[1]<=>$a[1]) ||
+               ($b[2]<=>$a[2]) ||
+               ($b[3]<=>$a[3]);
+           } else {
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
+           }
+       } else { #not reverse
+           $qs=$settings{'SORT_HOSTSLIST'};
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+           } else {
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
+           }
+       }
+    }
+
+    #Use an associative array (%entries)
+    my $key = 0;
+    foreach my $line (@current) {
+       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)
+       my @temp = ( '','','', '');
+       @temp = split (',',$line);
+
+       # Build a pair 'Field Name',value for each of the data dataline.
+       # Each SORTABLE field must have is pair.
+       # Other data fields (non sortable) can be grouped in one
+       
+       my @record = ('KEY',$key++,'EN',$temp[0],'IP',$temp[1],'HOST',$temp[2],'DOM',$temp[3]);
+       my $record = {};                                # create a reference to empty hash
+       %{$record} = @record;                           # populate that hash with @record
+       $entries{$record->{KEY}} = $record;             # add this to a hash of hashes
+    }
+    
+    open(FILE, ">$datafile") or die 'hosts datafile error';
+
+    # Each field value is printed , with the newline ! Don't forget separator and order of them.
+    foreach my $entry (sort fixedleasesort keys %entries) {
+       print FILE "$entries{$entry}->{EN},$entries{$entry}->{IP},$entries{$entry}->{HOST},$entries{$entry}->{DOM}\n";
+    }
+
+    close(FILE);
+    # Reload sorted  @current
+    open (FILE, "$datafile");
+    @current = <FILE>;
+    close (FILE);
+}
+
+#
+# Build the configuration file
+#
+sub BuildConfiguration {
+    system '/usr/local/bin/rebuildhosts';
+}
index 56c9c77f65d4b2f1fb0e2ec5e4b3d0e97a07d521..035ee83ebdaaf4d280f40043eb33d6db23423047 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: ids.cgi,v 1.8.2.18 2005/07/27 21:35:22 franck78 Exp $\r
-#\r
-\r
-use LWP::UserAgent;\r
-use File::Copy;\r
-use File::Temp qw/ tempfile tempdir /;\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %snortsettings=();\r
-my %checked=();\r
-my %netsettings=();\r
-our $errormessage = '';\r
-our $md5 = '0';# not '' to avoid displaying the wrong message when INSTALLMD5 not set\r
-our $realmd5 = '';\r
-our $results = '';\r
-our $tempdir = '';\r
-our $url='';\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-&Header::showhttpheaders();\r
-\r
-$snortsettings{'ENABLE_SNORT'} = 'off';\r
-$snortsettings{'ENABLE_SNORT_GREEN'} = 'off';\r
-$snortsettings{'ENABLE_SNORT_BLUE'} = 'off';\r
-$snortsettings{'ENABLE_SNORT_ORANGE'} = 'off';\r
-$snortsettings{'ACTION'} = '';\r
-$snortsettings{'RULESTYPE'} = '';\r
-$snortsettings{'OINKCODE'} = '';\r
-$snortsettings{'INSTALLDATE'} = '';\r
-$snortsettings{'INSTALLMD5'} = '';\r
-\r
-&Header::getcgihash(\%snortsettings, {'wantfile' => 1, 'filevar' => 'FH'});\r
-\r
-if ($snortsettings{'RULESTYPE'} eq 'subscripted') {\r
-       $url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.3_s.tar.gz";\r
-} else {\r
-       $url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.3.tar.gz";\r
-}\r
-\r
-if ($snortsettings{'ACTION'} eq $Lang::tr{'save'})\r
-{\r
-       $errormessage = $Lang::tr{'invalid input for oink code'} unless (\r
-           ($snortsettings{'OINKCODE'} =~ /^[a-z0-9]+$/)  ||\r
-           ($snortsettings{'RULESTYPE'} eq 'nothing' )       );\r
-\r
-       &General::writehash("${General::swroot}/snort/settings", \%snortsettings);\r
-       if ($snortsettings{'ENABLE_SNORT'} eq 'on')\r
-       {\r
-               system ('/bin/touch', "${General::swroot}/snort/enable");\r
-       } else {\r
-               unlink "${General::swroot}/snort/enable";\r
-       } \r
-       if ($snortsettings{'ENABLE_SNORT_GREEN'} eq 'on')\r
-       {\r
-               system ('/bin/touch', "${General::swroot}/snort/enable_green");\r
-       } else {\r
-               unlink "${General::swroot}/snort/enable_green";\r
-       } \r
-       if ($snortsettings{'ENABLE_SNORT_BLUE'} eq 'on')\r
-       {\r
-               system ('/bin/touch', "${General::swroot}/snort/enable_blue");\r
-       } else {\r
-               unlink "${General::swroot}/snort/enable_blue";\r
-       } \r
-       if ($snortsettings{'ENABLE_SNORT_ORANGE'} eq 'on')\r
-       {\r
-               system ('/bin/touch', "${General::swroot}/snort/enable_orange");\r
-       } else {\r
-               unlink "${General::swroot}/snort/enable_orange";\r
-       }\r
-\r
-       system('/usr/local/bin/restartsnort','red','orange','blue','green');\r
-} else {\r
-        # INSTALLMD5 is not in the form, so not retrieved by getcgihash\r
-       &General::readhash("${General::swroot}/snort/settings", \%snortsettings);\r
-}\r
-\r
-if ($snortsettings{'ACTION'} eq $Lang::tr{'download new ruleset'}) {\r
-       $md5 = &getmd5;\r
-       if (($snortsettings{'INSTALLMD5'} ne $md5) && defined $md5 ) {\r
-               chomp($md5);\r
-               my $filename = &downloadrulesfile();\r
-               if (defined $filename) {\r
-                       # Check MD5sum\r
-                       $realmd5 = `/usr/bin/md5sum $filename`;\r
-                       chomp ($realmd5);\r
-                       $realmd5 =~ s/^(\w+)\s.*$/$1/;\r
-                       if ($md5 ne $realmd5) {\r
-                               $errormessage = "$Lang::tr{'invalid md5sum'}";\r
-                       } else {\r
-                               $results = "<b>$Lang::tr{'installed updates'}</b>\n<pre>";\r
-                               $results .=`/usr/local/bin/oinkmaster.pl -s -u file://$filename -C /var/ipcop/snort/oinkmaster.conf -o /etc/snort 2>&1`;\r
-                               $results .= "</pre>";\r
-                       }\r
-                       unlink ($filename);\r
-               }\r
-       }\r
-}\r
-\r
-$checked{'ENABLE_SNORT'}{'off'} = '';\r
-$checked{'ENABLE_SNORT'}{'on'} = '';\r
-$checked{'ENABLE_SNORT'}{$snortsettings{'ENABLE_SNORT'}} = "checked='checked'";\r
-$checked{'ENABLE_SNORT_GREEN'}{'off'} = '';\r
-$checked{'ENABLE_SNORT_GREEN'}{'on'} = '';\r
-$checked{'ENABLE_SNORT_GREEN'}{$snortsettings{'ENABLE_SNORT_GREEN'}} = "checked='checked'";\r
-$checked{'ENABLE_SNORT_BLUE'}{'off'} = '';\r
-$checked{'ENABLE_SNORT_BLUE'}{'on'} = '';\r
-$checked{'ENABLE_SNORT_BLUE'}{$snortsettings{'ENABLE_SNORT_BLUE'}} = "checked='checked'";\r
-$checked{'ENABLE_SNORT_ORANGE'}{'off'} = '';\r
-$checked{'ENABLE_SNORT_ORANGE'}{'on'} = '';\r
-$checked{'ENABLE_SNORT_ORANGE'}{$snortsettings{'ENABLE_SNORT_ORANGE'}} = "checked='checked'";\r
-$checked{'RULESTYPE'}{'nothing'} = '';\r
-$checked{'RULESTYPE'}{'registered'} = '';\r
-$checked{'RULESTYPE'}{'subscripted'} = '';\r
-$checked{'RULESTYPE'}{$snortsettings{'RULESTYPE'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'intrusion detection system'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'intrusion detection system2'});\r
-print <<END\r
-<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>\r
-<tr>\r
-       <td class='base'><input type='checkbox' name='ENABLE_SNORT_GREEN' $checked{'ENABLE_SNORT_GREEN'}{'on'} />\r
-               GREEN Snort</td>\r
-</tr>\r
-END\r
-;\r
-if ($netsettings{'BLUE_DEV'} ne '') {\r
-print <<END\r
-<tr>\r
-       <td class='base'><input type='checkbox' name='ENABLE_SNORT_BLUE' $checked{'ENABLE_SNORT_BLUE'}{'on'} />\r
-               BLUE Snort</td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($netsettings{'ORANGE_DEV'} ne '') {\r
-print <<END\r
-<tr>\r
-       <td class='base'><input type='checkbox' name='ENABLE_SNORT_ORANGE' $checked{'ENABLE_SNORT_ORANGE'}{'on'} />\r
-               ORANGE Snort</td>\r
-</tr>\r
-END\r
-;\r
-}\r
-print <<END\r
-<tr>\r
-       <td class='base'><input type='checkbox' name='ENABLE_SNORT' $checked{'ENABLE_SNORT'}{'on'} />\r
-               RED Snort</td>\r
-</tr>\r
-<tr>\r
-       <td><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td><b>$Lang::tr{'ids rules update'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='RULESTYPE' value='nothing' $checked{'RULESTYPE'}{'nothing'} />\r
-               $Lang::tr{'no'}</td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='RULESTYPE' value='registered' $checked{'RULESTYPE'}{'registered'} />\r
-               $Lang::tr{'registered user rules'}</td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='RULESTYPE' value='subscripted' $checked{'RULESTYPE'}{'subscripted'} />\r
-               $Lang::tr{'subscripted user rules'}</td>\r
-</tr>\r
-<tr>\r
-       <td><br />\r
-               $Lang::tr{'ids rules license'} <a href='http://www.snort.org/' target='_blank'>http://www.snort.org</a>.<br />\r
-               <br />\r
-               $Lang::tr{'ids rules license2'} <a href='http://www.snort.org/reg-bin/userprefs.cgi' target='_blank'>USER PREFERENCES</a>, $Lang::tr{'ids rules license3'}<br />\r
-       </td>\r
-</tr>\r
-<tr>\r
-       <td nowrap='nowrap'>Oink Code:&nbsp;<input type='text' size='40' name='OINKCODE' value='$snortsettings{'OINKCODE'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td width='30%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'download new ruleset'}' />\r
-END\r
-;\r
-\r
-if ($snortsettings{'INSTALLMD5'} eq $md5) {\r
-       print "&nbsp;$Lang::tr{'rules already up to date'}</td>";\r
-} else {\r
-       if ( $snortsettings{'ACTION'} eq $Lang::tr{'download new ruleset'} && $md5 eq $realmd5 ) {\r
-               $snortsettings{'INSTALLMD5'} = $realmd5;\r
-               $snortsettings{'INSTALLDATE'} = `/bin/date +'%Y-%m-%d'`;\r
-               &General::writehash("${General::swroot}/snort/settings", \%snortsettings);\r
-       }\r
-       print "&nbsp;$Lang::tr{'updates installed'}: $snortsettings{'INSTALLDATE'}</td>";\r
-}\r
-print <<END\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-       <td width='55%'>&nbsp;</td>\r
-       <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-       <td width='5%'>\r
-               &nbsp; <!-- space for future online help link -->\r
-       </td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-\r
-if ($results ne '') {\r
-       print "$results";\r
-}\r
-\r
-&Header::closebox();\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-sub getmd5 {\r
-       # Retrieve MD5 sum from $url.md5 file\r
-       #\r
-       my $md5buf = &geturl("$url.md5");\r
-       return undef unless $md5buf;\r
-\r
-       if (0) { # 1 to debug\r
-               my $filename='';\r
-               my $fh='';\r
-               ($fh, $filename) = tempfile('/tmp/XXXXXXXX',SUFFIX => '.md5' );\r
-               binmode ($fh);\r
-               syswrite ($fh, $md5buf->content);\r
-               close($fh);\r
-       }\r
-       return $md5buf->content;\r
-}\r
-sub downloadrulesfile {\r
-       my $return = &geturl($url);\r
-       return undef unless $return;\r
-\r
-       if (index($return->content, "\037\213") == -1 ) { # \037\213 is .gz beginning\r
-               $errormessage = $Lang::tr{'invalid loaded file'};\r
-               return undef;\r
-       }\r
-\r
-       my $filename='';\r
-       my $fh='';\r
-       ($fh, $filename) = tempfile('/tmp/XXXXXXXX',SUFFIX => '.tar.gz' );#oinkmaster work only with this extension\r
-       binmode ($fh);\r
-       syswrite ($fh, $return->content);\r
-       close($fh);\r
-       return $filename;\r
-}\r
-\r
-sub geturl ($) {\r
-       my $url=$_[0];\r
-\r
-       unless (-e "${General::swroot}/red/active") {\r
-               $errormessage = $Lang::tr{'could not download latest updates'};\r
-               return undef;\r
-       }\r
-\r
-       my $downloader = LWP::UserAgent->new;\r
-       $downloader->timeout(5);\r
-\r
-       my %proxysettings=();\r
-       &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);\r
-\r
-       if ($_=$proxysettings{'UPSTREAM_PROXY'}) {\r
-               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);\r
-               if ($proxysettings{'UPSTREAM_USER'}) {\r
-                       $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");\r
-               } else {\r
-                       $downloader->proxy("http","http://$peer:$peerport/");\r
-               }\r
-       }\r
-\r
-       my $return = $downloader->get($url,'Cache-Control','no-cache');\r
-\r
-       if ($return->code == 403) {\r
-               $errormessage = $Lang::tr{'access refused with this oinkcode'};\r
-               return undef;\r
-       } elsif (!$return->is_success()) {\r
-               $errormessage = $Lang::tr{'could not download latest updates'};\r
-               return undef;\r
-       }\r
-\r
-       return $return;\r
-\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: ids.cgi,v 1.8.2.18 2005/07/27 21:35:22 franck78 Exp $
+#
+
+use LWP::UserAgent;
+use File::Copy;
+use File::Temp qw/ tempfile tempdir /;
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %snortsettings=();
+my %checked=();
+my %netsettings=();
+our $errormessage = '';
+our $md5 = '0';# not '' to avoid displaying the wrong message when INSTALLMD5 not set
+our $realmd5 = '';
+our $results = '';
+our $tempdir = '';
+our $url='';
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+&Header::showhttpheaders();
+
+$snortsettings{'ENABLE_SNORT'} = 'off';
+$snortsettings{'ENABLE_SNORT_GREEN'} = 'off';
+$snortsettings{'ENABLE_SNORT_BLUE'} = 'off';
+$snortsettings{'ENABLE_SNORT_ORANGE'} = 'off';
+$snortsettings{'ACTION'} = '';
+$snortsettings{'RULESTYPE'} = '';
+$snortsettings{'OINKCODE'} = '';
+$snortsettings{'INSTALLDATE'} = '';
+$snortsettings{'INSTALLMD5'} = '';
+
+&Header::getcgihash(\%snortsettings, {'wantfile' => 1, 'filevar' => 'FH'});
+
+if ($snortsettings{'RULESTYPE'} eq 'subscripted') {
+       $url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.3_s.tar.gz";
+} else {
+       $url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.3.tar.gz";
+}
+
+if ($snortsettings{'ACTION'} eq $Lang::tr{'save'})
+{
+       $errormessage = $Lang::tr{'invalid input for oink code'} unless (
+           ($snortsettings{'OINKCODE'} =~ /^[a-z0-9]+$/)  ||
+           ($snortsettings{'RULESTYPE'} eq 'nothing' )       );
+
+       &General::writehash("${General::swroot}/snort/settings", \%snortsettings);
+       if ($snortsettings{'ENABLE_SNORT'} eq 'on')
+       {
+               system ('/bin/touch', "${General::swroot}/snort/enable");
+       } else {
+               unlink "${General::swroot}/snort/enable";
+       } 
+       if ($snortsettings{'ENABLE_SNORT_GREEN'} eq 'on')
+       {
+               system ('/bin/touch', "${General::swroot}/snort/enable_green");
+       } else {
+               unlink "${General::swroot}/snort/enable_green";
+       } 
+       if ($snortsettings{'ENABLE_SNORT_BLUE'} eq 'on')
+       {
+               system ('/bin/touch', "${General::swroot}/snort/enable_blue");
+       } else {
+               unlink "${General::swroot}/snort/enable_blue";
+       } 
+       if ($snortsettings{'ENABLE_SNORT_ORANGE'} eq 'on')
+       {
+               system ('/bin/touch', "${General::swroot}/snort/enable_orange");
+       } else {
+               unlink "${General::swroot}/snort/enable_orange";
+       }
+
+       system('/usr/local/bin/restartsnort','red','orange','blue','green');
+} else {
+        # INSTALLMD5 is not in the form, so not retrieved by getcgihash
+       &General::readhash("${General::swroot}/snort/settings", \%snortsettings);
+}
+
+if ($snortsettings{'ACTION'} eq $Lang::tr{'download new ruleset'}) {
+       $md5 = &getmd5;
+       if (($snortsettings{'INSTALLMD5'} ne $md5) && defined $md5 ) {
+               chomp($md5);
+               my $filename = &downloadrulesfile();
+               if (defined $filename) {
+                       # Check MD5sum
+                       $realmd5 = `/usr/bin/md5sum $filename`;
+                       chomp ($realmd5);
+                       $realmd5 =~ s/^(\w+)\s.*$/$1/;
+                       if ($md5 ne $realmd5) {
+                               $errormessage = "$Lang::tr{'invalid md5sum'}";
+                       } else {
+                               $results = "<b>$Lang::tr{'installed updates'}</b>\n<pre>";
+                               $results .=`/usr/local/bin/oinkmaster.pl -s -u file://$filename -C /var/ipcop/snort/oinkmaster.conf -o /etc/snort 2>&1`;
+                               $results .= "</pre>";
+                       }
+                       unlink ($filename);
+               }
+       }
+}
+
+$checked{'ENABLE_SNORT'}{'off'} = '';
+$checked{'ENABLE_SNORT'}{'on'} = '';
+$checked{'ENABLE_SNORT'}{$snortsettings{'ENABLE_SNORT'}} = "checked='checked'";
+$checked{'ENABLE_SNORT_GREEN'}{'off'} = '';
+$checked{'ENABLE_SNORT_GREEN'}{'on'} = '';
+$checked{'ENABLE_SNORT_GREEN'}{$snortsettings{'ENABLE_SNORT_GREEN'}} = "checked='checked'";
+$checked{'ENABLE_SNORT_BLUE'}{'off'} = '';
+$checked{'ENABLE_SNORT_BLUE'}{'on'} = '';
+$checked{'ENABLE_SNORT_BLUE'}{$snortsettings{'ENABLE_SNORT_BLUE'}} = "checked='checked'";
+$checked{'ENABLE_SNORT_ORANGE'}{'off'} = '';
+$checked{'ENABLE_SNORT_ORANGE'}{'on'} = '';
+$checked{'ENABLE_SNORT_ORANGE'}{$snortsettings{'ENABLE_SNORT_ORANGE'}} = "checked='checked'";
+$checked{'RULESTYPE'}{'nothing'} = '';
+$checked{'RULESTYPE'}{'registered'} = '';
+$checked{'RULESTYPE'}{'subscripted'} = '';
+$checked{'RULESTYPE'}{$snortsettings{'RULESTYPE'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'intrusion detection system'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+&Header::openbox('100%', 'left', $Lang::tr{'intrusion detection system2'});
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>
+<tr>
+       <td class='base'><input type='checkbox' name='ENABLE_SNORT_GREEN' $checked{'ENABLE_SNORT_GREEN'}{'on'} />
+               GREEN Snort</td>
+</tr>
+END
+;
+if ($netsettings{'BLUE_DEV'} ne '') {
+print <<END
+<tr>
+       <td class='base'><input type='checkbox' name='ENABLE_SNORT_BLUE' $checked{'ENABLE_SNORT_BLUE'}{'on'} />
+               BLUE Snort</td>
+</tr>
+END
+;
+}
+if ($netsettings{'ORANGE_DEV'} ne '') {
+print <<END
+<tr>
+       <td class='base'><input type='checkbox' name='ENABLE_SNORT_ORANGE' $checked{'ENABLE_SNORT_ORANGE'}{'on'} />
+               ORANGE Snort</td>
+</tr>
+END
+;
+}
+print <<END
+<tr>
+       <td class='base'><input type='checkbox' name='ENABLE_SNORT' $checked{'ENABLE_SNORT'}{'on'} />
+               RED Snort</td>
+</tr>
+<tr>
+       <td><hr /></td>
+</tr>
+<tr>
+       <td><b>$Lang::tr{'ids rules update'}</b></td>
+</tr>
+<tr>
+       <td><input type='radio' name='RULESTYPE' value='nothing' $checked{'RULESTYPE'}{'nothing'} />
+               $Lang::tr{'no'}</td>
+</tr>
+<tr>
+       <td><input type='radio' name='RULESTYPE' value='registered' $checked{'RULESTYPE'}{'registered'} />
+               $Lang::tr{'registered user rules'}</td>
+</tr>
+<tr>
+       <td><input type='radio' name='RULESTYPE' value='subscripted' $checked{'RULESTYPE'}{'subscripted'} />
+               $Lang::tr{'subscripted user rules'}</td>
+</tr>
+<tr>
+       <td><br />
+               $Lang::tr{'ids rules license'} <a href='http://www.snort.org/' target='_blank'>http://www.snort.org</a>.<br />
+               <br />
+               $Lang::tr{'ids rules license2'} <a href='http://www.snort.org/reg-bin/userprefs.cgi' target='_blank'>USER PREFERENCES</a>, $Lang::tr{'ids rules license3'}<br />
+       </td>
+</tr>
+<tr>
+       <td nowrap='nowrap'>Oink Code:&nbsp;<input type='text' size='40' name='OINKCODE' value='$snortsettings{'OINKCODE'}' /></td>
+</tr>
+<tr>
+       <td width='30%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'download new ruleset'}' />
+END
+;
+
+if ($snortsettings{'INSTALLMD5'} eq $md5) {
+       print "&nbsp;$Lang::tr{'rules already up to date'}</td>";
+} else {
+       if ( $snortsettings{'ACTION'} eq $Lang::tr{'download new ruleset'} && $md5 eq $realmd5 ) {
+               $snortsettings{'INSTALLMD5'} = $realmd5;
+               $snortsettings{'INSTALLDATE'} = `/bin/date +'%Y-%m-%d'`;
+               &General::writehash("${General::swroot}/snort/settings", \%snortsettings);
+       }
+       print "&nbsp;$Lang::tr{'updates installed'}: $snortsettings{'INSTALLDATE'}</td>";
+}
+print <<END
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+       <td width='55%'>&nbsp;</td>
+       <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+       <td width='5%'>
+               &nbsp; <!-- space for future online help link -->
+       </td>
+</tr>
+</table>
+</form>
+END
+;
+
+if ($results ne '') {
+       print "$results";
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+sub getmd5 {
+       # Retrieve MD5 sum from $url.md5 file
+       #
+       my $md5buf = &geturl("$url.md5");
+       return undef unless $md5buf;
+
+       if (0) { # 1 to debug
+               my $filename='';
+               my $fh='';
+               ($fh, $filename) = tempfile('/tmp/XXXXXXXX',SUFFIX => '.md5' );
+               binmode ($fh);
+               syswrite ($fh, $md5buf->content);
+               close($fh);
+       }
+       return $md5buf->content;
+}
+sub downloadrulesfile {
+       my $return = &geturl($url);
+       return undef unless $return;
+
+       if (index($return->content, "\037\213") == -1 ) { # \037\213 is .gz beginning
+               $errormessage = $Lang::tr{'invalid loaded file'};
+               return undef;
+       }
+
+       my $filename='';
+       my $fh='';
+       ($fh, $filename) = tempfile('/tmp/XXXXXXXX',SUFFIX => '.tar.gz' );#oinkmaster work only with this extension
+       binmode ($fh);
+       syswrite ($fh, $return->content);
+       close($fh);
+       return $filename;
+}
+
+sub geturl ($) {
+       my $url=$_[0];
+
+       unless (-e "${General::swroot}/red/active") {
+               $errormessage = $Lang::tr{'could not download latest updates'};
+               return undef;
+       }
+
+       my $downloader = LWP::UserAgent->new;
+       $downloader->timeout(5);
+
+       my %proxysettings=();
+       &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+
+       if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
+               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
+               if ($proxysettings{'UPSTREAM_USER'}) {
+                       $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");
+               } else {
+                       $downloader->proxy("http","http://$peer:$peerport/");
+               }
+       }
+
+       my $return = $downloader->get($url,'Cache-Control','no-cache');
+
+       if ($return->code == 403) {
+               $errormessage = $Lang::tr{'access refused with this oinkcode'};
+               return undef;
+       } elsif (!$return->is_success()) {
+               $errormessage = $Lang::tr{'could not download latest updates'};
+               return undef;
+       }
+
+       return $return;
+
+}
index bd36a986219d987ff11f436941a83f74b30d3ca2..b1e88b0ce1eacfa67cc35e34aa86aefc77420f16 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: index.cgi,v 1.15.2.18 2005/09/17 13:51:47 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my %pppsettings=();\r
-my %modemsettings=();\r
-my %netsettings=();\r
-my %ddnssettings=();\r
-my $warnmessage = '';\r
-my $refresh = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-$pppsettings{'VALID'} = '';\r
-$pppsettings{'PROFILENAME'} = 'None';\r
-&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-&General::readhash("${General::swroot}/modem/settings", \%modemsettings);\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-&General::readhash("${General::swroot}/ddns/settings", \%ddnssettings);\r
-\r
-my $connstate = &Header::connectionstatus();\r
-if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") {\r
-       $refresh = "<meta http-equiv='refresh' content='30;'>";\r
-} elsif ($connstate =~ /$Lang::tr{'connecting'}/) {\r
-       $refresh = "<meta http-equiv='refresh' content='5;'>";\r
-}\r
-\r
-&Header::openpage($Lang::tr{'main page'}, 1, $refresh);\r
-&Header::openbigbox('', 'center');\r
-&Header::openbox('100%', 'center', &Header::cleanhtml(`/bin/uname -n`,"y"));\r
-\r
-# hide buttons only when pppsettings mandatory used and not valid\r
-if ( ( $pppsettings{'VALID'} eq 'yes' ) ||\r
-               ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {\r
-       print <<END\r
-       <table border='0'>\r
-       <tr>\r
-               <td align='center'><form method='post' action='/cgi-bin/dial.cgi'>\r
-                       <input type='submit' name='ACTION' value='$Lang::tr{'dial'}' />\r
-               </form></td>\r
-               <td>&nbsp;&nbsp;</td>\r
-               <td align='center'><form method='post' action='/cgi-bin/dial.cgi'>\r
-                       <input type='submit' name='ACTION' value='$Lang::tr{'hangup'}' />\r
-               </form></td>\r
-               <td>&nbsp;&nbsp;</td>\r
-               <td align='center'><form method='post' action="$ENV{'SCRIPT_NAME'}">\r
-                       <input type='submit' name='ACTION' value='$Lang::tr{'refresh'}' />\r
-               </form></td>\r
-       </tr></table>\r
-END\r
-       ;\r
-}\r
-\r
-print "<font face='Helvetica' size='4'><b>";\r
-if ( !( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {\r
-       print "<u>$Lang::tr{'current profile'} $pppsettings{'PROFILENAME'}</u><br />\n";\r
-}\r
-       \r
-if ( ( $pppsettings{'VALID'} eq 'yes'&& $modemsettings{'VALID'} eq 'yes' ) ||\r
-               ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ )) {\r
-       print $connstate;\r
-       print "</b></font>\n";\r
-       if ($connstate =~ /$Lang::tr{'connected'}/) {\r
-           my $fetch_ip='nothing';\r
-           if ($ddnssettings{'BEHINDROUTER'} eq 'FETCH_IP') {\r
-               if (open(IPADDR,"${General::swroot}/ddns/ipcache")) {\r
-                   $fetch_ip = <IPADDR>;\r
-                   close IPADDR;\r
-                   chomp ($fetch_ip);\r
-                   my $host_name = (gethostbyaddr(pack("C4", split(/\./, $fetch_ip)), 2))[0];\r
-                   print "<br />$Lang::tr{'ip address'} (internet): $fetch_ip <br /> $Lang::tr{'ipcops hostname'} (internet): $host_name <br />";\r
-               }\r
-           }\r
-           if (open(IPADDR,"${General::swroot}/red/local-ipaddress")) {\r
-               my $ipaddr = <IPADDR>;\r
-               close IPADDR;\r
-               chomp ($ipaddr);\r
-               if ($ipaddr ne $fetch_ip){      #do not show info twice\r
-                   my $host_name = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];\r
-                   print "<br />$Lang::tr{'ip address'}: $ipaddr <br /> $Lang::tr{'ipcops hostname'}: $host_name <br />";\r
-               }\r
-           }\r
-        }\r
-\r
-} elsif ($modemsettings{'VALID'} eq 'no') {\r
-       print "$Lang::tr{'modem settings have errors'}\n </b></font>\n";\r
-} else {\r
-       print "$Lang::tr{'profile has errors'}\n </b></font>\n";\r
-}\r
-\r
-\r
-# Memory usage warning\r
-my @free = `/usr/bin/free`;\r
-$free[1] =~ m/(\d+)/;\r
-my $mem = $1;\r
-$free[2] =~ m/(\d+)/;\r
-my $used = $1;\r
-my $pct = int 100 * ($mem - $used) / $mem;\r
-if ($used / $mem > 90) {\r
-       $warnmessage .= "<li> $Lang::tr{'high memory usage'}: $pct% !</li>\n";\r
-}\r
-\r
-# Diskspace usage warning\r
-my @temp=();\r
-my $temp2=();\r
-my @df = `/bin/df -B M -x rootfs`;\r
-foreach my $line (@df) {\r
-       next if $line =~ m/^Filesystem/;\r
-       if ($line =~ m/root/ ) {\r
-               $line =~ m/^.* (\d+)M.*$/;\r
-               @temp = split(/ +/,$line);\r
-               if ($1<5) {\r
-                       # available:plain value in MB, and not %used as 10% is too much to waste on small disk\r
-                       # and root size should not vary during time\r
-                       $warnmessage .= "<li> $Lang::tr{'filesystem full'}: $temp[0] <b>$Lang::tr{'free'}=$1M</b> !</li>\n";\r
-               }\r
-               \r
-       } else {\r
-               # $line =~ m/^.* (\d+)m.*$/;\r
-               $line =~ m/^.* (\d+)\%.*$/;\r
-               if ($1>90) {\r
-                       @temp = split(/ /,$line);\r
-                       $temp2=int(100-$1);\r
-                       $warnmessage .= "<li> $Lang::tr{'filesystem full'}: $temp[0] <b>$Lang::tr{'free'}=$temp2%</b> !</li>\n";\r
-               }\r
-       }\r
-}\r
-\r
-# Patches warning\r
-open(AV, "<${General::swroot}/patches/available") or die "Could not open available patches database ($!)";\r
-my @av = <AV>;\r
-close(AV);\r
-open(PF, "<${General::swroot}/patches/installed") or die "Could not open installed patches file. ($!)<br />";\r
-while(<PF>)\r
-{\r
-        next if $_ =~ m/^#/;\r
-        @temp = split(/\|/,$_);\r
-        @av = grep(!/^$temp[0]/, @av);\r
-}\r
-close(PF);\r
-\r
-if ($#av != -1) \r
-{\r
-       $warnmessage .= "<li> $Lang::tr{'there are updates'}</li>";\r
-}\r
-my $age = &General::age("/${General::swroot}/patches/available");\r
-if ($age =~ m/(\d{1,3})d/) {\r
-       if ($1 >= 7) {\r
-               $warnmessage .= "<li>$Lang::tr{'updates is old1'} $age $Lang::tr{'updates is old2'}</li>\n";\r
-       }\r
-}\r
-\r
-if ($warnmessage) {\r
-       print "<ol>$warnmessage</ol>";\r
-}\r
-\r
-print "<p>";\r
-system('/usr/bin/uptime');\r
-print "</p>\n";\r
-\r
-&Header::closebox();\r
-\r
-# Test browser, and direct User where to turn off Javascript if necessary\r
-# only display message if Javascript is currently enabled\r
-if (${Header::javascript}) {\r
-print <<END\r
-<script type='text/javascript'>\n\r
-if(navigator.platform.indexOf("MacPPC")>(-1)){\r
-  document.write(\r
-    "<center><p>"\r
-    + "$Lang::tr{'javascript menu error1'}"\r
-    + " <a href='/cgi-bin/gui.cgi'>$Lang::tr{'gui settings'}</a> "\r
-    + "$Lang::tr{'javascript menu error2'}"\r
-    + "</p></center>"\r
-  )\r
-}\r
-</script>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: index.cgi,v 1.15.2.18 2005/09/17 13:51:47 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my %pppsettings=();
+my %modemsettings=();
+my %netsettings=();
+my %ddnssettings=();
+my $warnmessage = '';
+my $refresh = '';
+
+&Header::showhttpheaders();
+
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+$pppsettings{'VALID'} = '';
+$pppsettings{'PROFILENAME'} = 'None';
+&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+&General::readhash("${General::swroot}/modem/settings", \%modemsettings);
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+&General::readhash("${General::swroot}/ddns/settings", \%ddnssettings);
+
+my $connstate = &Header::connectionstatus();
+if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") {
+       $refresh = "<meta http-equiv='refresh' content='30;'>";
+} elsif ($connstate =~ /$Lang::tr{'connecting'}/) {
+       $refresh = "<meta http-equiv='refresh' content='5;'>";
+}
+
+&Header::openpage($Lang::tr{'main page'}, 1, $refresh);
+&Header::openbigbox('', 'center');
+&Header::openbox('100%', 'center', &Header::cleanhtml(`/bin/uname -n`,"y"));
+
+# hide buttons only when pppsettings mandatory used and not valid
+if ( ( $pppsettings{'VALID'} eq 'yes' ) ||
+               ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {
+       print <<END
+       <table border='0'>
+       <tr>
+               <td align='center'><form method='post' action='/cgi-bin/dial.cgi'>
+                       <input type='submit' name='ACTION' value='$Lang::tr{'dial'}' />
+               </form></td>
+               <td>&nbsp;&nbsp;</td>
+               <td align='center'><form method='post' action='/cgi-bin/dial.cgi'>
+                       <input type='submit' name='ACTION' value='$Lang::tr{'hangup'}' />
+               </form></td>
+               <td>&nbsp;&nbsp;</td>
+               <td align='center'><form method='post' action="$ENV{'SCRIPT_NAME'}">
+                       <input type='submit' name='ACTION' value='$Lang::tr{'refresh'}' />
+               </form></td>
+       </tr></table>
+END
+       ;
+}
+
+print "<font face='Helvetica' size='4'><b>";
+if ( !( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {
+       print "<u>$Lang::tr{'current profile'} $pppsettings{'PROFILENAME'}</u><br />\n";
+}
+       
+if ( ( $pppsettings{'VALID'} eq 'yes'&& $modemsettings{'VALID'} eq 'yes' ) ||
+               ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ )) {
+       print $connstate;
+       print "</b></font>\n";
+       if ($connstate =~ /$Lang::tr{'connected'}/) {
+           my $fetch_ip='nothing';
+           if ($ddnssettings{'BEHINDROUTER'} eq 'FETCH_IP') {
+               if (open(IPADDR,"${General::swroot}/ddns/ipcache")) {
+                   $fetch_ip = <IPADDR>;
+                   close IPADDR;
+                   chomp ($fetch_ip);
+                   my $host_name = (gethostbyaddr(pack("C4", split(/\./, $fetch_ip)), 2))[0];
+                   print "<br />$Lang::tr{'ip address'} (internet): $fetch_ip <br /> $Lang::tr{'ipcops hostname'} (internet): $host_name <br />";
+               }
+           }
+           if (open(IPADDR,"${General::swroot}/red/local-ipaddress")) {
+               my $ipaddr = <IPADDR>;
+               close IPADDR;
+               chomp ($ipaddr);
+               if ($ipaddr ne $fetch_ip){      #do not show info twice
+                   my $host_name = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
+                   print "<br />$Lang::tr{'ip address'}: $ipaddr <br /> $Lang::tr{'ipcops hostname'}: $host_name <br />";
+               }
+           }
+        }
+
+} elsif ($modemsettings{'VALID'} eq 'no') {
+       print "$Lang::tr{'modem settings have errors'}\n </b></font>\n";
+} else {
+       print "$Lang::tr{'profile has errors'}\n </b></font>\n";
+}
+
+
+# Memory usage warning
+my @free = `/usr/bin/free`;
+$free[1] =~ m/(\d+)/;
+my $mem = $1;
+$free[2] =~ m/(\d+)/;
+my $used = $1;
+my $pct = int 100 * ($mem - $used) / $mem;
+if ($used / $mem > 90) {
+       $warnmessage .= "<li> $Lang::tr{'high memory usage'}: $pct% !</li>\n";
+}
+
+# Diskspace usage warning
+my @temp=();
+my $temp2=();
+my @df = `/bin/df -B M -x rootfs`;
+foreach my $line (@df) {
+       next if $line =~ m/^Filesystem/;
+       if ($line =~ m/root/ ) {
+               $line =~ m/^.* (\d+)M.*$/;
+               @temp = split(/ +/,$line);
+               if ($1<5) {
+                       # available:plain value in MB, and not %used as 10% is too much to waste on small disk
+                       # and root size should not vary during time
+                       $warnmessage .= "<li> $Lang::tr{'filesystem full'}: $temp[0] <b>$Lang::tr{'free'}=$1M</b> !</li>\n";
+               }
+               
+       } else {
+               # $line =~ m/^.* (\d+)m.*$/;
+               $line =~ m/^.* (\d+)\%.*$/;
+               if ($1>90) {
+                       @temp = split(/ /,$line);
+                       $temp2=int(100-$1);
+                       $warnmessage .= "<li> $Lang::tr{'filesystem full'}: $temp[0] <b>$Lang::tr{'free'}=$temp2%</b> !</li>\n";
+               }
+       }
+}
+
+# Patches warning
+open(AV, "<${General::swroot}/patches/available") or die "Could not open available patches database ($!)";
+my @av = <AV>;
+close(AV);
+open(PF, "<${General::swroot}/patches/installed") or die "Could not open installed patches file. ($!)<br />";
+while(<PF>)
+{
+        next if $_ =~ m/^#/;
+        @temp = split(/\|/,$_);
+        @av = grep(!/^$temp[0]/, @av);
+}
+close(PF);
+
+if ($#av != -1) 
+{
+       $warnmessage .= "<li> $Lang::tr{'there are updates'}</li>";
+}
+my $age = &General::age("/${General::swroot}/patches/available");
+if ($age =~ m/(\d{1,3})d/) {
+       if ($1 >= 7) {
+               $warnmessage .= "<li>$Lang::tr{'updates is old1'} $age $Lang::tr{'updates is old2'}</li>\n";
+       }
+}
+
+if ($warnmessage) {
+       print "<ol>$warnmessage</ol>";
+}
+
+print "<p>";
+system('/usr/bin/uptime');
+print "</p>\n";
+
+&Header::closebox();
+
+# Test browser, and direct User where to turn off Javascript if necessary
+# only display message if Javascript is currently enabled
+if (${Header::javascript}) {
+print <<END
+<script type='text/javascript'>\n
+if(navigator.platform.indexOf("MacPPC")>(-1)){
+  document.write(
+    "<center><p>"
+    + "$Lang::tr{'javascript menu error1'}"
+    + " <a href='/cgi-bin/gui.cgi'>$Lang::tr{'gui settings'}</a> "
+    + "$Lang::tr{'javascript menu error2'}"
+    + "</p></center>"
+  )
+}
+</script>
+END
+;
+}
+
+&Header::closebigbox();
+
+&Header::closepage();
index 38e90b08e559bc2474b3645a963c3fde7213a273..258fff323ff0e9be34bce70e3daec568d669a0ea 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# (c) 2002 Josh Grubman <jg@false.net> - Multiple registry IP lookup code\r
-#\r
-# $Id: ipinfo.cgi,v 1.4.2.3 2005/02/22 22:21:56 gespinasse Exp $\r
-#\r
-\r
-use IO::Socket;\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-\r
-&Header::showhttpheaders();\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-$ENV{'QUERY_STRING'} =~s/&//g;\r
-my @addrs = split(/ip=/,$ENV{'QUERY_STRING'});\r
-\r
-my %whois_servers = ("RIPE"=>"whois.ripe.net","APNIC"=>"whois.apnic.net","LACNIC"=>"whois.lacnic.net");\r
-\r
-&Header::openpage($Lang::tr{'ip info'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left');\r
-my @lines=();\r
-my $extraquery='';\r
-foreach my $addr (@addrs) {\r
-next if $addr eq "";\r
-       $extraquery='';\r
-       @lines=();\r
-       my $whoisname = "whois.arin.net";\r
-       my $iaddr = inet_aton($addr);\r
-       my $hostname = gethostbyaddr($iaddr, AF_INET);\r
-       if (!$hostname) { $hostname = $Lang::tr{'lookup failed'}; }\r
-\r
-       my $sock = new IO::Socket::INET ( PeerAddr => $whoisname, PeerPort => 43, Proto => 'tcp');\r
-       if ($sock)\r
-       {\r
-               print $sock "$addr\n";\r
-               while (<$sock>) {\r
-                       $extraquery = $1 if (/NetType:    Allocated to (\S+)\s+/);\r
-                       push(@lines,$_);\r
-               }\r
-               close($sock);\r
-               if ($extraquery) {\r
-                       undef (@lines);\r
-                       $whoisname = $whois_servers{$extraquery};\r
-                       my $sock = new IO::Socket::INET ( PeerAddr => $whoisname, PeerPort => 43, Proto => 'tcp');\r
-                       if ($sock)\r
-                       {\r
-                               print $sock "$addr\n";\r
-                               while (<$sock>) {\r
-                                       push(@lines,$_);\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               @lines = ( "$Lang::tr{'unable to contact'} $whoisname" );\r
-                       }\r
-               }\r
-       }\r
-       else\r
-       {\r
-               @lines = ( "$Lang::tr{'unable to contact'} $whoisname" );\r
-       }\r
-\r
-       &Header::openbox('100%', 'left', $addr . ' (' . $hostname . ') : '.$whoisname);\r
-       print "<pre>\n";\r
-       foreach my $line (@lines) {\r
-               print &Header::cleanhtml($line,"y");\r
-       }\r
-       print "</pre>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print <<END\r
-<div align='center'>\r
-<table width='80%'>\r
-<tr>\r
-       <td align='center'><a href='$ENV{'HTTP_REFERER'}'>$Lang::tr{'back'}</a></td>\r
-</tr>\r
-</table>\r
-</div>\r
-END\r
-;\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# (c) 2002 Josh Grubman <jg@false.net> - Multiple registry IP lookup code
+#
+# $Id: ipinfo.cgi,v 1.4.2.3 2005/02/22 22:21:56 gespinasse Exp $
+#
+
+use IO::Socket;
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+
+&Header::showhttpheaders();
+
+&Header::getcgihash(\%cgiparams);
+
+$ENV{'QUERY_STRING'} =~s/&//g;
+my @addrs = split(/ip=/,$ENV{'QUERY_STRING'});
+
+my %whois_servers = ("RIPE"=>"whois.ripe.net","APNIC"=>"whois.apnic.net","LACNIC"=>"whois.lacnic.net");
+
+&Header::openpage($Lang::tr{'ip info'}, 1, '');
+
+&Header::openbigbox('100%', 'left');
+my @lines=();
+my $extraquery='';
+foreach my $addr (@addrs) {
+next if $addr eq "";
+       $extraquery='';
+       @lines=();
+       my $whoisname = "whois.arin.net";
+       my $iaddr = inet_aton($addr);
+       my $hostname = gethostbyaddr($iaddr, AF_INET);
+       if (!$hostname) { $hostname = $Lang::tr{'lookup failed'}; }
+
+       my $sock = new IO::Socket::INET ( PeerAddr => $whoisname, PeerPort => 43, Proto => 'tcp');
+       if ($sock)
+       {
+               print $sock "$addr\n";
+               while (<$sock>) {
+                       $extraquery = $1 if (/NetType:    Allocated to (\S+)\s+/);
+                       push(@lines,$_);
+               }
+               close($sock);
+               if ($extraquery) {
+                       undef (@lines);
+                       $whoisname = $whois_servers{$extraquery};
+                       my $sock = new IO::Socket::INET ( PeerAddr => $whoisname, PeerPort => 43, Proto => 'tcp');
+                       if ($sock)
+                       {
+                               print $sock "$addr\n";
+                               while (<$sock>) {
+                                       push(@lines,$_);
+                               }
+                       }
+                       else
+                       {
+                               @lines = ( "$Lang::tr{'unable to contact'} $whoisname" );
+                       }
+               }
+       }
+       else
+       {
+               @lines = ( "$Lang::tr{'unable to contact'} $whoisname" );
+       }
+
+       &Header::openbox('100%', 'left', $addr . ' (' . $hostname . ') : '.$whoisname);
+       print "<pre>\n";
+       foreach my $line (@lines) {
+               print &Header::cleanhtml($line,"y");
+       }
+       print "</pre>\n";
+       &Header::closebox();
+}
+
+print <<END
+<div align='center'>
+<table width='80%'>
+<tr>
+       <td align='center'><a href='$ENV{'HTTP_REFERER'}'>$Lang::tr{'back'}</a></td>
+</tr>
+</table>
+</div>
+END
+;
+
+&Header::closebigbox();
+
+&Header::closepage();
index 285466c8efdfe08656beda0396635a3bfd21c35e..bb75a69865b0e2af076df106b955ebd41df9d167 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: modem.cgi,v 1.4.2.7 2005/02/22 22:21:56 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %modemsettings=();\r
-my $errormessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$modemsettings{'ACTION'} = '';\r
-$modemsettings{'VALID'} = '';\r
-\r
-&Header::getcgihash(\%modemsettings);\r
-\r
-if ($modemsettings{'ACTION'} eq $Lang::tr{'save'})\r
-{ \r
-        if (!($modemsettings{'TIMEOUT'} =~ /^\d+$/))\r
-        {\r
-               $errormessage = $Lang::tr{'timeout must be a number'};\r
-               goto ERROR;\r
-        }\r
-ERROR:   \r
-        if ($errormessage) {\r
-                $modemsettings{'VALID'} = 'no'; }\r
-        else {\r
-                $modemsettings{'VALID'} = 'yes'; }\r
-\r
-       &General::writehash("${General::swroot}/modem/settings", \%modemsettings);\r
-}\r
-\r
-if ($modemsettings{'ACTION'} eq $Lang::tr{'restore defaults'})\r
-{\r
-       system('/bin/cp', "${General::swroot}/modem/defaults", "${General::swroot}/modem/settings", '-f');\r
-}\r
-\r
-&General::readhash("${General::swroot}/modem/settings", \%modemsettings);\r
-\r
-&Header::openpage($Lang::tr{'modem configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', "$Lang::tr{'modem configuration'}:");\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='25%' class='base'>$Lang::tr{'init string'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td width='25%'><input type='text' name='INIT' value='$modemsettings{'INIT'}' /></td>\r
-       <td width='25%' class='base'>$Lang::tr{'hangup string'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td width='25%'><input type='text' name='HANGUP' value='$modemsettings{'HANGUP'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'speaker on'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='SPEAKER_ON' value='$modemsettings{'SPEAKER_ON'}' /></td>\r
-       <td class='base'>$Lang::tr{'speaker off'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='SPEAKER_OFF' value='$modemsettings{'SPEAKER_OFF'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'tone dial'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='TONE_DIAL' value='$modemsettings{'TONE_DIAL'}' /></td>\r
-       <td class='base'>$Lang::tr{'pulse dial'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='PULSE_DIAL' value='$modemsettings{'PULSE_DIAL'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'connect timeout'}</td>\r
-       <td><input type='text' name='TIMEOUT' value='$modemsettings{'TIMEOUT'}' /></td>\r
-       <td class='base'>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-</tr>\r
-\r
-</table>\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-       <td width='33%'>\r
-               <img src='/blob.gif' align='top' alt='*' />&nbsp;\r
-               <font class='base'>$Lang::tr{'this field may be blank'}</font>\r
-       </td>\r
-       <td width='33%' align='center'>\r
-               <input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' />\r
-       </td>\r
-       <td width='33%' align='center'>\r
-               <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />\r
-       </td>\r
-</tr>\r
-</table>\r
-</div>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: modem.cgi,v 1.4.2.7 2005/02/22 22:21:56 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %modemsettings=();
+my $errormessage = '';
+
+&Header::showhttpheaders();
+
+$modemsettings{'ACTION'} = '';
+$modemsettings{'VALID'} = '';
+
+&Header::getcgihash(\%modemsettings);
+
+if ($modemsettings{'ACTION'} eq $Lang::tr{'save'})
+{ 
+        if (!($modemsettings{'TIMEOUT'} =~ /^\d+$/))
+        {
+               $errormessage = $Lang::tr{'timeout must be a number'};
+               goto ERROR;
+        }
+ERROR:   
+        if ($errormessage) {
+                $modemsettings{'VALID'} = 'no'; }
+        else {
+                $modemsettings{'VALID'} = 'yes'; }
+
+       &General::writehash("${General::swroot}/modem/settings", \%modemsettings);
+}
+
+if ($modemsettings{'ACTION'} eq $Lang::tr{'restore defaults'})
+{
+       system('/bin/cp', "${General::swroot}/modem/defaults", "${General::swroot}/modem/settings", '-f');
+}
+
+&General::readhash("${General::swroot}/modem/settings", \%modemsettings);
+
+&Header::openpage($Lang::tr{'modem configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', "$Lang::tr{'modem configuration'}:");
+print <<END
+<table width='100%'>
+<tr>
+       <td width='25%' class='base'>$Lang::tr{'init string'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='25%'><input type='text' name='INIT' value='$modemsettings{'INIT'}' /></td>
+       <td width='25%' class='base'>$Lang::tr{'hangup string'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='25%'><input type='text' name='HANGUP' value='$modemsettings{'HANGUP'}' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'speaker on'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='SPEAKER_ON' value='$modemsettings{'SPEAKER_ON'}' /></td>
+       <td class='base'>$Lang::tr{'speaker off'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='SPEAKER_OFF' value='$modemsettings{'SPEAKER_OFF'}' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'tone dial'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='TONE_DIAL' value='$modemsettings{'TONE_DIAL'}' /></td>
+       <td class='base'>$Lang::tr{'pulse dial'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='PULSE_DIAL' value='$modemsettings{'PULSE_DIAL'}' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'connect timeout'}</td>
+       <td><input type='text' name='TIMEOUT' value='$modemsettings{'TIMEOUT'}' /></td>
+       <td class='base'>&nbsp;</td>
+       <td>&nbsp;</td>
+</tr>
+
+</table>
+<table width='100%'>
+<hr />
+<tr>
+       <td width='33%'>
+               <img src='/blob.gif' align='top' alt='*' />&nbsp;
+               <font class='base'>$Lang::tr{'this field may be blank'}</font>
+       </td>
+       <td width='33%' align='center'>
+               <input type='submit' name='ACTION' value='$Lang::tr{'restore defaults'}' />
+       </td>
+       <td width='33%' align='center'>
+               <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+       </td>
+</tr>
+</table>
+</div>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
index 05989923cbb1d959c672177125b7fe10a8f605e6..577e2ccd9be644937b797808a474d54117d4579b 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: netstatus.cgi,v 1.9.2.20 2005/11/05 15:46:25 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %dhcpsettings=();\r
-my %netsettings=();\r
-my %dhcpinfo=();\r
-my %pppsettings=();\r
-my $output='';\r
-\r
-&General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-&Header::showhttpheaders();\r
-&Header::openpage($Lang::tr{'network status information'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left');\r
-\r
-print "<table width='100%' cellspacing='0' cellpadding='5'border='0'>\n";\r
-print "<tr><td style='background-color: #EAE9EE;' align='left'>\n";\r
-print "<a href='#interfaces'>$Lang::tr{'interfaces'}</a> |\n";\r
-if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {\r
-    print "<a href='#reddhcp'>RED  $Lang::tr{'dhcp configuration'}</a> |\n";\r
-}\r
-if ($dhcpsettings{'ENABLE_GREEN'} eq 'on' || $dhcpsettings{'ENABLE_BLUE'} eq 'on') {\r
-    print "<a href='#leases'>$Lang::tr{'current dynamic leases'}</a> |\n";\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(bewanadsl|alcatelusbk|conexantpciadsl|eagleusbadsl)$/) {\r
-    print "<a href='#adsl'>$Lang::tr{'adsl settings'}</a> |\n";\r
-}\r
-print "<a href='#routing'>$Lang::tr{'routing table entries'}</a> |\n";\r
-print "<a href='#arp'> $Lang::tr{'arp table entries'}</a>\n";\r
-print "</td></tr></table>\n";\r
-\r
-print "<a name='interfaces'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'interfaces'});\r
-$output = `/sbin/ifconfig -a`;\r
-$output = &Header::cleanhtml($output,"y");\r
-\r
-my @itfs = ('ORANGE','BLUE','GREEN');\r
-foreach my $itf (@itfs) {\r
-    my $ColorName='';\r
-    my $lc_itf=lc($itf);\r
-    my $dev = $netsettings{"${itf}_DEV"};\r
-    if ($dev){\r
-       $ColorName = "${lc_itf}"; #dereference variable name...\r
-       $output =~ s/$dev/<b><font color="$ColorName">$dev<\/font><\/b>/ ;\r
-    }\r
-}\r
-\r
-if (open(REDIFACE, "${General::swroot}/red/iface")) {\r
-    my $lc_itf='red';\r
-    my $reddev = <REDIFACE>;\r
-    close(REDIFACE);\r
-    chomp $reddev;\r
-    $output =~ s/$reddev/<b><font color='red'>${reddev}<\/font><\/b>/;\r
-}\r
-print "<pre>$output</pre>\n";\r
-&Header::closebox();\r
-\r
-\r
-if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {\r
-\r
-       print "<a name='reddhcp'/>\n";\r
-       &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");\r
-       if (-s "${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info") {\r
-\r
-               &General::readhash("${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info", \%dhcpinfo);\r
-\r
-               my $DNS1=`echo $dhcpinfo{'DNS'} | cut -f 1 -d ,`;\r
-               my $DNS2=`echo $dhcpinfo{'DNS'} | cut -f 2 -d ,`;\r
-\r
-               my $lsetme=0;\r
-               my $leasetime="";\r
-               if ($dhcpinfo{'LEASETIME'} ne "") {\r
-                       $lsetme=$dhcpinfo{'LEASETIME'};\r
-                       $lsetme=($lsetme/60);\r
-                       if ($lsetme > 59) {\r
-                               $lsetme=($lsetme/60); $leasetime=$lsetme." Hour";\r
-                       } else {\r
-                       $leasetime=$lsetme." Minute"; \r
-                       }\r
-                       if ($lsetme > 1) {\r
-                               $leasetime=$leasetime."s";\r
-                       }\r
-               }\r
-               my $rentme=0;\r
-               my $rnwltime="";\r
-               if ($dhcpinfo{'RENEWALTIME'} ne "") {\r
-                       $rentme=$dhcpinfo{'RENEWALTIME'};\r
-                       $rentme=($rentme/60);\r
-                       if ($rentme > 59){\r
-                               $rentme=($rentme/60); $rnwltime=$rentme." Hour";\r
-                       } else {\r
-                               $rnwltime=$rentme." Minute";\r
-                       }\r
-                       if ($rentme > 1){\r
-                               $rnwltime=$rnwltime."s";\r
-                       }\r
-               }\r
-               my $maxtme=0;\r
-               my $maxtime="";\r
-               if ($dhcpinfo{'REBINDTIME'} ne "") {\r
-                       $maxtme=$dhcpinfo{'REBINDTIME'};\r
-                       $maxtme=($maxtme/60);\r
-                       if ($maxtme > 59){\r
-                               $maxtme=($maxtme/60); $maxtime=$maxtme." Hour";\r
-                       } else {\r
-                               $maxtime=$maxtme." Minute";\r
-                       }\r
-                       if ($maxtme > 1) {\r
-                               $maxtime=$maxtime."s";\r
-                       }\r
-               }\r
-\r
-               print "<table width='100%'>";\r
-               if ($dhcpinfo{'HOSTNAME'}) {\r
-                       print "<tr><td width='30%'>$Lang::tr{'hostname'}</td><td>$dhcpinfo{'HOSTNAME'}.$dhcpinfo{'DOMAIN'}</td></tr>\n";\r
-               } else {\r
-                       print "<tr><td width='30%'>$Lang::tr{'domain'}</td><td>$dhcpinfo{'DOMAIN'}</td></tr>\n";\r
-               }\r
-               print <<END\r
-       <tr><td>$Lang::tr{'gateway'}</td><td>$dhcpinfo{'GATEWAY'}</td></tr>\r
-       <tr><td>$Lang::tr{'primary dns'}</td><td>$DNS1</td></tr>\r
-       <tr><td>$Lang::tr{'secondary dns'}</td><td>$DNS2</td></tr>\r
-       <tr><td>$Lang::tr{'dhcp server'}</td><td>$dhcpinfo{'DHCPSIADDR'}</td></tr>\r
-       <tr><td>$Lang::tr{'def lease time'}</td><td>$leasetime</td></tr>\r
-       <tr><td>$Lang::tr{'default renewal time'}</td><td>$rnwltime</td></tr>\r
-       <tr><td>$Lang::tr{'max renewal time'}</td><td>$maxtime</td></tr>\r
-    </table>\r
-END\r
-    ;\r
-       }\r
-       else\r
-       {\r
-               print "$Lang::tr{'no dhcp lease'}";\r
-       }\r
-       &Header::closebox();\r
-}\r
-\r
-if ($dhcpsettings{'ENABLE_GREEN'} eq 'on' || $dhcpsettings{'ENABLE_BLUE'} eq 'on') {\r
-\r
-       print "<a name='leases'/>";\r
-       &Header::CheckSortOrder;\r
-       &Header::PrintActualLeases;\r
-}\r
-\r
-if ( $netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/  && (exists($pppsettings{'TYPE'})) ) {\r
-\r
-my $output1='';\r
-my $output2='';\r
-if ($pppsettings{'TYPE'} eq 'bewanadsl') {\r
-       print "<a name='adsl'/>\n";\r
-       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});\r
-       $output1 = `/usr/bin/unicorn_status`;\r
-       $output1 = &Header::cleanhtml($output1,"y");\r
-       $output2 = `/bin/cat /proc/net/atm/UNICORN:*`;\r
-       $output2 = &Header::cleanhtml($output2,"y");\r
-       print "<pre>$output1$output2</pre>\n";\r
-       &Header::closebox();\r
-}\r
-if ($pppsettings{'TYPE'} eq 'alcatelusbk') {\r
-       print "<a name='adsl'/>\n";\r
-       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});\r
-       $output = `/bin/cat /proc/net/atm/speedtch:*`;\r
-       $output = &Header::cleanhtml($output,"y");\r
-       print "<pre>$output</pre>\n";\r
-       &Header::closebox();\r
-}\r
-if ($pppsettings{'TYPE'} eq 'conexantpciadsl') {\r
-       print "<a name='adsl'/>\n";\r
-       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});\r
-       $output = `/bin/cat /proc/net/atm/CnxAdsl:*`;\r
-       $output = &Header::cleanhtml($output,"y");\r
-       print "<pre>$output</pre>\n";\r
-       &Header::closebox();\r
-}\r
-if ($pppsettings{'TYPE'} eq 'eagleusbadsl') {\r
-       print "<a name='adsl'/>\n";\r
-       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});\r
-       $output = `/usr/sbin/eaglestat`;\r
-       $output = &Header::cleanhtml($output,"y");\r
-       print "<pre>$output</pre>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-}\r
-\r
-print "<a name='routing'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'routing table entries'});\r
-$output = `/sbin/route -n`;\r
-$output = &Header::cleanhtml($output,"y");\r
-print "<pre>$output</pre>\n";\r
-&Header::closebox();\r
-\r
-print "<a name='arp'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'arp table entries'});\r
-$output = `/sbin/arp -n`;\r
-$output = &Header::cleanhtml($output,"y");\r
-print "<pre>$output</pre>\n";\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: netstatus.cgi,v 1.9.2.20 2005/11/05 15:46:25 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %dhcpsettings=();
+my %netsettings=();
+my %dhcpinfo=();
+my %pppsettings=();
+my $output='';
+
+&General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'network status information'}, 1, '');
+
+&Header::openbigbox('100%', 'left');
+
+print "<table width='100%' cellspacing='0' cellpadding='5'border='0'>\n";
+print "<tr><td style='background-color: #EAE9EE;' align='left'>\n";
+print "<a href='#interfaces'>$Lang::tr{'interfaces'}</a> |\n";
+if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {
+    print "<a href='#reddhcp'>RED  $Lang::tr{'dhcp configuration'}</a> |\n";
+}
+if ($dhcpsettings{'ENABLE_GREEN'} eq 'on' || $dhcpsettings{'ENABLE_BLUE'} eq 'on') {
+    print "<a href='#leases'>$Lang::tr{'current dynamic leases'}</a> |\n";
+}
+if ($pppsettings{'TYPE'} =~ /^(bewanadsl|alcatelusbk|conexantpciadsl|eagleusbadsl)$/) {
+    print "<a href='#adsl'>$Lang::tr{'adsl settings'}</a> |\n";
+}
+print "<a href='#routing'>$Lang::tr{'routing table entries'}</a> |\n";
+print "<a href='#arp'> $Lang::tr{'arp table entries'}</a>\n";
+print "</td></tr></table>\n";
+
+print "<a name='interfaces'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'interfaces'});
+$output = `/sbin/ifconfig -a`;
+$output = &Header::cleanhtml($output,"y");
+
+my @itfs = ('ORANGE','BLUE','GREEN');
+foreach my $itf (@itfs) {
+    my $ColorName='';
+    my $lc_itf=lc($itf);
+    my $dev = $netsettings{"${itf}_DEV"};
+    if ($dev){
+       $ColorName = "${lc_itf}"; #dereference variable name...
+       $output =~ s/$dev/<b><font color="$ColorName">$dev<\/font><\/b>/ ;
+    }
+}
+
+if (open(REDIFACE, "${General::swroot}/red/iface")) {
+    my $lc_itf='red';
+    my $reddev = <REDIFACE>;
+    close(REDIFACE);
+    chomp $reddev;
+    $output =~ s/$reddev/<b><font color='red'>${reddev}<\/font><\/b>/;
+}
+print "<pre>$output</pre>\n";
+&Header::closebox();
+
+
+if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/  && $netsettings{'RED_TYPE'} eq "DHCP") {
+
+       print "<a name='reddhcp'/>\n";
+       &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");
+       if (-s "${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info") {
+
+               &General::readhash("${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info", \%dhcpinfo);
+
+               my $DNS1=`echo $dhcpinfo{'DNS'} | cut -f 1 -d ,`;
+               my $DNS2=`echo $dhcpinfo{'DNS'} | cut -f 2 -d ,`;
+
+               my $lsetme=0;
+               my $leasetime="";
+               if ($dhcpinfo{'LEASETIME'} ne "") {
+                       $lsetme=$dhcpinfo{'LEASETIME'};
+                       $lsetme=($lsetme/60);
+                       if ($lsetme > 59) {
+                               $lsetme=($lsetme/60); $leasetime=$lsetme." Hour";
+                       } else {
+                       $leasetime=$lsetme." Minute"; 
+                       }
+                       if ($lsetme > 1) {
+                               $leasetime=$leasetime."s";
+                       }
+               }
+               my $rentme=0;
+               my $rnwltime="";
+               if ($dhcpinfo{'RENEWALTIME'} ne "") {
+                       $rentme=$dhcpinfo{'RENEWALTIME'};
+                       $rentme=($rentme/60);
+                       if ($rentme > 59){
+                               $rentme=($rentme/60); $rnwltime=$rentme." Hour";
+                       } else {
+                               $rnwltime=$rentme." Minute";
+                       }
+                       if ($rentme > 1){
+                               $rnwltime=$rnwltime."s";
+                       }
+               }
+               my $maxtme=0;
+               my $maxtime="";
+               if ($dhcpinfo{'REBINDTIME'} ne "") {
+                       $maxtme=$dhcpinfo{'REBINDTIME'};
+                       $maxtme=($maxtme/60);
+                       if ($maxtme > 59){
+                               $maxtme=($maxtme/60); $maxtime=$maxtme." Hour";
+                       } else {
+                               $maxtime=$maxtme." Minute";
+                       }
+                       if ($maxtme > 1) {
+                               $maxtime=$maxtime."s";
+                       }
+               }
+
+               print "<table width='100%'>";
+               if ($dhcpinfo{'HOSTNAME'}) {
+                       print "<tr><td width='30%'>$Lang::tr{'hostname'}</td><td>$dhcpinfo{'HOSTNAME'}.$dhcpinfo{'DOMAIN'}</td></tr>\n";
+               } else {
+                       print "<tr><td width='30%'>$Lang::tr{'domain'}</td><td>$dhcpinfo{'DOMAIN'}</td></tr>\n";
+               }
+               print <<END
+       <tr><td>$Lang::tr{'gateway'}</td><td>$dhcpinfo{'GATEWAY'}</td></tr>
+       <tr><td>$Lang::tr{'primary dns'}</td><td>$DNS1</td></tr>
+       <tr><td>$Lang::tr{'secondary dns'}</td><td>$DNS2</td></tr>
+       <tr><td>$Lang::tr{'dhcp server'}</td><td>$dhcpinfo{'DHCPSIADDR'}</td></tr>
+       <tr><td>$Lang::tr{'def lease time'}</td><td>$leasetime</td></tr>
+       <tr><td>$Lang::tr{'default renewal time'}</td><td>$rnwltime</td></tr>
+       <tr><td>$Lang::tr{'max renewal time'}</td><td>$maxtime</td></tr>
+    </table>
+END
+    ;
+       }
+       else
+       {
+               print "$Lang::tr{'no dhcp lease'}";
+       }
+       &Header::closebox();
+}
+
+if ($dhcpsettings{'ENABLE_GREEN'} eq 'on' || $dhcpsettings{'ENABLE_BLUE'} eq 'on') {
+
+       print "<a name='leases'/>";
+       &Header::CheckSortOrder;
+       &Header::PrintActualLeases;
+}
+
+if ( $netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/  && (exists($pppsettings{'TYPE'})) ) {
+
+my $output1='';
+my $output2='';
+if ($pppsettings{'TYPE'} eq 'bewanadsl') {
+       print "<a name='adsl'/>\n";
+       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});
+       $output1 = `/usr/bin/unicorn_status`;
+       $output1 = &Header::cleanhtml($output1,"y");
+       $output2 = `/bin/cat /proc/net/atm/UNICORN:*`;
+       $output2 = &Header::cleanhtml($output2,"y");
+       print "<pre>$output1$output2</pre>\n";
+       &Header::closebox();
+}
+if ($pppsettings{'TYPE'} eq 'alcatelusbk') {
+       print "<a name='adsl'/>\n";
+       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});
+       $output = `/bin/cat /proc/net/atm/speedtch:*`;
+       $output = &Header::cleanhtml($output,"y");
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+}
+if ($pppsettings{'TYPE'} eq 'conexantpciadsl') {
+       print "<a name='adsl'/>\n";
+       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});
+       $output = `/bin/cat /proc/net/atm/CnxAdsl:*`;
+       $output = &Header::cleanhtml($output,"y");
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+}
+if ($pppsettings{'TYPE'} eq 'eagleusbadsl') {
+       print "<a name='adsl'/>\n";
+       &Header::openbox('100%', 'left', $Lang::tr{'adsl settings'});
+       $output = `/usr/sbin/eaglestat`;
+       $output = &Header::cleanhtml($output,"y");
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+}
+
+}
+
+print "<a name='routing'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'routing table entries'});
+$output = `/sbin/route -n`;
+$output = &Header::cleanhtml($output,"y");
+print "<pre>$output</pre>\n";
+&Header::closebox();
+
+print "<a name='arp'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'arp table entries'});
+$output = `/sbin/arp -n`;
+$output = &Header::cleanhtml($output,"y");
+print "<pre>$output</pre>\n";
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
index c5c9d6b17c50c9e7814a2532160e7449938f6e43..54b3f22e6d0f208dcfb006c96e5fe052c0a6f689 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# This file is part of the IPCop Firewall.\r
-#\r
-# IPCop is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# IPCop is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-#\r
-# You should have received a copy of the GNU General Public License\r
-# along with IPCop; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-#\r
-# Copyright (C) 2003-09-22 Darren Critchley <darrenc@telus.net>\r
-#\r
-# $Id: networks.cgi,v 1.2.2.3 2005/04/29 23:37:06 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %netsettings=();\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-my @networks=();\r
-my $filename = "${General::swroot}/firewall/customnetworks";\r
-&setup_default_networks();\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}){\r
-\r
-       &validateparams();\r
-       unless($errormessage){\r
-               $key++; # Add one to last sequence number\r
-               open(FILE,">>$filename") or die 'Unable to open custom networks file.';\r
-               flock FILE, 2;\r
-               print FILE "$key,$cgiparams{'NAME'},$cgiparams{'IPADDRESS'},$cgiparams{'NETMASK'}\n";\r
-               close(FILE);\r
-               &General::log("$Lang::tr{'network added'}: $cgiparams{'NAME'}");\r
-               undef %cgiparams;\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})\r
-{\r
-       &validateparams();\r
-       # Darren Critchley - If there is an error don't waste any more processing time\r
-       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }\r
-\r
-       unless($errormessage){\r
-               open(FILE, $filename) or die 'Unable to open custom networks file.';\r
-               my @current = <FILE>;\r
-               close(FILE);\r
-               open(FILE, ">$filename") or die 'Unable to open config file.';\r
-               flock FILE, 2;\r
-               foreach my $line (@current) {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               print FILE "$cgiparams{'KEY'},$cgiparams{'NAME'},$cgiparams{'IPADDRESS'},$cgiparams{'NETMASK'}\n";\r
-                       } else {\r
-                               print FILE "$line\n";\r
-                       }\r
-               }\r
-               close(FILE);\r
-               &General::log("$Lang::tr{'network updated'}: $cgiparams{'NAME'}");\r
-               undef %cgiparams;\r
-       }\r
-UPD_ERROR:\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       open(FILE, "$filename") or die 'Unable to open custom networks file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       unless ($errormessage)\r
-       {\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               $cgiparams{'NAME'} = $temp[1];\r
-                               $cgiparams{'IPADDRESS'} = $temp[2];\r
-                               $cgiparams{'NETMASK'} = $temp[3];\r
-                       }\r
-                       \r
-               }\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})\r
-{\r
-       open(FILE, $filename) or die 'Unable to open custom networks file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       open(FILE, ">$filename") or die 'Unable to open custom networks file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               chomp($line);\r
-               if ($line ne '') {              \r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               &General::log("$Lang::tr{'network removed'}: $temp[1]");\r
-                       } else {\r
-                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3]\n";\r
-                       }\r
-               }\r
-       }\r
-       close(FILE);\r
-       undef %cgiparams;\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})\r
-{\r
-       undef %cgiparams;\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq '')\r
-{\r
-       $cgiparams{'KEY'} = '';\r
-       $cgiparams{'IPADDRESS'} = '';\r
-       $cgiparams{'NETMASK'} = '';\r
-    $cgiparams{'NAME'} = '';\r
-}\r
-\r
-&Header::showhttpheaders();\r
-\r
-&Header::openpage($Lang::tr{'networks settings'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-\r
-# DEBUG DEBUG\r
-#&Header::openbox('100%', 'LEFT', 'DEBUG');\r
-#foreach $line (keys %cgiparams) {\r
-#      print "<CLASS NAME='base'>$line = $cgiparams{$line}<BR>";\r
-#}\r
-#print "$ENV{'QUERY_STRING'}\n";\r
-#print "&nbsp;</CLASS>\n";\r
-#&Header::closebox();\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-       print "<CLASS NAME='base'><FONT COLOR='${Header::colourred}'>$errormessage\n</FONT>";\r
-       print "&nbsp;</CLASS>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'edit network'}:");\r
-} else {\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'add network'}:");\r
-}\r
-print <<END\r
-<FORM METHOD='POST'>\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%'>\r
-<TR align="center">\r
-       <TD><strong>$Lang::tr{'name'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'ip address'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'netmask'}</strong></TD>\r
-       <TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD>\r
-</TR>\r
-<TR align="center">\r
-       <TD>\r
-               <INPUT TYPE='TEXT' NAME='NAME' VALUE='$cgiparams{'NAME'}' SIZE='20' MAXLENGTH='20'>\r
-       </TD>\r
-       <TD>\r
-               <INPUT TYPE='TEXT' NAME='IPADDRESS' VALUE='$cgiparams{'IPADDRESS'}' SIZE='15' MAXLENGTH='15'>\r
-       </TD>\r
-       <TD>\r
-               <INPUT TYPE='TEXT' NAME='NETMASK' VALUE='$cgiparams{'NETMASK'}' SIZE='15' MAXLENGTH='15'>\r
-       </TD>\r
-END\r
-;\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-#   Darren Critchley - put in next release - author has authorized GPL inclusion\r
-#      print "<TD ALIGN='CENTER'><a href='ipcalc.cgi' target='_blank'>IP Calculator</a></TD>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'update'}'></TD>\n";\r
-       print "<INPUT TYPE='HIDDEN' NAME='KEY' VALUE='$cgiparams{'KEY'}'>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";\r
-} else {\r
-#   Darren Critchley - put in next release - author has authorized GPL inclusion\r
-#      print "<TD ALIGN='CENTER'><a href='ipcalc.cgi' target='_blank'>IP Calculator</a></TD>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'add'}'></TD>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";\r
-}\r
-print <<END   \r
-</TR>\r
-</TABLE>\r
-</DIV>\r
-</FORM>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'LEFT', "$Lang::tr{'custom networks'}:");\r
-print <<END\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%' ALIGN='CENTER'>\r
-<TR align="center">\r
-       <TD><strong>$Lang::tr{'name'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'ip address'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'netmask'}</strong></TD>\r
-</TR>\r
-END\r
-;\r
-&display_custom_networks();\r
-print <<END\r
-</TABLE>\r
-</DIV>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'LEFT', "$Lang::tr{'default networks'}:");\r
-print <<END\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%' ALIGN='CENTER'>\r
-<TR align="center">\r
-       <TD><strong>$Lang::tr{'name'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'ip address'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'netmask'}</strong></TD>\r
-</TR>\r
-END\r
-;\r
-&display_default_networks();\r
-print <<END\r
-</TABLE>\r
-</DIV>\r
-END\r
-;\r
-&Header::closebox();\r
\r
-    print "$Lang::tr{'this feature has been sponsored by'} : ";\r
-    print "<A HREF='http://www.kdi.ca/' TARGET='_blank'>Kobelt Development Inc.</A>.\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub display_custom_networks\r
-{\r
-       open(FILE, "$filename") or die 'Unable to open networks file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       my $id = 0;\r
-       foreach $line (@current)\r
-       {\r
-               chomp($line);\r
-               if ($line ne ''){\r
-                       my @temp = split(/\,/,$line);\r
-                       # Darren Critchley highlight the row we are editing\r
-                       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY'} eq $temp[0] ) { \r
-                               print "<TR BGCOLOR='${Header::colouryellow}'>\n";\r
-                       } else {\r
-                               if ($id % 2) {\r
-                                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; \r
-                               } else {\r
-                       print "<TR BGCOLOR='${Header::table2colour}'>\n";\r
-                               }\r
-                       }\r
-                       print "<TD>$temp[1]</TD>\n";\r
-                       print "<TD ALIGN='CENTER'>$temp[2]</TD>\n";\r
-                       print "<TD ALIGN='CENTER'>$temp[3]</TD>\n";\r
-                       print <<END\r
-<FORM METHOD='POST' NAME='frm$temp[0]'>\r
-<TD ALIGN='CENTER'>\r
-       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'edit'}'>\r
-       <INPUT TYPE='image' NAME='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'>\r
-       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>\r
-</TD>\r
-</FORM>\r
-<FORM METHOD='POST' NAME='frm$temp[0]b'>\r
-<TD ALIGN='CENTER'>\r
-       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'remove'}'>\r
-       <INPUT TYPE='image' NAME='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0'>\r
-       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>\r
-</TD>\r
-</FORM>\r
-END\r
-;\r
-                       print "</TR>\n";\r
-                       $id++;\r
-               }\r
-       }\r
-}\r
-\r
-sub display_default_networks\r
-{\r
-       foreach $line (sort @networks)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-               if ($id % 2) {\r
-                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; \r
-               } else {\r
-               print "<TR BGCOLOR='${Header::table2colour}'>\n";\r
-               }\r
-               print "<TD>$temp[0]</TD>\n";\r
-               print "<TD ALIGN='CENTER'>$temp[1]</TD>\n";\r
-               print "<TD ALIGN='CENTER'>$temp[2]</TD>\n";\r
-               print "</TR>\n";\r
-               $id++;\r
-       }\r
-}\r
-\r
-sub setup_default_networks\r
-{\r
-       # Get current defined networks (Red, Green, Blue, Orange)\r
-       my $line = "Any,0.0.0.0,0.0.0.0";\r
-       push (@networks, $line);\r
-       $line = "localhost,127.0.0.1,255.255.255.255";\r
-       push (@networks, $line);\r
-       $line = "localnet,127.0.0.0,255.0.0.0";\r
-       push (@networks, $line);\r
-       $line = "Private Network 10.0.0.0,10.0.0.0,255.0.0.0";\r
-       push (@networks, $line);\r
-       $line = "Private Network 172.16.0.0,172.16.0.0,255.240.0.0";\r
-       push (@networks, $line);\r
-       $line = "Private Network 192.168.0.0,192.168.0.0,255.255.0.0";\r
-       push (@networks, $line);\r
-       \r
-       my $red_address=`cat ${General::swroot}/red/local-ipaddress`;\r
-       $line = "Red Address,$red_address,";\r
-       push (@networks, $line);\r
-       \r
-       $line = "Green Address,$netsettings{'GREEN_ADDRESS'},255.255.255.255";\r
-       push (@networks, $line);\r
-       $line = "Green Network,$netsettings{'GREEN_NETADDRESS'},$netsettings{'GREEN_NETMASK'}";\r
-       push (@networks, $line);\r
-       \r
-       if ($netsettings{'ORANGE_DEV'}ne ''){\r
-               $line = "Orange Address,$netsettings{'ORANGE_ADDRESS'},255.255.255.255";\r
-               push (@networks, $line);\r
-               $line = "Orange Network,$netsettings{'ORANGE_NETADDRESS'},$netsettings{'ORANGE_NETMASK'}";\r
-               push (@networks, $line);\r
-       }       \r
-       \r
-       if ($netsettings{'BLUE_DEV'}ne ''){\r
-               $line = "Blue Address,$netsettings{'BLUE_ADDRESS'},255.255.255.255";\r
-               push (@networks, $line);\r
-               $line = "Blue Network,$netsettings{'BLUE_NETADDRESS'},$netsettings{'BLUE_NETMASK'}";\r
-               push (@networks, $line);\r
-       }       \r
-       open(FILE, "${General::swroot}/ethernet/aliases") or die 'Unable to open aliases file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       my $ctr = 0;\r
-       foreach my $lne (@current)\r
-       {\r
-               if ($lne ne ''){\r
-                       chomp($lne);    \r
-                       my @temp = split(/\,/,$lne);\r
-                       if ($temp[2] eq '') {\r
-                               $temp[2] = "Alias $ctr : $temp[0]";\r
-                       }\r
-                       $line = "$temp[2],$temp[0],";\r
-                       push (@networks, $line);\r
-                       $ctr++;\r
-               }\r
-       }\r
-}\r
-\r
-# Validate Field Entries\r
-sub validateparams \r
-{\r
-       if ($cgiparams{'NAME'} eq '') {\r
-               $errormessage = $Lang::tr{'nonetworkname'};\r
-               return;\r
-       }\r
-       $cgiparams{'NAME'}=&Header::cleanhtml($cgiparams{'NAME'});\r
-       unless(&General::validip($cgiparams{'IPADDRESS'})){$errormessage = $Lang::tr{'invalid ip'}; }\r
-       unless($errormessage){\r
-               my @tmp = split(/\./,$cgiparams{'IPADDRESS'});\r
-               if ($cgiparams{'NETMASK'} eq '' && $tmp[3] ne '255' && $tmp[3] ne '0'){\r
-                       $cgiparams{'NETMASK'} = "255.255.255.255";\r
-               }\r
-       }\r
-       unless(&General::validmask($cgiparams{'NETMASK'})){$errormessage = $Lang::tr{'subnet is invalid'}; }\r
-       \r
-       open(FILE, $filename) or die 'Unable to open custom network file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       foreach my $line (@current)\r
-       {\r
-               chomp($line);\r
-               if ($line ne '') {\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'NAME'} eq $temp[1] && $cgiparams{'KEY'} ne $temp[0]) {\r
-                               $errormessage=$Lang::tr{'duplicate name'};\r
-                               return;\r
-                       }\r
-                       $key=$temp[0];\r
-               }\r
-       }\r
-       foreach $line (@networks)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'NAME'} eq $temp[0]) {\r
-                               $errormessage=$Lang::tr{'duplicate name'};\r
-                               return;\r
-                       }\r
-       }\r
-}\r
+#!/usr/bin/perl
+#
+# This file is part of the IPCop Firewall.
+#
+# IPCop is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# IPCop is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IPCop; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Copyright (C) 2003-09-22 Darren Critchley <darrenc@telus.net>
+#
+# $Id: networks.cgi,v 1.2.2.3 2005/04/29 23:37:06 franck78 Exp $
+#
+
+use strict;
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %netsettings=();
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+my @networks=();
+my $filename = "${General::swroot}/firewall/customnetworks";
+&setup_default_networks();
+
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}){
+
+       &validateparams();
+       unless($errormessage){
+               $key++; # Add one to last sequence number
+               open(FILE,">>$filename") or die 'Unable to open custom networks file.';
+               flock FILE, 2;
+               print FILE "$key,$cgiparams{'NAME'},$cgiparams{'IPADDRESS'},$cgiparams{'NETMASK'}\n";
+               close(FILE);
+               &General::log("$Lang::tr{'network added'}: $cgiparams{'NAME'}");
+               undef %cgiparams;
+       }
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})
+{
+       &validateparams();
+       # Darren Critchley - If there is an error don't waste any more processing time
+       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }
+
+       unless($errormessage){
+               open(FILE, $filename) or die 'Unable to open custom networks file.';
+               my @current = <FILE>;
+               close(FILE);
+               open(FILE, ">$filename") or die 'Unable to open config file.';
+               flock FILE, 2;
+               foreach my $line (@current) {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               print FILE "$cgiparams{'KEY'},$cgiparams{'NAME'},$cgiparams{'IPADDRESS'},$cgiparams{'NETMASK'}\n";
+                       } else {
+                               print FILE "$line\n";
+                       }
+               }
+               close(FILE);
+               &General::log("$Lang::tr{'network updated'}: $cgiparams{'NAME'}");
+               undef %cgiparams;
+       }
+UPD_ERROR:
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})
+{
+       open(FILE, "$filename") or die 'Unable to open custom networks file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       unless ($errormessage)
+       {
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               $cgiparams{'NAME'} = $temp[1];
+                               $cgiparams{'IPADDRESS'} = $temp[2];
+                               $cgiparams{'NETMASK'} = $temp[3];
+                       }
+                       
+               }
+       }
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
+{
+       open(FILE, $filename) or die 'Unable to open custom networks file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       open(FILE, ">$filename") or die 'Unable to open custom networks file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               chomp($line);
+               if ($line ne '') {              
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               &General::log("$Lang::tr{'network removed'}: $temp[1]");
+                       } else {
+                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3]\n";
+                       }
+               }
+       }
+       close(FILE);
+       undef %cgiparams;
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})
+{
+       undef %cgiparams;
+}
+
+if ($cgiparams{'ACTION'} eq '')
+{
+       $cgiparams{'KEY'} = '';
+       $cgiparams{'IPADDRESS'} = '';
+       $cgiparams{'NETMASK'} = '';
+    $cgiparams{'NAME'} = '';
+}
+
+&Header::showhttpheaders();
+
+&Header::openpage($Lang::tr{'networks settings'}, 1, '');
+
+&Header::openbigbox('100%', 'LEFT', '', $errormessage);
+
+# DEBUG DEBUG
+#&Header::openbox('100%', 'LEFT', 'DEBUG');
+#foreach $line (keys %cgiparams) {
+#      print "<CLASS NAME='base'>$line = $cgiparams{$line}<BR>";
+#}
+#print "$ENV{'QUERY_STRING'}\n";
+#print "&nbsp;</CLASS>\n";
+#&Header::closebox();
+
+if ($errormessage) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+       print "<CLASS NAME='base'><FONT COLOR='${Header::colourred}'>$errormessage\n</FONT>";
+       print "&nbsp;</CLASS>\n";
+       &Header::closebox();
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'edit network'}:");
+} else {
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'add network'}:");
+}
+print <<END
+<FORM METHOD='POST'>
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%'>
+<TR align="center">
+       <TD><strong>$Lang::tr{'name'}</strong></TD>
+       <TD><strong>$Lang::tr{'ip address'}</strong></TD>
+       <TD><strong>$Lang::tr{'netmask'}</strong></TD>
+       <TD>&nbsp;</TD>
+       <TD>&nbsp;</TD>
+       <TD>&nbsp;</TD>
+</TR>
+<TR align="center">
+       <TD>
+               <INPUT TYPE='TEXT' NAME='NAME' VALUE='$cgiparams{'NAME'}' SIZE='20' MAXLENGTH='20'>
+       </TD>
+       <TD>
+               <INPUT TYPE='TEXT' NAME='IPADDRESS' VALUE='$cgiparams{'IPADDRESS'}' SIZE='15' MAXLENGTH='15'>
+       </TD>
+       <TD>
+               <INPUT TYPE='TEXT' NAME='NETMASK' VALUE='$cgiparams{'NETMASK'}' SIZE='15' MAXLENGTH='15'>
+       </TD>
+END
+;
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+#   Darren Critchley - put in next release - author has authorized GPL inclusion
+#      print "<TD ALIGN='CENTER'><a href='ipcalc.cgi' target='_blank'>IP Calculator</a></TD>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'update'}'></TD>\n";
+       print "<INPUT TYPE='HIDDEN' NAME='KEY' VALUE='$cgiparams{'KEY'}'>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";
+} else {
+#   Darren Critchley - put in next release - author has authorized GPL inclusion
+#      print "<TD ALIGN='CENTER'><a href='ipcalc.cgi' target='_blank'>IP Calculator</a></TD>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'add'}'></TD>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";
+}
+print <<END   
+</TR>
+</TABLE>
+</DIV>
+</FORM>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%', 'LEFT', "$Lang::tr{'custom networks'}:");
+print <<END
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%' ALIGN='CENTER'>
+<TR align="center">
+       <TD><strong>$Lang::tr{'name'}</strong></TD>
+       <TD><strong>$Lang::tr{'ip address'}</strong></TD>
+       <TD><strong>$Lang::tr{'netmask'}</strong></TD>
+</TR>
+END
+;
+&display_custom_networks();
+print <<END
+</TABLE>
+</DIV>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%', 'LEFT', "$Lang::tr{'default networks'}:");
+print <<END
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%' ALIGN='CENTER'>
+<TR align="center">
+       <TD><strong>$Lang::tr{'name'}</strong></TD>
+       <TD><strong>$Lang::tr{'ip address'}</strong></TD>
+       <TD><strong>$Lang::tr{'netmask'}</strong></TD>
+</TR>
+END
+;
+&display_default_networks();
+print <<END
+</TABLE>
+</DIV>
+END
+;
+&Header::closebox();
+    print "$Lang::tr{'this feature has been sponsored by'} : ";
+    print "<A HREF='http://www.kdi.ca/' TARGET='_blank'>Kobelt Development Inc.</A>.\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub display_custom_networks
+{
+       open(FILE, "$filename") or die 'Unable to open networks file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       my $id = 0;
+       foreach $line (@current)
+       {
+               chomp($line);
+               if ($line ne ''){
+                       my @temp = split(/\,/,$line);
+                       # Darren Critchley highlight the row we are editing
+                       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY'} eq $temp[0] ) { 
+                               print "<TR BGCOLOR='${Header::colouryellow}'>\n";
+                       } else {
+                               if ($id % 2) {
+                                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; 
+                               } else {
+                       print "<TR BGCOLOR='${Header::table2colour}'>\n";
+                               }
+                       }
+                       print "<TD>$temp[1]</TD>\n";
+                       print "<TD ALIGN='CENTER'>$temp[2]</TD>\n";
+                       print "<TD ALIGN='CENTER'>$temp[3]</TD>\n";
+                       print <<END
+<FORM METHOD='POST' NAME='frm$temp[0]'>
+<TD ALIGN='CENTER'>
+       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'edit'}'>
+       <INPUT TYPE='image' NAME='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'>
+       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>
+</TD>
+</FORM>
+<FORM METHOD='POST' NAME='frm$temp[0]b'>
+<TD ALIGN='CENTER'>
+       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'remove'}'>
+       <INPUT TYPE='image' NAME='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0'>
+       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>
+</TD>
+</FORM>
+END
+;
+                       print "</TR>\n";
+                       $id++;
+               }
+       }
+}
+
+sub display_default_networks
+{
+       foreach $line (sort @networks)
+       {
+               my @temp = split(/\,/,$line);
+               if ($id % 2) {
+                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; 
+               } else {
+               print "<TR BGCOLOR='${Header::table2colour}'>\n";
+               }
+               print "<TD>$temp[0]</TD>\n";
+               print "<TD ALIGN='CENTER'>$temp[1]</TD>\n";
+               print "<TD ALIGN='CENTER'>$temp[2]</TD>\n";
+               print "</TR>\n";
+               $id++;
+       }
+}
+
+sub setup_default_networks
+{
+       # Get current defined networks (Red, Green, Blue, Orange)
+       my $line = "Any,0.0.0.0,0.0.0.0";
+       push (@networks, $line);
+       $line = "localhost,127.0.0.1,255.255.255.255";
+       push (@networks, $line);
+       $line = "localnet,127.0.0.0,255.0.0.0";
+       push (@networks, $line);
+       $line = "Private Network 10.0.0.0,10.0.0.0,255.0.0.0";
+       push (@networks, $line);
+       $line = "Private Network 172.16.0.0,172.16.0.0,255.240.0.0";
+       push (@networks, $line);
+       $line = "Private Network 192.168.0.0,192.168.0.0,255.255.0.0";
+       push (@networks, $line);
+       
+       my $red_address=`cat ${General::swroot}/red/local-ipaddress`;
+       $line = "Red Address,$red_address,";
+       push (@networks, $line);
+       
+       $line = "Green Address,$netsettings{'GREEN_ADDRESS'},255.255.255.255";
+       push (@networks, $line);
+       $line = "Green Network,$netsettings{'GREEN_NETADDRESS'},$netsettings{'GREEN_NETMASK'}";
+       push (@networks, $line);
+       
+       if ($netsettings{'ORANGE_DEV'}ne ''){
+               $line = "Orange Address,$netsettings{'ORANGE_ADDRESS'},255.255.255.255";
+               push (@networks, $line);
+               $line = "Orange Network,$netsettings{'ORANGE_NETADDRESS'},$netsettings{'ORANGE_NETMASK'}";
+               push (@networks, $line);
+       }       
+       
+       if ($netsettings{'BLUE_DEV'}ne ''){
+               $line = "Blue Address,$netsettings{'BLUE_ADDRESS'},255.255.255.255";
+               push (@networks, $line);
+               $line = "Blue Network,$netsettings{'BLUE_NETADDRESS'},$netsettings{'BLUE_NETMASK'}";
+               push (@networks, $line);
+       }       
+       open(FILE, "${General::swroot}/ethernet/aliases") or die 'Unable to open aliases file.';
+       my @current = <FILE>;
+       close(FILE);
+       my $ctr = 0;
+       foreach my $lne (@current)
+       {
+               if ($lne ne ''){
+                       chomp($lne);    
+                       my @temp = split(/\,/,$lne);
+                       if ($temp[2] eq '') {
+                               $temp[2] = "Alias $ctr : $temp[0]";
+                       }
+                       $line = "$temp[2],$temp[0],";
+                       push (@networks, $line);
+                       $ctr++;
+               }
+       }
+}
+
+# Validate Field Entries
+sub validateparams 
+{
+       if ($cgiparams{'NAME'} eq '') {
+               $errormessage = $Lang::tr{'nonetworkname'};
+               return;
+       }
+       $cgiparams{'NAME'}=&Header::cleanhtml($cgiparams{'NAME'});
+       unless(&General::validip($cgiparams{'IPADDRESS'})){$errormessage = $Lang::tr{'invalid ip'}; }
+       unless($errormessage){
+               my @tmp = split(/\./,$cgiparams{'IPADDRESS'});
+               if ($cgiparams{'NETMASK'} eq '' && $tmp[3] ne '255' && $tmp[3] ne '0'){
+                       $cgiparams{'NETMASK'} = "255.255.255.255";
+               }
+       }
+       unless(&General::validmask($cgiparams{'NETMASK'})){$errormessage = $Lang::tr{'subnet is invalid'}; }
+       
+       open(FILE, $filename) or die 'Unable to open custom network file.';
+       my @current = <FILE>;
+       close(FILE);
+       foreach my $line (@current)
+       {
+               chomp($line);
+               if ($line ne '') {
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'NAME'} eq $temp[1] && $cgiparams{'KEY'} ne $temp[0]) {
+                               $errormessage=$Lang::tr{'duplicate name'};
+                               return;
+                       }
+                       $key=$temp[0];
+               }
+       }
+       foreach $line (@networks)
+       {
+               my @temp = split(/\,/,$line);
+                       if ($cgiparams{'NAME'} eq $temp[0]) {
+                               $errormessage=$Lang::tr{'duplicate name'};
+                               return;
+                       }
+       }
+}
index 8782bdca76058878ed01a9d21070cada51a953b7..775f51ffef0c4292fef33e1614539a66fd3a8cb4 100644 (file)
@@ -1,98 +1,98 @@
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# Copyright (C) 01-02-2002 Graham Smith <grhm@grhm.co.uk>\r
-#\r
-# $Id: optionsfw.cgi,v 1.1.2.10 2005/10/03 00:34:10 gespinasse Exp $\r
-#\r
-#\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-\r
-my %checked =();     # Checkbox manipulations\r
-\r
-# File used\r
-my $filename = "${General::swroot}/optionsfw/settings";\r
-\r
-our %settings=();\r
-#Settings1\r
-$settings{'DISABLEPING'} = 'NO';\r
-$settings{'ACTION'} = '';              # add/edit/remove\r
-\r
-my $errormessage = '';\r
-my $warnmessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-#Get GUI values\r
-&Header::getcgihash(\%settings);\r
-\r
-if ($settings{'ACTION'} eq $Lang::tr{'save'}) {\r
-       if ($settings{'DISABLEPING'} !~ /^(NO|ONLYRED|ALL)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-       unless ($errormessage) {                                        # Everything is ok, save settings\r
-               &General::writehash($filename, \%settings);             # Save good settings\r
-               $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'\r
-               system('/usr/local/bin/setfilters');\r
-       }\r
-\r
-       ERROR:                                                          # Leave the faulty field untouched\r
-} else {\r
-       &General::readhash($filename, \%settings);                      # Get saved settings and reset to good if needed\r
-}\r
-$checked{'DISABLEPING'}{'NO'} = '';\r
-$checked{'DISABLEPING'}{'ONLYRED'} = '';\r
-$checked{'DISABLEPING'}{'ALL'} = '';\r
-$checked{'DISABLEPING'}{$settings{'DISABLEPING'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'options fw'}, 1, '');\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>";\r
-       &Header::closebox();\r
-}\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'options fw'});\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";\r
-\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td class='base' width='100%' colspan='3'><b>$Lang::tr{'ping disabled'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'><input type='radio' name='DISABLEPING' value='NO' $checked{'DISABLEPING'}{'NO'} />$Lang::tr{'no'}</td>\r
-       <td>&nbsp;</td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='DISABLEPING' value='ONLYRED' $checked{'DISABLEPING'}{'ONLYRED'} />$Lang::tr{'only red'}</td>\r
-       <td width='80%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='DISABLEPING' value='ALL' $checked{'DISABLEPING'}{'ALL'} />$Lang::tr{'all interfaces'}</td>\r
-       <td class='base' width='10%' align='right'><!-- Space for future online help link --></td>\r
-</tr>\r
-</table>\r
-</form>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# Copyright (C) 01-02-2002 Graham Smith <grhm@grhm.co.uk>
+#
+# $Id: optionsfw.cgi,v 1.1.2.10 2005/10/03 00:34:10 gespinasse Exp $
+#
+#
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+
+my %checked =();     # Checkbox manipulations
+
+# File used
+my $filename = "${General::swroot}/optionsfw/settings";
+
+our %settings=();
+#Settings1
+$settings{'DISABLEPING'} = 'NO';
+$settings{'ACTION'} = '';              # add/edit/remove
+
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+#Get GUI values
+&Header::getcgihash(\%settings);
+
+if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
+       if ($settings{'DISABLEPING'} !~ /^(NO|ONLYRED|ALL)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+       unless ($errormessage) {                                        # Everything is ok, save settings
+               &General::writehash($filename, \%settings);             # Save good settings
+               $settings{'ACTION'} = $Lang::tr{'save'};                # Recreate  'ACTION'
+               system('/usr/local/bin/setfilters');
+       }
+
+       ERROR:                                                          # Leave the faulty field untouched
+} else {
+       &General::readhash($filename, \%settings);                      # Get saved settings and reset to good if needed
+}
+$checked{'DISABLEPING'}{'NO'} = '';
+$checked{'DISABLEPING'}{'ONLYRED'} = '';
+$checked{'DISABLEPING'}{'ALL'} = '';
+$checked{'DISABLEPING'}{$settings{'DISABLEPING'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'options fw'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>";
+       &Header::closebox();
+}
+
+&Header::openbox('100%', 'left', $Lang::tr{'options fw'});
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
+
+print <<END
+<table width='100%'>
+<tr>
+       <td class='base' width='100%' colspan='3'><b>$Lang::tr{'ping disabled'}</b></td>
+</tr>
+<tr>
+       <td class='base'><input type='radio' name='DISABLEPING' value='NO' $checked{'DISABLEPING'}{'NO'} />$Lang::tr{'no'}</td>
+       <td>&nbsp;</td>
+</tr>
+<tr>
+       <td><input type='radio' name='DISABLEPING' value='ONLYRED' $checked{'DISABLEPING'}{'ONLYRED'} />$Lang::tr{'only red'}</td>
+       <td width='80%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+<tr>
+       <td><input type='radio' name='DISABLEPING' value='ALL' $checked{'DISABLEPING'}{'ALL'} />$Lang::tr{'all interfaces'}</td>
+       <td class='base' width='10%' align='right'><!-- Space for future online help link --></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
index ca626f8b08a5f93254095620c8d03cd917f14df9..65647ab4c1760340615ba389ebb69dd3081ece3e 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-# Copyright (c) 2002/04/13 Steve Bootes - Add source IP support\r
-#\r
-# $Id: portfw.cgi,v 1.5.2.18 2005/05/02 16:19:49 eoberlander Exp $\r
-#\r
-#\r
-# Darren Critchley February 2003 - I added the multiple external access rules for each port forward\r
-# A couple of things to remember when reading the code\r
-#      There are two kinds of records in the config file, those with a number in the first field, and then 0,\r
-#              these are port forward rules, these records will have a 0 or 0.0.0.0 in position 9 (ORIG_IP)\r
-#              If there is a 0, it means that there are external access rules, otherwise the port is open to ALL.\r
-#      The second type of record is a number followed by a number which indicates that it is an external access\r
-#      rule. The first number indicates which Portfw rule it belongs to, and the second is just a unique key.\r
-#\r
-# Darren Critchley - March 5, 2003 - if you come along after me and work on this page, please comment your\r
-#              work. Put your name, and date and then your comment - it helps the person that comes along after you\r
-#              to figure out why and how things have changed, and it is considered good coding practice\r
-# Thanks . . . \r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my %cgiparams=();\r
-my %selected=();\r
-my %checked=();\r
-my $prtrange1=0;\r
-my $prtrange2=0;\r
-my $errormessage = '';\r
-my $filename = "${General::swroot}/portfw/config";\r
-my $aliasfile = "${General::swroot}/ethernet/aliases";\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ENABLED'} = 'off';\r
-$cgiparams{'KEY1'} = '0';\r
-$cgiparams{'KEY2'} = '0';\r
-$cgiparams{'PROTOCOL'} = '';\r
-$cgiparams{'SRC_PORT'} = '';\r
-$cgiparams{'DEST_IP'} = '';\r
-$cgiparams{'DEST_PORT'} = '';\r
-$cgiparams{'SRC_IP'} = '';\r
-$cgiparams{'ORIG_IP'} = '';\r
-$cgiparams{'REMARK'} = '';\r
-$cgiparams{'OVERRIDE'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-my $disable_all = "0";\r
-my $enable_all = "0";\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})\r
-{\r
-       &valaddupdate();\r
-       \r
-       # Darren Critchley - if there is an error, don't waste any more time processing\r
-       if ($errormessage) { goto ERROR; }\r
-       \r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       my $key1 = 0; # used for finding last sequence number used \r
-       foreach my $line (@current)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-\r
-               chomp ($temp[8]);\r
-               if ($cgiparams{'KEY2'} eq "0"){ # if key2 is 0 then it is a portfw addition\r
-                       if ( $cgiparams{'SRC_PORT'} eq $temp[3] &&\r
-                               $cgiparams{'PROTOCOL'} eq $temp[2] &&\r
-                               $cgiparams{'SRC_IP'} eq $temp[7])\r
-                       {\r
-                                $errormessage =  \r
-                                       "$Lang::tr{'source port in use'} $cgiparams{'SRC_PORT'}";\r
-                       }\r
-                       # Check if key2 = 0, if it is then it is a port forward entry and we want the sequence number\r
-                       if ( $temp[1] eq "0") {\r
-                               $key1=$temp[0];\r
-                       }\r
-                       # Darren Critchley - Duplicate or overlapping Port range check\r
-                       if ($temp[1] eq "0" && \r
-                               $cgiparams{'PROTOCOL'} eq $temp[2] &&\r
-                               $cgiparams{'SRC_IP'} eq $temp[7] &&\r
-                               $errormessage eq '') \r
-                       {\r
-                               &portchecks($temp[3], $temp[5]);\r
-                       }\r
-               } else {\r
-                       if ( $cgiparams{'KEY1'} eq $temp[0] &&\r
-                               $cgiparams{'ORIG_IP'} eq $temp[8])\r
-                       {\r
-                                $errormessage =  \r
-                                       "$Lang::tr{'source ip in use'} $cgiparams{'ORIG_IP'}";\r
-                       }\r
-               }\r
-       }\r
-\r
-ERROR:\r
-       unless ($errormessage)\r
-       {\r
-               # Darren Critchley - we only want to store ranges with Colons\r
-               $cgiparams{'SRC_PORT'} =~ tr/-/:/; \r
-               $cgiparams{'DEST_PORT'} =~ tr/-/:/;\r
-\r
-               if ($cgiparams{'KEY1'} eq "0") { # 0 in KEY1 indicates it is a portfw add\r
-                       $key1++; # Add one to last sequence number\r
-                       open(FILE,">>$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                               if ($cgiparams{'ORIG_IP'} eq '0.0.0.0/0') {\r
-                                       # if the default/all is taken, then write it to the rule\r
-                                               print FILE "$key1,0,$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";\r
-                       } else { # else create an extra record so it shows up \r
-                                       print FILE "$key1,0,$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},0,$cgiparams{'REMARK'}\n";\r
-                                               print FILE "$key1,1,$cgiparams{'PROTOCOL'},0,$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},0,$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";\r
-                                       }                       \r
-                       close(FILE);\r
-                       undef %cgiparams;\r
-                       &General::log($Lang::tr{'forwarding rule added'});\r
-                       system('/usr/local/bin/setportfw');\r
-               } else { # else key1 eq 0\r
-                       my $insertpoint = ($cgiparams{'KEY2'} - 1);\r
-                       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       foreach my $line (@current) {\r
-                               chomp($line);\r
-                               my @temp = split(/\,/,$line);\r
-                               if ($cgiparams{'KEY1'} eq $temp[0] && $insertpoint eq $temp[1]) {\r
-                                       if ($temp[1] eq "0") { # this is the first xtaccess rule, therefore modify the portfw rule\r
-                                               $temp[8] = '0';\r
-                                       }\r
-                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";\r
-                                       print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$cgiparams{'PROTOCOL'},0,$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},0,$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";\r
-                               } else {\r
-                                       print FILE "$line\n";\r
-                               }\r
-                       }\r
-                       close(FILE);\r
-                       undef %cgiparams;\r
-                       &General::log($Lang::tr{'external access rule added'});\r
-                       system('/usr/local/bin/setportfw');\r
-               } # end if if KEY1 eq 0\r
-       } # end unless($errormessage)\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})\r
-{\r
-       &valaddupdate();\r
-       \r
-       # Darren Critchley - If there is an error don't waste any more processing time\r
-       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }\r
-\r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       my $disabledpfw = '0';\r
-       my $lastpfw = '';\r
-       my $xtaccessdel = '0';\r
-       \r
-       foreach my $line (@current)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-               if ( $temp[1] eq "0" ) { # keep track of the last portfw and if it is enabled\r
-                       $disabledpfw = $temp[6];\r
-                       $lastpfw = $temp[0];\r
-               }               \r
-               chomp ($temp[8]);\r
-               if ( $cgiparams{'SRC_PORT'} eq $temp[3] &&\r
-                       $cgiparams{'PROTOCOL'} eq $temp[2] &&\r
-                       $cgiparams{'SRC_IP'} eq $temp[7])\r
-               {\r
-                        if ($cgiparams{'KEY1'} ne $temp[0] && $cgiparams{'KEY2'} eq "0")\r
-                        { \r
-                        $errormessage =  \r
-                               "$Lang::tr{'source port in use'} $cgiparams{'SRC_PORT'}";\r
-                        }\r
-               }\r
-               if ($cgiparams{'ORIG_IP'} eq $temp[8]) \r
-               {\r
-                        if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} ne $temp[1])\r
-                        # If we have the same source ip within a portfw group, then we have a problem!\r
-                        {\r
-                               $errormessage =  "$Lang::tr{'source ip in use'} $cgiparams{'ORIG_IP'}";\r
-                               $cgiparams{'ACTION'} = $Lang::tr{'edit'};\r
-                        }\r
-               }\r
-               \r
-               # Darren Critchley - Flag when a user disables an xtaccess\r
-               if ($cgiparams{'KEY1'} eq $temp[0] &&\r
-                               $cgiparams{'KEY2'} eq $temp[1] &&\r
-                               $cgiparams{'KEY2'} ne "0" && # if KEY2 is 0 then it is a portfw\r
-                               $cgiparams{'ENABLED'} eq "off" &&\r
-                               $temp[6] eq "on") { # we have determined that someone has turned an xtaccess off\r
-                       $xtaccessdel = "1";             \r
-               }\r
-               \r
-               # Darren Critchley - Portfw enabled, then enable xtaccess for all associated xtaccess records\r
-               if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'KEY2'} eq "0" && $cgiparams{'ENABLED'} ne $temp[6]) \r
-               {\r
-                       $enable_all = "1";\r
-               } else {\r
-                       $enable_all = "0";\r
-               }\r
-               # Darren Critchley - Portfw disabled, then disable xtaccess for all associated xtaccess records\r
-               if ($cgiparams{'ENABLED'} eq "off" && $cgiparams{'KEY2'} eq "0") \r
-               {\r
-                       $disable_all = "1";\r
-               } else {\r
-                       $disable_all = "0";\r
-               }\r
-\r
-               # Darren Critchley - if we are enabling an xtaccess, only allow if the associated Portfw is enabled\r
-               if ($cgiparams{'KEY1'} eq $lastpfw && $cgiparams{'KEY2'} ne "0") { # identifies an xtaccess record in the group\r
-                       if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'ENABLED'} ne $temp[6] ){ # a change has been made\r
-                               if ($disabledpfw eq "off")\r
-                               { \r
-                                       $errormessage =  "$Lang::tr{'cant enable xtaccess'}";\r
-                                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               # Darren Critchley - rule to stop someone from entering ALL into a external access rule, \r
-               # the portfw is the only place that ALL can be specified\r
-               if ($cgiparams{'KEY2'} ne "0" && $cgiparams{'ORIG_IP'} eq "0.0.0.0/0") {\r
-                       $errormessage =  "$Lang::tr{'xtaccess all error'}";\r
-                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};\r
-               }\r
-               \r
-               # Darren Critchley - Duplicate or overlapping Port range check\r
-               if ($temp[1] eq "0" &&\r
-                       $cgiparams{'KEY1'} ne $temp[0] && \r
-                       $cgiparams{'PROTOCOL'} eq $temp[2] &&\r
-                       $cgiparams{'SRC_IP'} eq $temp[7] &&\r
-                       $errormessage eq '') \r
-               {\r
-                               &portchecks($temp[3], $temp[5]);\r
-               } # end port testing\r
-               \r
-       }\r
-       \r
-       # Darren Critchley - if an xtaccess was disabled, now we need to check to see if it was the only xtaccess\r
-       if($xtaccessdel eq "1") {\r
-               my $xctr = 0;\r
-               foreach my $line (@current)\r
-               {\r
-                       my @temp = split(/\,/,$line);\r
-                       if($temp[0] eq $cgiparams{'KEY1'} &&\r
-                               $temp[6] eq "on") { # we only want to count the enabled xtaccess's\r
-                               $xctr++;\r
-                       }\r
-               }\r
-               if ($xctr == 2){\r
-                       $disable_all = "1";\r
-               }\r
-       }\r
-\r
-UPD_ERROR:\r
-       unless ($errormessage)\r
-       {\r
-               # Darren Critchley - we only want to store ranges with Colons\r
-               $cgiparams{'SRC_PORT'} =~ tr/-/:/; \r
-               $cgiparams{'DEST_PORT'} =~ tr/-/:/;\r
-\r
-               open(FILE, ">$filename") or die 'Unable to open config file.';\r
-               flock FILE, 2;\r
-               foreach my $line (@current) {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1]) {\r
-               print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";\r
-                       } else {\r
-                               # Darren Critchley - If it is a port forward record, then chances are good that a change was made to \r
-                               # Destination Ip or Port, and we need to update all the associated external access records\r
-                               if ($cgiparams{'KEY2'} eq "0" && $cgiparams{'KEY1'} eq $temp[0]) {\r
-                                       $temp[4] = $cgiparams{'DEST_IP'};\r
-                                       $temp[5] = $cgiparams{'DEST_PORT'};\r
-                                       $temp[2] = $cgiparams{'PROTOCOL'};\r
-                               }\r
-                               \r
-                               # Darren Critchley - If a Portfw has been disabled, then set all associated xtaccess as disabled\r
-                               if ( $disable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {\r
-                                       $temp[6] = 'off';\r
-                               }\r
-                               if ( $enable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {\r
-                                       $temp[6] = 'on';\r
-                               }\r
-                               # Darren Critchley - Deal with the override to allow ALL\r
-                               if ( $cgiparams{'OVERRIDE'} eq "on" && $temp[1] ne "0" && $cgiparams{'KEY1'} eq $temp[0] ) {\r
-                                       $temp[6] = 'off';\r
-                               }\r
-                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";\r
-                       }\r
-               }\r
-               close(FILE);\r
-               undef %cgiparams;\r
-               &General::log($Lang::tr{'forwarding rule updated'});\r
-               system('/usr/local/bin/setportfw');\r
-       } \r
-       if ($errormessage) {\r
-       $cgiparams{'ACTION'} = $Lang::tr{'edit'};\r
-       }\r
-}\r
-\r
-# Darren Critchley - Allows rules to be enabled and disabled\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})\r
-{\r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       my $disabledpfw = '0';\r
-       my $lastpfw = '';\r
-       my $xtaccessdel = '0';\r
-       \r
-       foreach my $line (@current)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-               if ( $temp[1] eq "0" ) { # keep track of the last portfw and if it is enabled\r
-                       $disabledpfw = $temp[6];\r
-                       $lastpfw = $temp[0];\r
-               }               \r
-               # Darren Critchley - Flag when a user disables an xtaccess\r
-               if ($cgiparams{'KEY1'} eq $temp[0] &&\r
-                               $cgiparams{'KEY2'} eq $temp[1] &&\r
-                               $cgiparams{'KEY2'} ne "0" && # if KEY2 is 0 then it is a portfw\r
-                               $cgiparams{'ENABLED'} eq "off" &&\r
-                               $temp[6] eq "on") { # we have determined that someone has turned an xtaccess off\r
-                       $xtaccessdel = "1";             \r
-               }\r
-               \r
-               # Darren Critchley - Portfw enabled, then enable xtaccess for all associated xtaccess records\r
-               if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'KEY2'} eq "0" && $cgiparams{'ENABLED'} ne $temp[6]) \r
-               {\r
-                       $enable_all = "1";\r
-               } else {\r
-                       $enable_all = "0";\r
-               }\r
-               # Darren Critchley - Portfw disabled, then disable xtaccess for all associated xtaccess records\r
-               if ($cgiparams{'ENABLED'} eq "off" && $cgiparams{'KEY2'} eq "0") \r
-               {\r
-                       $disable_all = "1";\r
-               } else {\r
-                       $disable_all = "0";\r
-               }\r
-\r
-               # Darren Critchley - if we are enabling an xtaccess, only allow if the associated Portfw is enabled\r
-               if ($cgiparams{'KEY1'} eq $lastpfw && $cgiparams{'KEY2'} ne "0") { # identifies an xtaccess record in the group\r
-                       if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'ENABLED'} ne $temp[6] ){ # a change has been made\r
-                               if ($disabledpfw eq "off")\r
-                               { \r
-                                       $errormessage =  "$Lang::tr{'cant enable xtaccess'}";\r
-                                       goto TOGGLEEXIT;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       \r
-       # Darren Critchley - if an xtaccess was disabled, now we need to check to see if it was the only xtaccess\r
-       if($xtaccessdel eq "1") {\r
-               my $xctr = 0;\r
-               foreach my $line (@current)\r
-               {\r
-                       my @temp = split(/\,/,$line);\r
-                       if($temp[0] eq $cgiparams{'KEY1'} &&\r
-                               $temp[6] eq "on") { # we only want to count the enabled xtaccess's\r
-                               $xctr++;\r
-                       }\r
-               }\r
-               if ($xctr == 2){\r
-                       $disable_all = "1";\r
-               }\r
-       }\r
-\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current) {\r
-               chomp($line);\r
-               my @temp = split(/\,/,$line);\r
-               if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1]) {\r
-               print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$temp[2],$temp[3],$temp[4],$temp[5],$cgiparams{'ENABLED'},$temp[7],$temp[8],$temp[9]\n";\r
-               } else {\r
-                       # Darren Critchley - If a Portfw has been disabled, then set all associated xtaccess as disabled\r
-                       if ( $disable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {\r
-                               $temp[6] = 'off';\r
-                       }\r
-                       if ( $enable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {\r
-                               $temp[6] = 'on';\r
-                       }\r
-               print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";\r
-               }\r
-       }\r
-       close(FILE);\r
-       &General::log($Lang::tr{'forwarding rule updated'});\r
-       system('/usr/local/bin/setportfw');\r
-TOGGLEEXIT:\r
-       undef %cgiparams;\r
-} \r
-\r
-\r
-# Darren Critchley - broke out Edit routine from the delete routine - Edit routine now just puts values in fields\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       open(FILE, "$filename") or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       unless ($errormessage)\r
-       {\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) {\r
-                               $cgiparams{'PROTOCOL'} = $temp[2];\r
-                               $cgiparams{'SRC_PORT'} = $temp[3];\r
-                               $cgiparams{'DEST_IP'} = $temp[4];\r
-                               $cgiparams{'DEST_PORT'} = $temp[5];\r
-                               $cgiparams{'ENABLED'} = $temp[6];\r
-                               $cgiparams{'SRC_IP'} = $temp[7];\r
-                               $cgiparams{'ORIG_IP'} = $temp[8];\r
-                               $cgiparams{'REMARK'} = $temp[9];\r
-                       }\r
-                       \r
-               }\r
-       }\r
-}\r
-\r
-# Darren Critchley - broke out Remove routine as the logic is getting too complex to be combined with the Edit\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})\r
-{\r
-       open(FILE, "$filename") or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       \r
-       # If the record being deleted is an xtaccess record, and it is the only one for a portfw record\r
-       # then we need to adjust the portfw record to be open to ALL ip addressess or an error will occur\r
-       # in setportfw.c\r
-       my $fixportfw = '0';\r
-       if ($cgiparams{'KEY2'} ne "0") {\r
-               my $counter = 0;\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($temp[0] eq $cgiparams{'KEY1'}) {\r
-                               $counter++;\r
-                       }\r
-               } \r
-               if ($counter eq 2) {\r
-                       $fixportfw = '1';\r
-               }\r
-       }\r
-       \r
-       unless ($errormessage)\r
-       {\r
-               open(FILE, ">$filename") or die 'Unable to open config file.';\r
-               flock FILE, 2;\r
-               my $linedeleted = 0;\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-\r
-                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ||\r
-                               $cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq "0" ) \r
-                       {\r
-                               $linedeleted = 1;\r
-                       } else {\r
-                               if ($temp[0] eq $cgiparams{'KEY1'} && $temp[1] eq "0" && $fixportfw eq "1") {\r
-                                       $temp[8] = '0.0.0.0/0';\r
-                               }\r
-                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";\r
-#                              print FILE "$line\n";\r
-                       }\r
-               }\r
-               close(FILE);\r
-               if ($linedeleted == 1) {\r
-                       &General::log($Lang::tr{'forwarding rule removed'});\r
-                       undef %cgiparams;\r
-               }\r
-               system('/usr/local/bin/setportfw');\r
-       }\r
-}\r
-\r
-# Darren Critchley - Added routine to allow external access rules to be added\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'})\r
-{\r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       my $key = 0; # used for finding last sequence number used \r
-       foreach my $line (@current)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-               if ($temp[0] eq $cgiparams{'KEY1'}) {\r
-                       $key = $temp[1]\r
-               }\r
-               if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) {\r
-                       $cgiparams{'PROTOCOL'} = $temp[2];\r
-                       $cgiparams{'SRC_PORT'} = $temp[3];\r
-                       $cgiparams{'DEST_IP'} = $temp[4];\r
-                       $cgiparams{'DEST_PORT'} = $temp[5];\r
-                       $cgiparams{'ENABLED'} = $temp[6];\r
-                       $cgiparams{'SRC_IP'} = $temp[7];\r
-                       $cgiparams{'ORIG_IP'} = '';\r
-                       $cgiparams{'REMARK'} = $temp[9];\r
-               }\r
-       }\r
-       $key++;\r
-       $cgiparams{'KEY2'} = $key;\r
-       # Until the ADD button is hit, there needs to be no change to portfw rules\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})\r
-{\r
-       undef %cgiparams;\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq '')\r
-{\r
-       $cgiparams{'PROTOCOL'} = 'tcp';\r
-       $cgiparams{'ENABLED'} = 'on';\r
-       $cgiparams{'SRC_IP'} = '0.0.0.0';\r
-}\r
-\r
-$selected{'PROTOCOL'}{'udp'} = '';\r
-$selected{'PROTOCOL'}{'tcp'} = '';\r
-$selected{'PROTOCOL'}{'gre'} = '';\r
-$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";\r
-\r
-$selected{'SRC_IP'}{$cgiparams{'SRC_IP'}} = "selected='selected'";\r
-\r
-$checked{'ENABLED'}{'off'} = '';\r
-$checked{'ENABLED'}{'on'} = '';  \r
-$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'port forwarding configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'><font color='${Header::colourred}'>$errormessage\n</font>";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});\r
-} else {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY2'} ne "0" || $cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'}){ \r
-# if it is not a port forward record, don't validate as the fields are disabled\r
-       my $PROT = "\U$cgiparams{'PROTOCOL'}\E";\r
-       # Darren Critchley - Format the source and destination ports\r
-       my $dstprt = $cgiparams{'DEST_PORT'};\r
-       $dstprt =~ s/-/ - /;\r
-       $dstprt =~ s/:/ - /;\r
-\r
-print <<END\r
-<table>\r
-       <tr>\r
-               <td class='base'>$Lang::tr{'protocol'}: <b>$PROT</b></td>\r
-               <td width='20'>&nbsp;</td>\r
-               <td class='base' align='right'>$Lang::tr{'destination ip'}:&nbsp;</td>\r
-               <td><b>$cgiparams{'DEST_IP'}</b></td>\r
-               <td width='20'>&nbsp;</td>\r
-               <td class='base' align='right'>$Lang::tr{'destination port'}:&nbsp;</td>\r
-               <td><b>$dstprt</b></td>\r
-       </tr>\r
-</table>\r
-\r
-<input type='hidden' name='PROTOCOL' value='$cgiparams{'PROTOCOL'}' />\r
-<input type='hidden' name='SRC_IP' value='$cgiparams{'SRC_IP'}' />\r
-<input type='hidden' name='SRC_PORT' value='$cgiparams{'SRC_PORT'}' />\r
-<input type='hidden' name='DEST_IP' value='$cgiparams{'DEST_IP'}' />\r
-<input type='hidden' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' />\r
-END\r
-;\r
-} else {\r
-print <<END\r
-<table width='100%'>\r
-       <tr>\r
-               <td width='10%'>$Lang::tr{'protocol'}:&nbsp;</td>\r
-               <td width='15%'> \r
-               <select name='PROTOCOL'>\r
-                       <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>\r
-                       <option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>\r
-                       <option value='gre' $selected{'PROTOCOL'}{'gre'}>GRE</option>\r
-               </select>\r
-               </td>\r
-               <td class='base' width='20%'><font color='${Header::colourred}'>$Lang::tr{'alias ip'}:</font></td>\r
-               <td>\r
-                       <select name='SRC_IP'>\r
-                       <option value='0.0.0.0' $selected{'SRC_IP'}{'0.0.0.0'}>DEFAULT IP</option>\r
-END\r
-;\r
-open(ALIASES, "$aliasfile") or die 'Unable to open aliases file.';\r
-while (<ALIASES>)\r
-{\r
-       chomp($_);\r
-       my @temp = split(/\,/,$_);\r
-       if ($temp[1] eq 'on') {\r
-               print "<option value='$temp[0]' $selected{'SRC_IP'}{$temp[0]}>$temp[0]";\r
-               if (defined $temp[2] and ($temp[2] ne '')) { print " ($temp[2])"; }\r
-               print "</option>\n";\r
-       }\r
-}\r
-close(ALIASES);\r
-print <<END\r
-                       </select>\r
-               </td>\r
-               <td class='base' width='20%'><font color='${Header::colourred}'>$Lang::tr{'source port'}:</font></td>\r
-               <td width='10%'><input type='text' name='SRC_PORT' value='$cgiparams{'SRC_PORT'}' size='8' /></td>\r
-       </tr>\r
-       <tr>\r
-               <td class='base'>&nbsp;</td>\r
-               <td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'destination ip'}:</td>\r
-               <td><input type='text' name='DEST_IP' value='$cgiparams{'DEST_IP'}' size='15' /></td>\r
-               <td class='base'>$Lang::tr{'destination port'}:</td>\r
-               <td><input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='8' /></td>\r
-       </tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-print <<END\r
-<table>\r
-       <tr>\r
-               <td class='base'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' />&nbsp;</td>\r
-               <td><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td>\r
-END\r
-;\r
-unless ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'} && $cgiparams{'ENABLED'} eq "off") {\r
-       print "<td width='20'>&nbsp;</td>";\r
-       print "<td>$Lang::tr{'enabled'}&nbsp;</td><td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\n";\r
-}\r
-print <<END\r
-       </tr>\r
-</table>\r
-END\r
-;\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY2'} eq "0" && ($cgiparams{'ORIG_IP'} eq "0" || $cgiparams{'ORIG_IP'} eq "0.0.0.0/0")){ \r
-# if it is a port forward rule with a 0 in the orig_port field, this means there are xtaccess records, and we\r
-# don't want to allow a person to change the orig_ip field as it will mess other logic up\r
-       print "<input type='hidden' name='ORIG_IP' value='$cgiparams{'ORIG_IP'}' />\n";\r
-} else {\r
-print <<END\r
-<table>\r
-       <tr>\r
-               <td class='base'><font class='boldbase' color='${Header::colourred}'>$Lang::tr{'source network'}</font>&nbsp;<img src='/blob.gif' alt='*' />&nbsp;</td>\r
-               <td><input type='text' name='ORIG_IP' value='$cgiparams{'ORIG_IP'}' size='15' /></td>\r
-       </tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-print <<END\r
-<table width='100%'>\r
-       <hr />\r
-       <tr>\r
-               <td class='base' width='25%'><img src='/blob.gif' alt ='*' align='top' />&nbsp;<font class='base'>$Lang::tr{'this field may be blank'}</font></td>\r
-END\r
-;\r
-\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-       if($cgiparams{'KEY2'} eq "0"){\r
-               print "<td width='35%' align='right'>$Lang::tr{'open to all'}:&nbsp;</td><td width='5%'><input type='checkbox' name='OVERRIDE' $checked{'OVERRIDE'}{'on'} /></td>\n";\r
-       } else {\r
-               print "<td width='40%'>&nbsp;</td>\n";\r
-       }\r
-       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' />";\r
-       print "<input type='hidden' name='KEY1' value='$cgiparams{'KEY1'}' />";\r
-       print "<input type='hidden' name='KEY2' value='$cgiparams{'KEY2'}' /></TD>";\r
-       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";\r
-       # on an edit and an xtaccess add, for some reason the "Reset" button stops working, so I make it a submit button\r
-} else {\r
-       print "<td width='30%'>&nbsp;</td>\n";\r
-       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td>";\r
-       if ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'}) {\r
-               print "<td align='center' width='15%'><input type='hidden' name='KEY1' value='$cgiparams{'KEY1'}' />";\r
-               print "<input type='hidden' name='KEY2' value='$cgiparams{'KEY2'}' />";\r
-               print "<input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";\r
-       } elsif ($errormessage ne '') {\r
-               print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";\r
-       } else {\r
-               print "<td align='center' width='15%'><input type='reset' name='ACTION' value='$Lang::tr{'reset'}' /></td>";\r
-       }\r
-}\r
-print <<END\r
-       <td width='5%' align='right'>\r
-               <a href='${General::adminmanualurl}/section-firewall.html#section-port-forwarding' target='_blank'>\r
-               <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>\r
-       </tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'current rules'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='7%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>\r
-<td width='31%' class='boldbase' align='center'><b>$Lang::tr{'source'}</b></td>\r
-<td width='2%' class='boldbase' align='center'>&nbsp;</td>\r
-<td width='31%' class='boldbase' align='center'><b>$Lang::tr{'destination'}</b></td>\r
-<td width='24%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>\r
-<td width='4%' class='boldbase' colspan='4' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-my $id = 0;\r
-my $xtaccesscolor = '#F6F4F4';\r
-open(RULES, "$filename") or die 'Unable to open config file.';\r
-while (<RULES>)\r
-{\r
-       my $protocol = '';\r
-       my $gif = '';\r
-       my $gdesc = '';\r
-       my $toggle = '';\r
-       chomp($_);\r
-       my @temp = split(/\,/,$_);\r
-       $temp[9] ='' unless defined $temp[9];# Glles ESpinasse : suppress warning on page init\r
-       if ($temp[2] eq 'udp') {\r
-               $protocol = 'UDP'; }\r
-       elsif ($temp[2] eq 'gre') {\r
-               $protocol = 'GRE' }\r
-       else {\r
-               $protocol = 'TCP' }\r
-       # Change bgcolor when a new portfw rule is added\r
-       if ($temp[1] eq "0"){\r
-               $id++;\r
-       }\r
-       # Darren Critchley highlight the row we are editing\r
-       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) { \r
-               print "<tr bgcolor='${Header::colouryellow}'>\n";\r
-       } else {\r
-               if ($id % 2) {\r
-                       print "<tr bgcolor='${Header::table1colour}'>\n"; \r
-               }\r
-               else {\r
-                       print "<tr bgcolor='${Header::table2colour}'>\n";\r
-               }\r
-       }\r
-       \r
-       if ($temp[6] eq 'on') { $gif = 'on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}\r
-               else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }\r
-\r
-               # Darren Critchley - this code no longer works - should we remove?\r
-       # catch for 'old-style' rules file - assume default ip if\r
-       # none exists\r
-       if (!&General::validip($temp[7]) || $temp[7] eq '0.0.0.0') {\r
-               $temp[7] = 'DEFAULT IP'; }\r
-               if ($temp[1] eq '0') { # Port forwarding entry\r
-\r
-               # Darren Critchley - Format the source and destintation ports\r
-               my $srcprt = $temp[3];\r
-               $srcprt =~ s/-/ - /;\r
-               $srcprt =~ s/:/ - /;\r
-               my $dstprt = $temp[5];\r
-               $dstprt =~ s/-/ - /;\r
-               $dstprt =~ s/:/ - /;\r
-\r
-               # Darren Critchley - Get Port Service Name if we can - code borrowed from firewalllog.dat\r
-               $_=$temp[3];\r
-               if (/^\d+$/) {\r
-                       my $servi = uc(getservbyport($temp[3], lc($temp[2])));\r
-                       if ($servi ne '' && $temp[3] < 1024) {\r
-                               $srcprt = "$srcprt($servi)"; }\r
-               }\r
-               $_=$temp[5];\r
-               if (/^\d+$/) {\r
-                       my $servi = uc(getservbyport($temp[5], lc($temp[2])));\r
-                       if ($servi ne '' && $temp[5] < 1024) {\r
-                               $dstprt = "$dstprt($servi)"; }\r
-               }\r
-\r
-               # Darren Critchley - If the line is too long, wrap the port numbers\r
-               my $srcaddr = "$temp[7] : $srcprt";\r
-               if (length($srcaddr) > 22) {\r
-                       $srcaddr = "$temp[7] :<br /> $srcprt";\r
-               }\r
-               my $dstaddr = "$temp[4] : $dstprt";\r
-               if (length($dstaddr) > 26) {\r
-                       $dstaddr = "$temp[4] :<br /> $dstprt";\r
-               }\r
-print <<END\r
-<td align='center'>$protocol</td>\r
-<td align='center'>$srcaddr</td>\r
-<td align='center'><img src='/images/forward.gif' alt='=&gt;' /></td>\r
-<td align='center'>$dstaddr</td>\r
-<td align='left'>&nbsp;$temp[9]</td>\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]c' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       <input type='hidden' name='ENABLED' value='$toggle' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'add xtaccess'}' />\r
-       <input type='image' name='$Lang::tr{'add xtaccess'}' src='/images/add.gif' alt='$Lang::tr{'add xtaccess'}' title='$Lang::tr{'add xtaccess'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]b' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       </form>\r
-</td>\r
-\r
-</tr>\r
-END\r
-       ;\r
-       } else { # external access entry\r
-print <<END\r
-<td align='center'>&nbsp;</td>\r
-\r
-<td align='left' colspan='4'>&nbsp;<font color='${Header::colourred}'>$Lang::tr{'access allowed'}</font> $temp[8]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;($temp[9])</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]$temp[1]t' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$Lang::tr{'toggle enable disable'}' title='$Lang::tr{'toggle enable disable'}' />\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       <input type='hidden' name='ENABLED' value='$toggle' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>&nbsp;</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]$temp[1]' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frm$temp[0]b$temp[1]b' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-       <input type='hidden' name='KEY1' value='$temp[0]' />\r
-       <input type='hidden' name='KEY2' value='$temp[1]' />\r
-       </form>\r
-</td>\r
-\r
-</tr>\r
-END\r
-       ;\r
-       }\r
-}\r
-\r
-close(RULES);\r
-\r
-print "</table>";\r
-\r
-# If the fixed lease file contains entries, print Key to action icons\r
-if ( ! -z "$filename") {\r
-print <<END\r
-<table>\r
-<tr>\r
-       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>\r
-       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/add.gif' alt='$Lang::tr{'add xtaccess'}' /></td>\r
-       <td class='base'>$Lang::tr{'add xtaccess'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp;&nbsp;</td>\r
-       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-# Validate Field Entries\r
-sub validateparams \r
-{\r
-       # Darren Critchley - Get rid of dashes in port ranges\r
-       $cgiparams{'DEST_PORT'}=~ tr/-/:/;\r
-       $cgiparams{'SRC_PORT'}=~ tr/-/:/;\r
-       \r
-       # Darren Critchley - code to substitue wildcards\r
-       if ($cgiparams{'SRC_PORT'} eq "*") {\r
-               $cgiparams{'SRC_PORT'} = "1:65535";\r
-       }\r
-       if ($cgiparams{'SRC_PORT'} =~ /^(\D)\:(\d+)$/) {\r
-               $cgiparams{'SRC_PORT'} = "1:$2";\r
-       }\r
-       if ($cgiparams{'SRC_PORT'} =~ /^(\d+)\:(\D)$/) {\r
-               $cgiparams{'SRC_PORT'} = "$1:65535";\r
-       }\r
-       if ($cgiparams{'DEST_PORT'} eq "*") {\r
-               $cgiparams{'DEST_PORT'} = "1:65535";\r
-       }\r
-       if ($cgiparams{'DEST_PORT'} =~ /^(\D)\:(\d+)$/) {\r
-               $cgiparams{'DEST_PORT'} = "1:$2";\r
-       }\r
-       if ($cgiparams{'DEST_PORT'} =~ /^(\d+)\:(\D)$/) {\r
-               $cgiparams{'DEST_PORT'} = "$1:65535";\r
-       }\r
-\r
-       # Darren Critchley - Add code for GRE protocol - we want to ignore ports, but we need a place holder\r
-       if ($cgiparams{'PROTOCOL'} eq 'gre') {\r
-               $cgiparams{'SRC_PORT'} = "GRE";\r
-               $cgiparams{'DEST_PORT'} = "GRE";\r
-       }\r
-\r
-       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp|gre)$/) { $errormessage = $Lang::tr{'invalid input'}; }\r
-       # Darren Critchley - Changed how the error routine works a bit - for the validportrange check, we need to \r
-       # pass in src or dest to determine which side we are working with.\r
-       # the routine returns the complete error or ''\r
-       if ($cgiparams{'PROTOCOL'} ne 'gre') {\r
-               $errormessage = &General::validportrange($cgiparams{'SRC_PORT'}, 'src');\r
-       }\r
-       if( ($cgiparams{'ORIG_IP'} ne "0" && $cgiparams{'KEY2'} ne "0") || $cgiparams{'ACTION'} eq $Lang::tr{'add'}) { \r
-       # if it is a port forward record with 0 in orig_ip then ignore checking this field\r
-               unless(&General::validipormask($cgiparams{'ORIG_IP'}))\r
-               {\r
-                       if ($cgiparams{'ORIG_IP'} ne '') {\r
-                               $errormessage = $Lang::tr{'source ip bad'}; }\r
-                       else {\r
-                               $cgiparams{'ORIG_IP'} = '0.0.0.0/0'; }\r
-               }\r
-       }\r
-       # Darren Critchey - New rule that sets destination same as source if dest_port is blank.\r
-       if ($cgiparams{'DEST_PORT'} eq ''){\r
-               $cgiparams{'DEST_PORT'} = $cgiparams{'SRC_PORT'};\r
-       }\r
-       # Darren Critchey - Just in case error message is already set, this routine would wipe it out if\r
-       # we don't do a test here\r
-       if ($cgiparams{'PROTOCOL'} ne 'gre') {\r
-               unless($errormessage) {$errormessage = &General::validportrange($cgiparams{'DEST_PORT'}, 'dest');}\r
-       }\r
-       unless(&General::validip($cgiparams{'DEST_IP'})) { $errormessage = $Lang::tr{'destination ip bad'}; }\r
-       return;\r
-}\r
-\r
-# Darren Critchley - we want to make sure that a port range does not overlap another port range\r
-sub checkportoverlap\r
-{\r
-       my $portrange1 = $_[0]; # New port range\r
-       my $portrange2 = $_[1]; # existing port range\r
-       my @tempr1 = split(/\:/,$portrange1);\r
-       my @tempr2 = split(/\:/,$portrange2);\r
-\r
-       unless (&checkportinc($tempr1[0], $portrange2)){ return 0;}\r
-       unless (&checkportinc($tempr1[1], $portrange2)){ return 0;}\r
-       \r
-       unless (&checkportinc($tempr2[0], $portrange1)){ return 0;}\r
-       unless (&checkportinc($tempr2[1], $portrange1)){ return 0;}\r
-\r
-       return 1; # Everything checks out!\r
-}\r
-\r
-# Darren Critchley - we want to make sure that a port entry is not within an already existing range\r
-sub checkportinc\r
-{\r
-       my $port1 = $_[0]; # Port\r
-       my $portrange2 = $_[1]; # Port range\r
-       my @tempr1 = split(/\:/,$portrange2);\r
-\r
-       if ($port1 < $tempr1[0] || $port1 > $tempr1[1]) {\r
-               return 1; \r
-       } else {\r
-               return 0; \r
-       }\r
-}\r
-\r
-# Darren Critchley - certain ports are reserved for Ipcop \r
-# TCP 67,68,81,222,445\r
-# UDP 67,68\r
-# Params passed in -> port, rangeyn, protocol\r
-sub disallowreserved\r
-{\r
-       # port 67 and 68 same for tcp and udp, don't bother putting in an array\r
-       my $msg = "";\r
-       my @tcp_reserved = (81,222,444);\r
-       my $prt = $_[0]; # the port or range\r
-       my $ryn = $_[1]; # tells us whether or not it is a port range\r
-       my $prot = $_[2]; # protocol\r
-       my $srcdst = $_[3]; # source or destination\r
-       \r
-       if ($ryn) { # disect port range\r
-               if ($srcdst eq "src") {\r
-                       $msg = "$Lang::tr{'rsvd src port overlap'}";\r
-               } else {\r
-                       $msg = "$Lang::tr{'rsvd dst port overlap'}";\r
-               }\r
-               my @tmprng = split(/\:/,$prt);\r
-               unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; }\r
-               unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; }\r
-               if ($prot eq "tcp") {\r
-                       foreach my $prange (@tcp_reserved) {\r
-                               unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; }\r
-                       }\r
-               }\r
-       } else {\r
-               if ($srcdst eq "src") {\r
-                       $msg = "$Lang::tr{'reserved src port'}";\r
-               } else {\r
-                       $msg = "$Lang::tr{'reserved dst port'}";\r
-               }\r
-               if ($prt == 67) { $errormessage="$msg 67"; return; }\r
-               if ($prt == 68) { $errormessage="$msg 68"; return; }\r
-               if ($prot eq "tcp") {\r
-                       foreach my $prange (@tcp_reserved) {\r
-                               if ($prange == $prt) { $errormessage="$msg $prange"; return; }\r
-                       }\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-# Darren Critchley - Attempt to combine Add/Update validation as they are almost the same\r
-sub valaddupdate\r
-{\r
-       if ($cgiparams{'KEY2'} eq "0"){ # if it is a port forward rule, then validate properly\r
-               &validateparams();\r
-       } else { # it is an xtaccess rule, just check for a valid ip\r
-               unless(&General::validipormask($cgiparams{'ORIG_IP'}))\r
-               {\r
-                       if ($cgiparams{'ORIG_IP'} ne '') {\r
-                               $errormessage = $Lang::tr{'source ip bad'}; }\r
-                       else { # this rule stops someone from adding an ALL xtaccess record\r
-                               $errormessage = $Lang::tr{'xtaccess all error'}; \r
-                               $cgiparams{'ACTION'} = $Lang::tr{'add xtaccess'};\r
-                       }\r
-               }\r
-               # Darren Critchley - check for 0.0.0.0/0 - not allowed for xtaccess\r
-               if ($cgiparams{'ORIG_IP'} eq "0.0.0.0/0" || $cgiparams{'ORIG_IP'} eq "0.0.0.0") {\r
-                       $errormessage = $Lang::tr{'xtaccess all error'}; \r
-                       $cgiparams{'ACTION'} = $Lang::tr{'add xtaccess'};\r
-               }\r
-       }\r
-       # Darren Critchley - Remove commas from remarks\r
-       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});\r
-\r
-       # Darren Critchley - Check to see if we are working with port ranges\r
-       our ($prtrange1, $prtrange2);\r
-       $_ = $cgiparams{'SRC_PORT'};\r
-       if ($cgiparams{'KEY2'} eq "0" && m/:/){\r
-               $prtrange1 = 1;\r
-       }\r
-       if ($cgiparams{'SRC_IP'} eq '0.0.0.0') { # Dave Roberts - only check if using DEFAULT IP\r
-               if ($prtrange1 == 1){ # check for source ports reserved for Ipcop\r
-                       &disallowreserved($cgiparams{'SRC_PORT'},1,$cgiparams{'PROTOCOL'},"src");\r
-                       if ($errormessage) { goto EXITSUB; }\r
-               } else { # check for source port reserved for Ipcop\r
-                       &disallowreserved($cgiparams{'SRC_PORT'},0,$cgiparams{'PROTOCOL'},"src");\r
-                       if ($errormessage) { goto EXITSUB; }\r
-               }\r
-       }\r
-       \r
-       $_ = $cgiparams{'DEST_PORT'};\r
-       if ($cgiparams{'KEY2'} eq "0" && m/:/){\r
-               $prtrange2 = 1;\r
-       }\r
-       if ($cgiparams{'SRC_IP'} eq '0.0.0.0') { # Dave Roberts - only check if using DEFAULT IP\r
-               if ($prtrange2 == 1){ # check for destination ports reserved for IPCop\r
-                       &disallowreserved($cgiparams{'DEST_PORT'},1,$cgiparams{'PROTOCOL'},"dst");\r
-                       if ($errormessage) { goto EXITSUB; }\r
-               } else { # check for destination port reserved for IPCop\r
-                       &disallowreserved($cgiparams{'DEST_PORT'},0,$cgiparams{'PROTOCOL'},"dst");\r
-                       if ($errormessage) { goto EXITSUB; }\r
-               }\r
-       }\r
-       \r
-\r
-EXITSUB:\r
-       return;\r
-}\r
-\r
-# Darren Critchley - Duplicate or overlapping Port range check\r
-sub portchecks\r
-{\r
-       $_ = $_[0];\r
-       our ($prtrange1, $prtrange2);\r
-       if (m/:/ && $prtrange1 == 1) { # comparing two port ranges\r
-               unless (&checkportoverlap($cgiparams{'SRC_PORT'},$_[0])) {\r
-                       $errormessage = "$Lang::tr{'source port overlaps'} $_[0]";\r
-               }\r
-       }\r
-       if (m/:/ && $prtrange1 == 0 && $errormessage eq '') { # compare one port to a range\r
-               unless (&checkportinc($cgiparams{'SRC_PORT'}, $_[0])) {\r
-                       $errormessage = "$Lang::tr{'srcprt within existing'} $_[0]";\r
-               }\r
-       }\r
-       if (! m/:/ && $prtrange1 == 1 && $errormessage eq '') { # compare one port to a range\r
-               unless (&checkportinc($_[0], $cgiparams{'SRC_PORT'})) {\r
-                       $errormessage = "$Lang::tr{'srcprt range overlaps'} $_[0]";\r
-               }\r
-       }\r
-\r
-       if ($errormessage eq ''){\r
-               $_ = $_[1];\r
-               if (m/:/ && $prtrange2 == 1) { # if true then there is a port range\r
-                       unless (&checkportoverlap($cgiparams{'DEST_PORT'},$_[1])) {\r
-                               $errormessage = "$Lang::tr{'destination port overlaps'} $_[1]";\r
-                       }\r
-               }\r
-               if (m/:/ && $prtrange2 == 0 && $errormessage eq '') { # compare one port to a range\r
-                       unless (&checkportinc($cgiparams{'DEST_PORT'}, $_[1])) {\r
-                               $errormessage = "$Lang::tr{'dstprt within existing'} $_[1]";\r
-                       }\r
-               }\r
-               if (! m/:/ && $prtrange2 == 1 && $errormessage eq '') { # compare one port to a range\r
-                       unless (&checkportinc($_[1], $cgiparams{'DEST_PORT'})) {\r
-                               $errormessage = "$Lang::tr{'dstprt range overlaps'} $_[1]";\r
-                       }\r
-               }\r
-       }\r
-       return;\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+# Copyright (c) 2002/04/13 Steve Bootes - Add source IP support
+#
+# $Id: portfw.cgi,v 1.5.2.18 2005/05/02 16:19:49 eoberlander Exp $
+#
+#
+# Darren Critchley February 2003 - I added the multiple external access rules for each port forward
+# A couple of things to remember when reading the code
+#      There are two kinds of records in the config file, those with a number in the first field, and then 0,
+#              these are port forward rules, these records will have a 0 or 0.0.0.0 in position 9 (ORIG_IP)
+#              If there is a 0, it means that there are external access rules, otherwise the port is open to ALL.
+#      The second type of record is a number followed by a number which indicates that it is an external access
+#      rule. The first number indicates which Portfw rule it belongs to, and the second is just a unique key.
+#
+# Darren Critchley - March 5, 2003 - if you come along after me and work on this page, please comment your
+#              work. Put your name, and date and then your comment - it helps the person that comes along after you
+#              to figure out why and how things have changed, and it is considered good coding practice
+# Thanks . . . 
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+my %cgiparams=();
+my %selected=();
+my %checked=();
+my $prtrange1=0;
+my $prtrange2=0;
+my $errormessage = '';
+my $filename = "${General::swroot}/portfw/config";
+my $aliasfile = "${General::swroot}/ethernet/aliases";
+
+&Header::showhttpheaders();
+
+$cgiparams{'ENABLED'} = 'off';
+$cgiparams{'KEY1'} = '0';
+$cgiparams{'KEY2'} = '0';
+$cgiparams{'PROTOCOL'} = '';
+$cgiparams{'SRC_PORT'} = '';
+$cgiparams{'DEST_IP'} = '';
+$cgiparams{'DEST_PORT'} = '';
+$cgiparams{'SRC_IP'} = '';
+$cgiparams{'ORIG_IP'} = '';
+$cgiparams{'REMARK'} = '';
+$cgiparams{'OVERRIDE'} = 'off';
+$cgiparams{'ACTION'} = '';
+
+&Header::getcgihash(\%cgiparams);
+
+my $disable_all = "0";
+my $enable_all = "0";
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})
+{
+       &valaddupdate();
+       
+       # Darren Critchley - if there is an error, don't waste any more time processing
+       if ($errormessage) { goto ERROR; }
+       
+       open(FILE, $filename) or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+       my $key1 = 0; # used for finding last sequence number used 
+       foreach my $line (@current)
+       {
+               my @temp = split(/\,/,$line);
+
+               chomp ($temp[8]);
+               if ($cgiparams{'KEY2'} eq "0"){ # if key2 is 0 then it is a portfw addition
+                       if ( $cgiparams{'SRC_PORT'} eq $temp[3] &&
+                               $cgiparams{'PROTOCOL'} eq $temp[2] &&
+                               $cgiparams{'SRC_IP'} eq $temp[7])
+                       {
+                                $errormessage =  
+                                       "$Lang::tr{'source port in use'} $cgiparams{'SRC_PORT'}";
+                       }
+                       # Check if key2 = 0, if it is then it is a port forward entry and we want the sequence number
+                       if ( $temp[1] eq "0") {
+                               $key1=$temp[0];
+                       }
+                       # Darren Critchley - Duplicate or overlapping Port range check
+                       if ($temp[1] eq "0" && 
+                               $cgiparams{'PROTOCOL'} eq $temp[2] &&
+                               $cgiparams{'SRC_IP'} eq $temp[7] &&
+                               $errormessage eq '') 
+                       {
+                               &portchecks($temp[3], $temp[5]);
+                       }
+               } else {
+                       if ( $cgiparams{'KEY1'} eq $temp[0] &&
+                               $cgiparams{'ORIG_IP'} eq $temp[8])
+                       {
+                                $errormessage =  
+                                       "$Lang::tr{'source ip in use'} $cgiparams{'ORIG_IP'}";
+                       }
+               }
+       }
+
+ERROR:
+       unless ($errormessage)
+       {
+               # Darren Critchley - we only want to store ranges with Colons
+               $cgiparams{'SRC_PORT'} =~ tr/-/:/; 
+               $cgiparams{'DEST_PORT'} =~ tr/-/:/;
+
+               if ($cgiparams{'KEY1'} eq "0") { # 0 in KEY1 indicates it is a portfw add
+                       $key1++; # Add one to last sequence number
+                       open(FILE,">>$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                               if ($cgiparams{'ORIG_IP'} eq '0.0.0.0/0') {
+                                       # if the default/all is taken, then write it to the rule
+                                               print FILE "$key1,0,$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";
+                       } else { # else create an extra record so it shows up 
+                                       print FILE "$key1,0,$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},0,$cgiparams{'REMARK'}\n";
+                                               print FILE "$key1,1,$cgiparams{'PROTOCOL'},0,$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},0,$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";
+                                       }                       
+                       close(FILE);
+                       undef %cgiparams;
+                       &General::log($Lang::tr{'forwarding rule added'});
+                       system('/usr/local/bin/setportfw');
+               } else { # else key1 eq 0
+                       my $insertpoint = ($cgiparams{'KEY2'} - 1);
+                       open(FILE, ">$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       foreach my $line (@current) {
+                               chomp($line);
+                               my @temp = split(/\,/,$line);
+                               if ($cgiparams{'KEY1'} eq $temp[0] && $insertpoint eq $temp[1]) {
+                                       if ($temp[1] eq "0") { # this is the first xtaccess rule, therefore modify the portfw rule
+                                               $temp[8] = '0';
+                                       }
+                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";
+                                       print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$cgiparams{'PROTOCOL'},0,$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},0,$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";
+                               } else {
+                                       print FILE "$line\n";
+                               }
+                       }
+                       close(FILE);
+                       undef %cgiparams;
+                       &General::log($Lang::tr{'external access rule added'});
+                       system('/usr/local/bin/setportfw');
+               } # end if if KEY1 eq 0
+       } # end unless($errormessage)
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})
+{
+       &valaddupdate();
+       
+       # Darren Critchley - If there is an error don't waste any more processing time
+       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }
+
+       open(FILE, $filename) or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+       my $disabledpfw = '0';
+       my $lastpfw = '';
+       my $xtaccessdel = '0';
+       
+       foreach my $line (@current)
+       {
+               my @temp = split(/\,/,$line);
+               if ( $temp[1] eq "0" ) { # keep track of the last portfw and if it is enabled
+                       $disabledpfw = $temp[6];
+                       $lastpfw = $temp[0];
+               }               
+               chomp ($temp[8]);
+               if ( $cgiparams{'SRC_PORT'} eq $temp[3] &&
+                       $cgiparams{'PROTOCOL'} eq $temp[2] &&
+                       $cgiparams{'SRC_IP'} eq $temp[7])
+               {
+                        if ($cgiparams{'KEY1'} ne $temp[0] && $cgiparams{'KEY2'} eq "0")
+                        { 
+                        $errormessage =  
+                               "$Lang::tr{'source port in use'} $cgiparams{'SRC_PORT'}";
+                        }
+               }
+               if ($cgiparams{'ORIG_IP'} eq $temp[8]) 
+               {
+                        if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} ne $temp[1])
+                        # If we have the same source ip within a portfw group, then we have a problem!
+                        {
+                               $errormessage =  "$Lang::tr{'source ip in use'} $cgiparams{'ORIG_IP'}";
+                               $cgiparams{'ACTION'} = $Lang::tr{'edit'};
+                        }
+               }
+               
+               # Darren Critchley - Flag when a user disables an xtaccess
+               if ($cgiparams{'KEY1'} eq $temp[0] &&
+                               $cgiparams{'KEY2'} eq $temp[1] &&
+                               $cgiparams{'KEY2'} ne "0" && # if KEY2 is 0 then it is a portfw
+                               $cgiparams{'ENABLED'} eq "off" &&
+                               $temp[6] eq "on") { # we have determined that someone has turned an xtaccess off
+                       $xtaccessdel = "1";             
+               }
+               
+               # Darren Critchley - Portfw enabled, then enable xtaccess for all associated xtaccess records
+               if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'KEY2'} eq "0" && $cgiparams{'ENABLED'} ne $temp[6]) 
+               {
+                       $enable_all = "1";
+               } else {
+                       $enable_all = "0";
+               }
+               # Darren Critchley - Portfw disabled, then disable xtaccess for all associated xtaccess records
+               if ($cgiparams{'ENABLED'} eq "off" && $cgiparams{'KEY2'} eq "0") 
+               {
+                       $disable_all = "1";
+               } else {
+                       $disable_all = "0";
+               }
+
+               # Darren Critchley - if we are enabling an xtaccess, only allow if the associated Portfw is enabled
+               if ($cgiparams{'KEY1'} eq $lastpfw && $cgiparams{'KEY2'} ne "0") { # identifies an xtaccess record in the group
+                       if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'ENABLED'} ne $temp[6] ){ # a change has been made
+                               if ($disabledpfw eq "off")
+                               { 
+                                       $errormessage =  "$Lang::tr{'cant enable xtaccess'}";
+                                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};
+                               }
+                       }
+               }
+               
+               # Darren Critchley - rule to stop someone from entering ALL into a external access rule, 
+               # the portfw is the only place that ALL can be specified
+               if ($cgiparams{'KEY2'} ne "0" && $cgiparams{'ORIG_IP'} eq "0.0.0.0/0") {
+                       $errormessage =  "$Lang::tr{'xtaccess all error'}";
+                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};
+               }
+               
+               # Darren Critchley - Duplicate or overlapping Port range check
+               if ($temp[1] eq "0" &&
+                       $cgiparams{'KEY1'} ne $temp[0] && 
+                       $cgiparams{'PROTOCOL'} eq $temp[2] &&
+                       $cgiparams{'SRC_IP'} eq $temp[7] &&
+                       $errormessage eq '') 
+               {
+                               &portchecks($temp[3], $temp[5]);
+               } # end port testing
+               
+       }
+       
+       # Darren Critchley - if an xtaccess was disabled, now we need to check to see if it was the only xtaccess
+       if($xtaccessdel eq "1") {
+               my $xctr = 0;
+               foreach my $line (@current)
+               {
+                       my @temp = split(/\,/,$line);
+                       if($temp[0] eq $cgiparams{'KEY1'} &&
+                               $temp[6] eq "on") { # we only want to count the enabled xtaccess's
+                               $xctr++;
+                       }
+               }
+               if ($xctr == 2){
+                       $disable_all = "1";
+               }
+       }
+
+UPD_ERROR:
+       unless ($errormessage)
+       {
+               # Darren Critchley - we only want to store ranges with Colons
+               $cgiparams{'SRC_PORT'} =~ tr/-/:/; 
+               $cgiparams{'DEST_PORT'} =~ tr/-/:/;
+
+               open(FILE, ">$filename") or die 'Unable to open config file.';
+               flock FILE, 2;
+               foreach my $line (@current) {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1]) {
+               print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$cgiparams{'PROTOCOL'},$cgiparams{'SRC_PORT'},$cgiparams{'DEST_IP'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'SRC_IP'},$cgiparams{'ORIG_IP'},$cgiparams{'REMARK'}\n";
+                       } else {
+                               # Darren Critchley - If it is a port forward record, then chances are good that a change was made to 
+                               # Destination Ip or Port, and we need to update all the associated external access records
+                               if ($cgiparams{'KEY2'} eq "0" && $cgiparams{'KEY1'} eq $temp[0]) {
+                                       $temp[4] = $cgiparams{'DEST_IP'};
+                                       $temp[5] = $cgiparams{'DEST_PORT'};
+                                       $temp[2] = $cgiparams{'PROTOCOL'};
+                               }
+                               
+                               # Darren Critchley - If a Portfw has been disabled, then set all associated xtaccess as disabled
+                               if ( $disable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {
+                                       $temp[6] = 'off';
+                               }
+                               if ( $enable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {
+                                       $temp[6] = 'on';
+                               }
+                               # Darren Critchley - Deal with the override to allow ALL
+                               if ( $cgiparams{'OVERRIDE'} eq "on" && $temp[1] ne "0" && $cgiparams{'KEY1'} eq $temp[0] ) {
+                                       $temp[6] = 'off';
+                               }
+                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";
+                       }
+               }
+               close(FILE);
+               undef %cgiparams;
+               &General::log($Lang::tr{'forwarding rule updated'});
+               system('/usr/local/bin/setportfw');
+       } 
+       if ($errormessage) {
+       $cgiparams{'ACTION'} = $Lang::tr{'edit'};
+       }
+}
+
+# Darren Critchley - Allows rules to be enabled and disabled
+if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})
+{
+       open(FILE, $filename) or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+       my $disabledpfw = '0';
+       my $lastpfw = '';
+       my $xtaccessdel = '0';
+       
+       foreach my $line (@current)
+       {
+               my @temp = split(/\,/,$line);
+               if ( $temp[1] eq "0" ) { # keep track of the last portfw and if it is enabled
+                       $disabledpfw = $temp[6];
+                       $lastpfw = $temp[0];
+               }               
+               # Darren Critchley - Flag when a user disables an xtaccess
+               if ($cgiparams{'KEY1'} eq $temp[0] &&
+                               $cgiparams{'KEY2'} eq $temp[1] &&
+                               $cgiparams{'KEY2'} ne "0" && # if KEY2 is 0 then it is a portfw
+                               $cgiparams{'ENABLED'} eq "off" &&
+                               $temp[6] eq "on") { # we have determined that someone has turned an xtaccess off
+                       $xtaccessdel = "1";             
+               }
+               
+               # Darren Critchley - Portfw enabled, then enable xtaccess for all associated xtaccess records
+               if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'KEY2'} eq "0" && $cgiparams{'ENABLED'} ne $temp[6]) 
+               {
+                       $enable_all = "1";
+               } else {
+                       $enable_all = "0";
+               }
+               # Darren Critchley - Portfw disabled, then disable xtaccess for all associated xtaccess records
+               if ($cgiparams{'ENABLED'} eq "off" && $cgiparams{'KEY2'} eq "0") 
+               {
+                       $disable_all = "1";
+               } else {
+                       $disable_all = "0";
+               }
+
+               # Darren Critchley - if we are enabling an xtaccess, only allow if the associated Portfw is enabled
+               if ($cgiparams{'KEY1'} eq $lastpfw && $cgiparams{'KEY2'} ne "0") { # identifies an xtaccess record in the group
+                       if ($cgiparams{'ENABLED'} eq "on" && $cgiparams{'ENABLED'} ne $temp[6] ){ # a change has been made
+                               if ($disabledpfw eq "off")
+                               { 
+                                       $errormessage =  "$Lang::tr{'cant enable xtaccess'}";
+                                       goto TOGGLEEXIT;
+                               }
+                       }
+               }
+       }
+       
+       # Darren Critchley - if an xtaccess was disabled, now we need to check to see if it was the only xtaccess
+       if($xtaccessdel eq "1") {
+               my $xctr = 0;
+               foreach my $line (@current)
+               {
+                       my @temp = split(/\,/,$line);
+                       if($temp[0] eq $cgiparams{'KEY1'} &&
+                               $temp[6] eq "on") { # we only want to count the enabled xtaccess's
+                               $xctr++;
+                       }
+               }
+               if ($xctr == 2){
+                       $disable_all = "1";
+               }
+       }
+
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       foreach my $line (@current) {
+               chomp($line);
+               my @temp = split(/\,/,$line);
+               if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1]) {
+               print FILE "$cgiparams{'KEY1'},$cgiparams{'KEY2'},$temp[2],$temp[3],$temp[4],$temp[5],$cgiparams{'ENABLED'},$temp[7],$temp[8],$temp[9]\n";
+               } else {
+                       # Darren Critchley - If a Portfw has been disabled, then set all associated xtaccess as disabled
+                       if ( $disable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {
+                               $temp[6] = 'off';
+                       }
+                       if ( $enable_all eq "1" && $cgiparams{'KEY1'} eq $temp[0] ) {
+                               $temp[6] = 'on';
+                       }
+               print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";
+               }
+       }
+       close(FILE);
+       &General::log($Lang::tr{'forwarding rule updated'});
+       system('/usr/local/bin/setportfw');
+TOGGLEEXIT:
+       undef %cgiparams;
+} 
+
+
+# Darren Critchley - broke out Edit routine from the delete routine - Edit routine now just puts values in fields
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})
+{
+       open(FILE, "$filename") or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       unless ($errormessage)
+       {
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) {
+                               $cgiparams{'PROTOCOL'} = $temp[2];
+                               $cgiparams{'SRC_PORT'} = $temp[3];
+                               $cgiparams{'DEST_IP'} = $temp[4];
+                               $cgiparams{'DEST_PORT'} = $temp[5];
+                               $cgiparams{'ENABLED'} = $temp[6];
+                               $cgiparams{'SRC_IP'} = $temp[7];
+                               $cgiparams{'ORIG_IP'} = $temp[8];
+                               $cgiparams{'REMARK'} = $temp[9];
+                       }
+                       
+               }
+       }
+}
+
+# Darren Critchley - broke out Remove routine as the logic is getting too complex to be combined with the Edit
+if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
+{
+       open(FILE, "$filename") or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+       
+       # If the record being deleted is an xtaccess record, and it is the only one for a portfw record
+       # then we need to adjust the portfw record to be open to ALL ip addressess or an error will occur
+       # in setportfw.c
+       my $fixportfw = '0';
+       if ($cgiparams{'KEY2'} ne "0") {
+               my $counter = 0;
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($temp[0] eq $cgiparams{'KEY1'}) {
+                               $counter++;
+                       }
+               } 
+               if ($counter eq 2) {
+                       $fixportfw = '1';
+               }
+       }
+       
+       unless ($errormessage)
+       {
+               open(FILE, ">$filename") or die 'Unable to open config file.';
+               flock FILE, 2;
+               my $linedeleted = 0;
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+
+                       if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ||
+                               $cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq "0" ) 
+                       {
+                               $linedeleted = 1;
+                       } else {
+                               if ($temp[0] eq $cgiparams{'KEY1'} && $temp[1] eq "0" && $fixportfw eq "1") {
+                                       $temp[8] = '0.0.0.0/0';
+                               }
+                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7],$temp[8],$temp[9]\n";
+#                              print FILE "$line\n";
+                       }
+               }
+               close(FILE);
+               if ($linedeleted == 1) {
+                       &General::log($Lang::tr{'forwarding rule removed'});
+                       undef %cgiparams;
+               }
+               system('/usr/local/bin/setportfw');
+       }
+}
+
+# Darren Critchley - Added routine to allow external access rules to be added
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'})
+{
+       open(FILE, $filename) or die 'Unable to open config file.';
+       my @current = <FILE>;
+       close(FILE);
+       my $key = 0; # used for finding last sequence number used 
+       foreach my $line (@current)
+       {
+               my @temp = split(/\,/,$line);
+               if ($temp[0] eq $cgiparams{'KEY1'}) {
+                       $key = $temp[1]
+               }
+               if ($cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) {
+                       $cgiparams{'PROTOCOL'} = $temp[2];
+                       $cgiparams{'SRC_PORT'} = $temp[3];
+                       $cgiparams{'DEST_IP'} = $temp[4];
+                       $cgiparams{'DEST_PORT'} = $temp[5];
+                       $cgiparams{'ENABLED'} = $temp[6];
+                       $cgiparams{'SRC_IP'} = $temp[7];
+                       $cgiparams{'ORIG_IP'} = '';
+                       $cgiparams{'REMARK'} = $temp[9];
+               }
+       }
+       $key++;
+       $cgiparams{'KEY2'} = $key;
+       # Until the ADD button is hit, there needs to be no change to portfw rules
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})
+{
+       undef %cgiparams;
+}
+
+if ($cgiparams{'ACTION'} eq '')
+{
+       $cgiparams{'PROTOCOL'} = 'tcp';
+       $cgiparams{'ENABLED'} = 'on';
+       $cgiparams{'SRC_IP'} = '0.0.0.0';
+}
+
+$selected{'PROTOCOL'}{'udp'} = '';
+$selected{'PROTOCOL'}{'tcp'} = '';
+$selected{'PROTOCOL'}{'gre'} = '';
+$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";
+
+$selected{'SRC_IP'}{$cgiparams{'SRC_IP'}} = "selected='selected'";
+
+$checked{'ENABLED'}{'off'} = '';
+$checked{'ENABLED'}{'on'} = '';  
+$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'port forwarding configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'><font color='${Header::colourred}'>$errormessage\n</font>";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});
+} else {
+       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY2'} ne "0" || $cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'}){ 
+# if it is not a port forward record, don't validate as the fields are disabled
+       my $PROT = "\U$cgiparams{'PROTOCOL'}\E";
+       # Darren Critchley - Format the source and destination ports
+       my $dstprt = $cgiparams{'DEST_PORT'};
+       $dstprt =~ s/-/ - /;
+       $dstprt =~ s/:/ - /;
+
+print <<END
+<table>
+       <tr>
+               <td class='base'>$Lang::tr{'protocol'}: <b>$PROT</b></td>
+               <td width='20'>&nbsp;</td>
+               <td class='base' align='right'>$Lang::tr{'destination ip'}:&nbsp;</td>
+               <td><b>$cgiparams{'DEST_IP'}</b></td>
+               <td width='20'>&nbsp;</td>
+               <td class='base' align='right'>$Lang::tr{'destination port'}:&nbsp;</td>
+               <td><b>$dstprt</b></td>
+       </tr>
+</table>
+
+<input type='hidden' name='PROTOCOL' value='$cgiparams{'PROTOCOL'}' />
+<input type='hidden' name='SRC_IP' value='$cgiparams{'SRC_IP'}' />
+<input type='hidden' name='SRC_PORT' value='$cgiparams{'SRC_PORT'}' />
+<input type='hidden' name='DEST_IP' value='$cgiparams{'DEST_IP'}' />
+<input type='hidden' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' />
+END
+;
+} else {
+print <<END
+<table width='100%'>
+       <tr>
+               <td width='10%'>$Lang::tr{'protocol'}:&nbsp;</td>
+               <td width='15%'> 
+               <select name='PROTOCOL'>
+                       <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>
+                       <option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
+                       <option value='gre' $selected{'PROTOCOL'}{'gre'}>GRE</option>
+               </select>
+               </td>
+               <td class='base' width='20%'><font color='${Header::colourred}'>$Lang::tr{'alias ip'}:</font></td>
+               <td>
+                       <select name='SRC_IP'>
+                       <option value='0.0.0.0' $selected{'SRC_IP'}{'0.0.0.0'}>DEFAULT IP</option>
+END
+;
+open(ALIASES, "$aliasfile") or die 'Unable to open aliases file.';
+while (<ALIASES>)
+{
+       chomp($_);
+       my @temp = split(/\,/,$_);
+       if ($temp[1] eq 'on') {
+               print "<option value='$temp[0]' $selected{'SRC_IP'}{$temp[0]}>$temp[0]";
+               if (defined $temp[2] and ($temp[2] ne '')) { print " ($temp[2])"; }
+               print "</option>\n";
+       }
+}
+close(ALIASES);
+print <<END
+                       </select>
+               </td>
+               <td class='base' width='20%'><font color='${Header::colourred}'>$Lang::tr{'source port'}:</font></td>
+               <td width='10%'><input type='text' name='SRC_PORT' value='$cgiparams{'SRC_PORT'}' size='8' /></td>
+       </tr>
+       <tr>
+               <td class='base'>&nbsp;</td>
+               <td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'destination ip'}:</td>
+               <td><input type='text' name='DEST_IP' value='$cgiparams{'DEST_IP'}' size='15' /></td>
+               <td class='base'>$Lang::tr{'destination port'}:</td>
+               <td><input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='8' /></td>
+       </tr>
+</table>
+END
+;
+}
+
+print <<END
+<table>
+       <tr>
+               <td class='base'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' />&nbsp;</td>
+               <td><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td>
+END
+;
+unless ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'} && $cgiparams{'ENABLED'} eq "off") {
+       print "<td width='20'>&nbsp;</td>";
+       print "<td>$Lang::tr{'enabled'}&nbsp;</td><td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\n";
+}
+print <<END
+       </tr>
+</table>
+END
+;
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY2'} eq "0" && ($cgiparams{'ORIG_IP'} eq "0" || $cgiparams{'ORIG_IP'} eq "0.0.0.0/0")){ 
+# if it is a port forward rule with a 0 in the orig_port field, this means there are xtaccess records, and we
+# don't want to allow a person to change the orig_ip field as it will mess other logic up
+       print "<input type='hidden' name='ORIG_IP' value='$cgiparams{'ORIG_IP'}' />\n";
+} else {
+print <<END
+<table>
+       <tr>
+               <td class='base'><font class='boldbase' color='${Header::colourred}'>$Lang::tr{'source network'}</font>&nbsp;<img src='/blob.gif' alt='*' />&nbsp;</td>
+               <td><input type='text' name='ORIG_IP' value='$cgiparams{'ORIG_IP'}' size='15' /></td>
+       </tr>
+</table>
+END
+;
+}
+
+print <<END
+<table width='100%'>
+       <hr />
+       <tr>
+               <td class='base' width='25%'><img src='/blob.gif' alt ='*' align='top' />&nbsp;<font class='base'>$Lang::tr{'this field may be blank'}</font></td>
+END
+;
+
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+       if($cgiparams{'KEY2'} eq "0"){
+               print "<td width='35%' align='right'>$Lang::tr{'open to all'}:&nbsp;</td><td width='5%'><input type='checkbox' name='OVERRIDE' $checked{'OVERRIDE'}{'on'} /></td>\n";
+       } else {
+               print "<td width='40%'>&nbsp;</td>\n";
+       }
+       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' />";
+       print "<input type='hidden' name='KEY1' value='$cgiparams{'KEY1'}' />";
+       print "<input type='hidden' name='KEY2' value='$cgiparams{'KEY2'}' /></TD>";
+       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";
+       # on an edit and an xtaccess add, for some reason the "Reset" button stops working, so I make it a submit button
+} else {
+       print "<td width='30%'>&nbsp;</td>\n";
+       print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td>";
+       if ($cgiparams{'ACTION'} eq $Lang::tr{'add xtaccess'}) {
+               print "<td align='center' width='15%'><input type='hidden' name='KEY1' value='$cgiparams{'KEY1'}' />";
+               print "<input type='hidden' name='KEY2' value='$cgiparams{'KEY2'}' />";
+               print "<input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";
+       } elsif ($errormessage ne '') {
+               print "<td align='center' width='15%'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></td>";
+       } else {
+               print "<td align='center' width='15%'><input type='reset' name='ACTION' value='$Lang::tr{'reset'}' /></td>";
+       }
+}
+print <<END
+       <td width='5%' align='right'>
+               <a href='${General::adminmanualurl}/section-firewall.html#section-port-forwarding' target='_blank'>
+               <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>
+       </tr>
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'current rules'});
+print <<END
+<table width='100%'>
+<tr>
+<td width='7%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>
+<td width='31%' class='boldbase' align='center'><b>$Lang::tr{'source'}</b></td>
+<td width='2%' class='boldbase' align='center'>&nbsp;</td>
+<td width='31%' class='boldbase' align='center'><b>$Lang::tr{'destination'}</b></td>
+<td width='24%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>
+<td width='4%' class='boldbase' colspan='4' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+my $id = 0;
+my $xtaccesscolor = '#F6F4F4';
+open(RULES, "$filename") or die 'Unable to open config file.';
+while (<RULES>)
+{
+       my $protocol = '';
+       my $gif = '';
+       my $gdesc = '';
+       my $toggle = '';
+       chomp($_);
+       my @temp = split(/\,/,$_);
+       $temp[9] ='' unless defined $temp[9];# Glles ESpinasse : suppress warning on page init
+       if ($temp[2] eq 'udp') {
+               $protocol = 'UDP'; }
+       elsif ($temp[2] eq 'gre') {
+               $protocol = 'GRE' }
+       else {
+               $protocol = 'TCP' }
+       # Change bgcolor when a new portfw rule is added
+       if ($temp[1] eq "0"){
+               $id++;
+       }
+       # Darren Critchley highlight the row we are editing
+       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY1'} eq $temp[0] && $cgiparams{'KEY2'} eq $temp[1] ) { 
+               print "<tr bgcolor='${Header::colouryellow}'>\n";
+       } else {
+               if ($id % 2) {
+                       print "<tr bgcolor='${Header::table1colour}'>\n"; 
+               }
+               else {
+                       print "<tr bgcolor='${Header::table2colour}'>\n";
+               }
+       }
+       
+       if ($temp[6] eq 'on') { $gif = 'on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}
+               else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }
+
+               # Darren Critchley - this code no longer works - should we remove?
+       # catch for 'old-style' rules file - assume default ip if
+       # none exists
+       if (!&General::validip($temp[7]) || $temp[7] eq '0.0.0.0') {
+               $temp[7] = 'DEFAULT IP'; }
+               if ($temp[1] eq '0') { # Port forwarding entry
+
+               # Darren Critchley - Format the source and destintation ports
+               my $srcprt = $temp[3];
+               $srcprt =~ s/-/ - /;
+               $srcprt =~ s/:/ - /;
+               my $dstprt = $temp[5];
+               $dstprt =~ s/-/ - /;
+               $dstprt =~ s/:/ - /;
+
+               # Darren Critchley - Get Port Service Name if we can - code borrowed from firewalllog.dat
+               $_=$temp[3];
+               if (/^\d+$/) {
+                       my $servi = uc(getservbyport($temp[3], lc($temp[2])));
+                       if ($servi ne '' && $temp[3] < 1024) {
+                               $srcprt = "$srcprt($servi)"; }
+               }
+               $_=$temp[5];
+               if (/^\d+$/) {
+                       my $servi = uc(getservbyport($temp[5], lc($temp[2])));
+                       if ($servi ne '' && $temp[5] < 1024) {
+                               $dstprt = "$dstprt($servi)"; }
+               }
+
+               # Darren Critchley - If the line is too long, wrap the port numbers
+               my $srcaddr = "$temp[7] : $srcprt";
+               if (length($srcaddr) > 22) {
+                       $srcaddr = "$temp[7] :<br /> $srcprt";
+               }
+               my $dstaddr = "$temp[4] : $dstprt";
+               if (length($dstaddr) > 26) {
+                       $dstaddr = "$temp[4] :<br /> $dstprt";
+               }
+print <<END
+<td align='center'>$protocol</td>
+<td align='center'>$srcaddr</td>
+<td align='center'><img src='/images/forward.gif' alt='=&gt;' /></td>
+<td align='center'>$dstaddr</td>
+<td align='left'>&nbsp;$temp[9]</td>
+<td align='center'>
+       <form method='post' name='frm$temp[0]c' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       <input type='hidden' name='ENABLED' value='$toggle' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'add xtaccess'}' />
+       <input type='image' name='$Lang::tr{'add xtaccess'}' src='/images/add.gif' alt='$Lang::tr{'add xtaccess'}' title='$Lang::tr{'add xtaccess'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]b' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       </form>
+</td>
+
+</tr>
+END
+       ;
+       } else { # external access entry
+print <<END
+<td align='center'>&nbsp;</td>
+
+<td align='left' colspan='4'>&nbsp;<font color='${Header::colourred}'>$Lang::tr{'access allowed'}</font> $temp[8]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;($temp[9])</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]$temp[1]t' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$Lang::tr{'toggle enable disable'}' title='$Lang::tr{'toggle enable disable'}' />
+       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       <input type='hidden' name='ENABLED' value='$toggle' />
+       </form>
+</td>
+
+<td align='center'>&nbsp;</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]$temp[1]' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frm$temp[0]b$temp[1]b' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+       <input type='hidden' name='KEY1' value='$temp[0]' />
+       <input type='hidden' name='KEY2' value='$temp[1]' />
+       </form>
+</td>
+
+</tr>
+END
+       ;
+       }
+}
+
+close(RULES);
+
+print "</table>";
+
+# If the fixed lease file contains entries, print Key to action icons
+if ( ! -z "$filename") {
+print <<END
+<table>
+<tr>
+       <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+       <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/add.gif' alt='$Lang::tr{'add xtaccess'}' /></td>
+       <td class='base'>$Lang::tr{'add xtaccess'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp;&nbsp;</td>
+       <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+# Validate Field Entries
+sub validateparams 
+{
+       # Darren Critchley - Get rid of dashes in port ranges
+       $cgiparams{'DEST_PORT'}=~ tr/-/:/;
+       $cgiparams{'SRC_PORT'}=~ tr/-/:/;
+       
+       # Darren Critchley - code to substitue wildcards
+       if ($cgiparams{'SRC_PORT'} eq "*") {
+               $cgiparams{'SRC_PORT'} = "1:65535";
+       }
+       if ($cgiparams{'SRC_PORT'} =~ /^(\D)\:(\d+)$/) {
+               $cgiparams{'SRC_PORT'} = "1:$2";
+       }
+       if ($cgiparams{'SRC_PORT'} =~ /^(\d+)\:(\D)$/) {
+               $cgiparams{'SRC_PORT'} = "$1:65535";
+       }
+       if ($cgiparams{'DEST_PORT'} eq "*") {
+               $cgiparams{'DEST_PORT'} = "1:65535";
+       }
+       if ($cgiparams{'DEST_PORT'} =~ /^(\D)\:(\d+)$/) {
+               $cgiparams{'DEST_PORT'} = "1:$2";
+       }
+       if ($cgiparams{'DEST_PORT'} =~ /^(\d+)\:(\D)$/) {
+               $cgiparams{'DEST_PORT'} = "$1:65535";
+       }
+
+       # Darren Critchley - Add code for GRE protocol - we want to ignore ports, but we need a place holder
+       if ($cgiparams{'PROTOCOL'} eq 'gre') {
+               $cgiparams{'SRC_PORT'} = "GRE";
+               $cgiparams{'DEST_PORT'} = "GRE";
+       }
+
+       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp|gre)$/) { $errormessage = $Lang::tr{'invalid input'}; }
+       # Darren Critchley - Changed how the error routine works a bit - for the validportrange check, we need to 
+       # pass in src or dest to determine which side we are working with.
+       # the routine returns the complete error or ''
+       if ($cgiparams{'PROTOCOL'} ne 'gre') {
+               $errormessage = &General::validportrange($cgiparams{'SRC_PORT'}, 'src');
+       }
+       if( ($cgiparams{'ORIG_IP'} ne "0" && $cgiparams{'KEY2'} ne "0") || $cgiparams{'ACTION'} eq $Lang::tr{'add'}) { 
+       # if it is a port forward record with 0 in orig_ip then ignore checking this field
+               unless(&General::validipormask($cgiparams{'ORIG_IP'}))
+               {
+                       if ($cgiparams{'ORIG_IP'} ne '') {
+                               $errormessage = $Lang::tr{'source ip bad'}; }
+                       else {
+                               $cgiparams{'ORIG_IP'} = '0.0.0.0/0'; }
+               }
+       }
+       # Darren Critchey - New rule that sets destination same as source if dest_port is blank.
+       if ($cgiparams{'DEST_PORT'} eq ''){
+               $cgiparams{'DEST_PORT'} = $cgiparams{'SRC_PORT'};
+       }
+       # Darren Critchey - Just in case error message is already set, this routine would wipe it out if
+       # we don't do a test here
+       if ($cgiparams{'PROTOCOL'} ne 'gre') {
+               unless($errormessage) {$errormessage = &General::validportrange($cgiparams{'DEST_PORT'}, 'dest');}
+       }
+       unless(&General::validip($cgiparams{'DEST_IP'})) { $errormessage = $Lang::tr{'destination ip bad'}; }
+       return;
+}
+
+# Darren Critchley - we want to make sure that a port range does not overlap another port range
+sub checkportoverlap
+{
+       my $portrange1 = $_[0]; # New port range
+       my $portrange2 = $_[1]; # existing port range
+       my @tempr1 = split(/\:/,$portrange1);
+       my @tempr2 = split(/\:/,$portrange2);
+
+       unless (&checkportinc($tempr1[0], $portrange2)){ return 0;}
+       unless (&checkportinc($tempr1[1], $portrange2)){ return 0;}
+       
+       unless (&checkportinc($tempr2[0], $portrange1)){ return 0;}
+       unless (&checkportinc($tempr2[1], $portrange1)){ return 0;}
+
+       return 1; # Everything checks out!
+}
+
+# Darren Critchley - we want to make sure that a port entry is not within an already existing range
+sub checkportinc
+{
+       my $port1 = $_[0]; # Port
+       my $portrange2 = $_[1]; # Port range
+       my @tempr1 = split(/\:/,$portrange2);
+
+       if ($port1 < $tempr1[0] || $port1 > $tempr1[1]) {
+               return 1; 
+       } else {
+               return 0; 
+       }
+}
+
+# Darren Critchley - certain ports are reserved for Ipcop 
+# TCP 67,68,81,222,445
+# UDP 67,68
+# Params passed in -> port, rangeyn, protocol
+sub disallowreserved
+{
+       # port 67 and 68 same for tcp and udp, don't bother putting in an array
+       my $msg = "";
+       my @tcp_reserved = (81,222,444);
+       my $prt = $_[0]; # the port or range
+       my $ryn = $_[1]; # tells us whether or not it is a port range
+       my $prot = $_[2]; # protocol
+       my $srcdst = $_[3]; # source or destination
+       
+       if ($ryn) { # disect port range
+               if ($srcdst eq "src") {
+                       $msg = "$Lang::tr{'rsvd src port overlap'}";
+               } else {
+                       $msg = "$Lang::tr{'rsvd dst port overlap'}";
+               }
+               my @tmprng = split(/\:/,$prt);
+               unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; }
+               unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; }
+               if ($prot eq "tcp") {
+                       foreach my $prange (@tcp_reserved) {
+                               unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; }
+                       }
+               }
+       } else {
+               if ($srcdst eq "src") {
+                       $msg = "$Lang::tr{'reserved src port'}";
+               } else {
+                       $msg = "$Lang::tr{'reserved dst port'}";
+               }
+               if ($prt == 67) { $errormessage="$msg 67"; return; }
+               if ($prt == 68) { $errormessage="$msg 68"; return; }
+               if ($prot eq "tcp") {
+                       foreach my $prange (@tcp_reserved) {
+                               if ($prange == $prt) { $errormessage="$msg $prange"; return; }
+                       }
+               }
+       }
+       return;
+}
+
+# Darren Critchley - Attempt to combine Add/Update validation as they are almost the same
+sub valaddupdate
+{
+       if ($cgiparams{'KEY2'} eq "0"){ # if it is a port forward rule, then validate properly
+               &validateparams();
+       } else { # it is an xtaccess rule, just check for a valid ip
+               unless(&General::validipormask($cgiparams{'ORIG_IP'}))
+               {
+                       if ($cgiparams{'ORIG_IP'} ne '') {
+                               $errormessage = $Lang::tr{'source ip bad'}; }
+                       else { # this rule stops someone from adding an ALL xtaccess record
+                               $errormessage = $Lang::tr{'xtaccess all error'}; 
+                               $cgiparams{'ACTION'} = $Lang::tr{'add xtaccess'};
+                       }
+               }
+               # Darren Critchley - check for 0.0.0.0/0 - not allowed for xtaccess
+               if ($cgiparams{'ORIG_IP'} eq "0.0.0.0/0" || $cgiparams{'ORIG_IP'} eq "0.0.0.0") {
+                       $errormessage = $Lang::tr{'xtaccess all error'}; 
+                       $cgiparams{'ACTION'} = $Lang::tr{'add xtaccess'};
+               }
+       }
+       # Darren Critchley - Remove commas from remarks
+       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
+
+       # Darren Critchley - Check to see if we are working with port ranges
+       our ($prtrange1, $prtrange2);
+       $_ = $cgiparams{'SRC_PORT'};
+       if ($cgiparams{'KEY2'} eq "0" && m/:/){
+               $prtrange1 = 1;
+       }
+       if ($cgiparams{'SRC_IP'} eq '0.0.0.0') { # Dave Roberts - only check if using DEFAULT IP
+               if ($prtrange1 == 1){ # check for source ports reserved for Ipcop
+                       &disallowreserved($cgiparams{'SRC_PORT'},1,$cgiparams{'PROTOCOL'},"src");
+                       if ($errormessage) { goto EXITSUB; }
+               } else { # check for source port reserved for Ipcop
+                       &disallowreserved($cgiparams{'SRC_PORT'},0,$cgiparams{'PROTOCOL'},"src");
+                       if ($errormessage) { goto EXITSUB; }
+               }
+       }
+       
+       $_ = $cgiparams{'DEST_PORT'};
+       if ($cgiparams{'KEY2'} eq "0" && m/:/){
+               $prtrange2 = 1;
+       }
+       if ($cgiparams{'SRC_IP'} eq '0.0.0.0') { # Dave Roberts - only check if using DEFAULT IP
+               if ($prtrange2 == 1){ # check for destination ports reserved for IPCop
+                       &disallowreserved($cgiparams{'DEST_PORT'},1,$cgiparams{'PROTOCOL'},"dst");
+                       if ($errormessage) { goto EXITSUB; }
+               } else { # check for destination port reserved for IPCop
+                       &disallowreserved($cgiparams{'DEST_PORT'},0,$cgiparams{'PROTOCOL'},"dst");
+                       if ($errormessage) { goto EXITSUB; }
+               }
+       }
+       
+
+EXITSUB:
+       return;
+}
+
+# Darren Critchley - Duplicate or overlapping Port range check
+sub portchecks
+{
+       $_ = $_[0];
+       our ($prtrange1, $prtrange2);
+       if (m/:/ && $prtrange1 == 1) { # comparing two port ranges
+               unless (&checkportoverlap($cgiparams{'SRC_PORT'},$_[0])) {
+                       $errormessage = "$Lang::tr{'source port overlaps'} $_[0]";
+               }
+       }
+       if (m/:/ && $prtrange1 == 0 && $errormessage eq '') { # compare one port to a range
+               unless (&checkportinc($cgiparams{'SRC_PORT'}, $_[0])) {
+                       $errormessage = "$Lang::tr{'srcprt within existing'} $_[0]";
+               }
+       }
+       if (! m/:/ && $prtrange1 == 1 && $errormessage eq '') { # compare one port to a range
+               unless (&checkportinc($_[0], $cgiparams{'SRC_PORT'})) {
+                       $errormessage = "$Lang::tr{'srcprt range overlaps'} $_[0]";
+               }
+       }
+
+       if ($errormessage eq ''){
+               $_ = $_[1];
+               if (m/:/ && $prtrange2 == 1) { # if true then there is a port range
+                       unless (&checkportoverlap($cgiparams{'DEST_PORT'},$_[1])) {
+                               $errormessage = "$Lang::tr{'destination port overlaps'} $_[1]";
+                       }
+               }
+               if (m/:/ && $prtrange2 == 0 && $errormessage eq '') { # compare one port to a range
+                       unless (&checkportinc($cgiparams{'DEST_PORT'}, $_[1])) {
+                               $errormessage = "$Lang::tr{'dstprt within existing'} $_[1]";
+                       }
+               }
+               if (! m/:/ && $prtrange2 == 1 && $errormessage eq '') { # compare one port to a range
+                       unless (&checkportinc($_[1], $cgiparams{'DEST_PORT'})) {
+                               $errormessage = "$Lang::tr{'dstprt range overlaps'} $_[1]";
+                       }
+               }
+       }
+       return;
+}
index 62c3e5dee8c85090fe0077fe3b9a928566bf56bf..4bd8d6b97a6981a94d2b6e4208ef6e55e25fb45d 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# Copyright (C) 03-Apr-2002 Guy Ellis <guy@traverse.com.au>\r
-#              - ISDN DOV support\r
-#              - ibod now an option\r
-#             - PCI ADSL support added\r
-#\r
-# $Id: pppsetup.cgi,v 1.17.2.49 2005/12/01 16:20:35 franck78 Exp $\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-our %pppsettings=();\r
-my %temppppsettings=();\r
-our %modemsettings=();\r
-our %isdnsettings=();\r
-our %netsettings=();\r
-my %selected=();\r
-my %checked=();\r
-my @profilenames=();\r
-my $errormessage = '';\r
-my $maxprofiles = 5;\r
-my $kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;\r
-\r
-&Header::showhttpheaders();\r
-\r
-$pppsettings{'ACTION'} = '';\r
-&initprofile();\r
-&Header::getcgihash(\%pppsettings);\r
-\r
-if ($pppsettings{'ACTION'} ne '' &&\r
-       (-e '/var/run/ppp-ipcop.pid' || -e "${General::swroot}/red/active"))\r
-{\r
-       $errormessage = $Lang::tr{'unable to alter profiles while red is active'};\r
-       # read in the current vars\r
-       %pppsettings = ();\r
-       $pppsettings{'VALID'} = '';\r
-       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-}\r
-elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'})\r
-{\r
-       unless ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn|pppoe|pptp|alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-       my $type = $pppsettings{'TYPE'};\r
-       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-       $pppsettings{'TYPE'} = $type;\r
-}\r
-elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'})\r
-{\r
-       if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|usb\/ttyACM0|usb\/ttyACM1|usb\/ttyACM2|usb\/ttyACM3|isdn1|isdn2)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-       if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-       if ($pppsettings{'TYPE'} eq 'modem' && $pppsettings{'DIALMODE'} !~ /^(T|P)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-       if ($pppsettings{'AUTH'} !~ /^(pap-or-chap|pap|chap|standard-login-script|demon-login-script|other-login-script)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR;\r
-       }\r
-\r
-       if ($pppsettings{'PROFILENAME'} eq '') {\r
-               $errormessage = $Lang::tr{'profile name not given'};\r
-               $pppsettings{'PROFILENAME'} = '';\r
-               goto ERROR; }\r
-       if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/) {\r
-               if ($pppsettings{'TELEPHONE'} eq '') {\r
-                       $errormessage = $Lang::tr{'telephone not set'}; \r
-                       goto ERROR; }\r
-               if (!($pppsettings{'TELEPHONE'} =~ /^[\d\*\#\,]+$/)) {\r
-                       $errormessage = $Lang::tr{'bad characters in the telephone number field'};\r
-                       goto ERROR; }\r
-       }\r
-       unless (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} =~ /^(STATIC|DHCP)$/)) {\r
-               if ($pppsettings{'USERNAME'} eq '') {\r
-                       $errormessage = $Lang::tr{'username not set'}; \r
-                       goto ERROR; }\r
-               if ($pppsettings{'PASSWORD'} eq '') {\r
-                       $errormessage = $Lang::tr{'password not set'};\r
-                       goto ERROR; }\r
-       }\r
-\r
-       if ($pppsettings{'TIMEOUT'} eq '') {\r
-               $errormessage = $Lang::tr{'idle timeout not set'};\r
-               goto ERROR; }\r
-       if (!($pppsettings{'TIMEOUT'} =~ /^\d+$/)) {\r
-               $errormessage = $Lang::tr{'only digits allowed in the idle timeout'};\r
-               goto ERROR; }\r
-\r
-       if ($pppsettings{'LOGINSCRIPT'} =~ /[.\/ ]/ ) {\r
-               $errormessage = $Lang::tr{'bad characters in script field'}; \r
-               goto ERROR; }\r
-\r
-       if ($pppsettings{'DNS1'})\r
-       {\r
-               if (!(&General::validip($pppsettings{'DNS1'}))) {\r
-                       $errormessage = $Lang::tr{'invalid primary dns'};\r
-                       goto ERROR;  }\r
-       }\r
-       if ($pppsettings{'DNS2'})\r
-       {\r
-               if (!(&General::validip($pppsettings{'DNS2'}))) {\r
-                       $errormessage = $Lang::tr{'invalid secondary dns'};\r
-                       goto ERROR; }\r
-       }\r
-\r
-       if ($pppsettings{'MAXRETRIES'} eq '') {\r
-               $errormessage = $Lang::tr{'max retries not set'};\r
-               goto ERROR; }\r
-       if (!($pppsettings{'MAXRETRIES'} =~ /^\d+$/)) {\r
-               $errormessage = $Lang::tr{'only digits allowed in max retries field'};\r
-               goto ERROR; }\r
-\r
-       if (!($pppsettings{'HOLDOFF'} =~ /^\d+$/)) {\r
-               $errormessage = $Lang::tr{'only digits allowed in holdoff field'};\r
-               goto ERROR; }\r
-\r
-       my $drivererror = 0;\r
-       if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk)$/) {\r
-               my $modem = '';\r
-               my $speedtouch = &Header::speedtouchversion;\r
-               if ($speedtouch >=0 && $speedtouch <=4) {\r
-                       if ($speedtouch ==4) { $modem='v4_b'; } else { $modem='v0123'; }\r
-                       $pppsettings{'MODEM'} = $modem;\r
-               } else {\r
-                       $modem='v0123';\r
-                       $errormessage ="$Lang::tr{'unknown'} Rev $speedtouch";\r
-                       goto ERROR;\r
-               }\r
-               if (! -e "${General::swroot}/alcatelusb/firmware.$modem.bin") {\r
-                       $errormessage = $Lang::tr{'no alcatelusb firmware'};\r
-                       $drivererror = 1;\r
-                       goto ERROR;\r
-               }\r
-       }\r
-\r
-       if($pppsettings{'TYPE'} eq 'eciadsl' && (!(-e "${General::swroot}/eciadsl/synch.bin"))) {\r
-               $errormessage = $Lang::tr{'no eciadsl synch.bin file'};\r
-               $drivererror = 1;\r
-               goto ERROR; }\r
-\r
-       if($pppsettings{'TYPE'} eq 'fritzdsl' && (!(-e "/lib/modules/$kernel/misc/fcdslusb.o.gz"))) {\r
-               $errormessage = $Lang::tr{'no fritzdsl driver'};\r
-               $drivererror = 1;\r
-               goto ERROR; }\r
-\r
-       if( $pppsettings{'USEIBOD'} eq 'on' && $pppsettings{'COMPORT'} eq 'isdn1') {\r
-               $errormessage = $Lang::tr{'ibod for dual isdn only'};\r
-               goto ERROR; }\r
-\r
-       if ($pppsettings{'TYPE'} eq 'pptp') {\r
-               $errormessage = '';\r
-               if ($pppsettings{'METHOD'} eq 'STATIC') {\r
-                       if (! &General::validip($pppsettings{'ROUTERIP'})) {\r
-                               $errormessage = $Lang::tr{'router ip'}.' '.$Lang::tr{'invalid ip'};\r
-                       }\r
-               } else {\r
-                       if (($pppsettings{'DHCP_HOSTNAME'} ne '') && (! &General::validfqdn($pppsettings{'DHCP_HOSTNAME'})) ) {\r
-                               $errormessage = $errormessage.' '.$Lang::tr{'hostname'}.' '.$Lang::tr{'invalid hostname'};\r
-                       }\r
-               }\r
-               if ($errormessage ne '') {goto ERROR; }\r
-       }\r
-\r
-       if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/) {\r
-               if ( ($pppsettings{'VPI'} eq '') || ($pppsettings{'VCI'} eq '') ) {\r
-                       $errormessage = $Lang::tr{'invalid vpi vpci'};\r
-                       goto ERROR; }\r
-               if ( (!($pppsettings{'VPI'} =~ /^\d+$/)) || (!($pppsettings{'VCI'} =~ /^\d+$/)) ) {\r
-                       $errormessage = $Lang::tr{'invalid vpi vpci'};\r
-                       goto ERROR; }\r
-               if (($pppsettings{'VPI'} eq '0') && ($pppsettings{'VCI'} eq '0')) {\r
-                       $errormessage = $Lang::tr{'invalid vpi vpci'};\r
-                       goto ERROR; }\r
-               if ( $pppsettings{'PROTOCOL'} eq '' ) {\r
-                       $errormessage = $Lang::tr{'invalid input'};\r
-                       goto ERROR; }\r
-       }\r
-\r
-       if ( ($pppsettings{'PROTOCOL'} eq 'RFC1483') && ($pppsettings{'METHOD'} eq '') && \\r
-               ($pppsettings{'TYPE'} !~ /^(alcatelusb|fritzdsl)$/)) {\r
-                       $errormessage = $Lang::tr{'invalid input'};\r
-                       goto ERROR; }\r
-\r
-       if (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} eq 'DHCP')) {\r
-               if ($pppsettings{'DHCP_HOSTNAME'} ne '') {\r
-                       if (! &General::validfqdn($pppsettings{'DHCP_HOSTNAME'})) {\r
-                               $errormessage = $errormessage.' '.$Lang::tr{'hostname'}.': '.$Lang::tr{'invalid hostname'}; }\r
-               }\r
-       }\r
-\r
-       if (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} eq 'STATIC')) {\r
-               $errormessage = '';\r
-               if (! &General::validip($pppsettings{'IP'})) {\r
-                       $errormessage = $Lang::tr{'static ip'}.' '.$Lang::tr{'invalid ip'}; }\r
-               if (! &General::validip($pppsettings{'GATEWAY'})) {\r
-                       $errormessage = $errormessage.' '.$Lang::tr{'gateway ip'}.' '.$Lang::tr{'invalid ip'}; }\r
-               if (! &General::validmask($pppsettings{'NETMASK'})) {\r
-                       $errormessage = $errormessage.' '.$Lang::tr{'netmask'}.' '.$Lang::tr{'invalid netmask'}; }\r
-               if ($pppsettings{'BROADCAST'} ne '') {\r
-                       if (! &General::validip($pppsettings{'BROADCAST'})) {\r
-                                $errormessage = $errormessage.' '.$Lang::tr{'broadcast'}.' '.$Lang::tr{'invalid broadcast ip'}; }\r
-               }\r
-               if( $pppsettings{'DNS'} eq 'Automatic') {\r
-                       $errormessage = $Lang::tr{'invalid input'}; }\r
-               if ($errormessage ne '') {goto ERROR; }\r
-       }\r
-\r
-       if( $pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} ne 'PPPOE'  && \\r
-               $pppsettings{'RECONNECTION'} eq 'dialondemand' ) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR; }\r
-\r
-       if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && `/bin/cat ${General::swroot}/ddns/config` =~ /,on$/m ) {\r
-               $errormessage = $Lang::tr{'dod not compatible with ddns'};\r
-               goto ERROR; }\r
-\r
-       if ( ($pppsettings{'TYPE'} =~ /^(bewanadsl)$/) && $pppsettings{'MODEM'} eq '') {\r
-               $errormessage = $Lang::tr{'no modem selected'};\r
-               goto ERROR; }\r
-\r
-       if( $pppsettings{'PROTOCOL'} eq 'RFC1483') {\r
-               $pppsettings{'ENCAP'} = $pppsettings{'ENCAP_RFC1483'}; }\r
-       if( $pppsettings{'PROTOCOL'} eq 'RFC2364') {\r
-               $pppsettings{'ENCAP'} = $pppsettings{'ENCAP_RFC2364'}; }\r
-       delete $pppsettings{'ENCAP_RFC1483'};\r
-       delete $pppsettings{'ENCAP_RFC2364'};\r
-\r
-ERROR:\r
-       if ($errormessage) {\r
-               $pppsettings{'VALID'} = 'no'; }\r
-       else {\r
-               $pppsettings{'VALID'} = 'yes'; }\r
-\r
-       # write cgi vars to the file.\r
-       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               \%pppsettings);\r
-\r
-       # make link and write secret file.\r
-       &updatesettings();\r
-       &writesecrets();\r
-\r
-       &General::log("$Lang::tr{'profile saved'} $pppsettings{'PROFILENAME'}");\r
-       if ($drivererror) {\r
-       my $refresh = "<META HTTP-EQUIV='refresh' CONTENT='1; URL=/cgi-bin/upload.cgi'>";\r
-               my $title = $Lang::tr{'upload'};\r
-               &Header::openpage($title, 0, $refresh);\r
-       }\r
-}\r
-elsif ($pppsettings{'ACTION'} eq $Lang::tr{'select'})\r
-{\r
-       my $profile = $pppsettings{'PROFILE'};\r
-       %temppppsettings = ();\r
-       $temppppsettings{'PROFILE'} = '';\r
-       &General::readhash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               \%temppppsettings);\r
-\r
-       # make link.\r
-       &updatesettings(); \r
-\r
-       # read in the new params "early" so we can write secrets.\r
-       %pppsettings = ();\r
-       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-       $pppsettings{'PROFILE'} = $profile;\r
-       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               \%pppsettings);\r
-\r
-       &writesecrets();\r
-\r
-       &General::log("$Lang::tr{'profile made current'} $pppsettings{'PROFILENAME'}"); \r
-}\r
-elsif ($pppsettings{'ACTION'} eq $Lang::tr{'delete'})\r
-{\r
-       &General::log("$Lang::tr{'profile deleted'} $pppsettings{'PROFILENAME'}");\r
-\r
-       my $profile = $pppsettings{'PROFILE'};\r
-       truncate ("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}", 0);\r
-       \r
-       %temppppsettings = ();\r
-       $temppppsettings{'PROFILE'} = '';\r
-       &General::readhash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               \%temppppsettings);\r
-\r
-       # make link.\r
-       &updatesettings(); \r
-\r
-       # read in the new params "early" so we can write secrets.\r
-       %pppsettings = ();\r
-       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-       $pppsettings{'PROFILE'} = $profile;\r
-       &initprofile;\r
-       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               \%pppsettings);\r
-}\r
-else\r
-{\r
-       # read in the current vars\r
-       %pppsettings = ();\r
-       $pppsettings{'VALID'} = '';\r
-       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
-}\r
-\r
-# read in the profile names into @profilenames.\r
-my $c=0;\r
-for ($c = 1; $c <= $maxprofiles; $c++)\r
-{\r
-       %temppppsettings = ();\r
-       $temppppsettings{'PROFILENAME'} = $Lang::tr{'empty'};\r
-       &General::readhash("${General::swroot}/ppp/settings-$c", \%temppppsettings);\r
-       $profilenames[$c] = $temppppsettings{'PROFILENAME'};\r
-}\r
-\r
-if ($pppsettings{'VALID'} eq '')\r
-{\r
-       if ($pppsettings{'PROFILE'} eq '') {\r
-               $pppsettings{'PROFILE'} = '1';\r
-               &initprofile();\r
-       }\r
-}\r
-for ($c = 1; $c <= $maxprofiles; $c++) {\r
-       $selected{'PROFILE'}{$c} = ''; }\r
-$selected{'PROFILE'}{$pppsettings{'PROFILE'}} = "selected='selected'";\r
-for ($c = 1; $c <= $maxprofiles; $c++) {\r
-       $selected{'BACKUPPROFILE'}{$c} = ''; }\r
-$selected{'BACKUPPROFILE'}{$pppsettings{'BACKUPPROFILE'}} = "selected='selected'";\r
-\r
-$selected{'TYPE'}{'modem'} = '';\r
-$selected{'TYPE'}{'serial'} = '';\r
-$selected{'TYPE'}{'isdn'} = '';\r
-$selected{'TYPE'}{'pppoe'} = '';\r
-$selected{'TYPE'}{'pptp'} = '';\r
-$selected{'TYPE'}{'alcatelusb'} = '';\r
-$selected{'TYPE'}{'alcatelusbk'} = '';\r
-$selected{'TYPE'}{'pulsardsl'} = '';\r
-$selected{'TYPE'}{'eciadsl'} = '';\r
-$selected{'TYPE'}{'fritzdsl'} = '';\r
-$selected{'TYPE'}{'bewanadsl'} = '';\r
-$selected{'TYPE'}{'eagleusbadsl'} = '';\r
-$selected{'TYPE'}{'conexantusbadsl'} = '';\r
-$selected{'TYPE'}{'conexantpciadsl'} = '';\r
-$selected{'TYPE'}{'amedynusbadsl'} = '';\r
-$selected{'TYPE'}{'3cp4218usbadsl'} = '';\r
-$selected{'TYPE'}{$pppsettings{'TYPE'}} = "selected='selected'";\r
-\r
-$checked{'DEBUG'}{'off'} = '';\r
-$checked{'DEBUG'}{'on'} = '';\r
-$checked{'DEBUG'}{$pppsettings{'DEBUG'}} = "checked='checked'";\r
-\r
-$selected{'COMPORT'}{'ttyS0'} = '';\r
-$selected{'COMPORT'}{'ttyS1'} = '';\r
-$selected{'COMPORT'}{'ttyS2'} = '';\r
-$selected{'COMPORT'}{'ttyS3'} = '';\r
-$selected{'COMPORT'}{'ttyS4'} = '';\r
-$selected{'COMPORT'}{'usb/ttyACM0'} = '';\r
-$selected{'COMPORT'}{'usb/ttyACM1'} = '';\r
-$selected{'COMPORT'}{'usb/ttyACM2'} = '';\r
-$selected{'COMPORT'}{'usb/ttyACM3'} = '';\r
-$selected{'COMPORT'}{'isdn1'} = '';\r
-$selected{'COMPORT'}{'isdn2'} = '';\r
-$selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'";\r
-\r
-$selected{'DTERATE'}{'9600'} = '';\r
-$selected{'DTERATE'}{'19200'} = '';\r
-$selected{'DTERATE'}{'38400'} = '';\r
-$selected{'DTERATE'}{'57600'} = '';\r
-$selected{'DTERATE'}{'115200'} = '';\r
-$selected{'DTERATE'}{'230400'} = '';\r
-$selected{'DTERATE'}{$pppsettings{'DTERATE'}} = "selected='selected'";\r
-\r
-$checked{'SPEAKER'}{'off'} = '';\r
-$checked{'SPEAKER'}{'on'} = '';\r
-$checked{'SPEAKER'}{$pppsettings{'SPEAKER'}} = "checked='checked'";\r
-\r
-$selected{'DIALMODE'}{'T'} = '';\r
-$selected{'DIALMODE'}{'P'} = '';\r
-$selected{'DIALMODE'}{$pppsettings{'DIALMODE'}} = "selected='selected'";\r
-\r
-$checked{'RECONNECTION'}{'manual'} = '';\r
-$checked{'RECONNECTION'}{'persistent'} = '';\r
-$checked{'RECONNECTION'}{'dialondemand'} = '';\r
-$checked{'RECONNECTION'}{$pppsettings{'RECONNECTION'}} = "checked='checked'";\r
-\r
-$checked{'DIALONDEMANDDNS'}{'off'} = '';\r
-$checked{'DIALONDEMANDDNS'}{'on'} = '';\r
-$checked{'DIALONDEMANDDNS'}{$pppsettings{'DIALONDEMANDDNS'}} = "checked='checked'";\r
-\r
-$checked{'AUTOCONNECT'}{'off'} = '';\r
-$checked{'AUTOCONNECT'}{'on'} = ''; \r
-$checked{'AUTOCONNECT'}{$pppsettings{'AUTOCONNECT'}} = "checked='checked'";\r
-\r
-$checked{'SENDCR'}{'off'} = '';\r
-$checked{'SENDCR'}{'on'} = '';\r
-$checked{'SENDCR'}{$pppsettings{'SENDCR'}} = "checked='checked'";\r
-$checked{'USEDOV'}{'off'} = '';\r
-$checked{'USEDOV'}{'on'} = '';\r
-$checked{'USEDOV'}{$pppsettings{'USEDOV'}} = "checked='checked'";\r
-$checked{'USEIBOD'}{'off'} = '';\r
-$checked{'USEIBOD'}{'on'} = '';\r
-$checked{'USEIBOD'}{$pppsettings{'USEIBOD'}} = "checked='checked'";\r
-\r
-$checked{'MODEM'}{'PCIST'} = '';\r
-$checked{'MODEM'}{'USB'} = '';\r
-$checked{'MODEM'}{$pppsettings{'MODEM'}} = "checked='checked'";\r
-\r
-$selected{'LINE'}{'WO'} = '';\r
-$selected{'LINE'}{'ES'} = '';\r
-$selected{'LINE'}{'ES03'} = '';\r
-$selected{'LINE'}{'FR'} = '';\r
-$selected{'LINE'}{'FR04'} = '';\r
-$selected{'LINE'}{'FR10'} = '';\r
-$selected{'LINE'}{'IT'} = '';\r
-$selected{'LINE'}{$pppsettings{'LINE'}} = "selected='selected'";\r
-\r
-$checked{'MODULATION'}{'GDMT'} = '';\r
-$checked{'MODULATION'}{'ANSI'} = '';\r
-$checked{'MODULATION'}{'GLITE'} = '';\r
-$checked{'MODULATION'}{'AUTO'} = '';\r
-$checked{'MODULATION'}{$pppsettings{'MODULATION'}} = "checked='checked'";\r
-\r
-$checked{'PROTOCOL'}{'RFC1483'} = '';\r
-$checked{'PROTOCOL'}{'RFC2364'} = '';\r
-$checked{'PROTOCOL'}{$pppsettings{'PROTOCOL'}} = "checked='checked'";\r
-\r
-$selected{'ENCAP'}{'0'} = '';\r
-$selected{'ENCAP'}{'1'} = '';\r
-$selected{'ENCAP'}{'2'} = '';\r
-$selected{'ENCAP'}{'3'} = '';\r
-$selected{'ENCAP'}{'4'} = '';\r
-$selected{'ENCAP'}{$pppsettings{'ENCAP'}} = "selected='selected'";\r
-$checked{'METHOD'}{'STATIC'} = '';\r
-$checked{'METHOD'}{'PPPOE'} = '';\r
-$checked{'METHOD'}{'PPPOE_PLUGIN'} = '';\r
-$checked{'METHOD'}{'DHCP'} = '';\r
-$checked{'METHOD'}{$pppsettings{'METHOD'}} = "checked='checked'";\r
-\r
-$selected{'AUTH'}{'pap-or-chap'} = '';\r
-$selected{'AUTH'}{'pap'} = '';\r
-$selected{'AUTH'}{'chap'} = '';\r
-$selected{'AUTH'}{'standard-login-script'} = '';\r
-$selected{'AUTH'}{'demon-login-script'} = '';\r
-$selected{'AUTH'}{'other-login-script'} = '';\r
-$selected{'AUTH'}{$pppsettings{'AUTH'}} = "selected='selected'";\r
-\r
-$checked{'DNS'}{'Automatic'} = '';\r
-$checked{'DNS'}{'Manual'} = '';\r
-$checked{'DNS'}{$pppsettings{'DNS'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'ppp setup'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<CLASS name='base'>$errormessage\n";\r
-       print "&nbsp;</CLASS>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-\r
-###\r
-### Box for selecting profile\r
-###\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'profiles'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'profile'}:</td>\r
-       <td>\r
-       <select name='PROFILE'>\r
-END\r
-;\r
-for ($c = 1; $c <= $maxprofiles; $c++)\r
-{\r
-       print "\t<option value='$c' $selected{'PROFILE'}{$c}>$c. $profilenames[$c]</option>\n";\r
-}\r
-print <<END\r
-       </select></td>\r
-       <td><input type='submit' name='ACTION' value='$Lang::tr{'select'}' /></td>\r
-       <td><input type='submit' name='ACTION' value='$Lang::tr{'delete'}' /></td>\r
-       <td width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'restore'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-&Header::openbox('100%', 'left', $Lang::tr{'connection'}.':');\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'interface'}:</td>\r
-       <td>\r
-       <select name='TYPE'>\r
-       <option value='modem' $selected{'TYPE'}{'modem'}>$Lang::tr{'modem'}</option>\r
-       <option value='serial' $selected{'TYPE'}{'serial'}>$Lang::tr{'serial'}</option>\r
-END\r
-;\r
-if ($isdnsettings{'ENABLED'} eq 'on') {\r
-       print "\t<option value='isdn' $selected{'TYPE'}{'isdn'}>$Lang::tr{'isdn'}</option>\n";\r
-}\r
-if ($netsettings{'RED_TYPE'} eq 'PPPOE') {\r
-       print "\t<option value='pppoe' $selected{'TYPE'}{'pppoe'}>PPPoE</option>\n";\r
-}\r
-if ($netsettings{'RED_TYPE'} eq 'PPTP') {\r
-       print "\t<option value='pptp' $selected{'TYPE'}{'pptp'}>PPTP</option>\n";\r
-}\r
-if (-f "/proc/bus/usb/devices") {\r
-       print <<END\r
-       <option value='eciadsl' $selected{'TYPE'}{'eciadsl'}>ECI USB ADSL</option>\r
-       <option value='eagleusbadsl' $selected{'TYPE'}{'eagleusbadsl'}>Eagle USB ADSL (Acer Allied-Telesyn Comtrend D-Link Sagem USR)</option>\r
-       <option value='conexantusbadsl' $selected{'TYPE'}{'conexantusbadsl'}>Conexant USB(Aetra Amigo Draytek Etec Mac Olitec Vitelcom Zoom)</option>\r
-       <option value='amedynusbadsl' $selected{'TYPE'}{'amedynusbadsl'}>Zyxel 630-11 / Asus AAM6000UG USB ADSL</option>\r
-       <option value='3cp4218usbadsl' $selected{'TYPE'}{'3cp4218usbadsl'}>3Com USB AccessRunner</option>\r
-       <option value='alcatelusb' $selected{'TYPE'}{'alcatelusb'}>Speedtouch USB ADSL user mode driver</option>\r
-       <option value='alcatelusbk' $selected{'TYPE'}{'alcatelusbk'}>Speedtouch USB ADSL kernel mode driver</option>\r
-END\r
-;\r
-}\r
-       print <<END\r
-       <option value='fritzdsl' $selected{'TYPE'}{'fritzdsl'}>Fritz!DSL</option>\r
-       <option value='pulsardsl' $selected{'TYPE'}{'pulsardsl'}>Pulsar ADSL</option>\r
-       <option value='bewanadsl' $selected{'TYPE'}{'bewanadsl'}>Bewan ADSL PCI st/USB st</option>\r
-       <option value='conexantpciadsl' $selected{'TYPE'}{'conexantpciadsl'}>Conexant PCI ADSL</option>\r
-       </select></td>\r
-       <td width='50%'><input type='submit' name='ACTION' value='$Lang::tr{'refresh'}' /></td>\r
-       </tr>\r
-       <tr>\r
-       <td align='right'>USB:</td>\r
-END\r
-;\r
-if (-f "/proc/bus/usb/devices") {\r
-       my $usb=`lsmod | cut -d ' ' -f1 | grep -E "hci"`;\r
-       if ($usb eq '') {\r
-               print "\t<td>$Lang::tr{'not running'}</td></tr>\n";\r
-       } else {\r
-               print "\t<td>$usb</td></tr>\n";\r
-       }\r
-}\r
-\r
-if ($pppsettings{'TYPE'}) {\r
-       print "</table><table width='100%'>";\r
-       if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/) {\r
-               print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'interface'}:</td>\r
-       <td><select name='COMPORT'>\r
-END\r
-;\r
-               if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {\r
-                       print <<END\r
-               <option value='ttyS0' $selected{'COMPORT'}{'ttyS0'}>$Lang::tr{'modem on com1'}</option>\r
-               <option value='ttyS1' $selected{'COMPORT'}{'ttyS1'}>$Lang::tr{'modem on com2'}</option>\r
-               <option value='ttyS2' $selected{'COMPORT'}{'ttyS2'}>$Lang::tr{'modem on com3'}</option>\r
-               <option value='ttyS3' $selected{'COMPORT'}{'ttyS3'}>$Lang::tr{'modem on com4'}</option>\r
-               <option value='ttyS4' $selected{'COMPORT'}{'ttyS4'}>$Lang::tr{'modem on com5'}</option>\r
-               <option value='usb/ttyACM0' $selected{'COMPORT'}{'usb/ttyACM0'}>$Lang::tr{'usb modem on acm0'}</option>\r
-               <option value='usb/ttyACM1' $selected{'COMPORT'}{'usb/ttyACM1'}>$Lang::tr{'usb modem on acm1'}</option>\r
-               <option value='usb/ttyACM2' $selected{'COMPORT'}{'usb/ttyACM2'}>$Lang::tr{'usb modem on acm2'}</option>\r
-               <option value='usb/ttyACM3' $selected{'COMPORT'}{'usb/ttyACM3'}>$Lang::tr{'usb modem on acm3'}</option>\r
-       </select></td>\r
-END\r
-;\r
-               } elsif ($pppsettings{'TYPE'} eq 'isdn') {\r
-                       print <<END\r
-               <option value='isdn1' $selected{'COMPORT'}{'isdn1'}>$Lang::tr{'isdn1'}</option>\r
-               <option value='isdn2' $selected{'COMPORT'}{'isdn2'}>$Lang::tr{'isdn2'}</option>\r
-       </select></td>\r
-END\r
-;\r
-               }\r
-               if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {\r
-                       print <<END\r
-       <td align='right'>$Lang::tr{'computer to modem rate'}</td>\r
-       <td><select name='DTERATE'>\r
-               <option value='9600' $selected{'DTERATE'}{'9600'}>9600</option>\r
-               <option value='19200' $selected{'DTERATE'}{'19200'}>19200</option>\r
-               <option value='38400' $selected{'DTERATE'}{'38400'}>38400</option>\r
-               <option value='57600' $selected{'DTERATE'}{'57600'}>57600</option>\r
-               <option value='115200' $selected{'DTERATE'}{'115200'}>115200</option>\r
-               <option value='230400' $selected{'DTERATE'}{'230400'}>230400</option>\r
-       </select></td>\r
-</tr>\r
-END\r
-;\r
-               } else {\r
-                       print "<td colspan='2'>&nbsp;</td></tr>\n";\r
-               }\r
-               if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/ ) {\r
-                       print "<tr><td align='right'>$Lang::tr{'number'}</td>\n";\r
-                       print "<td><input type='text' name='TELEPHONE' value='$pppsettings{'TELEPHONE'}' /></td>\n";\r
-                       if ($pppsettings{'TYPE'} eq 'modem' ) {\r
-                               print "<td align='right'>$Lang::tr{'modem speaker on'}</td>\n";\r
-                               print "<td><input type='checkbox' name='SPEAKER' $checked{'SPEAKER'}{'on'} /></td></tr>\n";\r
-                       } else {\r
-                               print "<td colspan='2'>&nbsp;</td></tr>\n";\r
-                       }\r
-               }\r
-       }\r
-       if ($pppsettings{'TYPE'} eq 'modem') {\r
-               print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'dialing mode'}</td>\r
-       <td><select name='DIALMODE'>\r
-               <option value='T' $selected{'DIALMODE'}{'T'}>$Lang::tr{'tone'}</option>\r
-               <option value='P' $selected{'DIALMODE'}{'P'}>$Lang::tr{'pulse'}</option>\r
-       </select></td>\r
-       <td align='right'>$Lang::tr{'send cr'}</td>\r
-       <td><input type='checkbox' name='SENDCR' $checked{'SENDCR'}{'on'} /></td>\r
-</tr>\r
-END\r
-; \r
-}\r
-\r
-print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'idle timeout'}</td>\r
-       <td><input type='text' size='5' name='TIMEOUT' value='$pppsettings{'TIMEOUT'}' /></td>\r
-       <td colspan='2'>&nbsp;</td>\r
-</tr>\r
-END\r
-;\r
-       if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && ( $netsettings{'RED_TYPE'} eq "DHCP" || $netsettings{'RED_TYPE'} eq "STATIC") ) {\r
-               $pppsettings{'AUTOCONNECT'} = 'on';\r
-               print "<tr><td align='right'>$Lang::tr{'connect on ipcop restart'}</td>\n";\r
-               print "<td><input type='checkbox' disabled='disabled' name='AUTOCONNECT' value='on' $checked{'AUTOCONNECT'}{'on'} /></td>\n";\r
-       } else {\r
-               print "<tr><td align='right'>$Lang::tr{'connect on ipcop restart'}</td>\n";\r
-               print "<td><input type='checkbox' name='AUTOCONNECT' value='on' $checked{'AUTOCONNECT'}{'on'} /></td>\n";\r
-       }\r
-print <<END\r
-       <td align='right'>$Lang::tr{'connection debugging'}:</td>\r
-       <td><input type='checkbox' name='DEBUG' $checked{'DEBUG'}{'on'} /></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'reconnection'}:</b></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='4'>\r
-               <input type='radio' name='RECONNECTION' value='manual' $checked{'RECONNECTION'}{'manual'} />$Lang::tr{'manual'}</td>\r
-</tr>\r
-END\r
-;\r
-if ($pppsettings{'TYPE'} ne 'isdn') {\r
-print <<END\r
-<tr>\r
-       <td>\r
-               <input type='radio' name='RECONNECTION' value='persistent' $checked{'RECONNECTION'}{'persistent'} />$Lang::tr{'persistent'}</td>\r
-       <td colspan='2' align='right'>$Lang::tr{'backupprofile'}:</td>\r
-       <td>\r
-       <select name='BACKUPPROFILE'>\r
-END\r
-;\r
-       for ($c = 1; $c <= $maxprofiles; $c++) {\r
-               print "\t<option value='$c' $selected{'BACKUPPROFILE'}{$c}>$c. $profilenames[$c]</option>\n";\r
-       }\r
-       print <<END\r
-       </select></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-print <<END\r
-<tr>\r
-       <td>\r
-               <input type='radio' name='RECONNECTION' value='dialondemand' $checked{'RECONNECTION'}{'dialondemand'} />$Lang::tr{'dod'}</td>\r
-       <td colspan='2' align='right'>$Lang::tr{'dod for dns'}</td>\r
-       <td><input type='checkbox' name='DIALONDEMANDDNS' $checked{'DIALONDEMANDDNS'}{'on'} /></td>\r
-\r
-</tr>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'holdoff'}:</td>\r
-       <td><input type='text' size='5' name='HOLDOFF' value='$pppsettings{'HOLDOFF'}' /></td>\r
-       <td align='right'>$Lang::tr{'maximum retries'}</td>\r
-       <td><input type='text' size='5' name='MAXRETRIES' value='$pppsettings{'MAXRETRIES'}' /></td>\r
-</tr>\r
-END\r
-;\r
-\r
-if ($pppsettings{'TYPE'} eq 'isdn') {\r
-       print <<END\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'isdn settings'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'use ibod'}</td>\r
-       <td><input type='checkbox' name='USEIBOD' $checked{'USEIBOD'}{'on'} /></td>\r
-       <td align='right'>$Lang::tr{'use dov'}</td>\r
-       <td><input type='checkbox' name='USEDOV' $checked{'USEDOV'}{'on'} /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-\r
-if ($pppsettings{'TYPE'} eq 'pptp')\r
-{\r
-print <<END\r
-</table>\r
-\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'pptp settings'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='2' align='right'>$Lang::tr{'phonebook entry'}</td>\r
-       <td><input type='text' name='PHONEBOOK' value='$pppsettings{'PHONEBOOK'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='METHOD' value='STATIC' $checked{'METHOD'}{'STATIC'} />$Lang::tr{'static ip'}</td>\r
-       <td align='right'>$Lang::tr{'router ip'}</td>\r
-       <td><input type='text' name='ROUTERIP' value='$pppsettings{'ROUTERIP'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='3'><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='METHOD' value='DHCP' $checked{'METHOD'}{'DHCP'} />$Lang::tr{'dhcp mode'}</td>\r
-       <td align='right'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='DHCP_HOSTNAME' value='$pppsettings{'DHCP_HOSTNAME'}' /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} eq 'pppoe')\r
-{\r
-print <<END\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'pppoe settings'}</b></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)\r
-{\r
-\r
-print <<END\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'adsl settings'}:</b></td>\r
-</tr>\r
-<tr>\r
-       <td nowrap='nowrap' align='right'>$Lang::tr{'vpi number'}</td>\r
-       <td><input type='text' size='5' name='VPI' value='$pppsettings{'VPI'}' /></td>\r
-       <td align='right'>$Lang::tr{'vci number'}</td>\r
-       <td colspan='2'><input type='text' size='5' name='VCI' value='$pppsettings{'VCI'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} eq 'bewanadsl')\r
-{\r
-print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'modem'}:</td>\r
-       <td colspan='2' nowrap='nowrap'>\r
-               <input type='radio' name='MODEM' value='PCIST' $checked{'MODEM'}{'PCIST'} />Bewan ADSL PCI st</td>\r
-       <td colspan='2'><input type='radio' name='MODEM' value='USB' $checked{'MODEM'}{'USB'} />Bewan ADSL USB st</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(3cp4218usbadsl|bewanadsl)$/)\r
-{\r
-print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'modulation'}:</td>\r
-       <td><input type='radio' name='MODULATION' value='AUTO' $checked{'MODULATION'}{'AUTO'} />$Lang::tr{'automatic'}</td>\r
-       <td><input type='radio' name='MODULATION' value='ANSI' $checked{'MODULATION'}{'ANSI'} />ANSI T1.483</td>\r
-       <td><input type='radio' name='MODULATION' value='GDMT' $checked{'MODULATION'}{'GDMT'} />G.DMT</td>\r
-       <td><input type='radio' name='MODULATION' value='GLITE' $checked{'MODULATION'}{'GLITE'} />G.Lite</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-\r
-if ($pppsettings{'TYPE'} eq 'eagleusbadsl')\r
-{\r
-print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'country'}:</td>\r
-       <td>\r
-       <select name='LINE'>\r
-       <option value='WO' $selected{'LINE'}{'WO'}>$Lang::tr{'other countries'}</option>\r
-       <option value='ES' $selected{'LINE'}{'ES'}>ESPANA</option>\r
-       <option value='ES03' $selected{'LINE'}{'ES03'}>ESPANA03</option>\r
-       <option value='FR' $selected{'LINE'}{'FR'}>FRANCE</option>\r
-       <option value='FR04' $selected{'LINE'}{'FR04'}>FRANCE04</option>\r
-       <option value='FR10' $selected{'LINE'}{'FR04'}>FRANCE10</option>\r
-       <option value='IT' $selected{'LINE'}{'IT'}>ITALIA</option>\r
-       </select></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} eq 'eciadsl')\r
-{\r
-print <<END\r
-<tr>\r
-       <td align='right'>$Lang::tr{'modem'}:</td>\r
-       <td colspan='5'>\r
-               <select name='MODEM'>\r
-END\r
-;\r
-               open (MODEMS, "/etc/eciadsl/modems.db") or die 'Unable to open modems database.';\r
-               while (my $line = <MODEMS>) {\r
-                       $line =~ /^([\S\ ]+).*$/;\r
-                       my $modem = $1;\r
-                       $modem =~ s/^\s*(.*?)\s*$/$1/;\r
-                       print "<option value='$modem'";\r
-                       if ($pppsettings{'MODEM'} =~ /$modem/) { print " selected";}\r
-                       print ">$modem</option>\n";\r
-               }\r
-               close (MODEMS);\r
-\r
-print <<END\r
-               </select>\r
-       </td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)\r
-{\r
-print <<END\r
-<tr>\r
-       <td valign='top' align='right'>$Lang::tr{'protocol'}:</td>\r
-       <td nowrap='nowrap'>\r
-               <input type='radio' name='PROTOCOL' value='RFC2364' $checked{'PROTOCOL'}{'RFC2364'} />RFC2364 PPPoA</td>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} eq 'alcatelusb')\r
-{\r
-       print "<td colspan=3>&nbsp;</td></tr>";\r
-}\r
-\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl|fritzdsl)$/)\r
-{\r
-print <<END\r
-       <td align='right'>$Lang::tr{'encapsulation'}:</td>\r
-       <td colspan='2' width='30%'>\r
-               <select name='ENCAP_RFC2364'>\r
-               <option value='0' $selected{'ENCAP'}{'0'}>VCmux</option>\r
-               <option value='1' $selected{'ENCAP'}{'1'}>LLC</option>\r
-               </select>\r
-       </td>\r
-</tr>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)\r
-{\r
-print <<END\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td colspan='4'><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td valign='top'>\r
-               <input type='radio' name='PROTOCOL' value='RFC1483' $checked{'PROTOCOL'}{'RFC1483'} />RFC 1483 / 2684</td>\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} eq 'alcatelusb')\r
-{\r
-       print "<td colspan='3'>&nbsp;</td></tr>";\r
-}\r
-\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl|fritzdsl)$/)\r
-{\r
-       if ($pppsettings{'TYPE'} ne 'fritzdsl')\r
-       {\r
-print <<END\r
-       <td align='right'>$Lang::tr{'encapsulation'}:</td>\r
-       <td colspan='2'>\r
-               <select name='ENCAP_RFC1483'>\r
-               <option value='0' $selected{'ENCAP'}{'0'}>BRIDGED_ETH_LLC</option>\r
-               <option value='1' $selected{'ENCAP'}{'1'}>BRIDGED_ETH_VC</option>\r
-               <option value='2' $selected{'ENCAP'}{'2'}>ROUTED_IP_LLC</option>\r
-               <option value='3' $selected{'ENCAP'}{'3'}>ROUTED_IP_VC</option>\r
-               </select>\r
-       </td>\r
-</tr>\r
-<tr>\r
-       <td colspan='2'>&nbsp;</td>\r
-       <td colspan='3'><hr /></td>\r
-</tr>\r
-END\r
-;\r
-       } else {\r
-print <<END\r
-       <td colspan='4'>PPPoE</td>\r
-</tr>\r
-END\r
-;\r
-       }\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(pppoe|alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl)$/)\r
-{\r
-print <<END\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td><input type='radio' name='METHOD' value='PPPOE_PLUGIN' $checked{'METHOD'}{'PPPOE_PLUGIN'} />PPPoE plugin</td>\r
-       <td align='right'>$Lang::tr{'service name'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='SERVICENAME' value='$pppsettings{'SERVICENAME'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td><input type='radio' name='METHOD' value='PPPOE' $checked{'METHOD'}{'PPPOE'} />$Lang::tr{'pppoe'}</td>\r
-       <td align='right'>$Lang::tr{'concentrator name'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='CONCENTRATORNAME' value='$pppsettings{'CONCENTRATORNAME'}' /></td>\r
-</tr>\r
-\r
-END\r
-;\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl)$/)\r
-{\r
-print <<END\r
-<tr>\r
-       <td colspan='2'>&nbsp;</td>\r
-       <td colspan='3'><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td rowspan='4'><input type='radio' name='METHOD' value='STATIC' $checked{'METHOD'}{'STATIC'} />$Lang::tr{'static ip'}</td>\r
-       <td align='right'>$Lang::tr{'static ip'}:</td>\r
-       <td><input type='text' size='16' name='IP' value='$pppsettings{'IP'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td align='right'>$Lang::tr{'gateway ip'}:</td>\r
-       <td><input type='text' size='16' name='GATEWAY' value='$pppsettings{'GATEWAY'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td align='right'>$Lang::tr{'netmask'}:</td>\r
-       <td><input type='text' size='16' name='NETMASK' value='$pppsettings{'NETMASK'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td align='right' nowrap='nowrap'>$Lang::tr{'broadcast'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' size='16' name='BROADCAST' value='$pppsettings{'BROADCAST'}' /></td>\r
-</tr>\r
-END\r
-;\r
-       if ($pppsettings{'TYPE'} =~ /^(eciadsl|eagleusbadsl)$/)\r
-       {\r
-print <<END\r
-<tr>\r
-       <td colspan='2'>&nbsp;</td>\r
-       <td colspan='3'><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td>&nbsp;</td>\r
-       <td><input type='radio' name='METHOD' value='DHCP' $checked{'METHOD'}{'DHCP'} />$Lang::tr{'dhcp mode'}</td>\r
-       <td align='right'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='DHCP_HOSTNAME' value='$pppsettings{'DHCP_HOSTNAME'}' /></td>\r
-</tr>\r
-END\r
-;\r
-       }\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|eciadsl|fritzdsl)$/) {\r
-       print "<tr><td>&nbsp;</td><td colspan='4'><hr /></td></tr>";\r
-}\r
-if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk)$/) {\r
-       my $speedtouch = &Header::speedtouchversion;\r
-       if (($speedtouch >= 0) && ($speedtouch <=4)) {\r
-               my $modem;\r
-               if ($speedtouch ==4) { $modem='v4_b'; } else { $modem='v0123'; }\r
-               print "<tr><td align='right'>$Lang::tr{'firmware'}:</td>";\r
-               if (-e "${General::swroot}/alcatelusb/firmware.$modem.bin") {\r
-                       print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";\r
-               } else {\r
-                       print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n";\r
-               }\r
-       } else {\r
-               print "<tr><td colspan='5'>$Lang::tr{'unknown'} Rev $speedtouch</td></tr>";\r
-       }\r
-} elsif ($pppsettings{'TYPE'} eq 'eciadsl') {\r
-       print "<tr><td align='right'>$Lang::tr{'driver'}:</td>";\r
-       if (-e "${General::swroot}/eciadsl/synch.bin") {\r
-               print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";\r
-       } else {\r
-               print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n"; }\r
-} elsif ($pppsettings{'TYPE'} eq 'fritzdsl') {\r
-       print "<tr><td align='right'>$Lang::tr{'driver'}:</td>";\r
-       if (-e "/lib/modules/$kernel/misc/fcdslusb.o.gz") {\r
-               print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";\r
-       } else {\r
-               print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n"; }\r
-}\r
-print <<END\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>$Lang::tr{'authentication'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'username'}</td>\r
-       <td><input type='text' name='USERNAME' value='$pppsettings{'USERNAME'}' /></td>\r
-       <td align='right'>$Lang::tr{'password'}</td>\r
-       <td><input type='password' name='PASSWORD' value='$pppsettings{'PASSWORD'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'method'}</td>\r
-       <td><select name='AUTH'>\r
-               <option value='pap-or-chap' $selected{'AUTH'}{'pap-or-chap'}>$Lang::tr{'pap or chap'}</option>\r
-               <option value='pap' $selected{'AUTH'}{'pap'}>PAP</option>\r
-               <option value='chap' $selected{'AUTH'}{'chap'}>CHAP</option>\r
-END\r
-;\r
-if ($pppsettings{'TYPE'} eq 'modem') {\r
-print <<END\r
-               <option value='standard-login-script' $selected{'AUTH'}{'standard-login-script'}>$Lang::tr{'standard login script'}</option>\r
-               <option value='demon-login-script' $selected{'AUTH'}{'demon-login-script'}>$Lang::tr{'demon login script'}</option>\r
-               <option value='other-login-script' $selected{'AUTH'}{'other-login-script'}>$Lang::tr{'other login script'}</option>\r
-END\r
-;\r
-}\r
-print <<END\r
-       </select></td>\r
-       <td align='right'>$Lang::tr{'script name'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td nowrap='nowrap'><input type='text' name='LOGINSCRIPT' value='$pppsettings{'LOGINSCRIPT'}' /></td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='5'><br /><hr /><b>DNS:</b></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='5'><input type='radio' name='DNS' value='Automatic' $checked{'DNS'}{'Automatic'} />$Lang::tr{'automatic'}</td>\r
-</tr>\r
-<tr>\r
-       <td><input type='radio' name='DNS' value='Manual' $checked{'DNS'}{'Manual'} />$Lang::tr{'manual'}</td>\r
-       <td align='right'>$Lang::tr{'primary dns'}</td>\r
-       <td><input type='text' size='16' name='DNS1' value='$pppsettings{'DNS1'}' /></td>\r
-       <td align='right'>$Lang::tr{'secondary dns'}</td>\r
-       <td><input type='text' size='16' name='DNS2' value='$pppsettings{'DNS2'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='5'><br /><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td align='right'>$Lang::tr{'profile name'}</td>\r
-       <td><input type='text' name='PROFILENAME' value='$pppsettings{'PROFILENAME'}' /></td>\r
-       <td><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='5'><br /><hr /></td>\r
-</tr>\r
-<tr>\r
-       <td align='right'>$Lang::tr{'legend'}:</td>\r
-       <td><img src='/blob.gif' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-}\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub updatesettings\r
-{\r
-       # make a link from the selected profile to the "default" one.\r
-       unlink("${General::swroot}/ppp/settings");\r
-       link("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",\r
-               "${General::swroot}/ppp/settings");\r
-       system ("/bin/touch", "${General::swroot}/ppp/updatesettings");\r
-       if ($pppsettings{'TYPE'} eq 'eagleusbadsl') {\r
-               # eagle-usb.conf is in backup but link DSPcode.bin can't, so the link is created in rc.eagleusbadsl\r
-               open(FILE, ">/${General::swroot}/eagle-usb/eagle-usb.conf") or die "Unable to write eagle-usb.conf file";\r
-               flock(FILE, 2);\r
-               # decimal to hexa\r
-               $modemsettings{'VPI'} = uc(sprintf('%X', $pppsettings{'VPI'}));\r
-               $modemsettings{'VCI'} = uc(sprintf('%X', $pppsettings{'VCI'}));\r
-               if( $pppsettings{'PROTOCOL'} eq 'RFC1483') {\r
-                       $modemsettings{'Encapsulation'} =1+$pppsettings{'ENCAP'}\r
-               } elsif ( $pppsettings{'PROTOCOL'} eq 'RFC2364') {\r
-                       $modemsettings{'Encapsulation'} =6-$pppsettings{'ENCAP'}\r
-               }\r
-               print FILE "<eaglectrl>\n";\r
-               print FILE "VPI=$modemsettings{'VPI'}\n";\r
-               print FILE "VCI=$modemsettings{'VCI'}\n";\r
-               print FILE "Encapsulation=$modemsettings{'Encapsulation'}\n";\r
-               print FILE "Linetype=0A\n";\r
-               print FILE "RatePollFreq=00000009\n";\r
-               print FILE "</eaglectrl>\n";\r
-               close FILE;\r
-       }\r
-}\r
-\r
-sub writesecrets\r
-{\r
-       # write secrets file.\r
-       open(FILE, ">/${General::swroot}/ppp/secrets") or die "Unable to write secrets file.";\r
-       flock(FILE, 2);\r
-       my $username = $pppsettings{'USERNAME'};\r
-       my $password = $pppsettings{'PASSWORD'};\r
-       print FILE "'$username' * '$password'\n";\r
-       chmod 0600, "${General::swroot}/ppp/secrets";\r
-       close FILE;\r
-}\r
-\r
-sub initprofile\r
-{\r
-       $pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'};\r
-       $pppsettings{'COMPORT'} = 'ttyS0';\r
-       $pppsettings{'DTERATE'} = 115200;\r
-       $pppsettings{'SPEAKER'} = 'off';\r
-       $pppsettings{'RECONNECTION'} = 'manual';\r
-       $pppsettings{'DIALONDEMANDDNS'} = 'off';\r
-       $pppsettings{'AUTOCONNECT'} = 'off';\r
-       $pppsettings{'SENDCR'} = 'off';\r
-       $pppsettings{'USEIBOD'} = 'off';\r
-       $pppsettings{'USEDOV'} = 'off';\r
-       $pppsettings{'MODEM'} = 'PCIST';\r
-       $pppsettings{'LINE'} = 'WO';\r
-       $pppsettings{'ENCAP'} = '0';\r
-       $pppsettings{'PHONEBOOK'} = 'RELAY_PPP1';\r
-       $pppsettings{'PROTOCOL'} = 'RFC2364';\r
-       $pppsettings{'METHOD'} = 'PPPOE_PLUGIN';\r
-       $pppsettings{'DIALMODE'} = 'T';\r
-       $pppsettings{'MAXRETRIES'} = 5;\r
-       $pppsettings{'HOLDOFF'} = 30;\r
-       $pppsettings{'TIMEOUT'} = 15;\r
-       $pppsettings{'MODULATION'} = 'AUTO';\r
-       $pppsettings{'AUTH'} = 'pap-or-chap';\r
-       $pppsettings{'DNS'} = 'Automatic';\r
-       $pppsettings{'DEBUG'} = 'off';\r
-       $pppsettings{'BACKUPPROFILE'} = $pppsettings{'PROFILE'};\r
-\r
-       # Get ISDN settings so we can see if ISDN is enabled or not.\r
-       $isdnsettings{'ENABLED'} = 'off';\r
-       &General::readhash("${General::swroot}/isdn/settings", \%isdnsettings);\r
-       \r
-       # Get PPPoE settings so we can see if PPPoE is enabled or not.\r
-       &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-       # empty profile partial pre-initialization\r
-       if ($netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/) {\r
-               $pppsettings{'TYPE'}=lc($netsettings{'RED_TYPE'});\r
-       } elsif ($isdnsettings{'ENABLED'} eq 'on') {\r
-               $pppsettings{'TYPE'}='isdn';\r
-       } else {\r
-               $pppsettings{'TYPE'}='modem';\r
-       }\r
-}\r
-\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# Copyright (C) 03-Apr-2002 Guy Ellis <guy@traverse.com.au>
+#              - ISDN DOV support
+#              - ibod now an option
+#             - PCI ADSL support added
+#
+# $Id: pppsetup.cgi,v 1.17.2.49 2005/12/01 16:20:35 franck78 Exp $
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+our %pppsettings=();
+my %temppppsettings=();
+our %modemsettings=();
+our %isdnsettings=();
+our %netsettings=();
+my %selected=();
+my %checked=();
+my @profilenames=();
+my $errormessage = '';
+my $maxprofiles = 5;
+my $kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;
+
+&Header::showhttpheaders();
+
+$pppsettings{'ACTION'} = '';
+&initprofile();
+&Header::getcgihash(\%pppsettings);
+
+if ($pppsettings{'ACTION'} ne '' &&
+       (-e '/var/run/ppp-ipcop.pid' || -e "${General::swroot}/red/active"))
+{
+       $errormessage = $Lang::tr{'unable to alter profiles while red is active'};
+       # read in the current vars
+       %pppsettings = ();
+       $pppsettings{'VALID'} = '';
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+}
+elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'})
+{
+       unless ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn|pppoe|pptp|alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+       my $type = $pppsettings{'TYPE'};
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+       $pppsettings{'TYPE'} = $type;
+}
+elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'})
+{
+       if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|usb\/ttyACM0|usb\/ttyACM1|usb\/ttyACM2|usb\/ttyACM3|isdn1|isdn2)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+       if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+       if ($pppsettings{'TYPE'} eq 'modem' && $pppsettings{'DIALMODE'} !~ /^(T|P)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+       if ($pppsettings{'AUTH'} !~ /^(pap-or-chap|pap|chap|standard-login-script|demon-login-script|other-login-script)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR;
+       }
+
+       if ($pppsettings{'PROFILENAME'} eq '') {
+               $errormessage = $Lang::tr{'profile name not given'};
+               $pppsettings{'PROFILENAME'} = '';
+               goto ERROR; }
+       if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/) {
+               if ($pppsettings{'TELEPHONE'} eq '') {
+                       $errormessage = $Lang::tr{'telephone not set'}; 
+                       goto ERROR; }
+               if (!($pppsettings{'TELEPHONE'} =~ /^[\d\*\#\,]+$/)) {
+                       $errormessage = $Lang::tr{'bad characters in the telephone number field'};
+                       goto ERROR; }
+       }
+       unless (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} =~ /^(STATIC|DHCP)$/)) {
+               if ($pppsettings{'USERNAME'} eq '') {
+                       $errormessage = $Lang::tr{'username not set'}; 
+                       goto ERROR; }
+               if ($pppsettings{'PASSWORD'} eq '') {
+                       $errormessage = $Lang::tr{'password not set'};
+                       goto ERROR; }
+       }
+
+       if ($pppsettings{'TIMEOUT'} eq '') {
+               $errormessage = $Lang::tr{'idle timeout not set'};
+               goto ERROR; }
+       if (!($pppsettings{'TIMEOUT'} =~ /^\d+$/)) {
+               $errormessage = $Lang::tr{'only digits allowed in the idle timeout'};
+               goto ERROR; }
+
+       if ($pppsettings{'LOGINSCRIPT'} =~ /[.\/ ]/ ) {
+               $errormessage = $Lang::tr{'bad characters in script field'}; 
+               goto ERROR; }
+
+       if ($pppsettings{'DNS1'})
+       {
+               if (!(&General::validip($pppsettings{'DNS1'}))) {
+                       $errormessage = $Lang::tr{'invalid primary dns'};
+                       goto ERROR;  }
+       }
+       if ($pppsettings{'DNS2'})
+       {
+               if (!(&General::validip($pppsettings{'DNS2'}))) {
+                       $errormessage = $Lang::tr{'invalid secondary dns'};
+                       goto ERROR; }
+       }
+
+       if ($pppsettings{'MAXRETRIES'} eq '') {
+               $errormessage = $Lang::tr{'max retries not set'};
+               goto ERROR; }
+       if (!($pppsettings{'MAXRETRIES'} =~ /^\d+$/)) {
+               $errormessage = $Lang::tr{'only digits allowed in max retries field'};
+               goto ERROR; }
+
+       if (!($pppsettings{'HOLDOFF'} =~ /^\d+$/)) {
+               $errormessage = $Lang::tr{'only digits allowed in holdoff field'};
+               goto ERROR; }
+
+       my $drivererror = 0;
+       if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk)$/) {
+               my $modem = '';
+               my $speedtouch = &Header::speedtouchversion;
+               if ($speedtouch >=0 && $speedtouch <=4) {
+                       if ($speedtouch ==4) { $modem='v4_b'; } else { $modem='v0123'; }
+                       $pppsettings{'MODEM'} = $modem;
+               } else {
+                       $modem='v0123';
+                       $errormessage ="$Lang::tr{'unknown'} Rev $speedtouch";
+                       goto ERROR;
+               }
+               if (! -e "${General::swroot}/alcatelusb/firmware.$modem.bin") {
+                       $errormessage = $Lang::tr{'no alcatelusb firmware'};
+                       $drivererror = 1;
+                       goto ERROR;
+               }
+       }
+
+       if($pppsettings{'TYPE'} eq 'eciadsl' && (!(-e "${General::swroot}/eciadsl/synch.bin"))) {
+               $errormessage = $Lang::tr{'no eciadsl synch.bin file'};
+               $drivererror = 1;
+               goto ERROR; }
+
+       if($pppsettings{'TYPE'} eq 'fritzdsl' && (!(-e "/lib/modules/$kernel/misc/fcdslusb.o.gz"))) {
+               $errormessage = $Lang::tr{'no fritzdsl driver'};
+               $drivererror = 1;
+               goto ERROR; }
+
+       if( $pppsettings{'USEIBOD'} eq 'on' && $pppsettings{'COMPORT'} eq 'isdn1') {
+               $errormessage = $Lang::tr{'ibod for dual isdn only'};
+               goto ERROR; }
+
+       if ($pppsettings{'TYPE'} eq 'pptp') {
+               $errormessage = '';
+               if ($pppsettings{'METHOD'} eq 'STATIC') {
+                       if (! &General::validip($pppsettings{'ROUTERIP'})) {
+                               $errormessage = $Lang::tr{'router ip'}.' '.$Lang::tr{'invalid ip'};
+                       }
+               } else {
+                       if (($pppsettings{'DHCP_HOSTNAME'} ne '') && (! &General::validfqdn($pppsettings{'DHCP_HOSTNAME'})) ) {
+                               $errormessage = $errormessage.' '.$Lang::tr{'hostname'}.' '.$Lang::tr{'invalid hostname'};
+                       }
+               }
+               if ($errormessage ne '') {goto ERROR; }
+       }
+
+       if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/) {
+               if ( ($pppsettings{'VPI'} eq '') || ($pppsettings{'VCI'} eq '') ) {
+                       $errormessage = $Lang::tr{'invalid vpi vpci'};
+                       goto ERROR; }
+               if ( (!($pppsettings{'VPI'} =~ /^\d+$/)) || (!($pppsettings{'VCI'} =~ /^\d+$/)) ) {
+                       $errormessage = $Lang::tr{'invalid vpi vpci'};
+                       goto ERROR; }
+               if (($pppsettings{'VPI'} eq '0') && ($pppsettings{'VCI'} eq '0')) {
+                       $errormessage = $Lang::tr{'invalid vpi vpci'};
+                       goto ERROR; }
+               if ( $pppsettings{'PROTOCOL'} eq '' ) {
+                       $errormessage = $Lang::tr{'invalid input'};
+                       goto ERROR; }
+       }
+
+       if ( ($pppsettings{'PROTOCOL'} eq 'RFC1483') && ($pppsettings{'METHOD'} eq '') && \
+               ($pppsettings{'TYPE'} !~ /^(alcatelusb|fritzdsl)$/)) {
+                       $errormessage = $Lang::tr{'invalid input'};
+                       goto ERROR; }
+
+       if (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} eq 'DHCP')) {
+               if ($pppsettings{'DHCP_HOSTNAME'} ne '') {
+                       if (! &General::validfqdn($pppsettings{'DHCP_HOSTNAME'})) {
+                               $errormessage = $errormessage.' '.$Lang::tr{'hostname'}.': '.$Lang::tr{'invalid hostname'}; }
+               }
+       }
+
+       if (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} eq 'STATIC')) {
+               $errormessage = '';
+               if (! &General::validip($pppsettings{'IP'})) {
+                       $errormessage = $Lang::tr{'static ip'}.' '.$Lang::tr{'invalid ip'}; }
+               if (! &General::validip($pppsettings{'GATEWAY'})) {
+                       $errormessage = $errormessage.' '.$Lang::tr{'gateway ip'}.' '.$Lang::tr{'invalid ip'}; }
+               if (! &General::validmask($pppsettings{'NETMASK'})) {
+                       $errormessage = $errormessage.' '.$Lang::tr{'netmask'}.' '.$Lang::tr{'invalid netmask'}; }
+               if ($pppsettings{'BROADCAST'} ne '') {
+                       if (! &General::validip($pppsettings{'BROADCAST'})) {
+                                $errormessage = $errormessage.' '.$Lang::tr{'broadcast'}.' '.$Lang::tr{'invalid broadcast ip'}; }
+               }
+               if( $pppsettings{'DNS'} eq 'Automatic') {
+                       $errormessage = $Lang::tr{'invalid input'}; }
+               if ($errormessage ne '') {goto ERROR; }
+       }
+
+       if( $pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} ne 'PPPOE'  && \
+               $pppsettings{'RECONNECTION'} eq 'dialondemand' ) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR; }
+
+       if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && `/bin/cat ${General::swroot}/ddns/config` =~ /,on$/m ) {
+               $errormessage = $Lang::tr{'dod not compatible with ddns'};
+               goto ERROR; }
+
+       if ( ($pppsettings{'TYPE'} =~ /^(bewanadsl)$/) && $pppsettings{'MODEM'} eq '') {
+               $errormessage = $Lang::tr{'no modem selected'};
+               goto ERROR; }
+
+       if( $pppsettings{'PROTOCOL'} eq 'RFC1483') {
+               $pppsettings{'ENCAP'} = $pppsettings{'ENCAP_RFC1483'}; }
+       if( $pppsettings{'PROTOCOL'} eq 'RFC2364') {
+               $pppsettings{'ENCAP'} = $pppsettings{'ENCAP_RFC2364'}; }
+       delete $pppsettings{'ENCAP_RFC1483'};
+       delete $pppsettings{'ENCAP_RFC2364'};
+
+ERROR:
+       if ($errormessage) {
+               $pppsettings{'VALID'} = 'no'; }
+       else {
+               $pppsettings{'VALID'} = 'yes'; }
+
+       # write cgi vars to the file.
+       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               \%pppsettings);
+
+       # make link and write secret file.
+       &updatesettings();
+       &writesecrets();
+
+       &General::log("$Lang::tr{'profile saved'} $pppsettings{'PROFILENAME'}");
+       if ($drivererror) {
+       my $refresh = "<META HTTP-EQUIV='refresh' CONTENT='1; URL=/cgi-bin/upload.cgi'>";
+               my $title = $Lang::tr{'upload'};
+               &Header::openpage($title, 0, $refresh);
+       }
+}
+elsif ($pppsettings{'ACTION'} eq $Lang::tr{'select'})
+{
+       my $profile = $pppsettings{'PROFILE'};
+       %temppppsettings = ();
+       $temppppsettings{'PROFILE'} = '';
+       &General::readhash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               \%temppppsettings);
+
+       # make link.
+       &updatesettings(); 
+
+       # read in the new params "early" so we can write secrets.
+       %pppsettings = ();
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+       $pppsettings{'PROFILE'} = $profile;
+       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               \%pppsettings);
+
+       &writesecrets();
+
+       &General::log("$Lang::tr{'profile made current'} $pppsettings{'PROFILENAME'}"); 
+}
+elsif ($pppsettings{'ACTION'} eq $Lang::tr{'delete'})
+{
+       &General::log("$Lang::tr{'profile deleted'} $pppsettings{'PROFILENAME'}");
+
+       my $profile = $pppsettings{'PROFILE'};
+       truncate ("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}", 0);
+       
+       %temppppsettings = ();
+       $temppppsettings{'PROFILE'} = '';
+       &General::readhash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               \%temppppsettings);
+
+       # make link.
+       &updatesettings(); 
+
+       # read in the new params "early" so we can write secrets.
+       %pppsettings = ();
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+       $pppsettings{'PROFILE'} = $profile;
+       &initprofile;
+       &General::writehash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               \%pppsettings);
+}
+else
+{
+       # read in the current vars
+       %pppsettings = ();
+       $pppsettings{'VALID'} = '';
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+}
+
+# read in the profile names into @profilenames.
+my $c=0;
+for ($c = 1; $c <= $maxprofiles; $c++)
+{
+       %temppppsettings = ();
+       $temppppsettings{'PROFILENAME'} = $Lang::tr{'empty'};
+       &General::readhash("${General::swroot}/ppp/settings-$c", \%temppppsettings);
+       $profilenames[$c] = $temppppsettings{'PROFILENAME'};
+}
+
+if ($pppsettings{'VALID'} eq '')
+{
+       if ($pppsettings{'PROFILE'} eq '') {
+               $pppsettings{'PROFILE'} = '1';
+               &initprofile();
+       }
+}
+for ($c = 1; $c <= $maxprofiles; $c++) {
+       $selected{'PROFILE'}{$c} = ''; }
+$selected{'PROFILE'}{$pppsettings{'PROFILE'}} = "selected='selected'";
+for ($c = 1; $c <= $maxprofiles; $c++) {
+       $selected{'BACKUPPROFILE'}{$c} = ''; }
+$selected{'BACKUPPROFILE'}{$pppsettings{'BACKUPPROFILE'}} = "selected='selected'";
+
+$selected{'TYPE'}{'modem'} = '';
+$selected{'TYPE'}{'serial'} = '';
+$selected{'TYPE'}{'isdn'} = '';
+$selected{'TYPE'}{'pppoe'} = '';
+$selected{'TYPE'}{'pptp'} = '';
+$selected{'TYPE'}{'alcatelusb'} = '';
+$selected{'TYPE'}{'alcatelusbk'} = '';
+$selected{'TYPE'}{'pulsardsl'} = '';
+$selected{'TYPE'}{'eciadsl'} = '';
+$selected{'TYPE'}{'fritzdsl'} = '';
+$selected{'TYPE'}{'bewanadsl'} = '';
+$selected{'TYPE'}{'eagleusbadsl'} = '';
+$selected{'TYPE'}{'conexantusbadsl'} = '';
+$selected{'TYPE'}{'conexantpciadsl'} = '';
+$selected{'TYPE'}{'amedynusbadsl'} = '';
+$selected{'TYPE'}{'3cp4218usbadsl'} = '';
+$selected{'TYPE'}{$pppsettings{'TYPE'}} = "selected='selected'";
+
+$checked{'DEBUG'}{'off'} = '';
+$checked{'DEBUG'}{'on'} = '';
+$checked{'DEBUG'}{$pppsettings{'DEBUG'}} = "checked='checked'";
+
+$selected{'COMPORT'}{'ttyS0'} = '';
+$selected{'COMPORT'}{'ttyS1'} = '';
+$selected{'COMPORT'}{'ttyS2'} = '';
+$selected{'COMPORT'}{'ttyS3'} = '';
+$selected{'COMPORT'}{'ttyS4'} = '';
+$selected{'COMPORT'}{'usb/ttyACM0'} = '';
+$selected{'COMPORT'}{'usb/ttyACM1'} = '';
+$selected{'COMPORT'}{'usb/ttyACM2'} = '';
+$selected{'COMPORT'}{'usb/ttyACM3'} = '';
+$selected{'COMPORT'}{'isdn1'} = '';
+$selected{'COMPORT'}{'isdn2'} = '';
+$selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'";
+
+$selected{'DTERATE'}{'9600'} = '';
+$selected{'DTERATE'}{'19200'} = '';
+$selected{'DTERATE'}{'38400'} = '';
+$selected{'DTERATE'}{'57600'} = '';
+$selected{'DTERATE'}{'115200'} = '';
+$selected{'DTERATE'}{'230400'} = '';
+$selected{'DTERATE'}{$pppsettings{'DTERATE'}} = "selected='selected'";
+
+$checked{'SPEAKER'}{'off'} = '';
+$checked{'SPEAKER'}{'on'} = '';
+$checked{'SPEAKER'}{$pppsettings{'SPEAKER'}} = "checked='checked'";
+
+$selected{'DIALMODE'}{'T'} = '';
+$selected{'DIALMODE'}{'P'} = '';
+$selected{'DIALMODE'}{$pppsettings{'DIALMODE'}} = "selected='selected'";
+
+$checked{'RECONNECTION'}{'manual'} = '';
+$checked{'RECONNECTION'}{'persistent'} = '';
+$checked{'RECONNECTION'}{'dialondemand'} = '';
+$checked{'RECONNECTION'}{$pppsettings{'RECONNECTION'}} = "checked='checked'";
+
+$checked{'DIALONDEMANDDNS'}{'off'} = '';
+$checked{'DIALONDEMANDDNS'}{'on'} = '';
+$checked{'DIALONDEMANDDNS'}{$pppsettings{'DIALONDEMANDDNS'}} = "checked='checked'";
+
+$checked{'AUTOCONNECT'}{'off'} = '';
+$checked{'AUTOCONNECT'}{'on'} = ''; 
+$checked{'AUTOCONNECT'}{$pppsettings{'AUTOCONNECT'}} = "checked='checked'";
+
+$checked{'SENDCR'}{'off'} = '';
+$checked{'SENDCR'}{'on'} = '';
+$checked{'SENDCR'}{$pppsettings{'SENDCR'}} = "checked='checked'";
+$checked{'USEDOV'}{'off'} = '';
+$checked{'USEDOV'}{'on'} = '';
+$checked{'USEDOV'}{$pppsettings{'USEDOV'}} = "checked='checked'";
+$checked{'USEIBOD'}{'off'} = '';
+$checked{'USEIBOD'}{'on'} = '';
+$checked{'USEIBOD'}{$pppsettings{'USEIBOD'}} = "checked='checked'";
+
+$checked{'MODEM'}{'PCIST'} = '';
+$checked{'MODEM'}{'USB'} = '';
+$checked{'MODEM'}{$pppsettings{'MODEM'}} = "checked='checked'";
+
+$selected{'LINE'}{'WO'} = '';
+$selected{'LINE'}{'ES'} = '';
+$selected{'LINE'}{'ES03'} = '';
+$selected{'LINE'}{'FR'} = '';
+$selected{'LINE'}{'FR04'} = '';
+$selected{'LINE'}{'FR10'} = '';
+$selected{'LINE'}{'IT'} = '';
+$selected{'LINE'}{$pppsettings{'LINE'}} = "selected='selected'";
+
+$checked{'MODULATION'}{'GDMT'} = '';
+$checked{'MODULATION'}{'ANSI'} = '';
+$checked{'MODULATION'}{'GLITE'} = '';
+$checked{'MODULATION'}{'AUTO'} = '';
+$checked{'MODULATION'}{$pppsettings{'MODULATION'}} = "checked='checked'";
+
+$checked{'PROTOCOL'}{'RFC1483'} = '';
+$checked{'PROTOCOL'}{'RFC2364'} = '';
+$checked{'PROTOCOL'}{$pppsettings{'PROTOCOL'}} = "checked='checked'";
+
+$selected{'ENCAP'}{'0'} = '';
+$selected{'ENCAP'}{'1'} = '';
+$selected{'ENCAP'}{'2'} = '';
+$selected{'ENCAP'}{'3'} = '';
+$selected{'ENCAP'}{'4'} = '';
+$selected{'ENCAP'}{$pppsettings{'ENCAP'}} = "selected='selected'";
+$checked{'METHOD'}{'STATIC'} = '';
+$checked{'METHOD'}{'PPPOE'} = '';
+$checked{'METHOD'}{'PPPOE_PLUGIN'} = '';
+$checked{'METHOD'}{'DHCP'} = '';
+$checked{'METHOD'}{$pppsettings{'METHOD'}} = "checked='checked'";
+
+$selected{'AUTH'}{'pap-or-chap'} = '';
+$selected{'AUTH'}{'pap'} = '';
+$selected{'AUTH'}{'chap'} = '';
+$selected{'AUTH'}{'standard-login-script'} = '';
+$selected{'AUTH'}{'demon-login-script'} = '';
+$selected{'AUTH'}{'other-login-script'} = '';
+$selected{'AUTH'}{$pppsettings{'AUTH'}} = "selected='selected'";
+
+$checked{'DNS'}{'Automatic'} = '';
+$checked{'DNS'}{'Manual'} = '';
+$checked{'DNS'}{$pppsettings{'DNS'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'ppp setup'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<CLASS name='base'>$errormessage\n";
+       print "&nbsp;</CLASS>\n";
+       &Header::closebox();
+}
+
+
+###
+### Box for selecting profile
+###
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'profiles'});
+print <<END
+<table width='100%'>
+<tr>
+       <td align='right'>$Lang::tr{'profile'}:</td>
+       <td>
+       <select name='PROFILE'>
+END
+;
+for ($c = 1; $c <= $maxprofiles; $c++)
+{
+       print "\t<option value='$c' $selected{'PROFILE'}{$c}>$c. $profilenames[$c]</option>\n";
+}
+print <<END
+       </select></td>
+       <td><input type='submit' name='ACTION' value='$Lang::tr{'select'}' /></td>
+       <td><input type='submit' name='ACTION' value='$Lang::tr{'delete'}' /></td>
+       <td width='30%'><input type='submit' name='ACTION' value='$Lang::tr{'restore'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+&Header::openbox('100%', 'left', $Lang::tr{'connection'}.':');
+print <<END
+<table width='100%'>
+<tr>
+       <td align='right'>$Lang::tr{'interface'}:</td>
+       <td>
+       <select name='TYPE'>
+       <option value='modem' $selected{'TYPE'}{'modem'}>$Lang::tr{'modem'}</option>
+       <option value='serial' $selected{'TYPE'}{'serial'}>$Lang::tr{'serial'}</option>
+END
+;
+if ($isdnsettings{'ENABLED'} eq 'on') {
+       print "\t<option value='isdn' $selected{'TYPE'}{'isdn'}>$Lang::tr{'isdn'}</option>\n";
+}
+if ($netsettings{'RED_TYPE'} eq 'PPPOE') {
+       print "\t<option value='pppoe' $selected{'TYPE'}{'pppoe'}>PPPoE</option>\n";
+}
+if ($netsettings{'RED_TYPE'} eq 'PPTP') {
+       print "\t<option value='pptp' $selected{'TYPE'}{'pptp'}>PPTP</option>\n";
+}
+if (-f "/proc/bus/usb/devices") {
+       print <<END
+       <option value='eciadsl' $selected{'TYPE'}{'eciadsl'}>ECI USB ADSL</option>
+       <option value='eagleusbadsl' $selected{'TYPE'}{'eagleusbadsl'}>Eagle USB ADSL (Acer Allied-Telesyn Comtrend D-Link Sagem USR)</option>
+       <option value='conexantusbadsl' $selected{'TYPE'}{'conexantusbadsl'}>Conexant USB(Aetra Amigo Draytek Etec Mac Olitec Vitelcom Zoom)</option>
+       <option value='amedynusbadsl' $selected{'TYPE'}{'amedynusbadsl'}>Zyxel 630-11 / Asus AAM6000UG USB ADSL</option>
+       <option value='3cp4218usbadsl' $selected{'TYPE'}{'3cp4218usbadsl'}>3Com USB AccessRunner</option>
+       <option value='alcatelusb' $selected{'TYPE'}{'alcatelusb'}>Speedtouch USB ADSL user mode driver</option>
+       <option value='alcatelusbk' $selected{'TYPE'}{'alcatelusbk'}>Speedtouch USB ADSL kernel mode driver</option>
+END
+;
+}
+       print <<END
+       <option value='fritzdsl' $selected{'TYPE'}{'fritzdsl'}>Fritz!DSL</option>
+       <option value='pulsardsl' $selected{'TYPE'}{'pulsardsl'}>Pulsar ADSL</option>
+       <option value='bewanadsl' $selected{'TYPE'}{'bewanadsl'}>Bewan ADSL PCI st/USB st</option>
+       <option value='conexantpciadsl' $selected{'TYPE'}{'conexantpciadsl'}>Conexant PCI ADSL</option>
+       </select></td>
+       <td width='50%'><input type='submit' name='ACTION' value='$Lang::tr{'refresh'}' /></td>
+       </tr>
+       <tr>
+       <td align='right'>USB:</td>
+END
+;
+if (-f "/proc/bus/usb/devices") {
+       my $usb=`lsmod | cut -d ' ' -f1 | grep -E "hci"`;
+       if ($usb eq '') {
+               print "\t<td>$Lang::tr{'not running'}</td></tr>\n";
+       } else {
+               print "\t<td>$usb</td></tr>\n";
+       }
+}
+
+if ($pppsettings{'TYPE'}) {
+       print "</table><table width='100%'>";
+       if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/) {
+               print <<END
+<tr>
+       <td align='right'>$Lang::tr{'interface'}:</td>
+       <td><select name='COMPORT'>
+END
+;
+               if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {
+                       print <<END
+               <option value='ttyS0' $selected{'COMPORT'}{'ttyS0'}>$Lang::tr{'modem on com1'}</option>
+               <option value='ttyS1' $selected{'COMPORT'}{'ttyS1'}>$Lang::tr{'modem on com2'}</option>
+               <option value='ttyS2' $selected{'COMPORT'}{'ttyS2'}>$Lang::tr{'modem on com3'}</option>
+               <option value='ttyS3' $selected{'COMPORT'}{'ttyS3'}>$Lang::tr{'modem on com4'}</option>
+               <option value='ttyS4' $selected{'COMPORT'}{'ttyS4'}>$Lang::tr{'modem on com5'}</option>
+               <option value='usb/ttyACM0' $selected{'COMPORT'}{'usb/ttyACM0'}>$Lang::tr{'usb modem on acm0'}</option>
+               <option value='usb/ttyACM1' $selected{'COMPORT'}{'usb/ttyACM1'}>$Lang::tr{'usb modem on acm1'}</option>
+               <option value='usb/ttyACM2' $selected{'COMPORT'}{'usb/ttyACM2'}>$Lang::tr{'usb modem on acm2'}</option>
+               <option value='usb/ttyACM3' $selected{'COMPORT'}{'usb/ttyACM3'}>$Lang::tr{'usb modem on acm3'}</option>
+       </select></td>
+END
+;
+               } elsif ($pppsettings{'TYPE'} eq 'isdn') {
+                       print <<END
+               <option value='isdn1' $selected{'COMPORT'}{'isdn1'}>$Lang::tr{'isdn1'}</option>
+               <option value='isdn2' $selected{'COMPORT'}{'isdn2'}>$Lang::tr{'isdn2'}</option>
+       </select></td>
+END
+;
+               }
+               if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {
+                       print <<END
+       <td align='right'>$Lang::tr{'computer to modem rate'}</td>
+       <td><select name='DTERATE'>
+               <option value='9600' $selected{'DTERATE'}{'9600'}>9600</option>
+               <option value='19200' $selected{'DTERATE'}{'19200'}>19200</option>
+               <option value='38400' $selected{'DTERATE'}{'38400'}>38400</option>
+               <option value='57600' $selected{'DTERATE'}{'57600'}>57600</option>
+               <option value='115200' $selected{'DTERATE'}{'115200'}>115200</option>
+               <option value='230400' $selected{'DTERATE'}{'230400'}>230400</option>
+       </select></td>
+</tr>
+END
+;
+               } else {
+                       print "<td colspan='2'>&nbsp;</td></tr>\n";
+               }
+               if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/ ) {
+                       print "<tr><td align='right'>$Lang::tr{'number'}</td>\n";
+                       print "<td><input type='text' name='TELEPHONE' value='$pppsettings{'TELEPHONE'}' /></td>\n";
+                       if ($pppsettings{'TYPE'} eq 'modem' ) {
+                               print "<td align='right'>$Lang::tr{'modem speaker on'}</td>\n";
+                               print "<td><input type='checkbox' name='SPEAKER' $checked{'SPEAKER'}{'on'} /></td></tr>\n";
+                       } else {
+                               print "<td colspan='2'>&nbsp;</td></tr>\n";
+                       }
+               }
+       }
+       if ($pppsettings{'TYPE'} eq 'modem') {
+               print <<END
+<tr>
+       <td align='right'>$Lang::tr{'dialing mode'}</td>
+       <td><select name='DIALMODE'>
+               <option value='T' $selected{'DIALMODE'}{'T'}>$Lang::tr{'tone'}</option>
+               <option value='P' $selected{'DIALMODE'}{'P'}>$Lang::tr{'pulse'}</option>
+       </select></td>
+       <td align='right'>$Lang::tr{'send cr'}</td>
+       <td><input type='checkbox' name='SENDCR' $checked{'SENDCR'}{'on'} /></td>
+</tr>
+END
+; 
+}
+
+print <<END
+<tr>
+       <td align='right'>$Lang::tr{'idle timeout'}</td>
+       <td><input type='text' size='5' name='TIMEOUT' value='$pppsettings{'TIMEOUT'}' /></td>
+       <td colspan='2'>&nbsp;</td>
+</tr>
+END
+;
+       if ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && ( $netsettings{'RED_TYPE'} eq "DHCP" || $netsettings{'RED_TYPE'} eq "STATIC") ) {
+               $pppsettings{'AUTOCONNECT'} = 'on';
+               print "<tr><td align='right'>$Lang::tr{'connect on ipcop restart'}</td>\n";
+               print "<td><input type='checkbox' disabled='disabled' name='AUTOCONNECT' value='on' $checked{'AUTOCONNECT'}{'on'} /></td>\n";
+       } else {
+               print "<tr><td align='right'>$Lang::tr{'connect on ipcop restart'}</td>\n";
+               print "<td><input type='checkbox' name='AUTOCONNECT' value='on' $checked{'AUTOCONNECT'}{'on'} /></td>\n";
+       }
+print <<END
+       <td align='right'>$Lang::tr{'connection debugging'}:</td>
+       <td><input type='checkbox' name='DEBUG' $checked{'DEBUG'}{'on'} /></td>
+</tr>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'reconnection'}:</b></td>
+</tr>
+<tr>
+       <td colspan='4'>
+               <input type='radio' name='RECONNECTION' value='manual' $checked{'RECONNECTION'}{'manual'} />$Lang::tr{'manual'}</td>
+</tr>
+END
+;
+if ($pppsettings{'TYPE'} ne 'isdn') {
+print <<END
+<tr>
+       <td>
+               <input type='radio' name='RECONNECTION' value='persistent' $checked{'RECONNECTION'}{'persistent'} />$Lang::tr{'persistent'}</td>
+       <td colspan='2' align='right'>$Lang::tr{'backupprofile'}:</td>
+       <td>
+       <select name='BACKUPPROFILE'>
+END
+;
+       for ($c = 1; $c <= $maxprofiles; $c++) {
+               print "\t<option value='$c' $selected{'BACKUPPROFILE'}{$c}>$c. $profilenames[$c]</option>\n";
+       }
+       print <<END
+       </select></td>
+</tr>
+END
+;
+}
+print <<END
+<tr>
+       <td>
+               <input type='radio' name='RECONNECTION' value='dialondemand' $checked{'RECONNECTION'}{'dialondemand'} />$Lang::tr{'dod'}</td>
+       <td colspan='2' align='right'>$Lang::tr{'dod for dns'}</td>
+       <td><input type='checkbox' name='DIALONDEMANDDNS' $checked{'DIALONDEMANDDNS'}{'on'} /></td>
+
+</tr>
+<tr>
+       <td align='right'>$Lang::tr{'holdoff'}:</td>
+       <td><input type='text' size='5' name='HOLDOFF' value='$pppsettings{'HOLDOFF'}' /></td>
+       <td align='right'>$Lang::tr{'maximum retries'}</td>
+       <td><input type='text' size='5' name='MAXRETRIES' value='$pppsettings{'MAXRETRIES'}' /></td>
+</tr>
+END
+;
+
+if ($pppsettings{'TYPE'} eq 'isdn') {
+       print <<END
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'isdn settings'}</b></td>
+</tr>
+<tr>
+       <td align='right'>$Lang::tr{'use ibod'}</td>
+       <td><input type='checkbox' name='USEIBOD' $checked{'USEIBOD'}{'on'} /></td>
+       <td align='right'>$Lang::tr{'use dov'}</td>
+       <td><input type='checkbox' name='USEDOV' $checked{'USEDOV'}{'on'} /></td>
+</tr>
+END
+;
+}
+
+if ($pppsettings{'TYPE'} eq 'pptp')
+{
+print <<END
+</table>
+
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'pptp settings'}</b></td>
+</tr>
+<tr>
+       <td colspan='2' align='right'>$Lang::tr{'phonebook entry'}</td>
+       <td><input type='text' name='PHONEBOOK' value='$pppsettings{'PHONEBOOK'}' /></td>
+</tr>
+<tr>
+       <td><input type='radio' name='METHOD' value='STATIC' $checked{'METHOD'}{'STATIC'} />$Lang::tr{'static ip'}</td>
+       <td align='right'>$Lang::tr{'router ip'}</td>
+       <td><input type='text' name='ROUTERIP' value='$pppsettings{'ROUTERIP'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='3'><hr /></td>
+</tr>
+<tr>
+       <td><input type='radio' name='METHOD' value='DHCP' $checked{'METHOD'}{'DHCP'} />$Lang::tr{'dhcp mode'}</td>
+       <td align='right'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='DHCP_HOSTNAME' value='$pppsettings{'DHCP_HOSTNAME'}' /></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} eq 'pppoe')
+{
+print <<END
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'pppoe settings'}</b></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)
+{
+
+print <<END
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'adsl settings'}:</b></td>
+</tr>
+<tr>
+       <td nowrap='nowrap' align='right'>$Lang::tr{'vpi number'}</td>
+       <td><input type='text' size='5' name='VPI' value='$pppsettings{'VPI'}' /></td>
+       <td align='right'>$Lang::tr{'vci number'}</td>
+       <td colspan='2'><input type='text' size='5' name='VCI' value='$pppsettings{'VCI'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} eq 'bewanadsl')
+{
+print <<END
+<tr>
+       <td align='right'>$Lang::tr{'modem'}:</td>
+       <td colspan='2' nowrap='nowrap'>
+               <input type='radio' name='MODEM' value='PCIST' $checked{'MODEM'}{'PCIST'} />Bewan ADSL PCI st</td>
+       <td colspan='2'><input type='radio' name='MODEM' value='USB' $checked{'MODEM'}{'USB'} />Bewan ADSL USB st</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} =~ /^(3cp4218usbadsl|bewanadsl)$/)
+{
+print <<END
+<tr>
+       <td align='right'>$Lang::tr{'modulation'}:</td>
+       <td><input type='radio' name='MODULATION' value='AUTO' $checked{'MODULATION'}{'AUTO'} />$Lang::tr{'automatic'}</td>
+       <td><input type='radio' name='MODULATION' value='ANSI' $checked{'MODULATION'}{'ANSI'} />ANSI T1.483</td>
+       <td><input type='radio' name='MODULATION' value='GDMT' $checked{'MODULATION'}{'GDMT'} />G.DMT</td>
+       <td><input type='radio' name='MODULATION' value='GLITE' $checked{'MODULATION'}{'GLITE'} />G.Lite</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+END
+;
+}
+
+if ($pppsettings{'TYPE'} eq 'eagleusbadsl')
+{
+print <<END
+<tr>
+       <td align='right'>$Lang::tr{'country'}:</td>
+       <td>
+       <select name='LINE'>
+       <option value='WO' $selected{'LINE'}{'WO'}>$Lang::tr{'other countries'}</option>
+       <option value='ES' $selected{'LINE'}{'ES'}>ESPANA</option>
+       <option value='ES03' $selected{'LINE'}{'ES03'}>ESPANA03</option>
+       <option value='FR' $selected{'LINE'}{'FR'}>FRANCE</option>
+       <option value='FR04' $selected{'LINE'}{'FR04'}>FRANCE04</option>
+       <option value='FR10' $selected{'LINE'}{'FR04'}>FRANCE10</option>
+       <option value='IT' $selected{'LINE'}{'IT'}>ITALIA</option>
+       </select></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} eq 'eciadsl')
+{
+print <<END
+<tr>
+       <td align='right'>$Lang::tr{'modem'}:</td>
+       <td colspan='5'>
+               <select name='MODEM'>
+END
+;
+               open (MODEMS, "/etc/eciadsl/modems.db") or die 'Unable to open modems database.';
+               while (my $line = <MODEMS>) {
+                       $line =~ /^([\S\ ]+).*$/;
+                       my $modem = $1;
+                       $modem =~ s/^\s*(.*?)\s*$/$1/;
+                       print "<option value='$modem'";
+                       if ($pppsettings{'MODEM'} =~ /$modem/) { print " selected";}
+                       print ">$modem</option>\n";
+               }
+               close (MODEMS);
+
+print <<END
+               </select>
+       </td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)
+{
+print <<END
+<tr>
+       <td valign='top' align='right'>$Lang::tr{'protocol'}:</td>
+       <td nowrap='nowrap'>
+               <input type='radio' name='PROTOCOL' value='RFC2364' $checked{'PROTOCOL'}{'RFC2364'} />RFC2364 PPPoA</td>
+END
+;
+}
+if ($pppsettings{'TYPE'} eq 'alcatelusb')
+{
+       print "<td colspan=3>&nbsp;</td></tr>";
+}
+
+if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl|fritzdsl)$/)
+{
+print <<END
+       <td align='right'>$Lang::tr{'encapsulation'}:</td>
+       <td colspan='2' width='30%'>
+               <select name='ENCAP_RFC2364'>
+               <option value='0' $selected{'ENCAP'}{'0'}>VCmux</option>
+               <option value='1' $selected{'ENCAP'}{'1'}>LLC</option>
+               </select>
+       </td>
+</tr>
+END
+;
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|fritzdsl|bewanadsl|eagleusbadsl)$/)
+{
+print <<END
+<tr>
+       <td>&nbsp;</td>
+       <td colspan='4'><hr /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td valign='top'>
+               <input type='radio' name='PROTOCOL' value='RFC1483' $checked{'PROTOCOL'}{'RFC1483'} />RFC 1483 / 2684</td>
+END
+;
+}
+if ($pppsettings{'TYPE'} eq 'alcatelusb')
+{
+       print "<td colspan='3'>&nbsp;</td></tr>";
+}
+
+if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl|fritzdsl)$/)
+{
+       if ($pppsettings{'TYPE'} ne 'fritzdsl')
+       {
+print <<END
+       <td align='right'>$Lang::tr{'encapsulation'}:</td>
+       <td colspan='2'>
+               <select name='ENCAP_RFC1483'>
+               <option value='0' $selected{'ENCAP'}{'0'}>BRIDGED_ETH_LLC</option>
+               <option value='1' $selected{'ENCAP'}{'1'}>BRIDGED_ETH_VC</option>
+               <option value='2' $selected{'ENCAP'}{'2'}>ROUTED_IP_LLC</option>
+               <option value='3' $selected{'ENCAP'}{'3'}>ROUTED_IP_VC</option>
+               </select>
+       </td>
+</tr>
+<tr>
+       <td colspan='2'>&nbsp;</td>
+       <td colspan='3'><hr /></td>
+</tr>
+END
+;
+       } else {
+print <<END
+       <td colspan='4'>PPPoE</td>
+</tr>
+END
+;
+       }
+}
+if ($pppsettings{'TYPE'} =~ /^(pppoe|alcatelusb|alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl)$/)
+{
+print <<END
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td><input type='radio' name='METHOD' value='PPPOE_PLUGIN' $checked{'METHOD'}{'PPPOE_PLUGIN'} />PPPoE plugin</td>
+       <td align='right'>$Lang::tr{'service name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='SERVICENAME' value='$pppsettings{'SERVICENAME'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td><input type='radio' name='METHOD' value='PPPOE' $checked{'METHOD'}{'PPPOE'} />$Lang::tr{'pppoe'}</td>
+       <td align='right'>$Lang::tr{'concentrator name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='CONCENTRATORNAME' value='$pppsettings{'CONCENTRATORNAME'}' /></td>
+</tr>
+
+END
+;
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusbk|amedynusbadsl|conexantusbadsl|conexantpciadsl|3cp4218usbadsl|pulsardsl|eciadsl|bewanadsl|eagleusbadsl)$/)
+{
+print <<END
+<tr>
+       <td colspan='2'>&nbsp;</td>
+       <td colspan='3'><hr /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td rowspan='4'><input type='radio' name='METHOD' value='STATIC' $checked{'METHOD'}{'STATIC'} />$Lang::tr{'static ip'}</td>
+       <td align='right'>$Lang::tr{'static ip'}:</td>
+       <td><input type='text' size='16' name='IP' value='$pppsettings{'IP'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td align='right'>$Lang::tr{'gateway ip'}:</td>
+       <td><input type='text' size='16' name='GATEWAY' value='$pppsettings{'GATEWAY'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td align='right'>$Lang::tr{'netmask'}:</td>
+       <td><input type='text' size='16' name='NETMASK' value='$pppsettings{'NETMASK'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td align='right' nowrap='nowrap'>$Lang::tr{'broadcast'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' size='16' name='BROADCAST' value='$pppsettings{'BROADCAST'}' /></td>
+</tr>
+END
+;
+       if ($pppsettings{'TYPE'} =~ /^(eciadsl|eagleusbadsl)$/)
+       {
+print <<END
+<tr>
+       <td colspan='2'>&nbsp;</td>
+       <td colspan='3'><hr /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td>&nbsp;</td>
+       <td><input type='radio' name='METHOD' value='DHCP' $checked{'METHOD'}{'DHCP'} />$Lang::tr{'dhcp mode'}</td>
+       <td align='right'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='DHCP_HOSTNAME' value='$pppsettings{'DHCP_HOSTNAME'}' /></td>
+</tr>
+END
+;
+       }
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk|eciadsl|fritzdsl)$/) {
+       print "<tr><td>&nbsp;</td><td colspan='4'><hr /></td></tr>";
+}
+if ($pppsettings{'TYPE'} =~ /^(alcatelusb|alcatelusbk)$/) {
+       my $speedtouch = &Header::speedtouchversion;
+       if (($speedtouch >= 0) && ($speedtouch <=4)) {
+               my $modem;
+               if ($speedtouch ==4) { $modem='v4_b'; } else { $modem='v0123'; }
+               print "<tr><td align='right'>$Lang::tr{'firmware'}:</td>";
+               if (-e "${General::swroot}/alcatelusb/firmware.$modem.bin") {
+                       print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";
+               } else {
+                       print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n";
+               }
+       } else {
+               print "<tr><td colspan='5'>$Lang::tr{'unknown'} Rev $speedtouch</td></tr>";
+       }
+} elsif ($pppsettings{'TYPE'} eq 'eciadsl') {
+       print "<tr><td align='right'>$Lang::tr{'driver'}:</td>";
+       if (-e "${General::swroot}/eciadsl/synch.bin") {
+               print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";
+       } else {
+               print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n"; }
+} elsif ($pppsettings{'TYPE'} eq 'fritzdsl') {
+       print "<tr><td align='right'>$Lang::tr{'driver'}:</td>";
+       if (-e "/lib/modules/$kernel/misc/fcdslusb.o.gz") {
+               print "<td>$Lang::tr{'present'}</td><td colspan='3'>&nbsp;</td></tr>\n";
+       } else {
+               print "<td>$Lang::tr{'not present'}</td><td colspan='3'>&nbsp;</td></tr>\n"; }
+}
+print <<END
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>$Lang::tr{'authentication'}</b></td>
+</tr>
+<tr>
+       <td align='right'>$Lang::tr{'username'}</td>
+       <td><input type='text' name='USERNAME' value='$pppsettings{'USERNAME'}' /></td>
+       <td align='right'>$Lang::tr{'password'}</td>
+       <td><input type='password' name='PASSWORD' value='$pppsettings{'PASSWORD'}' /></td>
+</tr>
+<tr>
+       <td align='right'>$Lang::tr{'method'}</td>
+       <td><select name='AUTH'>
+               <option value='pap-or-chap' $selected{'AUTH'}{'pap-or-chap'}>$Lang::tr{'pap or chap'}</option>
+               <option value='pap' $selected{'AUTH'}{'pap'}>PAP</option>
+               <option value='chap' $selected{'AUTH'}{'chap'}>CHAP</option>
+END
+;
+if ($pppsettings{'TYPE'} eq 'modem') {
+print <<END
+               <option value='standard-login-script' $selected{'AUTH'}{'standard-login-script'}>$Lang::tr{'standard login script'}</option>
+               <option value='demon-login-script' $selected{'AUTH'}{'demon-login-script'}>$Lang::tr{'demon login script'}</option>
+               <option value='other-login-script' $selected{'AUTH'}{'other-login-script'}>$Lang::tr{'other login script'}</option>
+END
+;
+}
+print <<END
+       </select></td>
+       <td align='right'>$Lang::tr{'script name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td nowrap='nowrap'><input type='text' name='LOGINSCRIPT' value='$pppsettings{'LOGINSCRIPT'}' /></td>
+</tr>
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='5'><br /><hr /><b>DNS:</b></td>
+</tr>
+<tr>
+       <td colspan='5'><input type='radio' name='DNS' value='Automatic' $checked{'DNS'}{'Automatic'} />$Lang::tr{'automatic'}</td>
+</tr>
+<tr>
+       <td><input type='radio' name='DNS' value='Manual' $checked{'DNS'}{'Manual'} />$Lang::tr{'manual'}</td>
+       <td align='right'>$Lang::tr{'primary dns'}</td>
+       <td><input type='text' size='16' name='DNS1' value='$pppsettings{'DNS1'}' /></td>
+       <td align='right'>$Lang::tr{'secondary dns'}</td>
+       <td><input type='text' size='16' name='DNS2' value='$pppsettings{'DNS2'}' /></td>
+</tr>
+<tr>
+       <td colspan='5'><br /><hr /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td align='right'>$Lang::tr{'profile name'}</td>
+       <td><input type='text' name='PROFILENAME' value='$pppsettings{'PROFILENAME'}' /></td>
+       <td><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+<tr>
+       <td colspan='5'><br /><hr /></td>
+</tr>
+<tr>
+       <td align='right'>$Lang::tr{'legend'}:</td>
+       <td><img src='/blob.gif' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+}
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub updatesettings
+{
+       # make a link from the selected profile to the "default" one.
+       unlink("${General::swroot}/ppp/settings");
+       link("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
+               "${General::swroot}/ppp/settings");
+       system ("/bin/touch", "${General::swroot}/ppp/updatesettings");
+       if ($pppsettings{'TYPE'} eq 'eagleusbadsl') {
+               # eagle-usb.conf is in backup but link DSPcode.bin can't, so the link is created in rc.eagleusbadsl
+               open(FILE, ">/${General::swroot}/eagle-usb/eagle-usb.conf") or die "Unable to write eagle-usb.conf file";
+               flock(FILE, 2);
+               # decimal to hexa
+               $modemsettings{'VPI'} = uc(sprintf('%X', $pppsettings{'VPI'}));
+               $modemsettings{'VCI'} = uc(sprintf('%X', $pppsettings{'VCI'}));
+               if( $pppsettings{'PROTOCOL'} eq 'RFC1483') {
+                       $modemsettings{'Encapsulation'} =1+$pppsettings{'ENCAP'}
+               } elsif ( $pppsettings{'PROTOCOL'} eq 'RFC2364') {
+                       $modemsettings{'Encapsulation'} =6-$pppsettings{'ENCAP'}
+               }
+               print FILE "<eaglectrl>\n";
+               print FILE "VPI=$modemsettings{'VPI'}\n";
+               print FILE "VCI=$modemsettings{'VCI'}\n";
+               print FILE "Encapsulation=$modemsettings{'Encapsulation'}\n";
+               print FILE "Linetype=0A\n";
+               print FILE "RatePollFreq=00000009\n";
+               print FILE "</eaglectrl>\n";
+               close FILE;
+       }
+}
+
+sub writesecrets
+{
+       # write secrets file.
+       open(FILE, ">/${General::swroot}/ppp/secrets") or die "Unable to write secrets file.";
+       flock(FILE, 2);
+       my $username = $pppsettings{'USERNAME'};
+       my $password = $pppsettings{'PASSWORD'};
+       print FILE "'$username' * '$password'\n";
+       chmod 0600, "${General::swroot}/ppp/secrets";
+       close FILE;
+}
+
+sub initprofile
+{
+       $pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'};
+       $pppsettings{'COMPORT'} = 'ttyS0';
+       $pppsettings{'DTERATE'} = 115200;
+       $pppsettings{'SPEAKER'} = 'off';
+       $pppsettings{'RECONNECTION'} = 'manual';
+       $pppsettings{'DIALONDEMANDDNS'} = 'off';
+       $pppsettings{'AUTOCONNECT'} = 'off';
+       $pppsettings{'SENDCR'} = 'off';
+       $pppsettings{'USEIBOD'} = 'off';
+       $pppsettings{'USEDOV'} = 'off';
+       $pppsettings{'MODEM'} = 'PCIST';
+       $pppsettings{'LINE'} = 'WO';
+       $pppsettings{'ENCAP'} = '0';
+       $pppsettings{'PHONEBOOK'} = 'RELAY_PPP1';
+       $pppsettings{'PROTOCOL'} = 'RFC2364';
+       $pppsettings{'METHOD'} = 'PPPOE_PLUGIN';
+       $pppsettings{'DIALMODE'} = 'T';
+       $pppsettings{'MAXRETRIES'} = 5;
+       $pppsettings{'HOLDOFF'} = 30;
+       $pppsettings{'TIMEOUT'} = 15;
+       $pppsettings{'MODULATION'} = 'AUTO';
+       $pppsettings{'AUTH'} = 'pap-or-chap';
+       $pppsettings{'DNS'} = 'Automatic';
+       $pppsettings{'DEBUG'} = 'off';
+       $pppsettings{'BACKUPPROFILE'} = $pppsettings{'PROFILE'};
+
+       # Get ISDN settings so we can see if ISDN is enabled or not.
+       $isdnsettings{'ENABLED'} = 'off';
+       &General::readhash("${General::swroot}/isdn/settings", \%isdnsettings);
+       
+       # Get PPPoE settings so we can see if PPPoE is enabled or not.
+       &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+       # empty profile partial pre-initialization
+       if ($netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/) {
+               $pppsettings{'TYPE'}=lc($netsettings{'RED_TYPE'});
+       } elsif ($isdnsettings{'ENABLED'} eq 'on') {
+               $pppsettings{'TYPE'}='isdn';
+       } else {
+               $pppsettings{'TYPE'}='modem';
+       }
+}
+
index ad2d1db39443f38e918aeebfa21a2effd8085c52..bf90062378bc37e7040a5fa0694d34dc7e769a04 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: proxy.cgi,v 1.13.2.23 2006/01/29 09:29:47 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %proxysettings=();\r
-my %netsettings=();\r
-my %mainsettings=();\r
-my $errormessage = '';\r
-my $NeedDoHTML = 1;\r
-\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-&General::readhash("${General::swroot}/main/settings", \%mainsettings);\r
-\r
-&Header::showhttpheaders();\r
-\r
-$proxysettings{'ACTION'} = '';\r
-$proxysettings{'VALID'} = '';\r
-\r
-$proxysettings{'UPSTREAM_PROXY'} = '';\r
-$proxysettings{'UPSTREAM_USER'} = '';\r
-$proxysettings{'UPSTREAM_PASSWORD'} = '';\r
-$proxysettings{'ENABLE'} = 'off';\r
-$proxysettings{'ENABLE_BLUE'} = 'off';\r
-$proxysettings{'CACHE_SIZE'} = '50';\r
-$proxysettings{'TRANSPARENT'} = 'off';\r
-$proxysettings{'TRANSPARENT_BLUE'} = 'off';\r
-$proxysettings{'MAX_SIZE'} = '4096';\r
-$proxysettings{'MIN_SIZE'} = '0';\r
-$proxysettings{'MAX_OUTGOING_SIZE'} = '0';\r
-$proxysettings{'MAX_INCOMING_SIZE'} = '0';\r
-$proxysettings{'LOGGING'} = 'off';\r
-$proxysettings{'PROXY_PORT'} = '800';\r
-$proxysettings{'EXTENSION_METHODS'} = '';\r
-\r
-&Header::getcgihash(\%proxysettings);\r
-\r
-my $needhup = 0;\r
-my $cachemem = '';\r
-\r
-if ($proxysettings{'ACTION'} eq $Lang::tr{'save'})\r
-{\r
-       \r
-       #assume error\r
-       my $configerror = 1;\r
-\r
-       if ($proxysettings{'ENABLE'} !~ /^(on|off)$/ || \r
-           $proxysettings{'TRANSPARENT'} !~ /^(on|off)$/ || \r
-           $proxysettings{'ENABLE_BLUE'} !~ /^(on|off)$/ || \r
-           $proxysettings{'TRANSPARENT_BLUE'} !~ /^(on|off)$/ ) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ERROR;\r
-       } \r
-       if (!($proxysettings{'CACHE_SIZE'} =~ /^\d+/) ||\r
-               ($proxysettings{'CACHE_SIZE'} < 10))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid cache size'};\r
-               goto ERROR;\r
-       }               \r
-       if (!($proxysettings{'MAX_SIZE'} =~ /^\d+/))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid maximum object size'};\r
-               goto ERROR;\r
-       }\r
-       if (!($proxysettings{'MIN_SIZE'} =~ /^\d+/))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid minimum object size'};\r
-               goto ERROR;\r
-       }\r
-       if (!($proxysettings{'MAX_OUTGOING_SIZE'} =~ /^\d+/))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid maximum outgoing size'};\r
-               goto ERROR;\r
-       }\r
-       if (!($proxysettings{'MAX_INCOMING_SIZE'} =~ /^\d+/))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid maximum incoming size'};\r
-               goto ERROR;\r
-       }\r
-\r
-       if (!($proxysettings{'EXTENSION_METHODS'} =~ /^(|[A-Z0-9 _-]+)$/))\r
-       {\r
-               $errormessage = $Lang::tr{'squid extension methods invalid'};\r
-               goto ERROR;\r
-       }\r
-\r
-        # Quick parent proxy error checking of username and password info. If username password don't both exist give an error.\r
-        my $proxy1 = 'YES';\r
-        my $proxy2 = 'YES';\r
-        if (($proxysettings{'UPSTREAM_USER'} eq '')) {$proxy1 = '';}\r
-        if (($proxysettings{'UPSTREAM_PASSWORD'} eq '')) {$proxy2 = '';}\r
-        if (($proxy1 ne $proxy2))\r
-        {\r
-                $errormessage = $Lang::tr{'invalid upstream proxy username or password setting'};\r
-                goto ERROR;\r
-        }\r
-\r
-       $_ = $proxysettings{'UPSTREAM_PROXY'};\r
-       my ($remotehost, $remoteport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);\r
-       $remoteport = 80 if ($remoteport eq '');\r
-\r
-       $proxysettings{'VALID'} = 'yes';\r
-       &General::writehash("${General::swroot}/proxy/settings", \%proxysettings);\r
-\r
-       #\r
-       # NAH, 03-Jan-2004\r
-       #\r
-       my @free = `/usr/bin/free`;\r
-       $free[1] =~ m/(\d+)/;\r
-       $cachemem = int $1 / 10;\r
-       if ($cachemem < 4096) {\r
-               $cachemem = 4096;\r
-       }\r
-       if ($cachemem > $proxysettings{'CACHE_SIZE'} * 40) {\r
-               $cachemem = ( $proxysettings{'CACHE_SIZE'} * 40 );\r
-       }\r
-\r
-       open(FILE, ">/${General::swroot}/proxy/squid.conf") or die "Unable to write squid.conf file";\r
-       flock(FILE, 2);\r
-       print FILE <<END\r
-shutdown_lifetime 5 seconds\r
-icp_port 0\r
-\r
-http_port $netsettings{'GREEN_ADDRESS'}:$proxysettings{'PROXY_PORT'}\r
-END\r
-       ;\r
-       print FILE "\nextension_methods $proxysettings{'EXTENSION_METHODS'}\n" if ($proxysettings{'EXTENSION_METHODS'} ne '');\r
-\r
-       if ($netsettings{'BLUE_DEV'} && $proxysettings{'ENABLE_BLUE'} eq 'on') {\r
-               print FILE "http_port $netsettings{'BLUE_ADDRESS'}:$proxysettings{'PROXY_PORT'}\n";\r
-       }\r
-       print FILE <<END\r
-\r
-acl QUERY urlpath_regex cgi-bin \\?\r
-no_cache deny QUERY\r
-\r
-cache_effective_user squid\r
-cache_effective_group squid\r
-\r
-pid_filename /var/run/squid.pid\r
-\r
-END\r
-       ;\r
-\r
-       if ($proxysettings{'LOGGING'} eq 'on')\r
-       {\r
-                print FILE <<END\r
-cache_access_log /var/log/squid/access.log\r
-cache_log /var/log/squid/cache.log\r
-cache_store_log none\r
-\r
-END\r
-       ;} else {\r
-               print FILE <<END\r
-cache_access_log /dev/null\r
-cache_log /dev/null\r
-cache_store_log none\r
-\r
-END\r
-       ;}\r
-       print FILE <<END\r
-log_mime_hdrs off\r
-forwarded_for off\r
-\r
-END\r
-       ;\r
-\r
-        #Insert acl file and replace __VAR__ with correct values\r
-        my $blue_net = ''; #BLUE empty by default\r
-       my $blue_ip = '';\r
-       if ($netsettings{'BLUE_DEV'} && $proxysettings{'ENABLE_BLUE'} eq 'on') {\r
-           $blue_net = "$netsettings{'BLUE_NETADDRESS'}/$netsettings{'BLUE_NETMASK'}";\r
-           $blue_ip  = "$netsettings{'BLUE_ADDRESS'}";\r
-       }\r
-       open (ACL, "${General::swroot}/proxy/acl") or die "Unable to open ACL list file";\r
-       while (<ACL>) {\r
-               $_ =~ s/__GREEN_IP__/$netsettings{'GREEN_ADDRESS'}/;\r
-               $_ =~ s/__GREEN_NET__/$netsettings{'GREEN_NETADDRESS'}\/$netsettings{'GREEN_NETMASK'}/;\r
-               $_ =~ s/__BLUE_IP__/$blue_ip/;\r
-               $_ =~ s/__BLUE_NET__/$blue_net/;\r
-               $_ =~ s/__PROXY_PORT__/$proxysettings{'PROXY_PORT'}/;\r
-               print FILE $_;\r
-       }\r
-       close (ACL);\r
-\r
-       # This value is in bytes, so we must turn it from KB into bytes\r
-       my $max_incoming_size = $proxysettings{'MAX_INCOMING_SIZE'} * 1024;\r
-\r
-       print FILE <<END\r
-\r
-maximum_object_size $proxysettings{'MAX_SIZE'} KB\r
-minimum_object_size $proxysettings{'MIN_SIZE'} KB\r
-\r
-cache_mem $cachemem KB\r
-cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} 16 256\r
-\r
-request_body_max_size $proxysettings{'MAX_OUTGOING_SIZE'} KB\r
-reply_body_max_size $max_incoming_size allow all\r
-\r
-visible_hostname $mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}\r
-\r
-END\r
-       ;\r
-\r
-       # Write the parent proxy info, if needed.\r
-       if ($remotehost ne '')\r
-       {\r
-               # Enter authentication for the parent cache (format is login=user:password)\r
-               if ($proxy1 eq 'YES') {\r
-               print FILE <<END\r
-cache_peer $remotehost parent $remoteport 3130 login=$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'} default no-query\r
-\r
-END\r
-               ; \r
-               } else {\r
-               # Not using authentication with the parent cache\r
-               print FILE <<END\r
-cache_peer $remotehost parent $remoteport 3130 default no-query\r
-\r
-END\r
-               ;\r
-               }\r
-               print FILE "never_direct allow all\n";\r
-       }\r
-       if (($proxysettings{'TRANSPARENT'} eq 'on') ||\r
-           ($proxysettings{'TRANSPARENT_BLUE'} eq 'on'))\r
-       {\r
-               print FILE <<END\r
-httpd_accel_host virtual \r
-httpd_accel_port 80 \r
-httpd_accel_with_proxy on\r
-httpd_accel_uses_host_header on \r
-END\r
-               ;\r
-       }\r
-       close FILE;\r
-       $configerror = 0;  ## a good config!\r
-\r
-ERROR:\r
-       unlink "${General::swroot}/proxy/enable";\r
-       unlink "${General::swroot}/proxy/transparent";\r
-       unlink "${General::swroot}/proxy/enable_blue";\r
-       unlink "${General::swroot}/proxy/transparent_blue";\r
-       &DoHTML;\r
-\r
-       if (!$configerror)\r
-       {\r
-               if ($proxysettings{'ENABLE'} eq 'on') {\r
-                       system ('/bin/touch', "${General::swroot}/proxy/enable"); }\r
-               if ($proxysettings{'TRANSPARENT'} eq 'on') {\r
-                       system ('/bin/touch', "${General::swroot}/proxy/transparent"); }\r
-               if ($proxysettings{'ENABLE_BLUE'} eq 'on') {\r
-                       system ('/bin/touch', "${General::swroot}/proxy/enable_blue"); }\r
-               if ($proxysettings{'TRANSPARENT_BLUE'} eq 'on') {\r
-                       system ('/bin/touch', "${General::swroot}/proxy/transparent_blue"); }\r
-               system('/usr/local/bin/restartsquid');\r
-       }\r
-}\r
-\r
-if ($proxysettings{'ACTION'} eq $Lang::tr{'clear cache'})\r
-{\r
-       &DoHTML;\r
-       system('/usr/local/bin/restartsquid','-f');\r
-}\r
-\r
-&DoHTML if $NeedDoHTML;\r
-\r
-\r
-sub DoHTML     {\r
-\r
-$NeedDoHTML = 0;\r
-&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);\r
-\r
-my %checked=();\r
-\r
-$checked{'ENABLE'}{'off'} = '';\r
-$checked{'ENABLE'}{'on'} = '';\r
-$checked{'ENABLE'}{$proxysettings{'ENABLE'}} = "checked='checked'";\r
-\r
-$checked{'TRANSPARENT'}{'off'} = '';\r
-$checked{'TRANSPARENT'}{'on'} = '';\r
-$checked{'TRANSPARENT'}{$proxysettings{'TRANSPARENT'}} = "checked='checked'";\r
-\r
-$checked{'ENABLE_BLUE'}{'off'} = '';\r
-$checked{'ENABLE_BLUE'}{'on'} = '';\r
-$checked{'ENABLE_BLUE'}{$proxysettings{'ENABLE_BLUE'}} = "checked='checked'";\r
-\r
-$checked{'TRANSPARENT_BLUE'}{'off'} = '';\r
-$checked{'TRANSPARENT_BLUE'}{'on'} = '';\r
-$checked{'TRANSPARENT_BLUE'}{$proxysettings{'TRANSPARENT_BLUE'}} = "checked='checked'";\r
-\r
-$checked{'LOGGING'}{'off'} = '';\r
-$checked{'LOGGING'}{'on'} = '';\r
-$checked{'LOGGING'}{$proxysettings{'LOGGING'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'web proxy configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', "$Lang::tr{'web proxy'}:");\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='25%' class='base'>$Lang::tr{'enabled on'} <font color="${Header::colourgreen}">Green</font>:</td>\r
-       <td width='15%'><input type='checkbox' name='ENABLE' $checked{'ENABLE'}{'on'} /></td>\r
-       <td width='30%' class='base'>$Lang::tr{'upstream proxy host:port'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td width='30%'><input type='text' name='UPSTREAM_PROXY' value='$proxysettings{'UPSTREAM_PROXY'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'transparent on'} <font color="${Header::colourgreen}">Green</font>:</td>\r
-       <td><input type='checkbox' name='TRANSPARENT' $checked{'TRANSPARENT'}{'on'} /></td>\r
-       <td class='base'>$Lang::tr{'upstream username'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='UPSTREAM_USER' value='$proxysettings{'UPSTREAM_USER'}' /></td>\r
-</tr>\r
-<tr>\r
-END\r
-;\r
-if ($netsettings{'BLUE_DEV'}) {\r
-       print "<td class='base'>$Lang::tr{'enabled on'} <font color='${Header::colourblue}'>Blue</font>:</td>";\r
-       print "<td><input type='checkbox' name='ENABLE_BLUE' $checked{'ENABLE_BLUE'}{'on'} /></td>";\r
-} else {\r
-       print "<td colspan='2'>&nbsp;</td>";\r
-}\r
-print <<END\r
-       <td class='base'>$Lang::tr{'upstream password'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='password' name='UPSTREAM_PASSWORD' value='$proxysettings{'UPSTREAM_PASSWORD'}' /></td>\r
-</tr>\r
-<tr>\r
-END\r
-;\r
-if ($netsettings{'BLUE_DEV'}) {\r
-       print "<td class='base'>$Lang::tr{'transparent on'} <font color='${Header::colourblue}'>Blue</font>:</td>";\r
-       print "<td><input type='checkbox' name='TRANSPARENT_BLUE' $checked{'TRANSPARENT_BLUE'}{'on'} /></td>";\r
-} else {\r
-       print "<td colspan='2'>&nbsp;</td>";\r
-}\r
-print <<END\r
-       <td class='base'>$Lang::tr{'proxy port'}:</td>\r
-       <td><input type='text' name='PROXY_PORT' value='$proxysettings{'PROXY_PORT'}' size='5' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'log enabled'}:</td>\r
-       <td><input type='checkbox' name='LOGGING' $checked{'LOGGING'}{'on'} /></td>\r
-       <td>$Lang::tr{'squid extension methods'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='EXTENSION_METHODS' value='$proxysettings{'EXTENSION_METHODS'}' /></td>\r
-</tr>\r
-<!--TAG FOR ADDONS-->\r
-<tr>\r
-       <td colspan='4'><hr /><b>$Lang::tr{'cache management'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td width='25%' class='base'>$Lang::tr{'cache size'}</td>\r
-       <td><input type='text' name='CACHE_SIZE' value='$proxysettings{'CACHE_SIZE'}' size='5' /></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'min size'}</td>\r
-       <td><input type='text' name='MIN_SIZE' value='$proxysettings{'MIN_SIZE'}' size='5' /></td>\r
-       <td class='base'>$Lang::tr{'max size'}</td>\r
-       <td><input type='text' name='MAX_SIZE' value='$proxysettings{'MAX_SIZE'}' size='5' /></td>\r
-</tr>\r
-<tr>\r
-       <td colspan='4'><hr /><b>$Lang::tr{'transfer limits'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'max incoming size'}</td>\r
-       <td><input type='text' name='MAX_INCOMING_SIZE' value='$proxysettings{'MAX_INCOMING_SIZE'}' size='5' /></td>\r
-       <td class='base'>$Lang::tr{'max outgoing size'}</td>\r
-       <td><input type='text' name='MAX_OUTGOING_SIZE' value='$proxysettings{'MAX_OUTGOING_SIZE'}' size='5' /></td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-       <td width='28%'>\r
-               <img src='/blob.gif' align='top' alt='*' />&nbsp;\r
-               <font class='base'>$Lang::tr{'this field may be blank'}</font>\r
-       </td>\r
-       <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'clear cache'}' /></td>\r
-       <td width=33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-       <td width='5%' align='right'>\r
-               <a href='${General::adminmanualurl}/services.html#services_webproxy' target='_blank'>\r
-               <img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a></td>\r
-</tr>\r
-\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-} # end sub DoHTML\r
-1\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: proxy.cgi,v 1.13.2.23 2006/01/29 09:29:47 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %proxysettings=();
+my %netsettings=();
+my %mainsettings=();
+my $errormessage = '';
+my $NeedDoHTML = 1;
+
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+
+&Header::showhttpheaders();
+
+$proxysettings{'ACTION'} = '';
+$proxysettings{'VALID'} = '';
+
+$proxysettings{'UPSTREAM_PROXY'} = '';
+$proxysettings{'UPSTREAM_USER'} = '';
+$proxysettings{'UPSTREAM_PASSWORD'} = '';
+$proxysettings{'ENABLE'} = 'off';
+$proxysettings{'ENABLE_BLUE'} = 'off';
+$proxysettings{'CACHE_SIZE'} = '50';
+$proxysettings{'TRANSPARENT'} = 'off';
+$proxysettings{'TRANSPARENT_BLUE'} = 'off';
+$proxysettings{'MAX_SIZE'} = '4096';
+$proxysettings{'MIN_SIZE'} = '0';
+$proxysettings{'MAX_OUTGOING_SIZE'} = '0';
+$proxysettings{'MAX_INCOMING_SIZE'} = '0';
+$proxysettings{'LOGGING'} = 'off';
+$proxysettings{'PROXY_PORT'} = '800';
+$proxysettings{'EXTENSION_METHODS'} = '';
+
+&Header::getcgihash(\%proxysettings);
+
+my $needhup = 0;
+my $cachemem = '';
+
+if ($proxysettings{'ACTION'} eq $Lang::tr{'save'})
+{
+       
+       #assume error
+       my $configerror = 1;
+
+       if ($proxysettings{'ENABLE'} !~ /^(on|off)$/ || 
+           $proxysettings{'TRANSPARENT'} !~ /^(on|off)$/ || 
+           $proxysettings{'ENABLE_BLUE'} !~ /^(on|off)$/ || 
+           $proxysettings{'TRANSPARENT_BLUE'} !~ /^(on|off)$/ ) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ERROR;
+       } 
+       if (!($proxysettings{'CACHE_SIZE'} =~ /^\d+/) ||
+               ($proxysettings{'CACHE_SIZE'} < 10))
+       {
+               $errormessage = $Lang::tr{'invalid cache size'};
+               goto ERROR;
+       }               
+       if (!($proxysettings{'MAX_SIZE'} =~ /^\d+/))
+       {
+               $errormessage = $Lang::tr{'invalid maximum object size'};
+               goto ERROR;
+       }
+       if (!($proxysettings{'MIN_SIZE'} =~ /^\d+/))
+       {
+               $errormessage = $Lang::tr{'invalid minimum object size'};
+               goto ERROR;
+       }
+       if (!($proxysettings{'MAX_OUTGOING_SIZE'} =~ /^\d+/))
+       {
+               $errormessage = $Lang::tr{'invalid maximum outgoing size'};
+               goto ERROR;
+       }
+       if (!($proxysettings{'MAX_INCOMING_SIZE'} =~ /^\d+/))
+       {
+               $errormessage = $Lang::tr{'invalid maximum incoming size'};
+               goto ERROR;
+       }
+
+       if (!($proxysettings{'EXTENSION_METHODS'} =~ /^(|[A-Z0-9 _-]+)$/))
+       {
+               $errormessage = $Lang::tr{'squid extension methods invalid'};
+               goto ERROR;
+       }
+
+        # Quick parent proxy error checking of username and password info. If username password don't both exist give an error.
+        my $proxy1 = 'YES';
+        my $proxy2 = 'YES';
+        if (($proxysettings{'UPSTREAM_USER'} eq '')) {$proxy1 = '';}
+        if (($proxysettings{'UPSTREAM_PASSWORD'} eq '')) {$proxy2 = '';}
+        if (($proxy1 ne $proxy2))
+        {
+                $errormessage = $Lang::tr{'invalid upstream proxy username or password setting'};
+                goto ERROR;
+        }
+
+       $_ = $proxysettings{'UPSTREAM_PROXY'};
+       my ($remotehost, $remoteport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
+       $remoteport = 80 if ($remoteport eq '');
+
+       $proxysettings{'VALID'} = 'yes';
+       &General::writehash("${General::swroot}/proxy/settings", \%proxysettings);
+
+       #
+       # NAH, 03-Jan-2004
+       #
+       my @free = `/usr/bin/free`;
+       $free[1] =~ m/(\d+)/;
+       $cachemem = int $1 / 10;
+       if ($cachemem < 4096) {
+               $cachemem = 4096;
+       }
+       if ($cachemem > $proxysettings{'CACHE_SIZE'} * 40) {
+               $cachemem = ( $proxysettings{'CACHE_SIZE'} * 40 );
+       }
+
+       open(FILE, ">/${General::swroot}/proxy/squid.conf") or die "Unable to write squid.conf file";
+       flock(FILE, 2);
+       print FILE <<END
+shutdown_lifetime 5 seconds
+icp_port 0
+
+http_port $netsettings{'GREEN_ADDRESS'}:$proxysettings{'PROXY_PORT'}
+END
+       ;
+       print FILE "\nextension_methods $proxysettings{'EXTENSION_METHODS'}\n" if ($proxysettings{'EXTENSION_METHODS'} ne '');
+
+       if ($netsettings{'BLUE_DEV'} && $proxysettings{'ENABLE_BLUE'} eq 'on') {
+               print FILE "http_port $netsettings{'BLUE_ADDRESS'}:$proxysettings{'PROXY_PORT'}\n";
+       }
+       print FILE <<END
+
+acl QUERY urlpath_regex cgi-bin \\?
+no_cache deny QUERY
+
+cache_effective_user squid
+cache_effective_group squid
+
+pid_filename /var/run/squid.pid
+
+END
+       ;
+
+       if ($proxysettings{'LOGGING'} eq 'on')
+       {
+                print FILE <<END
+cache_access_log /var/log/squid/access.log
+cache_log /var/log/squid/cache.log
+cache_store_log none
+
+END
+       ;} else {
+               print FILE <<END
+cache_access_log /dev/null
+cache_log /dev/null
+cache_store_log none
+
+END
+       ;}
+       print FILE <<END
+log_mime_hdrs off
+forwarded_for off
+
+END
+       ;
+
+        #Insert acl file and replace __VAR__ with correct values
+        my $blue_net = ''; #BLUE empty by default
+       my $blue_ip = '';
+       if ($netsettings{'BLUE_DEV'} && $proxysettings{'ENABLE_BLUE'} eq 'on') {
+           $blue_net = "$netsettings{'BLUE_NETADDRESS'}/$netsettings{'BLUE_NETMASK'}";
+           $blue_ip  = "$netsettings{'BLUE_ADDRESS'}";
+       }
+       open (ACL, "${General::swroot}/proxy/acl") or die "Unable to open ACL list file";
+       while (<ACL>) {
+               $_ =~ s/__GREEN_IP__/$netsettings{'GREEN_ADDRESS'}/;
+               $_ =~ s/__GREEN_NET__/$netsettings{'GREEN_NETADDRESS'}\/$netsettings{'GREEN_NETMASK'}/;
+               $_ =~ s/__BLUE_IP__/$blue_ip/;
+               $_ =~ s/__BLUE_NET__/$blue_net/;
+               $_ =~ s/__PROXY_PORT__/$proxysettings{'PROXY_PORT'}/;
+               print FILE $_;
+       }
+       close (ACL);
+
+       # This value is in bytes, so we must turn it from KB into bytes
+       my $max_incoming_size = $proxysettings{'MAX_INCOMING_SIZE'} * 1024;
+
+       print FILE <<END
+
+maximum_object_size $proxysettings{'MAX_SIZE'} KB
+minimum_object_size $proxysettings{'MIN_SIZE'} KB
+
+cache_mem $cachemem KB
+cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} 16 256
+
+request_body_max_size $proxysettings{'MAX_OUTGOING_SIZE'} KB
+reply_body_max_size $max_incoming_size allow all
+
+visible_hostname $mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}
+
+END
+       ;
+
+       # Write the parent proxy info, if needed.
+       if ($remotehost ne '')
+       {
+               # Enter authentication for the parent cache (format is login=user:password)
+               if ($proxy1 eq 'YES') {
+               print FILE <<END
+cache_peer $remotehost parent $remoteport 3130 login=$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'} default no-query
+
+END
+               ; 
+               } else {
+               # Not using authentication with the parent cache
+               print FILE <<END
+cache_peer $remotehost parent $remoteport 3130 default no-query
+
+END
+               ;
+               }
+               print FILE "never_direct allow all\n";
+       }
+       if (($proxysettings{'TRANSPARENT'} eq 'on') ||
+           ($proxysettings{'TRANSPARENT_BLUE'} eq 'on'))
+       {
+               print FILE <<END
+httpd_accel_host virtual 
+httpd_accel_port 80 
+httpd_accel_with_proxy on
+httpd_accel_uses_host_header on 
+END
+               ;
+       }
+       close FILE;
+       $configerror = 0;  ## a good config!
+
+ERROR:
+       unlink "${General::swroot}/proxy/enable";
+       unlink "${General::swroot}/proxy/transparent";
+       unlink "${General::swroot}/proxy/enable_blue";
+       unlink "${General::swroot}/proxy/transparent_blue";
+       &DoHTML;
+
+       if (!$configerror)
+       {
+               if ($proxysettings{'ENABLE'} eq 'on') {
+                       system ('/bin/touch', "${General::swroot}/proxy/enable"); }
+               if ($proxysettings{'TRANSPARENT'} eq 'on') {
+                       system ('/bin/touch', "${General::swroot}/proxy/transparent"); }
+               if ($proxysettings{'ENABLE_BLUE'} eq 'on') {
+                       system ('/bin/touch', "${General::swroot}/proxy/enable_blue"); }
+               if ($proxysettings{'TRANSPARENT_BLUE'} eq 'on') {
+                       system ('/bin/touch', "${General::swroot}/proxy/transparent_blue"); }
+               system('/usr/local/bin/restartsquid');
+       }
+}
+
+if ($proxysettings{'ACTION'} eq $Lang::tr{'clear cache'})
+{
+       &DoHTML;
+       system('/usr/local/bin/restartsquid','-f');
+}
+
+&DoHTML if $NeedDoHTML;
+
+
+sub DoHTML     {
+
+$NeedDoHTML = 0;
+&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+
+my %checked=();
+
+$checked{'ENABLE'}{'off'} = '';
+$checked{'ENABLE'}{'on'} = '';
+$checked{'ENABLE'}{$proxysettings{'ENABLE'}} = "checked='checked'";
+
+$checked{'TRANSPARENT'}{'off'} = '';
+$checked{'TRANSPARENT'}{'on'} = '';
+$checked{'TRANSPARENT'}{$proxysettings{'TRANSPARENT'}} = "checked='checked'";
+
+$checked{'ENABLE_BLUE'}{'off'} = '';
+$checked{'ENABLE_BLUE'}{'on'} = '';
+$checked{'ENABLE_BLUE'}{$proxysettings{'ENABLE_BLUE'}} = "checked='checked'";
+
+$checked{'TRANSPARENT_BLUE'}{'off'} = '';
+$checked{'TRANSPARENT_BLUE'}{'on'} = '';
+$checked{'TRANSPARENT_BLUE'}{$proxysettings{'TRANSPARENT_BLUE'}} = "checked='checked'";
+
+$checked{'LOGGING'}{'off'} = '';
+$checked{'LOGGING'}{'on'} = '';
+$checked{'LOGGING'}{$proxysettings{'LOGGING'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'web proxy configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', "$Lang::tr{'web proxy'}:");
+print <<END
+<table width='100%'>
+<tr>
+       <td width='25%' class='base'>$Lang::tr{'enabled on'} <font color="${Header::colourgreen}">Green</font>:</td>
+       <td width='15%'><input type='checkbox' name='ENABLE' $checked{'ENABLE'}{'on'} /></td>
+       <td width='30%' class='base'>$Lang::tr{'upstream proxy host:port'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='30%'><input type='text' name='UPSTREAM_PROXY' value='$proxysettings{'UPSTREAM_PROXY'}' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'transparent on'} <font color="${Header::colourgreen}">Green</font>:</td>
+       <td><input type='checkbox' name='TRANSPARENT' $checked{'TRANSPARENT'}{'on'} /></td>
+       <td class='base'>$Lang::tr{'upstream username'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='UPSTREAM_USER' value='$proxysettings{'UPSTREAM_USER'}' /></td>
+</tr>
+<tr>
+END
+;
+if ($netsettings{'BLUE_DEV'}) {
+       print "<td class='base'>$Lang::tr{'enabled on'} <font color='${Header::colourblue}'>Blue</font>:</td>";
+       print "<td><input type='checkbox' name='ENABLE_BLUE' $checked{'ENABLE_BLUE'}{'on'} /></td>";
+} else {
+       print "<td colspan='2'>&nbsp;</td>";
+}
+print <<END
+       <td class='base'>$Lang::tr{'upstream password'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='password' name='UPSTREAM_PASSWORD' value='$proxysettings{'UPSTREAM_PASSWORD'}' /></td>
+</tr>
+<tr>
+END
+;
+if ($netsettings{'BLUE_DEV'}) {
+       print "<td class='base'>$Lang::tr{'transparent on'} <font color='${Header::colourblue}'>Blue</font>:</td>";
+       print "<td><input type='checkbox' name='TRANSPARENT_BLUE' $checked{'TRANSPARENT_BLUE'}{'on'} /></td>";
+} else {
+       print "<td colspan='2'>&nbsp;</td>";
+}
+print <<END
+       <td class='base'>$Lang::tr{'proxy port'}:</td>
+       <td><input type='text' name='PROXY_PORT' value='$proxysettings{'PROXY_PORT'}' size='5' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'log enabled'}:</td>
+       <td><input type='checkbox' name='LOGGING' $checked{'LOGGING'}{'on'} /></td>
+       <td>$Lang::tr{'squid extension methods'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='EXTENSION_METHODS' value='$proxysettings{'EXTENSION_METHODS'}' /></td>
+</tr>
+<!--TAG FOR ADDONS-->
+<tr>
+       <td colspan='4'><hr /><b>$Lang::tr{'cache management'}</b></td>
+</tr>
+<tr>
+       <td width='25%' class='base'>$Lang::tr{'cache size'}</td>
+       <td><input type='text' name='CACHE_SIZE' value='$proxysettings{'CACHE_SIZE'}' size='5' /></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'min size'}</td>
+       <td><input type='text' name='MIN_SIZE' value='$proxysettings{'MIN_SIZE'}' size='5' /></td>
+       <td class='base'>$Lang::tr{'max size'}</td>
+       <td><input type='text' name='MAX_SIZE' value='$proxysettings{'MAX_SIZE'}' size='5' /></td>
+</tr>
+<tr>
+       <td colspan='4'><hr /><b>$Lang::tr{'transfer limits'}</b></td>
+</tr>
+<tr>
+       <td class='base'>$Lang::tr{'max incoming size'}</td>
+       <td><input type='text' name='MAX_INCOMING_SIZE' value='$proxysettings{'MAX_INCOMING_SIZE'}' size='5' /></td>
+       <td class='base'>$Lang::tr{'max outgoing size'}</td>
+       <td><input type='text' name='MAX_OUTGOING_SIZE' value='$proxysettings{'MAX_OUTGOING_SIZE'}' size='5' /></td>
+</tr>
+</table>
+<table width='100%'>
+<hr />
+<tr>
+       <td width='28%'>
+               <img src='/blob.gif' align='top' alt='*' />&nbsp;
+               <font class='base'>$Lang::tr{'this field may be blank'}</font>
+       </td>
+       <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'clear cache'}' /></td>
+       <td width=33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+       <td width='5%' align='right'>
+               <a href='${General::adminmanualurl}/services.html#services_webproxy' target='_blank'>
+               <img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a></td>
+</tr>
+
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+} # end sub DoHTML
+1
index 4e297b15d104fecfd967b3669507cb030f12d70a..406fe9b620f0d4b5aa955ae69a981c20648a26cc 100644 (file)
@@ -1,63 +1,63 @@
-#!/usr/bin/perl\r
-#\r
-# (c) 2002 Robert Wood <rob@empathymp3.co.uk>\r
-#\r
-# $Id: proxygraphs.cgi,v 1.2.2.5 2005/02/22 22:21:56 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my %pppsettings=();\r
-my %netsettings=();\r
-my @graphs=();\r
-\r
-&Header::showhttpheaders();\r
-\r
-my $dir = "/home/httpd/html/sgraph";\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-my $sgraphdir = "/home/httpd/html/sgraph";\r
-\r
-&Header::openpage($Lang::tr{'proxy access graphs'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left');\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'proxy access graphs'} . ":" );\r
-\r
-if (open(IPACHTML, "$sgraphdir/index.html"))\r
-{\r
-       my $skip = 1;\r
-       while (<IPACHTML>)\r
-       {\r
-               $skip = 1 if /^<HR>$/;\r
-               if ($skip)\r
-               {\r
-                       $skip = 0 if /<H1>/;\r
-                       next;\r
-               }\r
-               s/<IMG SRC=([^"'>]+)>/<img src='\/sgraph\/$1' alt='Graph' \/>/;\r
-               s/<HR>/<hr \/>/g;\r
-               s/<BR>/<br \/>/g;\r
-               s/<([^>]*)>/\L<$1>\E/g;\r
-               s/(size|align|border|color)=([^'"> ]+)/$1='$2'/g;\r
-               print;\r
-       }\r
-       close(IPACHTML);\r
-}\r
-else {\r
-       print $Lang::tr{'no information available'}; }\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# (c) 2002 Robert Wood <rob@empathymp3.co.uk>
+#
+# $Id: proxygraphs.cgi,v 1.2.2.5 2005/02/22 22:21:56 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my %pppsettings=();
+my %netsettings=();
+my @graphs=();
+
+&Header::showhttpheaders();
+
+my $dir = "/home/httpd/html/sgraph";
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+my $sgraphdir = "/home/httpd/html/sgraph";
+
+&Header::openpage($Lang::tr{'proxy access graphs'}, 1, '');
+
+&Header::openbigbox('100%', 'left');
+
+&Header::openbox('100%', 'left', $Lang::tr{'proxy access graphs'} . ":" );
+
+if (open(IPACHTML, "$sgraphdir/index.html"))
+{
+       my $skip = 1;
+       while (<IPACHTML>)
+       {
+               $skip = 1 if /^<HR>$/;
+               if ($skip)
+               {
+                       $skip = 0 if /<H1>/;
+                       next;
+               }
+               s/<IMG SRC=([^"'>]+)>/<img src='\/sgraph\/$1' alt='Graph' \/>/;
+               s/<HR>/<hr \/>/g;
+               s/<BR>/<br \/>/g;
+               s/<([^>]*)>/\L<$1>\E/g;
+               s/(size|align|border|color)=([^'"> ]+)/$1='$2'/g;
+               print;
+       }
+       close(IPACHTML);
+}
+else {
+       print $Lang::tr{'no information available'}; }
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
index 581f4d228909fcc8630dd10d30c9e6c347cbb4eb..ec4424d246fb63155e3686ac6433f9c90c6d37b7 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: remote.cgi,v 1.6.2.8 2005/02/22 22:21:56 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %remotesettings=();\r
-my %checked=();\r
-my $errormessage='';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$remotesettings{'ENABLE_SSH'} = 'off';\r
-$remotesettings{'ENABLE_SSH_PROTOCOL1'} = 'off';\r
-$remotesettings{'ENABLE_SSH_PORTFW'} = 'off';\r
-$remotesettings{'ACTION'} = '';\r
-&Header::getcgihash(\%remotesettings);\r
-\r
-if ($remotesettings{'ACTION'} eq $Lang::tr{'save'})\r
-{\r
-       # not existing here indicates the box is unticked\r
-       $remotesettings{'ENABLE_SSH_PASSWORDS'} = 'off' unless exists $remotesettings{'ENABLE_SSH_PASSWORDS'};\r
-       $remotesettings{'ENABLE_SSH_KEYS'} = 'off' unless exists $remotesettings{'ENABLE_SSH_KEYS'};\r
-\r
-\r
-       &General::writehash("${General::swroot}/remote/settings", \%remotesettings);\r
-       if ($remotesettings{'ENABLE_SSH'} eq 'on')\r
-       {\r
-               &General::log($Lang::tr{'ssh is enabled'});\r
-               if  ($remotesettings{'ENABLE_SSH_PASSWORDS'} eq 'off'\r
-                and $remotesettings{'ENABLE_SSH_KEYS'}      eq 'off')\r
-               {\r
-                       $errormessage = $Lang::tr{'ssh no auth'};\r
-               }\r
-               system ('/bin/touch', "${General::swroot}/remote/enablessh");\r
-       }\r
-       else\r
-       {\r
-               &General::log($Lang::tr{'ssh is disabled'});\r
-               unlink "${General::swroot}/remote/enablessh";\r
-       }\r
-\r
-       if ($remotesettings{'ENABLE_SSH_PROTOCOL1'} eq 'on')\r
-       {\r
-               &General::log($Lang::tr{'ssh1 enabled'});\r
-       }\r
-       else\r
-       {\r
-               &General::log($Lang::tr{'ssh1 disabled'});\r
-       }\r
-\r
-       system('/usr/local/bin/restartssh') == 0\r
-               or $errormessage = "$Lang::tr{'bad return code'} " . $?/256;\r
-}\r
-\r
-&General::readhash("${General::swroot}/remote/settings", \%remotesettings);\r
-\r
-# not existing here means they're undefined and the default value should be\r
-# used\r
-       $remotesettings{'ENABLE_SSH_PASSWORDS'} = 'on' unless exists $remotesettings{'ENABLE_SSH_PASSWORDS'};\r
-       $remotesettings{'ENABLE_SSH_KEYS'} = 'on' unless exists $remotesettings{'ENABLE_SSH_KEYS'};\r
-\r
-$checked{'ENABLE_SSH'}{'off'} = '';\r
-$checked{'ENABLE_SSH'}{'on'} = '';\r
-$checked{'ENABLE_SSH'}{$remotesettings{'ENABLE_SSH'}} = "checked='checked'";\r
-$checked{'ENABLE_SSH_PROTOCOL1'}{'off'} = '';\r
-$checked{'ENABLE_SSH_PROTOCOL1'}{'on'} = '';\r
-$checked{'ENABLE_SSH_PROTOCOL1'}{$remotesettings{'ENABLE_SSH_PROTOCOL1'}} = "checked='checked'";\r
-$checked{'ENABLE_SSH_PORTFW'}{'off'} = '';\r
-$checked{'ENABLE_SSH_PORTFW'}{'on'} = '';\r
-$checked{'ENABLE_SSH_PORTFW'}{$remotesettings{'ENABLE_SSH_PORTFW'}} = "checked='checked'";\r
-$checked{'ENABLE_SSH_PASSWORDS'}{'off'} = '';\r
-$checked{'ENABLE_SSH_PASSWORDS'}{'on'} = '';\r
-$checked{'ENABLE_SSH_PASSWORDS'}{$remotesettings{'ENABLE_SSH_PASSWORDS'}} = "checked='checked'";\r
-$checked{'ENABLE_SSH_KEYS'}{'off'} = '';\r
-$checked{'ENABLE_SSH_KEYS'}{'on'} = '';\r
-$checked{'ENABLE_SSH_KEYS'}{$remotesettings{'ENABLE_SSH_KEYS'}} = "checked='checked'";\r
-\r
-\r
-&Header::openpage($Lang::tr{'remote access'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', 'SSH:');\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td><input type='checkbox' name='ENABLE_SSH' $checked{'ENABLE_SSH'}{'on'} /></td>\r
-       <td class='base' colspan='2'>$Lang::tr{'ssh access'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td><input type='checkbox' name='ENABLE_SSH_PROTOCOL1' $checked{'ENABLE_SSH_PROTOCOL1'}{'on'} /></td>\r
-       <td width='100%' class='base'>$Lang::tr{'ssh1 support'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td><input type='checkbox' name='ENABLE_SSH_PORTFW' $checked{'ENABLE_SSH_PORTFW'}{'on'} /></td>\r
-       <td width='100%' class='base'>$Lang::tr{'ssh portfw'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td><input type='checkbox' name='ENABLE_SSH_PASSWORDS' $checked{'ENABLE_SSH_PASSWORDS'}{'on'} /></td>\r
-       <td width='100%' class='base'>$Lang::tr{'ssh passwords'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td><input type='checkbox' name='ENABLE_SSH_KEYS' $checked{'ENABLE_SSH_KEYS'}{'on'} /></td>\r
-       <td width='100%' class='base'>$Lang::tr{'ssh keys'}</td>\r
-</tr>\r
-<tr>\r
-       <td colspan='3' align='center'><hr /><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'ssh host keys'});\r
-\r
-print "<table>\n";\r
-\r
-print <<END\r
-<tr><td class='boldbase'><b>$Lang::tr{'ssh key'}</b></td>\r
-    <td class='boldbase'><b>$Lang::tr{'ssh fingerprint'}</b></td>\r
-    <td class='boldbase'><b>$Lang::tr{'ssh key size'}</b></td></tr>\r
-END\r
-;\r
-\r
-&viewkey("/etc/ssh/ssh_host_key.pub","RSA1");\r
-&viewkey("/etc/ssh/ssh_host_rsa_key.pub","RSA2");\r
-&viewkey("/etc/ssh/ssh_host_dsa_key.pub","DSA");\r
-\r
-print "</table>\n";\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-\r
-sub viewkey\r
-{\r
-  my $key = $_[0];\r
-  my $name = $_[1];\r
-\r
-  if ( -e $key )\r
-  {\r
-    my @temp = split(/ /,`/usr/bin/ssh-keygen -l -f $key`);\r
-    my $keysize = &Header::cleanhtml($temp[0],"y");\r
-    my $fingerprint = &Header::cleanhtml($temp[1],"y");\r
-    print "<tr><td>$key ($name)</td><td><code>$fingerprint</code></td><td align='center'>$keysize</td></tr>\n";\r
-  }\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: remote.cgi,v 1.6.2.8 2005/02/22 22:21:56 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %remotesettings=();
+my %checked=();
+my $errormessage='';
+
+&Header::showhttpheaders();
+
+$remotesettings{'ENABLE_SSH'} = 'off';
+$remotesettings{'ENABLE_SSH_PROTOCOL1'} = 'off';
+$remotesettings{'ENABLE_SSH_PORTFW'} = 'off';
+$remotesettings{'ACTION'} = '';
+&Header::getcgihash(\%remotesettings);
+
+if ($remotesettings{'ACTION'} eq $Lang::tr{'save'})
+{
+       # not existing here indicates the box is unticked
+       $remotesettings{'ENABLE_SSH_PASSWORDS'} = 'off' unless exists $remotesettings{'ENABLE_SSH_PASSWORDS'};
+       $remotesettings{'ENABLE_SSH_KEYS'} = 'off' unless exists $remotesettings{'ENABLE_SSH_KEYS'};
+
+
+       &General::writehash("${General::swroot}/remote/settings", \%remotesettings);
+       if ($remotesettings{'ENABLE_SSH'} eq 'on')
+       {
+               &General::log($Lang::tr{'ssh is enabled'});
+               if  ($remotesettings{'ENABLE_SSH_PASSWORDS'} eq 'off'
+                and $remotesettings{'ENABLE_SSH_KEYS'}      eq 'off')
+               {
+                       $errormessage = $Lang::tr{'ssh no auth'};
+               }
+               system ('/bin/touch', "${General::swroot}/remote/enablessh");
+       }
+       else
+       {
+               &General::log($Lang::tr{'ssh is disabled'});
+               unlink "${General::swroot}/remote/enablessh";
+       }
+
+       if ($remotesettings{'ENABLE_SSH_PROTOCOL1'} eq 'on')
+       {
+               &General::log($Lang::tr{'ssh1 enabled'});
+       }
+       else
+       {
+               &General::log($Lang::tr{'ssh1 disabled'});
+       }
+
+       system('/usr/local/bin/restartssh') == 0
+               or $errormessage = "$Lang::tr{'bad return code'} " . $?/256;
+}
+
+&General::readhash("${General::swroot}/remote/settings", \%remotesettings);
+
+# not existing here means they're undefined and the default value should be
+# used
+       $remotesettings{'ENABLE_SSH_PASSWORDS'} = 'on' unless exists $remotesettings{'ENABLE_SSH_PASSWORDS'};
+       $remotesettings{'ENABLE_SSH_KEYS'} = 'on' unless exists $remotesettings{'ENABLE_SSH_KEYS'};
+
+$checked{'ENABLE_SSH'}{'off'} = '';
+$checked{'ENABLE_SSH'}{'on'} = '';
+$checked{'ENABLE_SSH'}{$remotesettings{'ENABLE_SSH'}} = "checked='checked'";
+$checked{'ENABLE_SSH_PROTOCOL1'}{'off'} = '';
+$checked{'ENABLE_SSH_PROTOCOL1'}{'on'} = '';
+$checked{'ENABLE_SSH_PROTOCOL1'}{$remotesettings{'ENABLE_SSH_PROTOCOL1'}} = "checked='checked'";
+$checked{'ENABLE_SSH_PORTFW'}{'off'} = '';
+$checked{'ENABLE_SSH_PORTFW'}{'on'} = '';
+$checked{'ENABLE_SSH_PORTFW'}{$remotesettings{'ENABLE_SSH_PORTFW'}} = "checked='checked'";
+$checked{'ENABLE_SSH_PASSWORDS'}{'off'} = '';
+$checked{'ENABLE_SSH_PASSWORDS'}{'on'} = '';
+$checked{'ENABLE_SSH_PASSWORDS'}{$remotesettings{'ENABLE_SSH_PASSWORDS'}} = "checked='checked'";
+$checked{'ENABLE_SSH_KEYS'}{'off'} = '';
+$checked{'ENABLE_SSH_KEYS'}{'on'} = '';
+$checked{'ENABLE_SSH_KEYS'}{$remotesettings{'ENABLE_SSH_KEYS'}} = "checked='checked'";
+
+
+&Header::openpage($Lang::tr{'remote access'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', 'SSH:');
+print <<END
+<table width='100%'>
+<tr>
+       <td><input type='checkbox' name='ENABLE_SSH' $checked{'ENABLE_SSH'}{'on'} /></td>
+       <td class='base' colspan='2'>$Lang::tr{'ssh access'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td><input type='checkbox' name='ENABLE_SSH_PROTOCOL1' $checked{'ENABLE_SSH_PROTOCOL1'}{'on'} /></td>
+       <td width='100%' class='base'>$Lang::tr{'ssh1 support'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td><input type='checkbox' name='ENABLE_SSH_PORTFW' $checked{'ENABLE_SSH_PORTFW'}{'on'} /></td>
+       <td width='100%' class='base'>$Lang::tr{'ssh portfw'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td><input type='checkbox' name='ENABLE_SSH_PASSWORDS' $checked{'ENABLE_SSH_PASSWORDS'}{'on'} /></td>
+       <td width='100%' class='base'>$Lang::tr{'ssh passwords'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td><input type='checkbox' name='ENABLE_SSH_KEYS' $checked{'ENABLE_SSH_KEYS'}{'on'} /></td>
+       <td width='100%' class='base'>$Lang::tr{'ssh keys'}</td>
+</tr>
+<tr>
+       <td colspan='3' align='center'><hr /><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'ssh host keys'});
+
+print "<table>\n";
+
+print <<END
+<tr><td class='boldbase'><b>$Lang::tr{'ssh key'}</b></td>
+    <td class='boldbase'><b>$Lang::tr{'ssh fingerprint'}</b></td>
+    <td class='boldbase'><b>$Lang::tr{'ssh key size'}</b></td></tr>
+END
+;
+
+&viewkey("/etc/ssh/ssh_host_key.pub","RSA1");
+&viewkey("/etc/ssh/ssh_host_rsa_key.pub","RSA2");
+&viewkey("/etc/ssh/ssh_host_dsa_key.pub","DSA");
+
+print "</table>\n";
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+
+sub viewkey
+{
+  my $key = $_[0];
+  my $name = $_[1];
+
+  if ( -e $key )
+  {
+    my @temp = split(/ /,`/usr/bin/ssh-keygen -l -f $key`);
+    my $keysize = &Header::cleanhtml($temp[0],"y");
+    my $fingerprint = &Header::cleanhtml($temp[1],"y");
+    print "<tr><td>$key ($name)</td><td><code>$fingerprint</code></td><td align='center'>$keysize</td></tr>\n";
+  }
+}
index 688cdc9c05adb2cce1acfe8d0c8c032c38612752..9a1c016a8266a53550da56a18f3edb3ed3cf5630 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# This file is part of the IPCop Firewall.\r
-#\r
-# IPCop is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# IPCop is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-#\r
-# You should have received a copy of the GNU General Public License\r
-# along with IPCop; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-#\r
-# Copyright (C) 2003-09-22 Darren Critchley <darrenc@telus.net>\r
-#\r
-# $Id: services.cgi,v 1.2.2.3 2005/04/29 23:37:07 franck78 Exp $\r
-#\r
-\r
-use strict;\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my @icmptypes = &get_icmptypes();\r
-\r
-&Header::showhttpheaders();\r
-\r
-my %cgiparams=();\r
-my %selected=();\r
-my %checked=();\r
-my $filename = "${General::swroot}/firewall/customservices";\r
-my $key = 0; # used for finding last sequence number used \r
-\r
-# Darren Critchley - vars for setting up sort order\r
-my $sort_col = '1';\r
-my $sort_type = 'a';\r
-my $sort_dir = 'asc';\r
-\r
-if ($ENV{'QUERY_STRING'} ne '') {\r
-       my ($item1, $item2, $item3) = split(/\&/,$ENV{'QUERY_STRING'});\r
-       if ($item1 ne '') {\r
-               ($junk, $sort_col) = split(/\=/,$item1)\r
-       }\r
-       if ($item2 ne '') {\r
-               ($junk, $sort_type) = split(/\=/,$item2)\r
-       }\r
-       if ($item3 ne '') {\r
-               ($junk, $sort_dir) = split(/\=/,$item3)\r
-       }\r
-}\r
-\r
-$cgiparams{'KEY'} = '';\r
-$cgiparams{'PORTS'} = '';\r
-$cgiparams{'PROTOCOL'} = '6';\r
-$cgiparams{'NAME'} = '';\r
-$cgiparams{'PORT_INVERT'} = 'off';\r
-$cgiparams{'PROTOCOL_INVERT'} = 'off';\r
-$cgiparams{'ICMP'} = 'BLANK';\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}){\r
-\r
-       &validateparams();\r
-       unless($errormessage){\r
-               $key++; # Add one to last sequence number\r
-               open(FILE,">>$filename") or die 'Unable to open config file.';\r
-               flock FILE, 2;\r
-               print FILE "$key,$cgiparams{'NAME'},$cgiparams{'PORTS'},$cgiparams{'PROTOCOL'},$cgiparams{'PORT_INVERT'},$cgiparams{'PROTOCOL_INVERT'},$cgiparams{'ICMP'}\n";\r
-               close(FILE);\r
-               &General::log("$Lang::tr{'service added'}: $cgiparams{'NAME'}");\r
-               undef %cgiparams;\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})\r
-{\r
-       &validateparams();\r
-       # Darren Critchley - If there is an error don't waste any more processing time\r
-       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }\r
-\r
-       unless($errormessage){\r
-               open(FILE, $filename) or die 'Unable to open custom services file.';\r
-               my @current = <FILE>;\r
-               close(FILE);\r
-               my $line;\r
-               open(FILE, ">$filename") or die 'Unable to open config file.';\r
-               flock FILE, 2;\r
-               foreach $line (@current) {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               print FILE "$cgiparams{'KEY'},$cgiparams{'NAME'},$cgiparams{'PORTS'},$cgiparams{'PROTOCOL'},$cgiparams{'PORT_INVERT'},$cgiparams{'PROTOCOL_INVERT'},$cgiparams{'ICMP'}\n";\r
-                       } else {\r
-                               print FILE "$line\n";\r
-                       }\r
-               }\r
-               close(FILE);\r
-               &General::log("$Lang::tr{'service updated'}: $cgiparams{'NAME'}");\r
-               undef %cgiparams;\r
-       }\r
-UPD_ERROR:\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       open(FILE, "$filename") or die 'Unable to open custom services file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       unless ($errormessage)\r
-       {\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               $cgiparams{'NAME'} = $temp[1];\r
-                               $cgiparams{'PORTS'} = $temp[2];\r
-                               $cgiparams{'PROTOCOL'} = $temp[3];\r
-                               $cgiparams{'PORT_INVERT'} = $temp[4];\r
-                               $cgiparams{'PROTOCOL_INVERT'} = $temp[5];\r
-                               $cgiparams{'ICMP'} = $temp[6];\r
-                       }\r
-                       \r
-               }\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})\r
-{\r
-       open(FILE, $filename) or die 'Unable to open custom services file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       open(FILE, ">$filename") or die 'Unable to open custom services file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               chomp($line);\r
-               if ($line ne '') {              \r
-                       my @temp = split(/\,/,$line);\r
-                       if ($cgiparams{'KEY'} eq $temp[0]) {\r
-                               &General::log("$Lang::tr{'service removed'}: $temp[1]");\r
-                       } else {\r
-                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6]\n";\r
-                       }\r
-               }\r
-       }\r
-       close(FILE);\r
-       undef %cgiparams;\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})\r
-{\r
-       undef %cgiparams;\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq '')\r
-{\r
-       $cgiparams{'KEY'} = '';\r
-       $cgiparams{'PORTS'} = '';\r
-       $cgiparams{'PROTOCOL'} = '6';\r
-    $cgiparams{'NAME'} = '';\r
-       $cgiparams{'PORT_INVERT'} = 'off';\r
-       $cgiparams{'PROTOCOL_INVERT'} = 'off';\r
-       $cgiparams{'ICMP'} = 'BLANK';\r
-}\r
-\r
-# Darren Critchley - Bring in the protocols file built from /etc/protocols into hash %protocol\r
-require "${General::swroot}/firewall/protocols.pl";\r
-\r
-# Darren Critchley - figure out which protocol is selected\r
-$selected{'PROTOCOL'}{'tcpudp'}= '';\r
-$selected{'PROTOCOL'}{'all'}= '';\r
-foreach $line (keys %protocols) {\r
-#      $selected{'PROTOCOL'}{"$protocols{$line}"}= '';\r
-       $selected{'PROTOCOL'}{$line}= '';\r
-}\r
-$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = 'SELECTED';\r
-\r
-# Darren Critchley - figure out which icmptype is selected\r
-$selected{'ICMP'}{$cgiparams{'ICMP'}} = 'SELECTED';\r
-\r
-$checked{'PORT_INVERT'}{'off'} = '';\r
-$checked{'PORT_INVERT'}{'on'} = '';\r
-$checked{'PORT_INVERT'}{$cgiparams{'PORT_INVERT'}} = 'CHECKED';\r
-$checked{'PROTOCOL_INVERT'}{'off'} = '';\r
-$checked{'PROTOCOL_INVERT'}{'on'} = '';\r
-$checked{'PROTOCOL_INVERT'}{$cgiparams{'PROTOCOL_INVERT'}} = 'CHECKED';\r
-\r
-&Header::openpage($Lang::tr{'services settings'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-\r
-# DEBUG DEBUG\r
-#&Header::openbox('100%', 'LEFT', 'DEBUG');\r
-#foreach $line (keys %cgiparams) {\r
-#      print "<CLASS NAME='base'>$line = $cgiparams{$line}<BR>";\r
-#}\r
-#print "$sort_col\n";\r
-#print "$ENV{'QUERY_STRING'}\n";\r
-#print "&nbsp;</CLASS>\n";\r
-#&Header::closebox();\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-       print "<CLASS NAME='base'><FONT COLOR='${Header::colourred}'>$errormessage\n</FONT>";\r
-       print "&nbsp;</CLASS>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'edit service'}:");\r
-} else {\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'add service'}:");\r
-}\r
-# Darren Critchley - Show protocols with TCP, UDP, etc at the top of the list.\r
-print <<END\r
-<FORM METHOD='POST'>\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%' ALIGN='CENTER'>\r
-<TR align="center">\r
-       <TD><strong>$Lang::tr{'servicename'}</strong></TD>\r
-       <TD ALIGN='RIGHT'><strong>$Lang::tr{'invert'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'ports'}</strong></TD>\r
-       <TD ALIGN='RIGHT'><strong>$Lang::tr{'invert'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'protocol'}</strong></TD>\r
-       <TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD>\r
-</TR>\r
-<TR align="center">\r
-       <TD>\r
-               <INPUT TYPE='TEXT' NAME='NAME' VALUE='$cgiparams{'NAME'}' SIZE='20' MAXLENGTH='20'>\r
-       </TD>\r
-       <TD ALIGN='RIGHT'>\r
-               <INPUT TYPE='CHECKBOX' NAME='PORT_INVERT' $checked{'PORT_INVERT'}{'on'}>\r
-       </TD>\r
-       <TD>\r
-               <INPUT TYPE='TEXT' NAME='PORTS' VALUE='$cgiparams{'PORTS'}' SIZE='15' MAXLENGTH='11'>\r
-       </TD>\r
-       <TD ALIGN='RIGHT'>\r
-               <INPUT TYPE='CHECKBOX' NAME='PROTOCOL_INVERT' $checked{'PROTOCOL_INVERT'}{'on'}>\r
-       </TD>\r
-    <TD ALIGN='LEFT'>\r
-               <SELECT NAME='PROTOCOL'>\r
-                       <OPTION VALUE='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</OPTION>\r
-                       <OPTION VALUE='udp' $selected{'PROTOCOL'}{'udp'}>UDP</OPTION>\r
-                       <OPTION VALUE='tcpudp' $selected{'PROTOCOL'}{'tcpudp'}>TCP & UDP</OPTION>\r
-                       <OPTION VALUE='all' $selected{'PROTOCOL'}{'all'}>ALL</OPTION>\r
-                       <OPTION VALUE='icmp' $selected{'PROTOCOL'}{'icmp'}>ICMP</OPTION>\r
-                       <OPTION VALUE='gre' $selected{'PROTOCOL'}{'gre'}>GRE</OPTION>\r
-END\r
-;\r
-foreach $line (sort keys %protocols) {\r
-       # Darren Critchley - do not have duplicates in the list\r
-       if ($protocols{$line} ne '6' && $protocols{$line} ne '17' && $protocols{$line} ne '1' && $protocols{$line} ne '47'){\r
-#              print "<OPTION VALUE='$line' $selected{'PROTOCOL'}{$protocols{$line}}>".uc($line)."</OPTION>\n";\r
-               print "<OPTION VALUE='$line' $selected{'PROTOCOL'}{$line}>".uc($line)."</OPTION>\n";\r
-       }\r
-}\r
-print <<END\r
-               </SELECT>\r
-       </TD>\r
-</TR>\r
-<TR>\r
-       <TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD>\r
-       <TD><strong>$Lang::tr{'icmp type'}:</strong></TD>\r
-       <TD ALIGN='LEFT'>\r
-                       <SELECT NAME='ICMP'>\r
-                               <OPTION VALUE='BLANK' $selected{'ICMP'}{'BLANK'}>Valid ICMP Types</OPTION>\r
-END\r
-;\r
-foreach $line (@icmptypes) {\r
-       if ($cgiparams{'ICMP'} eq $line){\r
-               print "<OPTION VALUE='$line' SELECTED>$line</OPTION>\n";\r
-       } else {\r
-               print "<OPTION VALUE='$line' >$line</OPTION>\n";\r
-       }\r
-}\r
-print <<END\r
-                       </SELECT>\r
-       </TD>\r
-</TR>\r
-<TR>\r
-END\r
-;\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'update'}'></TD>\n";\r
-       print "<INPUT TYPE='HIDDEN' NAME='KEY' VALUE='$cgiparams{'KEY'}'>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";\r
-} else {\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'add'}'></TD>\n";\r
-       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";\r
-}\r
-print <<END\r
-</TR>\r
-</TABLE>\r
-</DIV>\r
-</FORM>\r
-END\r
-;\r
-\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'LEFT', "$Lang::tr{'custom services'}:");\r
-print <<END\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%' ALIGN='CENTER'>\r
-<TR align="center">\r
-END\r
-;\r
-\r
-if ($sort_dir eq 'asc' && $sort_col eq '2') {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=2&srtype=a&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'servicename'}</a></strong></TD>\n";\r
-} else {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=2&srtype=a&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'servicename'}</a></strong></TD>\n";\r
-}\r
-if ($sort_dir eq 'asc' && $sort_col eq '3') {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=3&srtype=n&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'ports'}</a></strong></TD>\n";\r
-} else {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=3&srtype=n&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'ports'}</a></strong></TD>\n";\r
-}\r
-if ($sort_dir eq 'asc' && $sort_col eq '4') {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=4&srtype=a&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'protocol'}</a></strong></TD>\n";\r
-} else {\r
-       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=4&srtype=a&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'protocol'}</a></strong></TD>\n";\r
-}\r
-\r
-print <<END\r
-       <TD WIDTH='25%'><strong>$Lang::tr{'icmp type'}</strong></TD>\r
-       <TD WIDTH='5%'>&nbsp;</TD>\r
-       <TD WIDTH='5%'>&nbsp;</TD>\r
-</TR>\r
-END\r
-;\r
-&display_custom_services();\r
-print <<END\r
-</TABLE>\r
-</DIV>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'LEFT', "$Lang::tr{'default services'}:");\r
-print <<END\r
-<DIV ALIGN='CENTER'>\r
-<TABLE WIDTH='100%' ALIGN='CENTER'>\r
-<TR align="center">\r
-       <TD><strong>$Lang::tr{'servicename'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'ports'}</strong></TD>\r
-       <TD><strong>$Lang::tr{'protocol'}</strong></TD>\r
-</TR>\r
-END\r
-;\r
-&display_default_services();\r
-print <<END\r
-</TABLE>\r
-</DIV>\r
-END\r
-;\r
-&Header::closebox();\r
\r
-    print "$Lang::tr{'this feature has been sponsored by'} : ";\r
-    print "<A HREF='http://www.kdi.ca/' TARGET='_blank'>Kobelt Development Inc.</A>.\n";\r
-\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub display_custom_services\r
-{\r
-       \r
-       open(FILE, "$filename") or die 'Unable to open services file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       my $id = 0;\r
-       my $port_inv = '';\r
-       my $prot_inv = '';\r
-       my $port_inv_tail = '';\r
-       my $prot_inv_tail = '';\r
-       my @outarray = &General::srtarray($sort_col,$sort_type,$sort_dir,@current);\r
-       foreach $line (@outarray)\r
-       {\r
-               chomp($line);\r
-               if ($line ne ''){\r
-                       my @temp = split(/\,/,$line);\r
-                       # Darren Critchley highlight the row we are editing\r
-                       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY'} eq $temp[0] ) { \r
-                               print "<TR BGCOLOR='${Header::colouryellow}'>\n";\r
-                       } else {\r
-                               if ($id % 2) {\r
-                                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; \r
-                               } else {\r
-                       print "<TR BGCOLOR='${Header::table2colour}'>\n";\r
-                               }\r
-                       }\r
-                       print "<TD>$temp[1]</TD>\n";\r
-                       if ($temp[4] eq 'on'){$port_inv = " <strong><font color='RED'>! (</font></strong>";$port_inv_tail = "<strong><font color='RED'>)</font></strong>";}else{$port_inv='';$port_inv_tail='';}\r
-                       print "<TD ALIGN='CENTER'>" . $port_inv . &cleanport("$temp[2]") . $port_inv_tail . "</TD>\n";\r
-                       if ($temp[5] eq 'on'){$prot_inv = " <strong><font color='RED'>! (</font></strong>";$prot_inv_tail = "<strong><font color='RED'>)</font></strong>";}else{$prot_inv='';$prot_inv_tail='';}\r
-                       print "<TD ALIGN='CENTER'>" . $prot_inv . &cleanprotocol("$temp[3]") . $prot_inv_tail . "</TD>\n";\r
-                       if ($temp[6] eq 'BLANK') {\r
-                               print "<TD ALIGN='CENTER'>N/A</TD>\n";\r
-                       } else {\r
-                               print "<TD ALIGN='CENTER'>$temp[6]</TD>\n";\r
-                       }\r
-                       print <<END\r
-<FORM METHOD='POST' NAME='frm$temp[0]'>\r
-<TD ALIGN='CENTER'>\r
-       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'edit'}'>\r
-       <INPUT TYPE='image' NAME='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'>\r
-       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>\r
-</TD>\r
-</FORM>\r
-<FORM METHOD='POST' NAME='frm$temp[0]b'>\r
-<TD ALIGN='CENTER'>\r
-       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'remove'}'>\r
-       <INPUT TYPE='image' NAME='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0'>\r
-       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>\r
-</TD>\r
-</FORM>\r
-END\r
-;\r
-                       print "</TR>\n";\r
-                       $id++;\r
-               }\r
-       }\r
-}\r
-\r
-sub display_default_services\r
-{\r
-       my $fname = "${General::swroot}/firewall/defaultservices";\r
-       my $prev = "";\r
-       my $newline="";\r
-       \r
-       open(FILE, "$fname") or die 'Unable to open default services file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-       \r
-       my $id = 0;\r
-       \r
-       foreach my $line (sort @current)\r
-       {\r
-               my @temp = split(/\,/,$line);\r
-               if ($id % 2) {\r
-                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; \r
-               } else {\r
-               print "<TR BGCOLOR='${Header::table2colour}'>\n";\r
-               }\r
-               print "<TD>$temp[0]</TD>\n";\r
-               print "<TD ALIGN='CENTER'>$temp[1]</TD>\n";\r
-               print "<TD ALIGN='CENTER'>" . &cleanprotocol("$temp[2]") . "</TD>\n";\r
-               print "</TR>\n";\r
-               $id++;\r
-       }\r
-}\r
-\r
-sub cleanprotocol\r
-{\r
-       my $prtcl = $_[0];\r
-       chomp($prtcl);\r
-       if ($prtcl eq 'tcpudp') {\r
-               $prtcl = 'TCP & UDP';\r
-       } else {\r
-               $prtcl = uc($prtcl);\r
-       }\r
-       return $prtcl;\r
-}\r
-\r
-sub cleanport\r
-{\r
-       my $prt = $_[0];\r
-       chomp($prt);\r
-       # Darren Critchley - Format the ports\r
-       $prt =~ s/-/ - /;\r
-       $prt =~ s/:/ - /;\r
-       return $prt;\r
-}\r
-\r
-# Validate Field Entries\r
-sub validateparams \r
-{\r
-       $erromessage='';\r
-       if ($cgiparams{'PROTOCOL'} eq 'tcp' || $cgiparams{'PROTOCOL'} eq 'udp' || $cgiparams{'PROTOCOL'} eq 'tcpudp' || $cgiparams{'PROTOCOL'} eq 'all') {\r
-               # Darren Critchley - Get rid of dashes in port ranges\r
-               $cgiparams{'PORTS'}=~ tr/-/:/;\r
-               # Darren Critchley - code to substitue wildcards\r
-               if ($cgiparams{'PORTS'} eq "*") {\r
-                       $cgiparams{'PORTS'} = "1:65535";\r
-               }\r
-               if ($cgiparams{'PORTS'} =~ /^(\D)\:(\d+)$/) {\r
-                       $cgiparams{'PORTS'} = "1:$2";\r
-               }\r
-               if ($cgiparams{'PORTS'} =~ /^(\d+)\:(\D)$/) {\r
-                       $cgiparams{'PORTS'} = "$1:65535";\r
-               }\r
-               # Darren Critchley - watch the order here, the validportrange sets errormessage=''\r
-               $errormessage = &General::validportrange($cgiparams{'PORTS'}, 'src');\r
-               if ($errormessage) {return;}\r
-       } else {\r
-               $cgiparams{'PORTS'} = "";\r
-       }\r
-       if ($cgiparams{'PROTOCOL'} eq 'tcp') {\r
-               $cgiparams{'ICMP'} = "BLANK";\r
-       }\r
-       \r
-       if($cgiparams{'PORTS'} eq '' && $cgiparams{'PORT_INVERT'} ne 'off'){\r
-               $cgiparams{'PORT_INVERT'} = 'off';\r
-       }\r
-       if ($cgiparams{'NAME'} eq '') {\r
-               $errormessage = $Lang::tr{'noservicename'};\r
-               return;\r
-       }\r
-       if ($cgiparams{'PROTOCOL'} eq 'icmp' && $cgiparams{'ICMP'} eq 'BLANK'){\r
-               $errormessage = $Lang::tr{'icmp selected but no type'};\r
-               return;\r
-       }\r
-    unless($errormessage){\r
-               $cgiparams{'NAME'}=&Header::cleanhtml($cgiparams{'NAME'});\r
-               open(FILE, $filename) or die 'Unable to open custom services file.';\r
-               my @current = <FILE>;\r
-               close(FILE);\r
-               foreach my $line (@current)\r
-               {\r
-                       chomp($line);\r
-                       if ($line ne '') {\r
-                               my @temp = split(/\,/,$line);\r
-                               if ($cgiparams{'NAME'} eq $temp[1] && $cgiparams{'KEY'} ne $temp[0]) {\r
-                                       $errormessage=$Lang::tr{'duplicate name'};\r
-                                       return;\r
-                               }\r
-                               $key=$temp[0];\r
-                       }\r
-               }\r
-               unless($errormessage){\r
-                       my $fname = "${General::swroot}/firewall/defaultservices";\r
-                       my $prev = "";\r
-                       my $newline="";\r
-                       \r
-                       open(FILE, "$fname") or die 'Unable to open default services file.';\r
-                       my @current = <FILE>;\r
-                       close(FILE);\r
-                       \r
-                       foreach my $line (sort @current)\r
-                       {\r
-                               my @temp = split(/\,/,$line);\r
-                               if ($cgiparams{'NAME'} eq $temp[0]) {\r
-                                       $errormessage=$Lang::tr{'duplicate name'};\r
-                                       return;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-sub get_icmptypes\r
-{\r
-       my $fname = "${General::swroot}/firewall/icmptypes";\r
-       my $newline="";\r
-       my @newarray=();\r
-       \r
-       open(FILE, "$fname") or die 'Unable to open icmp file.';\r
-       my @current = <FILE>;\r
-       close(FILE);\r
-\r
-       foreach $newline (sort @current)\r
-       {\r
-               chomp ($newline);\r
-               if (substr($newline, 0, 1) ne "#") {\r
-                       push (@newarray, $newline);\r
-               }\r
-       }\r
-       return (@newarray);\r
-}\r
-\r
+#!/usr/bin/perl
+#
+# This file is part of the IPCop Firewall.
+#
+# IPCop is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# IPCop is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IPCop; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Copyright (C) 2003-09-22 Darren Critchley <darrenc@telus.net>
+#
+# $Id: services.cgi,v 1.2.2.3 2005/04/29 23:37:07 franck78 Exp $
+#
+
+use strict;
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my @icmptypes = &get_icmptypes();
+
+&Header::showhttpheaders();
+
+my %cgiparams=();
+my %selected=();
+my %checked=();
+my $filename = "${General::swroot}/firewall/customservices";
+my $key = 0; # used for finding last sequence number used 
+
+# Darren Critchley - vars for setting up sort order
+my $sort_col = '1';
+my $sort_type = 'a';
+my $sort_dir = 'asc';
+
+if ($ENV{'QUERY_STRING'} ne '') {
+       my ($item1, $item2, $item3) = split(/\&/,$ENV{'QUERY_STRING'});
+       if ($item1 ne '') {
+               ($junk, $sort_col) = split(/\=/,$item1)
+       }
+       if ($item2 ne '') {
+               ($junk, $sort_type) = split(/\=/,$item2)
+       }
+       if ($item3 ne '') {
+               ($junk, $sort_dir) = split(/\=/,$item3)
+       }
+}
+
+$cgiparams{'KEY'} = '';
+$cgiparams{'PORTS'} = '';
+$cgiparams{'PROTOCOL'} = '6';
+$cgiparams{'NAME'} = '';
+$cgiparams{'PORT_INVERT'} = 'off';
+$cgiparams{'PROTOCOL_INVERT'} = 'off';
+$cgiparams{'ICMP'} = 'BLANK';
+
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}){
+
+       &validateparams();
+       unless($errormessage){
+               $key++; # Add one to last sequence number
+               open(FILE,">>$filename") or die 'Unable to open config file.';
+               flock FILE, 2;
+               print FILE "$key,$cgiparams{'NAME'},$cgiparams{'PORTS'},$cgiparams{'PROTOCOL'},$cgiparams{'PORT_INVERT'},$cgiparams{'PROTOCOL_INVERT'},$cgiparams{'ICMP'}\n";
+               close(FILE);
+               &General::log("$Lang::tr{'service added'}: $cgiparams{'NAME'}");
+               undef %cgiparams;
+       }
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})
+{
+       &validateparams();
+       # Darren Critchley - If there is an error don't waste any more processing time
+       if ($errormessage) { $cgiparams{'ACTION'} = $Lang::tr{'edit'}; goto UPD_ERROR; }
+
+       unless($errormessage){
+               open(FILE, $filename) or die 'Unable to open custom services file.';
+               my @current = <FILE>;
+               close(FILE);
+               my $line;
+               open(FILE, ">$filename") or die 'Unable to open config file.';
+               flock FILE, 2;
+               foreach $line (@current) {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               print FILE "$cgiparams{'KEY'},$cgiparams{'NAME'},$cgiparams{'PORTS'},$cgiparams{'PROTOCOL'},$cgiparams{'PORT_INVERT'},$cgiparams{'PROTOCOL_INVERT'},$cgiparams{'ICMP'}\n";
+                       } else {
+                               print FILE "$line\n";
+                       }
+               }
+               close(FILE);
+               &General::log("$Lang::tr{'service updated'}: $cgiparams{'NAME'}");
+               undef %cgiparams;
+       }
+UPD_ERROR:
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})
+{
+       open(FILE, "$filename") or die 'Unable to open custom services file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       unless ($errormessage)
+       {
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               $cgiparams{'NAME'} = $temp[1];
+                               $cgiparams{'PORTS'} = $temp[2];
+                               $cgiparams{'PROTOCOL'} = $temp[3];
+                               $cgiparams{'PORT_INVERT'} = $temp[4];
+                               $cgiparams{'PROTOCOL_INVERT'} = $temp[5];
+                               $cgiparams{'ICMP'} = $temp[6];
+                       }
+                       
+               }
+       }
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
+{
+       open(FILE, $filename) or die 'Unable to open custom services file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       open(FILE, ">$filename") or die 'Unable to open custom services file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               chomp($line);
+               if ($line ne '') {              
+                       my @temp = split(/\,/,$line);
+                       if ($cgiparams{'KEY'} eq $temp[0]) {
+                               &General::log("$Lang::tr{'service removed'}: $temp[1]");
+                       } else {
+                                       print FILE "$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6]\n";
+                       }
+               }
+       }
+       close(FILE);
+       undef %cgiparams;
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'reset'})
+{
+       undef %cgiparams;
+}
+
+if ($cgiparams{'ACTION'} eq '')
+{
+       $cgiparams{'KEY'} = '';
+       $cgiparams{'PORTS'} = '';
+       $cgiparams{'PROTOCOL'} = '6';
+    $cgiparams{'NAME'} = '';
+       $cgiparams{'PORT_INVERT'} = 'off';
+       $cgiparams{'PROTOCOL_INVERT'} = 'off';
+       $cgiparams{'ICMP'} = 'BLANK';
+}
+
+# Darren Critchley - Bring in the protocols file built from /etc/protocols into hash %protocol
+require "${General::swroot}/firewall/protocols.pl";
+
+# Darren Critchley - figure out which protocol is selected
+$selected{'PROTOCOL'}{'tcpudp'}= '';
+$selected{'PROTOCOL'}{'all'}= '';
+foreach $line (keys %protocols) {
+#      $selected{'PROTOCOL'}{"$protocols{$line}"}= '';
+       $selected{'PROTOCOL'}{$line}= '';
+}
+$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = 'SELECTED';
+
+# Darren Critchley - figure out which icmptype is selected
+$selected{'ICMP'}{$cgiparams{'ICMP'}} = 'SELECTED';
+
+$checked{'PORT_INVERT'}{'off'} = '';
+$checked{'PORT_INVERT'}{'on'} = '';
+$checked{'PORT_INVERT'}{$cgiparams{'PORT_INVERT'}} = 'CHECKED';
+$checked{'PROTOCOL_INVERT'}{'off'} = '';
+$checked{'PROTOCOL_INVERT'}{'on'} = '';
+$checked{'PROTOCOL_INVERT'}{$cgiparams{'PROTOCOL_INVERT'}} = 'CHECKED';
+
+&Header::openpage($Lang::tr{'services settings'}, 1, '');
+
+&Header::openbigbox('100%', 'LEFT', '', $errormessage);
+
+# DEBUG DEBUG
+#&Header::openbox('100%', 'LEFT', 'DEBUG');
+#foreach $line (keys %cgiparams) {
+#      print "<CLASS NAME='base'>$line = $cgiparams{$line}<BR>";
+#}
+#print "$sort_col\n";
+#print "$ENV{'QUERY_STRING'}\n";
+#print "&nbsp;</CLASS>\n";
+#&Header::closebox();
+
+if ($errormessage) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+       print "<CLASS NAME='base'><FONT COLOR='${Header::colourred}'>$errormessage\n</FONT>";
+       print "&nbsp;</CLASS>\n";
+       &Header::closebox();
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'edit service'}:");
+} else {
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'add service'}:");
+}
+# Darren Critchley - Show protocols with TCP, UDP, etc at the top of the list.
+print <<END
+<FORM METHOD='POST'>
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%' ALIGN='CENTER'>
+<TR align="center">
+       <TD><strong>$Lang::tr{'servicename'}</strong></TD>
+       <TD ALIGN='RIGHT'><strong>$Lang::tr{'invert'}</strong></TD>
+       <TD><strong>$Lang::tr{'ports'}</strong></TD>
+       <TD ALIGN='RIGHT'><strong>$Lang::tr{'invert'}</strong></TD>
+       <TD><strong>$Lang::tr{'protocol'}</strong></TD>
+       <TD>&nbsp;</TD>
+       <TD>&nbsp;</TD>
+</TR>
+<TR align="center">
+       <TD>
+               <INPUT TYPE='TEXT' NAME='NAME' VALUE='$cgiparams{'NAME'}' SIZE='20' MAXLENGTH='20'>
+       </TD>
+       <TD ALIGN='RIGHT'>
+               <INPUT TYPE='CHECKBOX' NAME='PORT_INVERT' $checked{'PORT_INVERT'}{'on'}>
+       </TD>
+       <TD>
+               <INPUT TYPE='TEXT' NAME='PORTS' VALUE='$cgiparams{'PORTS'}' SIZE='15' MAXLENGTH='11'>
+       </TD>
+       <TD ALIGN='RIGHT'>
+               <INPUT TYPE='CHECKBOX' NAME='PROTOCOL_INVERT' $checked{'PROTOCOL_INVERT'}{'on'}>
+       </TD>
+    <TD ALIGN='LEFT'>
+               <SELECT NAME='PROTOCOL'>
+                       <OPTION VALUE='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</OPTION>
+                       <OPTION VALUE='udp' $selected{'PROTOCOL'}{'udp'}>UDP</OPTION>
+                       <OPTION VALUE='tcpudp' $selected{'PROTOCOL'}{'tcpudp'}>TCP & UDP</OPTION>
+                       <OPTION VALUE='all' $selected{'PROTOCOL'}{'all'}>ALL</OPTION>
+                       <OPTION VALUE='icmp' $selected{'PROTOCOL'}{'icmp'}>ICMP</OPTION>
+                       <OPTION VALUE='gre' $selected{'PROTOCOL'}{'gre'}>GRE</OPTION>
+END
+;
+foreach $line (sort keys %protocols) {
+       # Darren Critchley - do not have duplicates in the list
+       if ($protocols{$line} ne '6' && $protocols{$line} ne '17' && $protocols{$line} ne '1' && $protocols{$line} ne '47'){
+#              print "<OPTION VALUE='$line' $selected{'PROTOCOL'}{$protocols{$line}}>".uc($line)."</OPTION>\n";
+               print "<OPTION VALUE='$line' $selected{'PROTOCOL'}{$line}>".uc($line)."</OPTION>\n";
+       }
+}
+print <<END
+               </SELECT>
+       </TD>
+</TR>
+<TR>
+       <TD>&nbsp;</TD>
+       <TD>&nbsp;</TD>
+       <TD>&nbsp;</TD>
+       <TD><strong>$Lang::tr{'icmp type'}:</strong></TD>
+       <TD ALIGN='LEFT'>
+                       <SELECT NAME='ICMP'>
+                               <OPTION VALUE='BLANK' $selected{'ICMP'}{'BLANK'}>Valid ICMP Types</OPTION>
+END
+;
+foreach $line (@icmptypes) {
+       if ($cgiparams{'ICMP'} eq $line){
+               print "<OPTION VALUE='$line' SELECTED>$line</OPTION>\n";
+       } else {
+               print "<OPTION VALUE='$line' >$line</OPTION>\n";
+       }
+}
+print <<END
+                       </SELECT>
+       </TD>
+</TR>
+<TR>
+END
+;
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}){
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'update'}'></TD>\n";
+       print "<INPUT TYPE='HIDDEN' NAME='KEY' VALUE='$cgiparams{'KEY'}'>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";
+} else {
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'add'}'></TD>\n";
+       print "<TD ALIGN='CENTER'><INPUT TYPE='SUBMIT' NAME='ACTION' VALUE='$Lang::tr{'reset'}'></TD>\n";
+}
+print <<END
+</TR>
+</TABLE>
+</DIV>
+</FORM>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%', 'LEFT', "$Lang::tr{'custom services'}:");
+print <<END
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%' ALIGN='CENTER'>
+<TR align="center">
+END
+;
+
+if ($sort_dir eq 'asc' && $sort_col eq '2') {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=2&srtype=a&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'servicename'}</a></strong></TD>\n";
+} else {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=2&srtype=a&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'servicename'}</a></strong></TD>\n";
+}
+if ($sort_dir eq 'asc' && $sort_col eq '3') {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=3&srtype=n&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'ports'}</a></strong></TD>\n";
+} else {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=3&srtype=n&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'ports'}</a></strong></TD>\n";
+}
+if ($sort_dir eq 'asc' && $sort_col eq '4') {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=4&srtype=a&srtdir=dsc' title='$Lang::tr{'sort descending'}'>$Lang::tr{'protocol'}</a></strong></TD>\n";
+} else {
+       print "<TD WIDTH='25%'><strong><a href='services.cgi?sortcol=4&srtype=a&srtdir=asc' title='$Lang::tr{'sort ascending'}'>$Lang::tr{'protocol'}</a></strong></TD>\n";
+}
+
+print <<END
+       <TD WIDTH='25%'><strong>$Lang::tr{'icmp type'}</strong></TD>
+       <TD WIDTH='5%'>&nbsp;</TD>
+       <TD WIDTH='5%'>&nbsp;</TD>
+</TR>
+END
+;
+&display_custom_services();
+print <<END
+</TABLE>
+</DIV>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%', 'LEFT', "$Lang::tr{'default services'}:");
+print <<END
+<DIV ALIGN='CENTER'>
+<TABLE WIDTH='100%' ALIGN='CENTER'>
+<TR align="center">
+       <TD><strong>$Lang::tr{'servicename'}</strong></TD>
+       <TD><strong>$Lang::tr{'ports'}</strong></TD>
+       <TD><strong>$Lang::tr{'protocol'}</strong></TD>
+</TR>
+END
+;
+&display_default_services();
+print <<END
+</TABLE>
+</DIV>
+END
+;
+&Header::closebox();
+    print "$Lang::tr{'this feature has been sponsored by'} : ";
+    print "<A HREF='http://www.kdi.ca/' TARGET='_blank'>Kobelt Development Inc.</A>.\n";
+
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub display_custom_services
+{
+       
+       open(FILE, "$filename") or die 'Unable to open services file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       my $id = 0;
+       my $port_inv = '';
+       my $prot_inv = '';
+       my $port_inv_tail = '';
+       my $prot_inv_tail = '';
+       my @outarray = &General::srtarray($sort_col,$sort_type,$sort_dir,@current);
+       foreach $line (@outarray)
+       {
+               chomp($line);
+               if ($line ne ''){
+                       my @temp = split(/\,/,$line);
+                       # Darren Critchley highlight the row we are editing
+                       if ( $cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'KEY'} eq $temp[0] ) { 
+                               print "<TR BGCOLOR='${Header::colouryellow}'>\n";
+                       } else {
+                               if ($id % 2) {
+                                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; 
+                               } else {
+                       print "<TR BGCOLOR='${Header::table2colour}'>\n";
+                               }
+                       }
+                       print "<TD>$temp[1]</TD>\n";
+                       if ($temp[4] eq 'on'){$port_inv = " <strong><font color='RED'>! (</font></strong>";$port_inv_tail = "<strong><font color='RED'>)</font></strong>";}else{$port_inv='';$port_inv_tail='';}
+                       print "<TD ALIGN='CENTER'>" . $port_inv . &cleanport("$temp[2]") . $port_inv_tail . "</TD>\n";
+                       if ($temp[5] eq 'on'){$prot_inv = " <strong><font color='RED'>! (</font></strong>";$prot_inv_tail = "<strong><font color='RED'>)</font></strong>";}else{$prot_inv='';$prot_inv_tail='';}
+                       print "<TD ALIGN='CENTER'>" . $prot_inv . &cleanprotocol("$temp[3]") . $prot_inv_tail . "</TD>\n";
+                       if ($temp[6] eq 'BLANK') {
+                               print "<TD ALIGN='CENTER'>N/A</TD>\n";
+                       } else {
+                               print "<TD ALIGN='CENTER'>$temp[6]</TD>\n";
+                       }
+                       print <<END
+<FORM METHOD='POST' NAME='frm$temp[0]'>
+<TD ALIGN='CENTER'>
+       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'edit'}'>
+       <INPUT TYPE='image' NAME='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'>
+       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>
+</TD>
+</FORM>
+<FORM METHOD='POST' NAME='frm$temp[0]b'>
+<TD ALIGN='CENTER'>
+       <INPUT TYPE='hidden' NAME='ACTION' VALUE='$Lang::tr{'remove'}'>
+       <INPUT TYPE='image' NAME='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0'>
+       <INPUT TYPE='hidden' NAME='KEY' VALUE='$temp[0]'>
+</TD>
+</FORM>
+END
+;
+                       print "</TR>\n";
+                       $id++;
+               }
+       }
+}
+
+sub display_default_services
+{
+       my $fname = "${General::swroot}/firewall/defaultservices";
+       my $prev = "";
+       my $newline="";
+       
+       open(FILE, "$fname") or die 'Unable to open default services file.';
+       my @current = <FILE>;
+       close(FILE);
+       
+       my $id = 0;
+       
+       foreach my $line (sort @current)
+       {
+               my @temp = split(/\,/,$line);
+               if ($id % 2) {
+                       print "<TR BGCOLOR='${Header::table1colour}'>\n"; 
+               } else {
+               print "<TR BGCOLOR='${Header::table2colour}'>\n";
+               }
+               print "<TD>$temp[0]</TD>\n";
+               print "<TD ALIGN='CENTER'>$temp[1]</TD>\n";
+               print "<TD ALIGN='CENTER'>" . &cleanprotocol("$temp[2]") . "</TD>\n";
+               print "</TR>\n";
+               $id++;
+       }
+}
+
+sub cleanprotocol
+{
+       my $prtcl = $_[0];
+       chomp($prtcl);
+       if ($prtcl eq 'tcpudp') {
+               $prtcl = 'TCP & UDP';
+       } else {
+               $prtcl = uc($prtcl);
+       }
+       return $prtcl;
+}
+
+sub cleanport
+{
+       my $prt = $_[0];
+       chomp($prt);
+       # Darren Critchley - Format the ports
+       $prt =~ s/-/ - /;
+       $prt =~ s/:/ - /;
+       return $prt;
+}
+
+# Validate Field Entries
+sub validateparams 
+{
+       $erromessage='';
+       if ($cgiparams{'PROTOCOL'} eq 'tcp' || $cgiparams{'PROTOCOL'} eq 'udp' || $cgiparams{'PROTOCOL'} eq 'tcpudp' || $cgiparams{'PROTOCOL'} eq 'all') {
+               # Darren Critchley - Get rid of dashes in port ranges
+               $cgiparams{'PORTS'}=~ tr/-/:/;
+               # Darren Critchley - code to substitue wildcards
+               if ($cgiparams{'PORTS'} eq "*") {
+                       $cgiparams{'PORTS'} = "1:65535";
+               }
+               if ($cgiparams{'PORTS'} =~ /^(\D)\:(\d+)$/) {
+                       $cgiparams{'PORTS'} = "1:$2";
+               }
+               if ($cgiparams{'PORTS'} =~ /^(\d+)\:(\D)$/) {
+                       $cgiparams{'PORTS'} = "$1:65535";
+               }
+               # Darren Critchley - watch the order here, the validportrange sets errormessage=''
+               $errormessage = &General::validportrange($cgiparams{'PORTS'}, 'src');
+               if ($errormessage) {return;}
+       } else {
+               $cgiparams{'PORTS'} = "";
+       }
+       if ($cgiparams{'PROTOCOL'} eq 'tcp') {
+               $cgiparams{'ICMP'} = "BLANK";
+       }
+       
+       if($cgiparams{'PORTS'} eq '' && $cgiparams{'PORT_INVERT'} ne 'off'){
+               $cgiparams{'PORT_INVERT'} = 'off';
+       }
+       if ($cgiparams{'NAME'} eq '') {
+               $errormessage = $Lang::tr{'noservicename'};
+               return;
+       }
+       if ($cgiparams{'PROTOCOL'} eq 'icmp' && $cgiparams{'ICMP'} eq 'BLANK'){
+               $errormessage = $Lang::tr{'icmp selected but no type'};
+               return;
+       }
+    unless($errormessage){
+               $cgiparams{'NAME'}=&Header::cleanhtml($cgiparams{'NAME'});
+               open(FILE, $filename) or die 'Unable to open custom services file.';
+               my @current = <FILE>;
+               close(FILE);
+               foreach my $line (@current)
+               {
+                       chomp($line);
+                       if ($line ne '') {
+                               my @temp = split(/\,/,$line);
+                               if ($cgiparams{'NAME'} eq $temp[1] && $cgiparams{'KEY'} ne $temp[0]) {
+                                       $errormessage=$Lang::tr{'duplicate name'};
+                                       return;
+                               }
+                               $key=$temp[0];
+                       }
+               }
+               unless($errormessage){
+                       my $fname = "${General::swroot}/firewall/defaultservices";
+                       my $prev = "";
+                       my $newline="";
+                       
+                       open(FILE, "$fname") or die 'Unable to open default services file.';
+                       my @current = <FILE>;
+                       close(FILE);
+                       
+                       foreach my $line (sort @current)
+                       {
+                               my @temp = split(/\,/,$line);
+                               if ($cgiparams{'NAME'} eq $temp[0]) {
+                                       $errormessage=$Lang::tr{'duplicate name'};
+                                       return;
+                               }
+                       }
+               }
+       }
+}
+
+sub get_icmptypes
+{
+       my $fname = "${General::swroot}/firewall/icmptypes";
+       my $newline="";
+       my @newarray=();
+       
+       open(FILE, "$fname") or die 'Unable to open icmp file.';
+       my @current = <FILE>;
+       close(FILE);
+
+       foreach $newline (sort @current)
+       {
+               chomp ($newline);
+               if (substr($newline, 0, 1) ne "#") {
+                       push (@newarray, $newline);
+               }
+       }
+       return (@newarray);
+}
+
index 381bbf12ef697fe19007266ef895706f55364e79..75b9451b4f0e50dc90a46bfb0ef0612c60c82df0 100644 (file)
-#!/usr/bin/perl\r
-#\r
-#  Traffic shaping CGI\r
-#\r
-#  Copyright 2003-04-06 David Kilpatrick <dave@thunder.com.au>\r
-#\r
-# $Id: shaping.cgi,v 1.3.2.15 2005/02/27 13:42:05 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my %shapingsettings=();\r
-my $configfile = "${General::swroot}/shaping/config";\r
-my $settingsfile = "${General::swroot}/shaping/settings";\r
-my $errormessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$shapingsettings{'ACTION'} = '';\r
-$shapingsettings{'ENABLE'} = 'off';\r
-$shapingsettings{'VALID'} = '';\r
-$shapingsettings{'UPLINK'} = '';\r
-$shapingsettings{'DOWNLINK'} = '';\r
-$shapingsettings{'SERVICE_ENABLED'} = '';\r
-$shapingsettings{'SERVICE_PROT'} = '';\r
-$shapingsettings{'SERVICE_PRIO'} = '';\r
-$shapingsettings{'SERVICE_PORT'} = '';\r
-\r
-&Header::getcgihash(\%shapingsettings);\r
-\r
-open(FILE, "$configfile") or die 'Unable to open shaping config file.';\r
-my @current = <FILE>;\r
-close(FILE);\r
-\r
-if ($shapingsettings{'ACTION'} eq $Lang::tr{'save'})\r
-{\r
-       if (!($shapingsettings{'UPLINK'} =~ /^\d+$/) ||\r
-          ($shapingsettings{'UPLINK'} < 2))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid uplink speed'};\r
-               goto ERROR;\r
-       }\r
-\r
-       if (!($shapingsettings{'DOWNLINK'} =~ /^\d+$/) ||\r
-            ($shapingsettings{'DOWNLINK'} < 2))\r
-       {\r
-               $errormessage = $Lang::tr{'invalid downlink speed'};\r
-               goto ERROR;\r
-       }\r
-\r
-ERROR:\r
-       if ($errormessage) {\r
-               $shapingsettings{'VALID'} = 'no'; }\r
-       else {\r
-               $shapingsettings{'VALID'} = 'yes'; }\r
-       \r
-       open(FILE,">$settingsfile") or die 'Unable to open shaping settings file.';\r
-       flock FILE, 2;\r
-       print FILE "VALID=$shapingsettings{'VALID'}\n";\r
-       print FILE "ENABLE=$shapingsettings{'ENABLE'}\n";\r
-       print FILE "UPLINK=$shapingsettings{'UPLINK'}\n";\r
-       print FILE "DOWNLINK=$shapingsettings{'DOWNLINK'}\n";\r
-       close FILE;\r
-\r
-       if ($shapingsettings{'VALID'} eq 'yes') {\r
-               system('/usr/local/bin/restartshaping');\r
-       }\r
-}\r
-if ($shapingsettings{'ACTION'} eq $Lang::tr{'add'})\r
-{\r
-       unless($shapingsettings{'SERVICE_PROT'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }\r
-       unless($shapingsettings{'SERVICE_PRIO'} =~ /^(10|20|30)$/) { $errormessage = $Lang::tr{'invalid input'}; }\r
-       unless(&General::validport($shapingsettings{'SERVICE_PORT'})) { $errormessage = $Lang::tr{'invalid port'}; }\r
-\r
-       if ( ! $errormessage)\r
-       {\r
-               if ($shapingsettings{'EDITING'} eq 'no')\r
-               {\r
-                       open(FILE,">>$configfile") or die 'Unable to open shaping config file';\r
-                       flock FILE, 2;\r
-                       print FILE "$shapingsettings{'SERVICE_PROT'},$shapingsettings{'SERVICE_PORT'},$shapingsettings{'SERVICE_PRIO'},$shapingsettings{'SERVICE_ENABLED'}\n";\r
-               } else {\r
-                       open(FILE,">$configfile") or die 'Unable to open shaping config file';\r
-                       flock FILE, 2;\r
-                       my $id = 0;\r
-                       foreach my $line (@current)\r
-                       {\r
-                               $id++;\r
-                               chomp($line);\r
-                               my @temp = split(/\,/,$line);\r
-                               if ($shapingsettings{'EDITING'} eq $id) {\r
-                                       print FILE "$shapingsettings{'SERVICE_PROT'},$shapingsettings{'SERVICE_PORT'},$shapingsettings{'SERVICE_PRIO'},$shapingsettings{'SERVICE_ENABLED'}\n";\r
-                               } else {\r
-                                       print FILE "$line\n";\r
-                               }\r
-                       }\r
-               }\r
-               close FILE;\r
-               undef %shapingsettings;\r
-               system ('/usr/local/bin/restartshaping');\r
-       } else {\r
-               # stay on edit mode if an error occur\r
-               if ($shapingsettings{'EDITING'} ne 'no')\r
-               {\r
-                       $shapingsettings{'ACTION'} = $Lang::tr{'edit'};\r
-                       $shapingsettings{'ID'} = $shapingsettings{'EDITING'};\r
-               }\r
-       }\r
-}\r
-\r
-if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               if ($shapingsettings{"ID"} eq $id)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       $shapingsettings{'SERVICE_PROT'} = $temp[0];\r
-                       $shapingsettings{'SERVICE_PORT'} = $temp[1];\r
-                       $shapingsettings{'SERVICE_PRIO'} = $temp[2];\r
-                       $shapingsettings{'SERVICE_ENABLED'} = $temp[3];\r
-               }\r
-       }\r
-}\r
-\r
-if ($shapingsettings{'ACTION'} eq $Lang::tr{'remove'} || $shapingsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'})\r
-{\r
-       open(FILE, ">$configfile") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($shapingsettings{"ID"} eq $id) { print FILE "$line"; }\r
-               elsif ($shapingsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'})\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       if ($temp[3] eq "on") {\r
-                               print FILE "$temp[0],$temp[1],$temp[2],off\n";\r
-                       } else {\r
-                               print FILE "$temp[0],$temp[1],$temp[2],on\n";\r
-                       }\r
-               }\r
-       }\r
-       close(FILE);\r
-       system ('/usr/local/bin/restartshaping');\r
-}\r
-\r
-&General::readhash("${General::swroot}/shaping/settings", \%shapingsettings);\r
-\r
-if ($shapingsettings{'ACTION'} eq '')\r
-{\r
-       $shapingsettings{'SERVICE_ENABLED'} = 'on';\r
-       $shapingsettings{'SERVICE_PROT'} = 'tcp';\r
-       $shapingsettings{'SERVICE_PRIO'} = '20';\r
-       $shapingsettings{'SERVICE_PORT'} = '';\r
-}\r
-\r
-my %checked=();\r
-$checked{'ENABLE'}{'off'} = '';\r
-$checked{'ENABLE'}{'on'} = '';\r
-$checked{'ENABLE'}{$shapingsettings{'ENABLE'}} = "checked='checked'";\r
-\r
-my %service_checked=();\r
-$service_checked{'SERVICE_ENABLED'}{'off'} = '';\r
-$service_checked{'SERVICE_ENABLED'}{'on'} = '';\r
-$service_checked{'SERVICE_ENABLED'}{$shapingsettings{'SERVICE_ENABLED'}} = "checked='checked'";\r
-\r
-my %service_selected=();\r
-$service_selected{'SERVICE_PROT'}{'udp'} = '';\r
-$service_selected{'SERVICE_PROT'}{'tcp'} = '';\r
-$service_selected{'SERVICE_PROT'}{$shapingsettings{'SERVICE_PROT'}} = "selected='selected'";\r
-\r
-$service_selected{'SERVICE_PRIO'}{'10'} = '';\r
-$service_selected{'SERVICE_PRIO'}{'20'} = '';\r
-$service_selected{'SERVICE_PRIO'}{'30'} = '';\r
-$service_selected{'SERVICE_PRIO'}{$shapingsettings{'SERVICE_PRIO'}} = "selected='selected'";\r
-\r
-&Header::openpage($Lang::tr{'traffic shaping settings'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', "$Lang::tr{'settings'}:");\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td><input type='checkbox' name='ENABLE' $checked{'ENABLE'}{'on'} /></td>\r
-       <td class='base' colspan='2'>$Lang::tr{'traffic shaping'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td width='30%' class='base'>$Lang::tr{'downlink speed'}:&nbsp;</td>\r
-       <td width='70%'><input type='text' name='DOWNLINK' value='$shapingsettings{'DOWNLINK'}' size='5' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td class='base'>$Lang::tr{'uplink speed'}:&nbsp;</td>\r
-       <td><input type='text' name='UPLINK' value='$shapingsettings{'UPLINK'}' size='5' /></td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-       <td width='50%'> &nbsp; </td>\r
-       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox;\r
-\r
-print "</form>\n";\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if($shapingsettings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       $buttontext = $Lang::tr{'update'};\r
-       &Header::openbox('100%', 'left', $Lang::tr{'edit service'});\r
-} else {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'add service'});\r
-}\r
-\r
-print <<END\r
-\r
-<table width='100%'>\r
-<tr>\r
-       <td class='base'>$Lang::tr{'priority'}:&nbsp;</td>\r
-       <td><select name='SERVICE_PRIO'>\r
-               <option value='10' $service_selected{'SERVICE_PRIO'}{'10'}>$Lang::tr{'high'}</option>\r
-               <option value='20' $service_selected{'SERVICE_PRIO'}{'20'}>$Lang::tr{'medium'}</option>\r
-               <option value='30' $service_selected{'SERVICE_PRIO'}{'30'}>$Lang::tr{'low'}</option>\r
-       </select></td>\r
-       <td width='20%' class='base' align='right'>$Lang::tr{'port'}:&nbsp;</td>\r
-       <td><input type='text' name='SERVICE_PORT' value='$shapingsettings{'SERVICE_PORT'}' size='5' /></td>\r
-       <td width='20%' class='base' align='right'>$Lang::tr{'protocol'}:&nbsp;</td>\r
-       <td><select name='SERVICE_PROT'>\r
-                               <option value='tcp' $service_selected{'SERVICE_PROT'}{'tcp'}>TCP</option>\r
-                               <option value='udp' $service_selected{'SERVICE_PROT'}{'udp'}>UDP</option>\r
-                       </select></td>\r
-       <td width='20%' class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td> \r
-       <td width='20%'><input type='checkbox' name='SERVICE_ENABLED' $service_checked{'SERVICE_ENABLED'}{'on'} /></td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-       <td width='50%'>&nbsp;</td>\r
-       <td width='50%' align='center'><input type='submit' name='SUBMIT' value='$buttontext' /><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox;\r
-\r
-if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       print "<input type='hidden' name='EDITING' value='$shapingsettings{'ID'}' />\n";\r
-} else {\r
-       print "<input type='hidden' name='EDITING' value='no' />\n";\r
-}\r
-\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'shaping list options'});\r
-print <<END\r
-<table width='100%' align='center'>\r
-<tr>\r
-       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'priority'}</b></td>\r
-       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'port'}</b></td>\r
-       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'protocol'}</b></td>\r
-       <td align='center' class='boldbase' colspan='3'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-my $id = 0;\r
-open(SERVICES, "$configfile") or die 'Unable to open shaping config file.';\r
-while (<SERVICES>)\r
-{\r
-       my $gif = '';\r
-       my $prio = '';\r
-       my $gdesc = '';\r
-       $id++;\r
-       chomp($_);\r
-       my @temp = split(/\,/,$_);\r
-       if ($temp[3] eq "on") {\r
-               $gif = 'on.gif';  $gdesc=$Lang::tr{'click to disable'}; }\r
-       else {\r
-               $gif = 'off.gif'; $gdesc=$Lang::tr{'click to enable'};  }\r
-       if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'} && $shapingsettings{'ID'} eq $id) {\r
-               print "<tr bgcolor='${Header::colouryellow}'>\n"; }\r
-       elsif ($id % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n"; }\r
-       else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n"; }\r
-       if ($temp[2] eq "10") { $prio = $Lang::tr{'high'}; }\r
-       if ($temp[2] eq "20") { $prio = $Lang::tr{'medium'}; }\r
-       if ($temp[2] eq "30") { $prio = $Lang::tr{'low'}; }\r
-       \r
-print <<END\r
-<td align='center'>$prio</td>\r
-<td align='center'>$temp[1]</td>\r
-<td align='center'>$temp[0]</td>\r
-\r
-<td align='center'>\r
-       <form method='post' action='$ENV{'SCRIPT_NAME'}' name='frma$id'>\r
-       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' title='$Lang::tr{'edit'}' alt='$Lang::tr{'edit'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' title='$Lang::tr{'remove'}' alt='$Lang::tr{'remove'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-       </form>\r
-</td>\r
-\r
-</tr>\r
-END\r
-;\r
-}\r
-close(SERVICES);\r
-\r
-print <<END\r
-</table>\r
-END\r
-;\r
-&Header::closebox;\r
-\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage;\r
+#!/usr/bin/perl
+#
+#  Traffic shaping CGI
+#
+#  Copyright 2003-04-06 David Kilpatrick <dave@thunder.com.au>
+#
+# $Id: shaping.cgi,v 1.3.2.15 2005/02/27 13:42:05 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::table2colour}, ${Header::colouryellow} );
+undef (@dummy);
+
+my %shapingsettings=();
+my $configfile = "${General::swroot}/shaping/config";
+my $settingsfile = "${General::swroot}/shaping/settings";
+my $errormessage = '';
+
+&Header::showhttpheaders();
+
+$shapingsettings{'ACTION'} = '';
+$shapingsettings{'ENABLE'} = 'off';
+$shapingsettings{'VALID'} = '';
+$shapingsettings{'UPLINK'} = '';
+$shapingsettings{'DOWNLINK'} = '';
+$shapingsettings{'SERVICE_ENABLED'} = '';
+$shapingsettings{'SERVICE_PROT'} = '';
+$shapingsettings{'SERVICE_PRIO'} = '';
+$shapingsettings{'SERVICE_PORT'} = '';
+
+&Header::getcgihash(\%shapingsettings);
+
+open(FILE, "$configfile") or die 'Unable to open shaping config file.';
+my @current = <FILE>;
+close(FILE);
+
+if ($shapingsettings{'ACTION'} eq $Lang::tr{'save'})
+{
+       if (!($shapingsettings{'UPLINK'} =~ /^\d+$/) ||
+          ($shapingsettings{'UPLINK'} < 2))
+       {
+               $errormessage = $Lang::tr{'invalid uplink speed'};
+               goto ERROR;
+       }
+
+       if (!($shapingsettings{'DOWNLINK'} =~ /^\d+$/) ||
+            ($shapingsettings{'DOWNLINK'} < 2))
+       {
+               $errormessage = $Lang::tr{'invalid downlink speed'};
+               goto ERROR;
+       }
+
+ERROR:
+       if ($errormessage) {
+               $shapingsettings{'VALID'} = 'no'; }
+       else {
+               $shapingsettings{'VALID'} = 'yes'; }
+       
+       open(FILE,">$settingsfile") or die 'Unable to open shaping settings file.';
+       flock FILE, 2;
+       print FILE "VALID=$shapingsettings{'VALID'}\n";
+       print FILE "ENABLE=$shapingsettings{'ENABLE'}\n";
+       print FILE "UPLINK=$shapingsettings{'UPLINK'}\n";
+       print FILE "DOWNLINK=$shapingsettings{'DOWNLINK'}\n";
+       close FILE;
+
+       if ($shapingsettings{'VALID'} eq 'yes') {
+               system('/usr/local/bin/restartshaping');
+       }
+}
+if ($shapingsettings{'ACTION'} eq $Lang::tr{'add'})
+{
+       unless($shapingsettings{'SERVICE_PROT'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }
+       unless($shapingsettings{'SERVICE_PRIO'} =~ /^(10|20|30)$/) { $errormessage = $Lang::tr{'invalid input'}; }
+       unless(&General::validport($shapingsettings{'SERVICE_PORT'})) { $errormessage = $Lang::tr{'invalid port'}; }
+
+       if ( ! $errormessage)
+       {
+               if ($shapingsettings{'EDITING'} eq 'no')
+               {
+                       open(FILE,">>$configfile") or die 'Unable to open shaping config file';
+                       flock FILE, 2;
+                       print FILE "$shapingsettings{'SERVICE_PROT'},$shapingsettings{'SERVICE_PORT'},$shapingsettings{'SERVICE_PRIO'},$shapingsettings{'SERVICE_ENABLED'}\n";
+               } else {
+                       open(FILE,">$configfile") or die 'Unable to open shaping config file';
+                       flock FILE, 2;
+                       my $id = 0;
+                       foreach my $line (@current)
+                       {
+                               $id++;
+                               chomp($line);
+                               my @temp = split(/\,/,$line);
+                               if ($shapingsettings{'EDITING'} eq $id) {
+                                       print FILE "$shapingsettings{'SERVICE_PROT'},$shapingsettings{'SERVICE_PORT'},$shapingsettings{'SERVICE_PRIO'},$shapingsettings{'SERVICE_ENABLED'}\n";
+                               } else {
+                                       print FILE "$line\n";
+                               }
+                       }
+               }
+               close FILE;
+               undef %shapingsettings;
+               system ('/usr/local/bin/restartshaping');
+       } else {
+               # stay on edit mode if an error occur
+               if ($shapingsettings{'EDITING'} ne 'no')
+               {
+                       $shapingsettings{'ACTION'} = $Lang::tr{'edit'};
+                       $shapingsettings{'ID'} = $shapingsettings{'EDITING'};
+               }
+       }
+}
+
+if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'})
+{
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               if ($shapingsettings{"ID"} eq $id)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       $shapingsettings{'SERVICE_PROT'} = $temp[0];
+                       $shapingsettings{'SERVICE_PORT'} = $temp[1];
+                       $shapingsettings{'SERVICE_PRIO'} = $temp[2];
+                       $shapingsettings{'SERVICE_ENABLED'} = $temp[3];
+               }
+       }
+}
+
+if ($shapingsettings{'ACTION'} eq $Lang::tr{'remove'} || $shapingsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'})
+{
+       open(FILE, ">$configfile") or die 'Unable to open config file.';
+       flock FILE, 2;
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($shapingsettings{"ID"} eq $id) { print FILE "$line"; }
+               elsif ($shapingsettings{'ACTION'} eq $Lang::tr{'toggle enable disable'})
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       if ($temp[3] eq "on") {
+                               print FILE "$temp[0],$temp[1],$temp[2],off\n";
+                       } else {
+                               print FILE "$temp[0],$temp[1],$temp[2],on\n";
+                       }
+               }
+       }
+       close(FILE);
+       system ('/usr/local/bin/restartshaping');
+}
+
+&General::readhash("${General::swroot}/shaping/settings", \%shapingsettings);
+
+if ($shapingsettings{'ACTION'} eq '')
+{
+       $shapingsettings{'SERVICE_ENABLED'} = 'on';
+       $shapingsettings{'SERVICE_PROT'} = 'tcp';
+       $shapingsettings{'SERVICE_PRIO'} = '20';
+       $shapingsettings{'SERVICE_PORT'} = '';
+}
+
+my %checked=();
+$checked{'ENABLE'}{'off'} = '';
+$checked{'ENABLE'}{'on'} = '';
+$checked{'ENABLE'}{$shapingsettings{'ENABLE'}} = "checked='checked'";
+
+my %service_checked=();
+$service_checked{'SERVICE_ENABLED'}{'off'} = '';
+$service_checked{'SERVICE_ENABLED'}{'on'} = '';
+$service_checked{'SERVICE_ENABLED'}{$shapingsettings{'SERVICE_ENABLED'}} = "checked='checked'";
+
+my %service_selected=();
+$service_selected{'SERVICE_PROT'}{'udp'} = '';
+$service_selected{'SERVICE_PROT'}{'tcp'} = '';
+$service_selected{'SERVICE_PROT'}{$shapingsettings{'SERVICE_PROT'}} = "selected='selected'";
+
+$service_selected{'SERVICE_PRIO'}{'10'} = '';
+$service_selected{'SERVICE_PRIO'}{'20'} = '';
+$service_selected{'SERVICE_PRIO'}{'30'} = '';
+$service_selected{'SERVICE_PRIO'}{$shapingsettings{'SERVICE_PRIO'}} = "selected='selected'";
+
+&Header::openpage($Lang::tr{'traffic shaping settings'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', "$Lang::tr{'settings'}:");
+print <<END
+<table width='100%'>
+<tr>
+       <td><input type='checkbox' name='ENABLE' $checked{'ENABLE'}{'on'} /></td>
+       <td class='base' colspan='2'>$Lang::tr{'traffic shaping'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td width='30%' class='base'>$Lang::tr{'downlink speed'}:&nbsp;</td>
+       <td width='70%'><input type='text' name='DOWNLINK' value='$shapingsettings{'DOWNLINK'}' size='5' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td class='base'>$Lang::tr{'uplink speed'}:&nbsp;</td>
+       <td><input type='text' name='UPLINK' value='$shapingsettings{'UPLINK'}' size='5' /></td>
+</tr>
+</table>
+<table width='100%'>
+<hr />
+<tr>
+       <td width='50%'> &nbsp; </td>
+       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox;
+
+print "</form>\n";
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+my $buttontext = $Lang::tr{'add'};
+if($shapingsettings{'ACTION'} eq $Lang::tr{'edit'}) {
+       $buttontext = $Lang::tr{'update'};
+       &Header::openbox('100%', 'left', $Lang::tr{'edit service'});
+} else {
+       &Header::openbox('100%', 'left', $Lang::tr{'add service'});
+}
+
+print <<END
+
+<table width='100%'>
+<tr>
+       <td class='base'>$Lang::tr{'priority'}:&nbsp;</td>
+       <td><select name='SERVICE_PRIO'>
+               <option value='10' $service_selected{'SERVICE_PRIO'}{'10'}>$Lang::tr{'high'}</option>
+               <option value='20' $service_selected{'SERVICE_PRIO'}{'20'}>$Lang::tr{'medium'}</option>
+               <option value='30' $service_selected{'SERVICE_PRIO'}{'30'}>$Lang::tr{'low'}</option>
+       </select></td>
+       <td width='20%' class='base' align='right'>$Lang::tr{'port'}:&nbsp;</td>
+       <td><input type='text' name='SERVICE_PORT' value='$shapingsettings{'SERVICE_PORT'}' size='5' /></td>
+       <td width='20%' class='base' align='right'>$Lang::tr{'protocol'}:&nbsp;</td>
+       <td><select name='SERVICE_PROT'>
+                               <option value='tcp' $service_selected{'SERVICE_PROT'}{'tcp'}>TCP</option>
+                               <option value='udp' $service_selected{'SERVICE_PROT'}{'udp'}>UDP</option>
+                       </select></td>
+       <td width='20%' class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td> 
+       <td width='20%'><input type='checkbox' name='SERVICE_ENABLED' $service_checked{'SERVICE_ENABLED'}{'on'} /></td>
+</tr>
+</table>
+<table width='100%'>
+<hr />
+<tr>
+       <td width='50%'>&nbsp;</td>
+       <td width='50%' align='center'><input type='submit' name='SUBMIT' value='$buttontext' /><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox;
+
+if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'}) {
+       print "<input type='hidden' name='EDITING' value='$shapingsettings{'ID'}' />\n";
+} else {
+       print "<input type='hidden' name='EDITING' value='no' />\n";
+}
+
+print "</form>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'shaping list options'});
+print <<END
+<table width='100%' align='center'>
+<tr>
+       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'priority'}</b></td>
+       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'port'}</b></td>
+       <td width='33%' align='center' class='boldbase'><b>$Lang::tr{'protocol'}</b></td>
+       <td align='center' class='boldbase' colspan='3'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+my $id = 0;
+open(SERVICES, "$configfile") or die 'Unable to open shaping config file.';
+while (<SERVICES>)
+{
+       my $gif = '';
+       my $prio = '';
+       my $gdesc = '';
+       $id++;
+       chomp($_);
+       my @temp = split(/\,/,$_);
+       if ($temp[3] eq "on") {
+               $gif = 'on.gif';  $gdesc=$Lang::tr{'click to disable'}; }
+       else {
+               $gif = 'off.gif'; $gdesc=$Lang::tr{'click to enable'};  }
+       if ($shapingsettings{'ACTION'} eq $Lang::tr{'edit'} && $shapingsettings{'ID'} eq $id) {
+               print "<tr bgcolor='${Header::colouryellow}'>\n"; }
+       elsif ($id % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n"; }
+       else {
+               print "<tr bgcolor='${Header::table2colour}'>\n"; }
+       if ($temp[2] eq "10") { $prio = $Lang::tr{'high'}; }
+       if ($temp[2] eq "20") { $prio = $Lang::tr{'medium'}; }
+       if ($temp[2] eq "30") { $prio = $Lang::tr{'low'}; }
+       
+print <<END
+<td align='center'>$prio</td>
+<td align='center'>$temp[1]</td>
+<td align='center'>$temp[0]</td>
+
+<td align='center'>
+       <form method='post' action='$ENV{'SCRIPT_NAME'}' name='frma$id'>
+       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+       <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+       <input type='hidden' name='ID' value='$id' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' title='$Lang::tr{'edit'}' alt='$Lang::tr{'edit'}' />
+       <input type='hidden' name='ID' value='$id' />
+       <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' title='$Lang::tr{'remove'}' alt='$Lang::tr{'remove'}' />
+       <input type='hidden' name='ID' value='$id' />
+       <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+       </form>
+</td>
+
+</tr>
+END
+;
+}
+close(SERVICES);
+
+print <<END
+</table>
+END
+;
+&Header::closebox;
+
+
+&Header::closebigbox();
+
+&Header::closepage;
index 2f62c7880c1e212e04e5ddb9e30e6d8e549dbc9b..cd50dd831ac09c1f5bb03d88241fefd7caec981b 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: shutdown.cgi,v 1.5.2.10 2006/01/02 16:21:00 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %cgiparams=();\r
-my $death = 0;\r
-my $rebirth = 0;\r
-my $default_time = '03:15';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ACTION'} = '';\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {\r
-       $death = 1;\r
-       &General::log($Lang::tr{'shutting down ipcop'});\r
-       #system '/usr/local/bin/ipcopdeath';\r
-       system '/usr/local/bin/ipcopreboot down';\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {\r
-       $rebirth = 1;\r
-       &General::log($Lang::tr{'rebooting ipcop'});\r
-       #system '/usr/local/bin/ipcoprebirth';\r
-       system '/usr/local/bin/ipcopreboot boot';\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {\r
-       my $days='';\r
-       my $n = 1;\r
-       # build list of days\r
-       map ($cgiparams{$_} eq 'on' ?  $days .= ",".$n++ : $n++ ,\r
-           ('MONDAY','TUESDAY','WEDNESDAY','THURSDAY','FRIDAY','SATURDAY','SUNDAY') );\r
-\r
-       # if days is empty, it is a remove else it is a change\r
-       if (length ($days)){\r
-           substr($days,0,1) = '';     #kill front comma\r
-           &General::log("Scheduling reboot on $days at $cgiparams{'TIME'}");\r
-           my $min;\r
-           my $hour;\r
-           ($hour,$min) = split (':', $cgiparams{'TIME'});\r
-           $days = "'*'" if ($days eq '1,2,3,4,5,6,7');\r
-           my $mode = ($cgiparams{'MODE'} eq 'halt') ? '-h' : '-r';\r
-           system "/usr/local/bin/ipcopreboot cron+ $min $hour $days $mode"; #reboot checks values of $hour & $min\r
-       } else {\r
-           &General::log("Remove scheduled reboot");\r
-           system '/usr/local/bin/ipcopreboot cron-';\r
-       }\r
-}\r
-if ($death == 0 && $rebirth == 0) {\r
-\r
-       &Header::openpage($Lang::tr{'shutdown control'}, 1, '');\r
-\r
-       &Header::openbigbox('100%', 'left');\r
-\r
-       print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-       &Header::openbox('100%', 'left', $Lang::tr{'shutdown2'});\r
-       print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reboot'}' /></td>\r
-       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'shutdown'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-       ;\r
-       &Header::closebox();\r
-\r
-       &Header::openbox('100%', 'left', $Lang::tr{'reboot schedule'});\r
-       my %checked=();\r
-       my $reboot_at = $default_time;\r
-       my $days = '';\r
-\r
-       #decode the shutdown line stored in crontab\r
-       #get the line\r
-       open(FILE, "/usr/local/bin/ipcopreboot cron?|");\r
-       my $schedule = <FILE>;\r
-       close (FILE);\r
-\r
-       if ($schedule) { # something exist\r
-           $schedule =~ /(\d+) (\d+) \* \* ([1234567*,]+) .* (-[h|r])/;\r
-           $reboot_at = sprintf("%.02d",$2) . ':' . sprintf("%.02d",$1);  # hour (03:45)\r
-           $days = $3;         # 1,2,3... or *\r
-           if ($4 eq '-h') {\r
-                $checked{'MODE'}{'halt'} = "checked='checked'";\r
-            } else {\r
-                $checked{'MODE'}{'reboot'} = "checked='checked'";\r
-            }\r
-       }\r
-       #decode $days\r
-       if ($days eq '*') {\r
-           $checked{'MONDAY'} = "checked='checked'";\r
-           $checked{'TUESDAY'} = "checked='checked'";\r
-           $checked{'WEDNESDAY'} = "checked='checked'";\r
-           $checked{'THURSDAY'} = "checked='checked'";\r
-           $checked{'FRIDAY'} = "checked='checked'";\r
-           $checked{'SATURDAY'} = "checked='checked'";\r
-           $checked{'SUNDAY'} = "checked='checked'";\r
-       } else {\r
-           $checked{'MONDAY'} = "checked='checked'"    if ($days =~ /1/);\r
-           $checked{'TUESDAY'} = "checked='checked'"   if ($days =~ /2/);\r
-           $checked{'WEDNESDAY'} = "checked='checked'" if ($days =~ /3/);\r
-           $checked{'THURSDAY'} = "checked='checked'"  if ($days =~ /4/);\r
-           $checked{'FRIDAY'} = "checked='checked'"    if ($days =~ /5/);\r
-           $checked{'SATURDAY'} = "checked='checked'"  if ($days =~ /6/);\r
-           $checked{'SUNDAY'} = "checked='checked'"    if ($days =~ /7/);          \r
-       }\r
-\r
-       print <<END\r
-<table width='100%'>\r
-<tr>\r
-    <td class='boldbase' colspan='2'><b>$Lang::tr{'time'}</b></td>\r
-    <td class='boldbase' colspan='2'><b>$Lang::tr{'day'}</b></td>\r
-    <td class='boldbase'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-<tr>\r
-END\r
-        ;\r
-        print "<td align='left' width='15%' class='base' valign='top' rowspan='2'>", &select_hour_var("TIME", $reboot_at);\r
-        print <<END\r
-</td>\r
-    <td>\r
-        <input type='checkbox' name='MONDAY'    $checked{'MONDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'monday'}</td>\r
-    <td>\r
-        <input type='radio' name='MODE' value='reboot' $checked{'MODE'}{'reboot'} /></td>\r
-    <td width='70%' class='base'>$Lang::tr{'reboot'}</td></tr>\r
-<tr>\r
-    <td>\r
-        <input type='checkbox' name='TUESDAY'   $checked{'TUESDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'tuesday'}</td>\r
-    <td>\r
-        <input type='radio' name='MODE' value='halt' $checked{'MODE'}{'halt'} /></td>\r
-    <td class='base'>$Lang::tr{'shutdown'}</td></tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>\r
-        <input type='checkbox' name='WEDNESDAY' $checked{'WEDNESDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'wednesday'}</td></tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>\r
-        <input type='checkbox' name='THURSDAY'  $checked{'THURSDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'thursday'}</td></tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>\r
-        <input type='checkbox' name='FRIDAY'    $checked{'FRIDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'friday'}</td></tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>\r
-        <input type='checkbox' name='SATURDAY'  $checked{'SATURDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'saturday'}</td></tr>\r
-<tr>\r
-    <td>&nbsp;</td>\r
-    <td>\r
-        <input type='checkbox' name='SUNDAY'    $checked{'SUNDAY'}></td>\r
-    <td width='15%' class='base'>\r
-        $Lang::tr{'sunday'}</td></tr>\r
-</table>\r
-\r
-<table width='100%'>\r
-<hr />\r
-<tr>\r
-    <td width='60%'>&nbsp;</td>\r
-    <td width='30%' align='center'>\r
-        <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />\r
-    </td>\r
-    <td width='10%' align='right'>\r
-        <a href='${General::adminmanualurl}/system.html#shutdown' target='_blank'>\r
-        <img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a></td>\r
-</tr>\r
-</table>\r
-\r
-END\r
-;\r
-       &Header::closebox();\r
-       print "</form>\n";\r
-} else {\r
-       my $message='';\r
-       my $title='';\r
-       my $refresh = "<meta http-equiv='refresh' content='5; URL=/cgi-bin/index.cgi' />";\r
-       if ($death) {\r
-               $title = $Lang::tr{'shutting down'};\r
-               $message = $Lang::tr{'ipcop has now shutdown'};\r
-       } else {\r
-               $title = $Lang::tr{'rebooting'};\r
-               $message = $Lang::tr{'ipcop has now rebooted'};\r
-       }\r
-       &Header::openpage($title, 0, $refresh);\r
-\r
-       &Header::openbigbox('100%', 'center');\r
-       print <<END\r
-<div align='center'>\r
-<table width='100%' bgcolor='#ffffff'>\r
-<tr><td align='center'>\r
-<br /><br /><img src='/ipcop_big.gif' /><br /><br /><br />\r
-</td></tr>\r
-</table>\r
-<br />\r
-<font size='6'>$message</font>\r
-</div>\r
-END\r
-       ;\r
-}\r
-\r
-&Header::closebigbox();\r
-&Header::closepage();\r
-\r
-\r
-\r
-# Create a named select box containing valid times from quarter to quarter.\r
-sub select_hour_var {\r
-       # Create a variable containing the SELECT with selected value variable name and current value selected\r
-        my $select_hour_var = shift;\r
-       my $selected_hour = shift;\r
-\r
-       my $select_hour = "<select name='$select_hour_var'>";\r
-       my $hh = 0;\r
-       my $mm = 15;\r
-       my $str = '00:00';\r
-       for (my $x=0; $x<(24*4); $x++) {\r
-           my $check = $selected_hour eq $str ?  "selected='selected'" : '';\r
-           $select_hour .= "<Option $check value='$str'>$str";\r
-           $str = sprintf("%.02d", $hh) . ":" . sprintf("%.02d", $mm);\r
-           $mm += 15;\r
-           if ($mm==60) {$mm=0; $hh++; }\r
-       }\r
-       $select_hour .= "</select>\n";\r
-       return ($select_hour);\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: shutdown.cgi,v 1.5.2.10 2006/01/02 16:21:00 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my $death = 0;
+my $rebirth = 0;
+my $default_time = '03:15';
+
+&Header::showhttpheaders();
+
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {
+       $death = 1;
+       &General::log($Lang::tr{'shutting down ipcop'});
+       #system '/usr/local/bin/ipcopdeath';
+       system '/usr/local/bin/ipcopreboot down';
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {
+       $rebirth = 1;
+       &General::log($Lang::tr{'rebooting ipcop'});
+       #system '/usr/local/bin/ipcoprebirth';
+       system '/usr/local/bin/ipcopreboot boot';
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
+       my $days='';
+       my $n = 1;
+       # build list of days
+       map ($cgiparams{$_} eq 'on' ?  $days .= ",".$n++ : $n++ ,
+           ('MONDAY','TUESDAY','WEDNESDAY','THURSDAY','FRIDAY','SATURDAY','SUNDAY') );
+
+       # if days is empty, it is a remove else it is a change
+       if (length ($days)){
+           substr($days,0,1) = '';     #kill front comma
+           &General::log("Scheduling reboot on $days at $cgiparams{'TIME'}");
+           my $min;
+           my $hour;
+           ($hour,$min) = split (':', $cgiparams{'TIME'});
+           $days = "'*'" if ($days eq '1,2,3,4,5,6,7');
+           my $mode = ($cgiparams{'MODE'} eq 'halt') ? '-h' : '-r';
+           system "/usr/local/bin/ipcopreboot cron+ $min $hour $days $mode"; #reboot checks values of $hour & $min
+       } else {
+           &General::log("Remove scheduled reboot");
+           system '/usr/local/bin/ipcopreboot cron-';
+       }
+}
+if ($death == 0 && $rebirth == 0) {
+
+       &Header::openpage($Lang::tr{'shutdown control'}, 1, '');
+
+       &Header::openbigbox('100%', 'left');
+
+       print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+       &Header::openbox('100%', 'left', $Lang::tr{'shutdown2'});
+       print <<END
+<table width='100%'>
+<tr>
+       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reboot'}' /></td>
+       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'shutdown'}' /></td>
+</tr>
+</table>
+END
+       ;
+       &Header::closebox();
+
+       &Header::openbox('100%', 'left', $Lang::tr{'reboot schedule'});
+       my %checked=();
+       my $reboot_at = $default_time;
+       my $days = '';
+
+       #decode the shutdown line stored in crontab
+       #get the line
+       open(FILE, "/usr/local/bin/ipcopreboot cron?|");
+       my $schedule = <FILE>;
+       close (FILE);
+
+       if ($schedule) { # something exist
+           $schedule =~ /(\d+) (\d+) \* \* ([1234567*,]+) .* (-[h|r])/;
+           $reboot_at = sprintf("%.02d",$2) . ':' . sprintf("%.02d",$1);  # hour (03:45)
+           $days = $3;         # 1,2,3... or *
+           if ($4 eq '-h') {
+                $checked{'MODE'}{'halt'} = "checked='checked'";
+            } else {
+                $checked{'MODE'}{'reboot'} = "checked='checked'";
+            }
+       }
+       #decode $days
+       if ($days eq '*') {
+           $checked{'MONDAY'} = "checked='checked'";
+           $checked{'TUESDAY'} = "checked='checked'";
+           $checked{'WEDNESDAY'} = "checked='checked'";
+           $checked{'THURSDAY'} = "checked='checked'";
+           $checked{'FRIDAY'} = "checked='checked'";
+           $checked{'SATURDAY'} = "checked='checked'";
+           $checked{'SUNDAY'} = "checked='checked'";
+       } else {
+           $checked{'MONDAY'} = "checked='checked'"    if ($days =~ /1/);
+           $checked{'TUESDAY'} = "checked='checked'"   if ($days =~ /2/);
+           $checked{'WEDNESDAY'} = "checked='checked'" if ($days =~ /3/);
+           $checked{'THURSDAY'} = "checked='checked'"  if ($days =~ /4/);
+           $checked{'FRIDAY'} = "checked='checked'"    if ($days =~ /5/);
+           $checked{'SATURDAY'} = "checked='checked'"  if ($days =~ /6/);
+           $checked{'SUNDAY'} = "checked='checked'"    if ($days =~ /7/);          
+       }
+
+       print <<END
+<table width='100%'>
+<tr>
+    <td class='boldbase' colspan='2'><b>$Lang::tr{'time'}</b></td>
+    <td class='boldbase' colspan='2'><b>$Lang::tr{'day'}</b></td>
+    <td class='boldbase'><b>$Lang::tr{'action'}</b></td>
+</tr>
+<tr>
+END
+        ;
+        print "<td align='left' width='15%' class='base' valign='top' rowspan='2'>", &select_hour_var("TIME", $reboot_at);
+        print <<END
+</td>
+    <td>
+        <input type='checkbox' name='MONDAY'    $checked{'MONDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'monday'}</td>
+    <td>
+        <input type='radio' name='MODE' value='reboot' $checked{'MODE'}{'reboot'} /></td>
+    <td width='70%' class='base'>$Lang::tr{'reboot'}</td></tr>
+<tr>
+    <td>
+        <input type='checkbox' name='TUESDAY'   $checked{'TUESDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'tuesday'}</td>
+    <td>
+        <input type='radio' name='MODE' value='halt' $checked{'MODE'}{'halt'} /></td>
+    <td class='base'>$Lang::tr{'shutdown'}</td></tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>
+        <input type='checkbox' name='WEDNESDAY' $checked{'WEDNESDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'wednesday'}</td></tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>
+        <input type='checkbox' name='THURSDAY'  $checked{'THURSDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'thursday'}</td></tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>
+        <input type='checkbox' name='FRIDAY'    $checked{'FRIDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'friday'}</td></tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>
+        <input type='checkbox' name='SATURDAY'  $checked{'SATURDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'saturday'}</td></tr>
+<tr>
+    <td>&nbsp;</td>
+    <td>
+        <input type='checkbox' name='SUNDAY'    $checked{'SUNDAY'}></td>
+    <td width='15%' class='base'>
+        $Lang::tr{'sunday'}</td></tr>
+</table>
+
+<table width='100%'>
+<hr />
+<tr>
+    <td width='60%'>&nbsp;</td>
+    <td width='30%' align='center'>
+        <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+    </td>
+    <td width='10%' align='right'>
+        <a href='${General::adminmanualurl}/system.html#shutdown' target='_blank'>
+        <img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a></td>
+</tr>
+</table>
+
+END
+;
+       &Header::closebox();
+       print "</form>\n";
+} else {
+       my $message='';
+       my $title='';
+       my $refresh = "<meta http-equiv='refresh' content='5; URL=/cgi-bin/index.cgi' />";
+       if ($death) {
+               $title = $Lang::tr{'shutting down'};
+               $message = $Lang::tr{'ipcop has now shutdown'};
+       } else {
+               $title = $Lang::tr{'rebooting'};
+               $message = $Lang::tr{'ipcop has now rebooted'};
+       }
+       &Header::openpage($title, 0, $refresh);
+
+       &Header::openbigbox('100%', 'center');
+       print <<END
+<div align='center'>
+<table width='100%' bgcolor='#ffffff'>
+<tr><td align='center'>
+<br /><br /><img src='/ipcop_big.gif' /><br /><br /><br />
+</td></tr>
+</table>
+<br />
+<font size='6'>$message</font>
+</div>
+END
+       ;
+}
+
+&Header::closebigbox();
+&Header::closepage();
+
+
+
+# Create a named select box containing valid times from quarter to quarter.
+sub select_hour_var {
+       # Create a variable containing the SELECT with selected value variable name and current value selected
+        my $select_hour_var = shift;
+       my $selected_hour = shift;
+
+       my $select_hour = "<select name='$select_hour_var'>";
+       my $hh = 0;
+       my $mm = 15;
+       my $str = '00:00';
+       for (my $x=0; $x<(24*4); $x++) {
+           my $check = $selected_hour eq $str ?  "selected='selected'" : '';
+           $select_hour .= "<Option $check value='$str'>$str";
+           $str = sprintf("%.02d", $hh) . ":" . sprintf("%.02d", $mm);
+           $mm += 15;
+           if ($mm==60) {$mm=0; $hh++; }
+       }
+       $select_hour .= "</select>\n";
+       return ($select_hour);
+}
index 14899d4fb494c812d2fe244855dcf035202c6b7f..c12baa7df40392a4c422bb67e9f7f40fd5ed8e5b 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: status.cgi,v 1.6.2.7 2005/02/24 07:44:35 gespinasse Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colourred} );\r
-undef (@dummy);\r
-\r
-my %netsettings=();\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-my %cgiparams=();\r
-# Maps a nice printable name to the changing part of the pid file, which\r
-# is also the name of the program\r
-my %servicenames =\r
-(\r
-       $Lang::tr{'dhcp server'} => 'dhcpd',\r
-       $Lang::tr{'web server'} => 'httpd',\r
-       $Lang::tr{'cron server'} => 'fcron',\r
-       $Lang::tr{'dns proxy server'} => 'dnsmasq',\r
-       $Lang::tr{'logging server'} => 'syslogd',\r
-       $Lang::tr{'kernel logging server'} => 'klogd',\r
-       $Lang::tr{'ntp server'} => 'ntpd',\r
-       $Lang::tr{'secure shell server'} => 'sshd',\r
-       $Lang::tr{'vpn'} => 'pluto',\r
-       $Lang::tr{'web proxy'} => 'squid'\r
-);\r
-\r
-my $iface = '';\r
-if (open(FILE, "${General::swroot}/red/iface"))\r
-{\r
-       $iface = <FILE>;\r
-       close FILE;\r
-       chomp $iface;\r
-}\r
-$servicenames{"$Lang::tr{'intrusion detection system'} (RED)"}   = "snort_${iface}";\r
-$servicenames{"$Lang::tr{'intrusion detection system'} (GREEN)"} = "snort_$netsettings{'GREEN_DEV'}";\r
-if ($netsettings{'ORANGE_DEV'} ne '') {\r
-       $servicenames{"$Lang::tr{'intrusion detection system'} (ORANGE)"} = "snort_$netsettings{'ORANGE_DEV'}";\r
-}\r
-if ($netsettings{'BLUE_DEV'} ne '') {\r
-       $servicenames{"$Lang::tr{'intrusion detection system'} (BLUE)"} = "snort_$netsettings{'BLUE_DEV'}";\r
-}\r
-\r
-&Header::showhttpheaders();\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-&Header::openpage($Lang::tr{'status information'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left');\r
-\r
-print <<END\r
-<table width='100%' cellspacing='0' cellpadding='5'border='0'>\r
-<tr><td style="background-color: #EAE9EE;" align='left'>\r
-    <a href='#services'>$Lang::tr{'services'}</a> |\r
-    <a href='#memory'>$Lang::tr{'memory'}</a> |\r
-    <a href='#disk'>$Lang::tr{'disk usage'}</a> |\r
-    <a href='#uptime'>$Lang::tr{'uptime and users'}</a> |\r
-    <a href='#modules'>$Lang::tr{'loaded modules'}</a> |\r
-    <a href='#kernel'>$Lang::tr{'kernel version'}</a>\r
-</td></tr></table>\r
-END\r
-;\r
-\r
-print "<a name='services'/>\n"; \r
-&Header::openbox('100%', 'left', $Lang::tr{'services'});\r
-\r
-print <<END\r
-<div align='center'>\r
-<table width='60%' cellspacing='0' border='0'>\r
-END\r
-;\r
-\r
-my $lines = 0;\r
-my $key = '';\r
-foreach $key (sort keys %servicenames)\r
-{\r
-       if ($lines % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n"; }\r
-       else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n"; }\r
-       print "<td align='left'>$key</td>\n";\r
-       my $shortname = $servicenames{$key};\r
-       my $status = &isrunning($shortname);\r
-       print "$status\n";\r
-       print "</tr>\n";\r
-       $lines++;\r
-}\r
-\r
-\r
-print "</table></div>\n";\r
-\r
-&Header::closebox();\r
-\r
-print "<a name='memory'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'memory'});\r
-print "<table><tr><td><table>";\r
-my $ram=0;\r
-my $size=0;\r
-my $used=0;\r
-my $free=0;\r
-my $percent=0;\r
-my $shared=0;\r
-my $buffers=0;\r
-my $cached=0;\r
-open(FREE,'/usr/bin/free |');\r
-while(<FREE>)\r
-{\r
-       if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cached$/ )\r
-       {\r
-    print <<END\r
-<tr>\r
-<td>&nbsp;</td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>\r
-<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>\r
-</tr>\r
-END\r
-;\r
-  } else {\r
-    if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/) {\r
-      ($ram,$size,$used,$free,$shared,$buffers,$cached) = ($1,$1,$2,$3,$4,$5,$6);\r
-      ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;\r
-      print <<END\r
-<tr>\r
-<td class='boldbase'><b>$Lang::tr{'ram'}</b></td>\r
-<td align='right'>$size</td>\r
-END\r
-;\r
-    } elsif ($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/) {\r
-      ($size,$used,$free) = ($1,$2,$3);\r
-      if ($size != 0)\r
-      {\r
-        ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;\r
-      } else {\r
-        ($percent = '');\r
-      }\r
-      print <<END\r
-<tr>\r
-<td class='boldbase'><b>$Lang::tr{'swap'}</b></td>\r
-<td align='right'>$size</td>\r
-END\r
-;\r
-    } elsif ($ram and $_ =~ m/^-\/\+ buffers\/cache:\s+(\d+)\s+(\d+)$/ ) {\r
-      ($used,$free) = ($1,$2);\r
-      ($percent = ($used/$ram)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;\r
-      print "<tr><td colspan='2' class='boldbase'><b>$Lang::tr{'excluding buffers and cache'}</b></td>"\r
-    }\r
-    print <<END\r
-<td align='right'>$used</td>\r
-<td align='right'>$free</td>\r
-<td>\r
-END\r
-;\r
-    &percentbar($percent);\r
-    print <<END\r
-</td>\r
-<td align='right'>$percent</td>\r
-</tr>\r
-END\r
-;\r
-  }\r
-}\r
-close FREE;\r
-print <<END\r
-</table></td><td>\r
-<table>\r
-<tr><td class='boldbase'><b>$Lang::tr{'shared'}</b></td><td align='right'>$shared</td></tr>\r
-<tr><td class='boldbase'><b>$Lang::tr{'buffers'}</b></td><td align='right'>$buffers</td></tr>\r
-<tr><td class='boldbase'><b>$Lang::tr{'cached'}</b></td><td align='right'>$cached</td></tr>\r
-</table>\r
-</td></tr></table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "<a name='disk'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'disk usage'});\r
-print "<table>\n";\r
-open(DF,'/bin/df -B M -x rootfs|');\r
-while(<DF>)\r
-{\r
-       if ($_ =~ m/^Filesystem/ )\r
-       {\r
-               print <<END\r
-<tr>\r
-<td align='left' class='boldbase'><b>$Lang::tr{'device'}</b></td>\r
-<td align='left' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>\r
-<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>\r
-<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>\r
-</tr>\r
-END\r
-;\r
-       }\r
-       else\r
-       {\r
-               my ($device,$size,$used,$free,$percent,$mount) = split;\r
-               print <<END\r
-<tr>\r
-<td>$device</td>\r
-<td>$mount</td>\r
-<td align='right'>$size</td>\r
-<td align='right'>$used</td>\r
-<td align='right'>$free</td>\r
-<td>\r
-END\r
-;\r
-               &percentbar($percent);\r
-               print <<END\r
-</td>\r
-<td align='right'>$percent</td>\r
-</tr>\r
-END\r
-;\r
-       }\r
-}\r
-close DF;\r
-print "</table>\n";\r
-&Header::closebox();\r
-\r
-print "<a name='uptime'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'uptime and users'});\r
-my $output = `/usr/bin/w`;\r
-$output = &Header::cleanhtml($output,"y");\r
-print "<pre>$output</pre>\n";\r
-&Header::closebox();\r
-\r
-print "<a name='modules'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'loaded modules'});\r
-$output = qx+/sbin/lsmod+;\r
-($output = &Header::cleanhtml($output,"y")) =~ s/\[.*\]//g;\r
-print "<pre>\n$output\n</pre>\n";\r
-&Header::closebox();\r
-\r
-print "<a name='kernel'/>\n";\r
-&Header::openbox('100%', 'left', $Lang::tr{'kernel version'});\r
-print "<pre>\n";\r
-print `/bin/uname -a`;\r
-print "</pre>\n";\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub isrunning\r
-{\r
-       my $cmd = $_[0];\r
-       my $status = "<td bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td>";\r
-       my $pid = '';\r
-       my $testcmd = '';\r
-       my $exename;\r
-\r
-       $cmd =~ /(^[a-z]+)/;\r
-       $exename = $1;\r
-\r
-       if (open(FILE, "/var/run/${cmd}.pid"))\r
-       {\r
-               $pid = <FILE>; chomp $pid;\r
-               close FILE;\r
-               if (open(FILE, "/proc/${pid}/status"))\r
-               {\r
-                       while (<FILE>)\r
-                       {\r
-                               if (/^Name:\W+(.*)/) {\r
-                                       $testcmd = $1; }\r
-                       }\r
-                       close FILE;\r
-                       if ($testcmd =~ /$exename/)\r
-                       {\r
-                               $status = "<td bgcolor='${Header::colourgreen}'><font color='white'><b>$Lang::tr{'running'}</b></font></td>";\r
-                       }\r
-               }\r
-       }\r
-\r
-       return $status;\r
-}\r
-\r
-sub percentbar\r
-{\r
-  my $percent = $_[0];\r
-  my $fg = '#a0a0a0';\r
-  my $bg = '#e2e2e2';\r
-\r
-  if ($percent =~ m/^(\d+)%$/ )\r
-  {\r
-    print <<END\r
-<table width='100' border='1' cellspacing='0' cellpadding='0' style='border-width:1px;border-style:solid;border-color:$fg;width:100px;height:10px;'>\r
-<tr>\r
-END\r
-;\r
-    if ($percent eq "100%") {\r
-      print "<td width='100%' bgcolor='$fg' style='background-color:$fg;border-style:solid;border-width:1px;border-color:$bg'>"\r
-    } elsif ($percent eq "0%") {\r
-      print "<td width='100%' bgcolor='$bg' style='background-color:$bg;border-style:solid;border-width:1px;border-color:$bg'>"\r
-    } else {\r
-      print "<td width='$percent' bgcolor='$fg' style='background-color:$fg;border-style:solid;border-width:1px;border-color:$bg'></td><td width='" . (100-$1) . "%' bgcolor='$bg' style='background-color:$bg;border-style:solid;border-width:1px;border-color:$bg'>"\r
-    }\r
-    print <<END\r
-<img src='/images/null.gif' width='1' height='1' alt='' /></td></tr></table>\r
-END\r
-;\r
-  }\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: status.cgi,v 1.6.2.7 2005/02/24 07:44:35 gespinasse Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colourred} );
+undef (@dummy);
+
+my %netsettings=();
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+my %cgiparams=();
+# Maps a nice printable name to the changing part of the pid file, which
+# is also the name of the program
+my %servicenames =
+(
+       $Lang::tr{'dhcp server'} => 'dhcpd',
+       $Lang::tr{'web server'} => 'httpd',
+       $Lang::tr{'cron server'} => 'fcron',
+       $Lang::tr{'dns proxy server'} => 'dnsmasq',
+       $Lang::tr{'logging server'} => 'syslogd',
+       $Lang::tr{'kernel logging server'} => 'klogd',
+       $Lang::tr{'ntp server'} => 'ntpd',
+       $Lang::tr{'secure shell server'} => 'sshd',
+       $Lang::tr{'vpn'} => 'pluto',
+       $Lang::tr{'web proxy'} => 'squid'
+);
+
+my $iface = '';
+if (open(FILE, "${General::swroot}/red/iface"))
+{
+       $iface = <FILE>;
+       close FILE;
+       chomp $iface;
+}
+$servicenames{"$Lang::tr{'intrusion detection system'} (RED)"}   = "snort_${iface}";
+$servicenames{"$Lang::tr{'intrusion detection system'} (GREEN)"} = "snort_$netsettings{'GREEN_DEV'}";
+if ($netsettings{'ORANGE_DEV'} ne '') {
+       $servicenames{"$Lang::tr{'intrusion detection system'} (ORANGE)"} = "snort_$netsettings{'ORANGE_DEV'}";
+}
+if ($netsettings{'BLUE_DEV'} ne '') {
+       $servicenames{"$Lang::tr{'intrusion detection system'} (BLUE)"} = "snort_$netsettings{'BLUE_DEV'}";
+}
+
+&Header::showhttpheaders();
+
+&Header::getcgihash(\%cgiparams);
+
+&Header::openpage($Lang::tr{'status information'}, 1, '');
+
+&Header::openbigbox('100%', 'left');
+
+print <<END
+<table width='100%' cellspacing='0' cellpadding='5'border='0'>
+<tr><td style="background-color: #EAE9EE;" align='left'>
+    <a href='#services'>$Lang::tr{'services'}</a> |
+    <a href='#memory'>$Lang::tr{'memory'}</a> |
+    <a href='#disk'>$Lang::tr{'disk usage'}</a> |
+    <a href='#uptime'>$Lang::tr{'uptime and users'}</a> |
+    <a href='#modules'>$Lang::tr{'loaded modules'}</a> |
+    <a href='#kernel'>$Lang::tr{'kernel version'}</a>
+</td></tr></table>
+END
+;
+
+print "<a name='services'/>\n"; 
+&Header::openbox('100%', 'left', $Lang::tr{'services'});
+
+print <<END
+<div align='center'>
+<table width='60%' cellspacing='0' border='0'>
+END
+;
+
+my $lines = 0;
+my $key = '';
+foreach $key (sort keys %servicenames)
+{
+       if ($lines % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n"; }
+       else {
+               print "<tr bgcolor='${Header::table2colour}'>\n"; }
+       print "<td align='left'>$key</td>\n";
+       my $shortname = $servicenames{$key};
+       my $status = &isrunning($shortname);
+       print "$status\n";
+       print "</tr>\n";
+       $lines++;
+}
+
+
+print "</table></div>\n";
+
+&Header::closebox();
+
+print "<a name='memory'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'memory'});
+print "<table><tr><td><table>";
+my $ram=0;
+my $size=0;
+my $used=0;
+my $free=0;
+my $percent=0;
+my $shared=0;
+my $buffers=0;
+my $cached=0;
+open(FREE,'/usr/bin/free |');
+while(<FREE>)
+{
+       if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cached$/ )
+       {
+    print <<END
+<tr>
+<td>&nbsp;</td>
+<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
+<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
+<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
+<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
+</tr>
+END
+;
+  } else {
+    if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/) {
+      ($ram,$size,$used,$free,$shared,$buffers,$cached) = ($1,$1,$2,$3,$4,$5,$6);
+      ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
+      print <<END
+<tr>
+<td class='boldbase'><b>$Lang::tr{'ram'}</b></td>
+<td align='right'>$size</td>
+END
+;
+    } elsif ($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/) {
+      ($size,$used,$free) = ($1,$2,$3);
+      if ($size != 0)
+      {
+        ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
+      } else {
+        ($percent = '');
+      }
+      print <<END
+<tr>
+<td class='boldbase'><b>$Lang::tr{'swap'}</b></td>
+<td align='right'>$size</td>
+END
+;
+    } elsif ($ram and $_ =~ m/^-\/\+ buffers\/cache:\s+(\d+)\s+(\d+)$/ ) {
+      ($used,$free) = ($1,$2);
+      ($percent = ($used/$ram)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
+      print "<tr><td colspan='2' class='boldbase'><b>$Lang::tr{'excluding buffers and cache'}</b></td>"
+    }
+    print <<END
+<td align='right'>$used</td>
+<td align='right'>$free</td>
+<td>
+END
+;
+    &percentbar($percent);
+    print <<END
+</td>
+<td align='right'>$percent</td>
+</tr>
+END
+;
+  }
+}
+close FREE;
+print <<END
+</table></td><td>
+<table>
+<tr><td class='boldbase'><b>$Lang::tr{'shared'}</b></td><td align='right'>$shared</td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'buffers'}</b></td><td align='right'>$buffers</td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'cached'}</b></td><td align='right'>$cached</td></tr>
+</table>
+</td></tr></table>
+END
+;
+&Header::closebox();
+
+print "<a name='disk'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'disk usage'});
+print "<table>\n";
+open(DF,'/bin/df -B M -x rootfs|');
+while(<DF>)
+{
+       if ($_ =~ m/^Filesystem/ )
+       {
+               print <<END
+<tr>
+<td align='left' class='boldbase'><b>$Lang::tr{'device'}</b></td>
+<td align='left' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>
+<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
+<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
+<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
+<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
+</tr>
+END
+;
+       }
+       else
+       {
+               my ($device,$size,$used,$free,$percent,$mount) = split;
+               print <<END
+<tr>
+<td>$device</td>
+<td>$mount</td>
+<td align='right'>$size</td>
+<td align='right'>$used</td>
+<td align='right'>$free</td>
+<td>
+END
+;
+               &percentbar($percent);
+               print <<END
+</td>
+<td align='right'>$percent</td>
+</tr>
+END
+;
+       }
+}
+close DF;
+print "</table>\n";
+&Header::closebox();
+
+print "<a name='uptime'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'uptime and users'});
+my $output = `/usr/bin/w`;
+$output = &Header::cleanhtml($output,"y");
+print "<pre>$output</pre>\n";
+&Header::closebox();
+
+print "<a name='modules'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'loaded modules'});
+$output = qx+/sbin/lsmod+;
+($output = &Header::cleanhtml($output,"y")) =~ s/\[.*\]//g;
+print "<pre>\n$output\n</pre>\n";
+&Header::closebox();
+
+print "<a name='kernel'/>\n";
+&Header::openbox('100%', 'left', $Lang::tr{'kernel version'});
+print "<pre>\n";
+print `/bin/uname -a`;
+print "</pre>\n";
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub isrunning
+{
+       my $cmd = $_[0];
+       my $status = "<td bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td>";
+       my $pid = '';
+       my $testcmd = '';
+       my $exename;
+
+       $cmd =~ /(^[a-z]+)/;
+       $exename = $1;
+
+       if (open(FILE, "/var/run/${cmd}.pid"))
+       {
+               $pid = <FILE>; chomp $pid;
+               close FILE;
+               if (open(FILE, "/proc/${pid}/status"))
+               {
+                       while (<FILE>)
+                       {
+                               if (/^Name:\W+(.*)/) {
+                                       $testcmd = $1; }
+                       }
+                       close FILE;
+                       if ($testcmd =~ /$exename/)
+                       {
+                               $status = "<td bgcolor='${Header::colourgreen}'><font color='white'><b>$Lang::tr{'running'}</b></font></td>";
+                       }
+               }
+       }
+
+       return $status;
+}
+
+sub percentbar
+{
+  my $percent = $_[0];
+  my $fg = '#a0a0a0';
+  my $bg = '#e2e2e2';
+
+  if ($percent =~ m/^(\d+)%$/ )
+  {
+    print <<END
+<table width='100' border='1' cellspacing='0' cellpadding='0' style='border-width:1px;border-style:solid;border-color:$fg;width:100px;height:10px;'>
+<tr>
+END
+;
+    if ($percent eq "100%") {
+      print "<td width='100%' bgcolor='$fg' style='background-color:$fg;border-style:solid;border-width:1px;border-color:$bg'>"
+    } elsif ($percent eq "0%") {
+      print "<td width='100%' bgcolor='$bg' style='background-color:$bg;border-style:solid;border-width:1px;border-color:$bg'>"
+    } else {
+      print "<td width='$percent' bgcolor='$fg' style='background-color:$fg;border-style:solid;border-width:1px;border-color:$bg'></td><td width='" . (100-$1) . "%' bgcolor='$bg' style='background-color:$bg;border-style:solid;border-width:1px;border-color:$bg'>"
+    }
+    print <<END
+<img src='/images/null.gif' width='1' height='1' alt='' /></td></tr></table>
+END
+;
+  }
+}
index 4f4a739f32abd0dee1d2ca93a9c2e1d7fa307d4d..639e051e91b4aee05720fd467d02942929bfa197 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGIs\r
-#\r
-# This file is part of the IPCop Project\r
-# \r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) Eric Oberlander June 2002\r
-#\r
-# (c) Darren Critchley June 2003 - added real time clock setting, etc\r
-#\r
-# $Id: time.cgi,v 1.4.2.11 2005/05/28 12:16:18 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %timesettings=();\r
-my $errormessage = '';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$timesettings{'ACTION'} = '';\r
-$timesettings{'VALID'} = '';\r
-\r
-$timesettings{'ENABLENTP'} = 'off';\r
-$timesettings{'NTP_ADDR_1'} = '';\r
-$timesettings{'NTP_ADDR_2'} = '';\r
-$timesettings{'UPDATE_METHOD'} = 'manually';\r
-$timesettings{'UPDATE_VALUE'} = '0';\r
-$timesettings{'UPDATE_PERIOD'} = '';\r
-$timesettings{'ENABLECLNTP'} = 'off';\r
-$timesettings{'SETHOUR'} = '';\r
-$timesettings{'SETMINUTES'} = '';\r
-$timesettings{'SETDAY'} = '';\r
-$timesettings{'SETMONTH'} = '';\r
-$timesettings{'SETYEAR'} = '';\r
-\r
-&Header::getcgihash(\%timesettings);\r
-\r
-if ($timesettings{'ACTION'} eq $Lang::tr{'instant update'})\r
-{\r
-       if ($timesettings{'SETHOUR'} eq '' || $timesettings{'SETHOUR'} < 0 || $timesettings{'SETHOUR'} > 23) {\r
-               $errormessage = $Lang::tr{'invalid time entered'};\r
-               goto UPDTERROR;\r
-       }\r
-       if ($timesettings{'SETMINUTES'} eq '' || $timesettings{'SETMINUTES'} < 0 || $timesettings{'SETMINUTES'} > 59) {\r
-               $errormessage = $Lang::tr{'invalid time entered'};\r
-               goto UPDTERROR;\r
-       }\r
-       if ($timesettings{'SETDAY'} eq '' || $timesettings{'SETDAY'} < 1 || $timesettings{'SETDAY'} > 31) {\r
-               $errormessage = $Lang::tr{'invalid date entered'};\r
-               goto UPDTERROR;\r
-       }\r
-       if ($timesettings{'SETMONTH'} eq '' || $timesettings{'SETMONTH'} < 1 || $timesettings{'SETMONTH'} > 12) {\r
-               $errormessage = $Lang::tr{'invalid date entered'};\r
-               goto UPDTERROR;\r
-       }\r
-       if ($timesettings{'SETYEAR'} eq '' || $timesettings{'SETYEAR'} < 2003 || $timesettings{'SETYEAR'} > 2030) {\r
-               $errormessage = $Lang::tr{'invalid date entered'};\r
-               goto UPDTERROR;\r
-       }\r
-\r
-UPDTERROR:\r
-       if ($errormessage) {\r
-               $timesettings{'VALID'} = 'no'; }\r
-       else {\r
-               $timesettings{'VALID'} = 'yes'; }\r
-\r
-       if ($timesettings{'VALID'} eq 'yes') {\r
-               # we want date in YYYY-MM-DD HH:MM format for date command\r
-               # EAO changed datestring to ISO 6801 format 2003-08-11\r
-               my $datestring = "$timesettings{'SETYEAR'}-$timesettings{'SETMONTH'}-$timesettings{'SETDAY'}";\r
-               my $timestring = "$timesettings{'SETHOUR'}:$timesettings{'SETMINUTES'}";\r
-               # EAO setdate.c also revised for ISO 6801 date format 2003-08-11\r
-               system ('/usr/local/bin/setdate', $datestring, $timestring);\r
-               &General::log("$Lang::tr{'time date manually reset'} $datestring $timestring");\r
-       }\r
-       unless ($errormessage) {\r
-               undef %timesettings;\r
-       }\r
-}\r
-\r
-if ($timesettings{'ACTION'} eq $Lang::tr{'save'})\r
-{ \r
-       if ($timesettings{'ENABLENTP'} eq 'on')\r
-       {\r
-               if ( ! ( &General::validfqdn($timesettings{'NTP_ADDR_1'}) ||\r
-                        &General::validip  ($timesettings{'NTP_ADDR_1'})))\r
-               {\r
-                       $errormessage = $Lang::tr{'invalid primary ntp'};\r
-                       goto ERROR;\r
-               }\r
-       }\r
-       if ($timesettings{'NTP_ADDR_2'})\r
-       {\r
-               if ( ! ( &General::validfqdn($timesettings{'NTP_ADDR_2'}) ||\r
-                        &General::validip  ($timesettings{'NTP_ADDR_2'})))\r
-               {\r
-                       $errormessage = $Lang::tr{'invalid secondary ntp'};\r
-                       goto ERROR;\r
-               }\r
-       }\r
-       if (!($timesettings{'NTP_ADDR_1'}) && $timesettings{'NTP_ADDR_2'})\r
-       {\r
-               $errormessage = $Lang::tr{'cannot specify secondary ntp without specifying primary'};\r
-               goto ERROR;\r
-       }\r
-\r
-       if (!($timesettings{'UPDATE_VALUE'} =~ /^\d+$/) || $timesettings{'UPDATE_VALUE'} <= 0)\r
-       {\r
-               $errormessage = $Lang::tr{'invalid time period'};\r
-               goto ERROR;\r
-       }\r
-\r
-       if ($timesettings{'ENABLENTP'} ne "on" && $timesettings{'ENABLECLNTP'} eq "on")\r
-       {\r
-               $errormessage = $Lang::tr{'ntp must be enabled to have clients'};\r
-               goto ERROR;\r
-       }\r
-       if ($timesettings{'ENABLENTP'} eq "on" && !($timesettings{'NTP_ADDR_1'}) && !($timesettings{'NTP_ADDR_2'}))\r
-       {\r
-               $errormessage = $Lang::tr{'cannot enable ntp without specifying primary'};\r
-               goto ERROR;\r
-       }\r
-ERROR:\r
-       if ($errormessage) {\r
-               $timesettings{'VALID'} = 'no'; }\r
-       else {\r
-               $timesettings{'VALID'} = 'yes'; }\r
-\r
-               &General::writehash("${General::swroot}/time/settings", \%timesettings);\r
-               open(FILE, ">/${General::swroot}/time/settime.conf") or die "Unable to write settime.conf file";\r
-               flock(FILE, 2);\r
-               print FILE "$timesettings{'NTP_ADDR_1'} $timesettings{'NTP_ADDR_2'}\n";\r
-               close FILE;\r
-\r
-               my $updateperiod=0;\r
-\r
-               if  ($timesettings{'UPDATE_PERIOD'} eq 'daily') {\r
-                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 1440; }\r
-               elsif  ($timesettings{'UPDATE_PERIOD'} eq 'weekly') {\r
-                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 10080; }\r
-               elsif  ($timesettings{'UPDATE_PERIOD'} eq 'monthly') {\r
-                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 40320; }\r
-               else {\r
-                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 60; }\r
-\r
-               $updateperiod = $updateperiod - 5;\r
-\r
-               if ($updateperiod <= 5) {\r
-                       $updateperiod = 5; }\r
-\r
-               open(FILE, ">/${General::swroot}/time/counter.conf") or die "Unable to write counter.conf file";\r
-               flock(FILE, 2);\r
-               print FILE "$updateperiod\n";\r
-               close FILE;\r
-\r
-       if ($timesettings{'ENABLENTP'} eq 'on' && $timesettings{'VALID'} eq 'yes')\r
-       {\r
-               system ('/bin/touch', "${General::swroot}/time/enable");\r
-               &General::log($Lang::tr{'ntp syncro enabled'});\r
-               unlink "${General::swroot}/time/counter";\r
-               if ($timesettings{'UPDATE_METHOD'} eq 'periodically')\r
-               {\r
-                       open(FILE, ">/${General::swroot}/time/counter") or die "Unable to write counter file";\r
-                       flock(FILE, 2);\r
-                       print FILE "$updateperiod\n";\r
-                       close FILE;\r
-               }\r
-               if ($timesettings{'ENABLECLNTP'} eq 'on') # DPC added to 1.3.1\r
-               {\r
-                       system ('/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1\r
-                       &General::log($Lang::tr{'ntpd restarted'}); # DPC added to 1.3.1\r
-               } else {\r
-                       unlink "${General::swroot}/time/allowclients";\r
-               }\r
-       \r
-       }\r
-       else\r
-       {\r
-               unlink "${General::swroot}/time/enable";\r
-               unlink "${General::swroot}/time/settimenow";\r
-               unlink "${General::swroot}/time/allowclients"; # DPC added to 1.3.1\r
-               &General::log($Lang::tr{'ntp syncro disabled'})\r
-       }\r
-       if (! $errormessage) {\r
-               system ('/usr/local/bin/restartntpd'); # DPC added to 1.3.1\r
-       }\r
-}\r
-\r
-# To enter an ' into a pushbutton solution is to use &#039; in it's definition\r
-# but returned value when pressed is ' not the code. Cleanhtml recode the ' to enable comparison.\r
-$timesettings{'ACTION'} = &Header::cleanhtml ($timesettings{'ACTION'});\r
-if ($timesettings{'ACTION'} eq $Lang::tr{'set time now'} && $timesettings{'ENABLENTP'} eq 'on')\r
-{\r
-       system ('/bin/touch', "${General::swroot}/time/settimenow");\r
-}\r
-\r
-&General::readhash("${General::swroot}/time/settings", \%timesettings);\r
-\r
-if ($timesettings{'VALID'} eq '')\r
-{\r
-       $timesettings{'ENABLENTP'} = 'off';\r
-       $timesettings{'UPDATE_METHOD'} = 'manually';\r
-       $timesettings{'UPDATE_VALUE'} = '1';\r
-       $timesettings{'UPDATE_PERIOD'} = 'daily';\r
-       $timesettings{'NTP_ADDR_1'} = 'pool.ntp.org';\r
-       $timesettings{'NTP_ADDR_2'} = 'pool.ntp.org';\r
-}\r
-\r
-unless ($errormessage) {\r
-       $timesettings{'SETMONTH'} = `date +'%m %e %Y %H %M'|cut -c 1-2`;\r
-       $timesettings{'SETDAY'} = `date +'%m %e %Y %H %M'|cut -c 4-5`;\r
-       $timesettings{'SETYEAR'} = `date +'%m %e %Y %H %M'|cut -c 7-10`;\r
-       $timesettings{'SETHOUR'} = `date +'%m %e %Y %H %M'|cut -c 12-13`;\r
-       $timesettings{'SETMINUTES'} = `date +'%m %e %Y %H %M'|cut -c 15-16`;\r
-       $_=$timesettings{'SETDAY'};\r
-       $timesettings{'SETDAY'}=~ tr/ /0/;\r
-}\r
-\r
-my %selected=();\r
-my %checked=();\r
-\r
-$checked{'ENABLENTP'}{'off'} = '';\r
-$checked{'ENABLENTP'}{'on'} = '';\r
-$checked{'ENABLENTP'}{$timesettings{'ENABLENTP'}} = "checked='checked'";\r
-\r
-$checked{'ENABLECLNTP'}{'off'} = '';\r
-$checked{'ENABLECLNTP'}{'on'} = '';\r
-$checked{'ENABLECLNTP'}{$timesettings{'ENABLECLNTP'}} = "checked='checked'";\r
-\r
-$checked{'UPDATE_METHOD'}{'manually'} = '';\r
-$checked{'UPDATE_METHOD'}{'periodically'} = '';\r
-$checked{'UPDATE_METHOD'}{$timesettings{'UPDATE_METHOD'}} = "checked='checked'";\r
-\r
-$selected{'UPDATE_PERIOD'}{'hourly'} = '';\r
-$selected{'UPDATE_PERIOD'}{'daily'} = '';\r
-$selected{'UPDATE_PERIOD'}{'weekly'} = '';\r
-$selected{'UPDATE_PERIOD'}{'monthly'} = '';\r
-$selected{'UPDATE_PERIOD'}{$timesettings{'UPDATE_PERIOD'}} = "selected='selected'";\r
-\r
-# added to v0.0.4 to refresh screen if syncro event queued \r
-my $refresh = '';\r
-if ( -e "${General::swroot}/time/settimenow") {\r
-       $refresh = "<meta http-equiv='refresh' content='60;' />";\r
-}\r
-\r
-&Header::openpage($Lang::tr{'ntp configuration'}, 1, $refresh);\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-# DPC move error message to top so it is seen!\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-       &Header::closebox();\r
-       }\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'network time'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td><input type='checkbox' name='ENABLENTP' $checked{'ENABLENTP'}{'on'} /></td>\r
-       <td width='100%' colspan='4' class='base'>$Lang::tr{'network time from'}</td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td width='100%' class='base' colspan='4'>\r
-END\r
-;\r
-\r
-if ( -e "${General::swroot}/time/lastset")\r
-{\r
-       print "$Lang::tr{'clock last synchronized at'}\n";\r
-       my $output = `cat ${General::swroot}/time/lastset`;\r
-       print $output;\r
-}\r
-else\r
-{\r
-       print "$Lang::tr{'clock has not been synchronized'}\n";\r
-}\r
-\r
-print <<END\r
-</td></tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td width='25%' class='base'>$Lang::tr{'primary ntp server'}:</td>\r
-       <td width='25%'><input type='text' name='NTP_ADDR_1' value='$timesettings{'NTP_ADDR_1'}' /></td>\r
-       <td width='25%' class='base'>$Lang::tr{'secondary ntp server'}: &nbsp;<img src='/blob.gif' align='top' alt='*' /></td>\r
-       <td width='25%'><input type='text' name='NTP_ADDR_2' value='$timesettings{'NTP_ADDR_2'}' /></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td class='base' colspan='4'><input type='checkbox' name='ENABLECLNTP' $checked{'ENABLECLNTP'}{'on'} /> $Lang::tr{'clenabled'}</td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='4'><hr /><b>$Lang::tr{'update time'}</b></td>\r
-</tr>\r
-<tr>\r
-       <td>&nbsp;</td>\r
-       <td class='base' colspan='2'>$Lang::tr{'set time now help'}</td>\r
-</tr>\r
-<tr>\r
-       <td class='base'><input type='radio' name='UPDATE_METHOD' value='periodically' $checked{'UPDATE_METHOD'}{'periodically'} /></td>\r
-       <td width='15%'>$Lang::tr{'every'}: </td>\r
-       <td width='35%'><input type='text' name='UPDATE_VALUE' size='3' maxlength='3' value='$timesettings{'UPDATE_VALUE'}' />\r
-       <select name='UPDATE_PERIOD'>\r
-               <option value='hourly' $selected{'UPDATE_PERIOD'}{'hourly'}>$Lang::tr{'hours'}</option>\r
-               <option value='daily' $selected{'UPDATE_PERIOD'}{'daily'}>$Lang::tr{'days'}</option>\r
-               <option value='weekly' $selected{'UPDATE_PERIOD'}{'weekly'}>$Lang::tr{'weeks'}</option>\r
-               <option value='monthly' $selected{'UPDATE_PERIOD'}{'monthly'}>$Lang::tr{'months'}</option>\r
-       </select></td>\r
-       <td width='50%'>&nbsp;</td>\r
-</tr>\r
-<tr>\r
-       <td class='base'><input type='radio' name='UPDATE_METHOD' value='manually' $checked{'UPDATE_METHOD'}{'manually'} /></td>\r
-       <td colspan='2'>$Lang::tr{'manually'}</td>\r
-</tr>\r
-END\r
-;\r
-\r
-if ( -e "${General::swroot}/time/settimenow") {\r
-       print "<tr>\n<td align='center'><img src='/images/clock.gif' alt='' /></td>\n";\r
-       print "<td colspan='2'><font color='red'>$Lang::tr{'waiting to synchronize clock'}...</font></td></tr>\n";\r
-}\r
-print <<END\r
-</table>\r
-<br />\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-       <td width='30%'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td>\r
-       <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'set time now'}' /></td>\r
-       <td width='25%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-       <td width='5%' align='right'>\r
-               <a href='${General::adminmanualurl}/services.html#services_time' target='_blank'><img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a>\r
-       </td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'update time'});\r
-\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td width='65%' class='base'>\r
-       <table> \r
-       <tr>\r
-               <td>$Lang::tr{'year'}:&nbsp;</td>\r
-               <td><input type='text' name='SETYEAR' size='4' maxlength='4' value='$timesettings{'SETYEAR'}' /></td>\r
-               <td>&nbsp;$Lang::tr{'month'}:&nbsp;</td>\r
-               <td><input type='text' name='SETMONTH' size='2' maxlength='2' value='$timesettings{'SETMONTH'}' /></td>\r
-               <td>&nbsp;$Lang::tr{'day'}:&nbsp;</td>\r
-               <td><input type='text' name='SETDAY' size='2' maxlength='2' value='$timesettings{'SETDAY'}' /></td>\r
-               <td>&nbsp;&nbsp;&nbsp;&nbsp;$Lang::tr{'hours2'}:&nbsp;</td>\r
-               <td><input type='text' name='SETHOUR' size='2' maxlength='2' value='$timesettings{'SETHOUR'}' /></td>\r
-               <td>&nbsp;$Lang::tr{'minutes'}:&nbsp;</td>\r
-               <td><input type='text' name='SETMINUTES' size='2' maxlength='2' value='$timesettings{'SETMINUTES'}' /></td>\r
-       </tr>   \r
-       </table>\r
-       </td>\r
-       <td width='35%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
+#!/usr/bin/perl
+#
+# IPCop CGIs
+#
+# This file is part of the IPCop Project
+# 
+# This code is distributed under the terms of the GPL
+#
+# (c) Eric Oberlander June 2002
+#
+# (c) Darren Critchley June 2003 - added real time clock setting, etc
+#
+# $Id: time.cgi,v 1.4.2.11 2005/05/28 12:16:18 eoberlander Exp $
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %timesettings=();
+my $errormessage = '';
+
+&Header::showhttpheaders();
+
+$timesettings{'ACTION'} = '';
+$timesettings{'VALID'} = '';
+
+$timesettings{'ENABLENTP'} = 'off';
+$timesettings{'NTP_ADDR_1'} = '';
+$timesettings{'NTP_ADDR_2'} = '';
+$timesettings{'UPDATE_METHOD'} = 'manually';
+$timesettings{'UPDATE_VALUE'} = '0';
+$timesettings{'UPDATE_PERIOD'} = '';
+$timesettings{'ENABLECLNTP'} = 'off';
+$timesettings{'SETHOUR'} = '';
+$timesettings{'SETMINUTES'} = '';
+$timesettings{'SETDAY'} = '';
+$timesettings{'SETMONTH'} = '';
+$timesettings{'SETYEAR'} = '';
+
+&Header::getcgihash(\%timesettings);
+
+if ($timesettings{'ACTION'} eq $Lang::tr{'instant update'})
+{
+       if ($timesettings{'SETHOUR'} eq '' || $timesettings{'SETHOUR'} < 0 || $timesettings{'SETHOUR'} > 23) {
+               $errormessage = $Lang::tr{'invalid time entered'};
+               goto UPDTERROR;
+       }
+       if ($timesettings{'SETMINUTES'} eq '' || $timesettings{'SETMINUTES'} < 0 || $timesettings{'SETMINUTES'} > 59) {
+               $errormessage = $Lang::tr{'invalid time entered'};
+               goto UPDTERROR;
+       }
+       if ($timesettings{'SETDAY'} eq '' || $timesettings{'SETDAY'} < 1 || $timesettings{'SETDAY'} > 31) {
+               $errormessage = $Lang::tr{'invalid date entered'};
+               goto UPDTERROR;
+       }
+       if ($timesettings{'SETMONTH'} eq '' || $timesettings{'SETMONTH'} < 1 || $timesettings{'SETMONTH'} > 12) {
+               $errormessage = $Lang::tr{'invalid date entered'};
+               goto UPDTERROR;
+       }
+       if ($timesettings{'SETYEAR'} eq '' || $timesettings{'SETYEAR'} < 2003 || $timesettings{'SETYEAR'} > 2030) {
+               $errormessage = $Lang::tr{'invalid date entered'};
+               goto UPDTERROR;
+       }
+
+UPDTERROR:
+       if ($errormessage) {
+               $timesettings{'VALID'} = 'no'; }
+       else {
+               $timesettings{'VALID'} = 'yes'; }
+
+       if ($timesettings{'VALID'} eq 'yes') {
+               # we want date in YYYY-MM-DD HH:MM format for date command
+               # EAO changed datestring to ISO 6801 format 2003-08-11
+               my $datestring = "$timesettings{'SETYEAR'}-$timesettings{'SETMONTH'}-$timesettings{'SETDAY'}";
+               my $timestring = "$timesettings{'SETHOUR'}:$timesettings{'SETMINUTES'}";
+               # EAO setdate.c also revised for ISO 6801 date format 2003-08-11
+               system ('/usr/local/bin/setdate', $datestring, $timestring);
+               &General::log("$Lang::tr{'time date manually reset'} $datestring $timestring");
+       }
+       unless ($errormessage) {
+               undef %timesettings;
+       }
+}
+
+if ($timesettings{'ACTION'} eq $Lang::tr{'save'})
+{ 
+       if ($timesettings{'ENABLENTP'} eq 'on')
+       {
+               if ( ! ( &General::validfqdn($timesettings{'NTP_ADDR_1'}) ||
+                        &General::validip  ($timesettings{'NTP_ADDR_1'})))
+               {
+                       $errormessage = $Lang::tr{'invalid primary ntp'};
+                       goto ERROR;
+               }
+       }
+       if ($timesettings{'NTP_ADDR_2'})
+       {
+               if ( ! ( &General::validfqdn($timesettings{'NTP_ADDR_2'}) ||
+                        &General::validip  ($timesettings{'NTP_ADDR_2'})))
+               {
+                       $errormessage = $Lang::tr{'invalid secondary ntp'};
+                       goto ERROR;
+               }
+       }
+       if (!($timesettings{'NTP_ADDR_1'}) && $timesettings{'NTP_ADDR_2'})
+       {
+               $errormessage = $Lang::tr{'cannot specify secondary ntp without specifying primary'};
+               goto ERROR;
+       }
+
+       if (!($timesettings{'UPDATE_VALUE'} =~ /^\d+$/) || $timesettings{'UPDATE_VALUE'} <= 0)
+       {
+               $errormessage = $Lang::tr{'invalid time period'};
+               goto ERROR;
+       }
+
+       if ($timesettings{'ENABLENTP'} ne "on" && $timesettings{'ENABLECLNTP'} eq "on")
+       {
+               $errormessage = $Lang::tr{'ntp must be enabled to have clients'};
+               goto ERROR;
+       }
+       if ($timesettings{'ENABLENTP'} eq "on" && !($timesettings{'NTP_ADDR_1'}) && !($timesettings{'NTP_ADDR_2'}))
+       {
+               $errormessage = $Lang::tr{'cannot enable ntp without specifying primary'};
+               goto ERROR;
+       }
+ERROR:
+       if ($errormessage) {
+               $timesettings{'VALID'} = 'no'; }
+       else {
+               $timesettings{'VALID'} = 'yes'; }
+
+               &General::writehash("${General::swroot}/time/settings", \%timesettings);
+               open(FILE, ">/${General::swroot}/time/settime.conf") or die "Unable to write settime.conf file";
+               flock(FILE, 2);
+               print FILE "$timesettings{'NTP_ADDR_1'} $timesettings{'NTP_ADDR_2'}\n";
+               close FILE;
+
+               my $updateperiod=0;
+
+               if  ($timesettings{'UPDATE_PERIOD'} eq 'daily') {
+                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 1440; }
+               elsif  ($timesettings{'UPDATE_PERIOD'} eq 'weekly') {
+                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 10080; }
+               elsif  ($timesettings{'UPDATE_PERIOD'} eq 'monthly') {
+                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 40320; }
+               else {
+                       $updateperiod = $timesettings{'UPDATE_VALUE'} * 60; }
+
+               $updateperiod = $updateperiod - 5;
+
+               if ($updateperiod <= 5) {
+                       $updateperiod = 5; }
+
+               open(FILE, ">/${General::swroot}/time/counter.conf") or die "Unable to write counter.conf file";
+               flock(FILE, 2);
+               print FILE "$updateperiod\n";
+               close FILE;
+
+       if ($timesettings{'ENABLENTP'} eq 'on' && $timesettings{'VALID'} eq 'yes')
+       {
+               system ('/bin/touch', "${General::swroot}/time/enable");
+               &General::log($Lang::tr{'ntp syncro enabled'});
+               unlink "${General::swroot}/time/counter";
+               if ($timesettings{'UPDATE_METHOD'} eq 'periodically')
+               {
+                       open(FILE, ">/${General::swroot}/time/counter") or die "Unable to write counter file";
+                       flock(FILE, 2);
+                       print FILE "$updateperiod\n";
+                       close FILE;
+               }
+               if ($timesettings{'ENABLECLNTP'} eq 'on') # DPC added to 1.3.1
+               {
+                       system ('/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1
+                       &General::log($Lang::tr{'ntpd restarted'}); # DPC added to 1.3.1
+               } else {
+                       unlink "${General::swroot}/time/allowclients";
+               }
+       
+       }
+       else
+       {
+               unlink "${General::swroot}/time/enable";
+               unlink "${General::swroot}/time/settimenow";
+               unlink "${General::swroot}/time/allowclients"; # DPC added to 1.3.1
+               &General::log($Lang::tr{'ntp syncro disabled'})
+       }
+       if (! $errormessage) {
+               system ('/usr/local/bin/restartntpd'); # DPC added to 1.3.1
+       }
+}
+
+# To enter an ' into a pushbutton solution is to use &#039; in it's definition
+# but returned value when pressed is ' not the code. Cleanhtml recode the ' to enable comparison.
+$timesettings{'ACTION'} = &Header::cleanhtml ($timesettings{'ACTION'});
+if ($timesettings{'ACTION'} eq $Lang::tr{'set time now'} && $timesettings{'ENABLENTP'} eq 'on')
+{
+       system ('/bin/touch', "${General::swroot}/time/settimenow");
+}
+
+&General::readhash("${General::swroot}/time/settings", \%timesettings);
+
+if ($timesettings{'VALID'} eq '')
+{
+       $timesettings{'ENABLENTP'} = 'off';
+       $timesettings{'UPDATE_METHOD'} = 'manually';
+       $timesettings{'UPDATE_VALUE'} = '1';
+       $timesettings{'UPDATE_PERIOD'} = 'daily';
+       $timesettings{'NTP_ADDR_1'} = 'pool.ntp.org';
+       $timesettings{'NTP_ADDR_2'} = 'pool.ntp.org';
+}
+
+unless ($errormessage) {
+       $timesettings{'SETMONTH'} = `date +'%m %e %Y %H %M'|cut -c 1-2`;
+       $timesettings{'SETDAY'} = `date +'%m %e %Y %H %M'|cut -c 4-5`;
+       $timesettings{'SETYEAR'} = `date +'%m %e %Y %H %M'|cut -c 7-10`;
+       $timesettings{'SETHOUR'} = `date +'%m %e %Y %H %M'|cut -c 12-13`;
+       $timesettings{'SETMINUTES'} = `date +'%m %e %Y %H %M'|cut -c 15-16`;
+       $_=$timesettings{'SETDAY'};
+       $timesettings{'SETDAY'}=~ tr/ /0/;
+}
+
+my %selected=();
+my %checked=();
+
+$checked{'ENABLENTP'}{'off'} = '';
+$checked{'ENABLENTP'}{'on'} = '';
+$checked{'ENABLENTP'}{$timesettings{'ENABLENTP'}} = "checked='checked'";
+
+$checked{'ENABLECLNTP'}{'off'} = '';
+$checked{'ENABLECLNTP'}{'on'} = '';
+$checked{'ENABLECLNTP'}{$timesettings{'ENABLECLNTP'}} = "checked='checked'";
+
+$checked{'UPDATE_METHOD'}{'manually'} = '';
+$checked{'UPDATE_METHOD'}{'periodically'} = '';
+$checked{'UPDATE_METHOD'}{$timesettings{'UPDATE_METHOD'}} = "checked='checked'";
+
+$selected{'UPDATE_PERIOD'}{'hourly'} = '';
+$selected{'UPDATE_PERIOD'}{'daily'} = '';
+$selected{'UPDATE_PERIOD'}{'weekly'} = '';
+$selected{'UPDATE_PERIOD'}{'monthly'} = '';
+$selected{'UPDATE_PERIOD'}{$timesettings{'UPDATE_PERIOD'}} = "selected='selected'";
+
+# added to v0.0.4 to refresh screen if syncro event queued 
+my $refresh = '';
+if ( -e "${General::swroot}/time/settimenow") {
+       $refresh = "<meta http-equiv='refresh' content='60;' />";
+}
+
+&Header::openpage($Lang::tr{'ntp configuration'}, 1, $refresh);
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+# DPC move error message to top so it is seen!
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+       }
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'network time'});
+print <<END
+<table width='100%'>
+<tr>
+       <td><input type='checkbox' name='ENABLENTP' $checked{'ENABLENTP'}{'on'} /></td>
+       <td width='100%' colspan='4' class='base'>$Lang::tr{'network time from'}</td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td width='100%' class='base' colspan='4'>
+END
+;
+
+if ( -e "${General::swroot}/time/lastset")
+{
+       print "$Lang::tr{'clock last synchronized at'}\n";
+       my $output = `cat ${General::swroot}/time/lastset`;
+       print $output;
+}
+else
+{
+       print "$Lang::tr{'clock has not been synchronized'}\n";
+}
+
+print <<END
+</td></tr>
+<tr>
+       <td>&nbsp;</td>
+       <td width='25%' class='base'>$Lang::tr{'primary ntp server'}:</td>
+       <td width='25%'><input type='text' name='NTP_ADDR_1' value='$timesettings{'NTP_ADDR_1'}' /></td>
+       <td width='25%' class='base'>$Lang::tr{'secondary ntp server'}: &nbsp;<img src='/blob.gif' align='top' alt='*' /></td>
+       <td width='25%'><input type='text' name='NTP_ADDR_2' value='$timesettings{'NTP_ADDR_2'}' /></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td class='base' colspan='4'><input type='checkbox' name='ENABLECLNTP' $checked{'ENABLECLNTP'}{'on'} /> $Lang::tr{'clenabled'}</td>
+</tr>
+</table>
+<table width='100%'>
+<tr>
+       <td colspan='4'><hr /><b>$Lang::tr{'update time'}</b></td>
+</tr>
+<tr>
+       <td>&nbsp;</td>
+       <td class='base' colspan='2'>$Lang::tr{'set time now help'}</td>
+</tr>
+<tr>
+       <td class='base'><input type='radio' name='UPDATE_METHOD' value='periodically' $checked{'UPDATE_METHOD'}{'periodically'} /></td>
+       <td width='15%'>$Lang::tr{'every'}: </td>
+       <td width='35%'><input type='text' name='UPDATE_VALUE' size='3' maxlength='3' value='$timesettings{'UPDATE_VALUE'}' />
+       <select name='UPDATE_PERIOD'>
+               <option value='hourly' $selected{'UPDATE_PERIOD'}{'hourly'}>$Lang::tr{'hours'}</option>
+               <option value='daily' $selected{'UPDATE_PERIOD'}{'daily'}>$Lang::tr{'days'}</option>
+               <option value='weekly' $selected{'UPDATE_PERIOD'}{'weekly'}>$Lang::tr{'weeks'}</option>
+               <option value='monthly' $selected{'UPDATE_PERIOD'}{'monthly'}>$Lang::tr{'months'}</option>
+       </select></td>
+       <td width='50%'>&nbsp;</td>
+</tr>
+<tr>
+       <td class='base'><input type='radio' name='UPDATE_METHOD' value='manually' $checked{'UPDATE_METHOD'}{'manually'} /></td>
+       <td colspan='2'>$Lang::tr{'manually'}</td>
+</tr>
+END
+;
+
+if ( -e "${General::swroot}/time/settimenow") {
+       print "<tr>\n<td align='center'><img src='/images/clock.gif' alt='' /></td>\n";
+       print "<td colspan='2'><font color='red'>$Lang::tr{'waiting to synchronize clock'}...</font></td></tr>\n";
+}
+print <<END
+</table>
+<br />
+<hr />
+<table width='100%'>
+<tr>
+       <td width='30%'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td>
+       <td width='40%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'set time now'}' /></td>
+       <td width='25%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+       <td width='5%' align='right'>
+               <a href='${General::adminmanualurl}/services.html#services_time' target='_blank'><img src='/images/web-support.png' title='$Lang::tr{'online help en'}' /></a>
+       </td>
+</tr>
+</table>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'update time'});
+
+print <<END
+<table width='100%'>
+<tr>
+       <td width='65%' class='base'>
+       <table> 
+       <tr>
+               <td>$Lang::tr{'year'}:&nbsp;</td>
+               <td><input type='text' name='SETYEAR' size='4' maxlength='4' value='$timesettings{'SETYEAR'}' /></td>
+               <td>&nbsp;$Lang::tr{'month'}:&nbsp;</td>
+               <td><input type='text' name='SETMONTH' size='2' maxlength='2' value='$timesettings{'SETMONTH'}' /></td>
+               <td>&nbsp;$Lang::tr{'day'}:&nbsp;</td>
+               <td><input type='text' name='SETDAY' size='2' maxlength='2' value='$timesettings{'SETDAY'}' /></td>
+               <td>&nbsp;&nbsp;&nbsp;&nbsp;$Lang::tr{'hours2'}:&nbsp;</td>
+               <td><input type='text' name='SETHOUR' size='2' maxlength='2' value='$timesettings{'SETHOUR'}' /></td>
+               <td>&nbsp;$Lang::tr{'minutes'}:&nbsp;</td>
+               <td><input type='text' name='SETMINUTES' size='2' maxlength='2' value='$timesettings{'SETMINUTES'}' /></td>
+       </tr>   
+       </table>
+       </td>
+       <td width='35%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'instant update'}' /></td>
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
+
index d8abb6612d59ddf60b9c303fb588d27114e18759..8651194dee0273e84f4b1d33e28876690ed685cf 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: updates.cgi,v 1.9.2.22 2005/12/01 20:41:53 franck78 Exp $\r
-#\r
-\r
-use LWP::UserAgent;\r
-use File::Copy;\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( $General::version );\r
-undef (@dummy);\r
-my $warnmessage='';\r
-my $errormessage='';\r
-my @av=('');\r
-my @pf=('');\r
-\r
-&Header::showhttpheaders();\r
-\r
-my %uploadsettings=();\r
-$uploadsettings{'ACTION'} = '';\r
-\r
-&Header::getcgihash(\%uploadsettings, {'wantfile' => 1, 'filevar' => 'FH'});\r
-\r
-if ($uploadsettings{'ACTION'} eq $Lang::tr{'upload'}) {\r
-# This code do not serve a lot because $General::version cannot change while the module is loaded. So no change\r
-# can appear. More, this call should be called 'after' update is done !\r
-#      my $return = &downloadlist();\r
-#      if ($return && $return->is_success) {\r
-#              if (open(LIST, ">${General::swroot}/patches/available")){\r
-#                      flock LIST, 2;\r
-#                      my @this = split(/----START LIST----\n/,$return->content);\r
-#                      print LIST $this[1];\r
-#                      close(LIST);\r
-#              } else {\r
-#                      $errormessage = $Lang::tr{'could not open available updates file'};\r
-#              }\r
-#      } else {\r
-#              if (open(LIST, "<${General::swroot}/patches/available")) {\r
-#                      my @list = <LIST>;\r
-#                      close(LIST);\r
-#              }\r
-#              $warnmessage = $Lang::tr{'could not download the available updates list'};\r
-#      }\r
-\r
-\r
-       if (copy ($uploadsettings{'FH'}, "/var/patches/patch-$$.tar.gz.gpg") != 1) {\r
-               $errormessage = $!;\r
-       } else {\r
-               my $exitcode = system("/usr/local/bin/installpackage $$ > /dev/null") >> 8;\r
-               if ($exitcode == 0) {\r
-                       #Hack to get correct version displayed after update\r
-                       open (XX,"perl -e \"require'${General::swroot}/general-functions.pl';print \\\$General::version\"|");\r
-                       $General::version=<XX>;\r
-                       close (XX);\r
-                       &General::log("$Lang::tr{'the following update was successfully installed'} ($General::version)");\r
-               }\r
-               elsif($exitcode == 2) {\r
-                       $errormessage = "$Lang::tr{'could not create directory'}";\r
-               }\r
-               elsif($exitcode == 3) {\r
-                       $errormessage = "$Lang::tr{'this is not an authorised update'}";\r
-               }\r
-               elsif($exitcode == 4) {\r
-                       $errormessage = "$Lang::tr{'this is not a valid archive'}";\r
-               }\r
-               elsif($exitcode == 5) {\r
-                       $errormessage = "$Lang::tr{'could not open update information file'}";\r
-               }\r
-               elsif($exitcode == 6) {\r
-                       $errormessage = "$Lang::tr{'could not open installed updates file'}";\r
-               }\r
-               elsif($exitcode == 7) {\r
-                       $errormessage = "$Lang::tr{'this update is already installed'}";\r
-               }\r
-               elsif($exitcode == 11) {\r
-                       $errormessage = "$Lang::tr{'not enough disk space'}";\r
-               } else {\r
-                       $errormessage = "$Lang::tr{'package failed to install'}";\r
-               }\r
-       }\r
-}\r
-elsif ($uploadsettings{'ACTION'} eq $Lang::tr{'refresh update list'}) {\r
-       my $return = &downloadlist();\r
-       if ($return && $return->is_success) {\r
-               if (open(LIST, ">${General::swroot}/patches/available")) {\r
-                       flock LIST, 2;\r
-                       my @this = split(/----START LIST----\n/,$return->content);\r
-                       print LIST $this[1];\r
-                       close(LIST);\r
-                       &General::log($Lang::tr{'successfully refreshed updates list'});\r
-               } else {\r
-                       $errormessage = $Lang::tr{'could not open available updates file'};\r
-               }\r
-       } else {\r
-               $errormessage = $Lang::tr{'could not download the available updates list'}; \r
-       }\r
-}\r
-elsif ($uploadsettings{'ACTION'} eq "$Lang::tr{'clear cache'} (squid)") {\r
-        system('/usr/local/bin/restartsquid','-f');\r
-}\r
-               \r
-if (!open(AV, "<${General::swroot}/patches/available")) {\r
-    $errormessage = $Lang::tr{'could not open available updates file'};\r
-} else {\r
-    @av = <AV>;\r
-    close(AV);\r
-}\r
-if (!open (PF, "<${General::swroot}/patches/installed")) {\r
-    $errormessage = $Lang::tr{'could not open installed updates file'};\r
-} else {\r
-    @pf = <PF>;\r
-    close (PF);\r
-    #substract installed patch from list displayed (AV list may not be updated)\r
-    foreach my $P (@pf) {\r
-       $P =~ /^(...)/;\r
-       my $order=$1;\r
-       my $idx=0;\r
-       foreach my $A (@av) {\r
-           $A =~ /^(...)/;\r
-           if ($1 eq $order) { # match\r
-               splice (@av,$idx,1);\r
-               last;\r
-           }\r
-           $idx++;\r
-       }       \r
-    }\r
-}\r
-\r
-&Header::openpage($Lang::tr{'updates'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', 'download.png', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print $errormessage;\r
-       print "&nbsp;";\r
-       &Header::closebox();\r
-}\r
-\r
-if ($warnmessage) {\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'warning messages'}:");\r
-       print "<CLASS NAME='base'>$warnmessage \n";\r
-       print "&nbsp;</CLASS>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'available updates'});\r
-\r
-if ( defined $av[0] ) {\r
-       print $Lang::tr{'there are updates available'};\r
-       print qq|<table width='100%' border='0' cellpadding='2' cellspacing='0'>\r
-<tr>\r
-<td width='5%'><b>$Lang::tr{'id'}</b></td>\r
-<td width='15%'><b>$Lang::tr{'title'}</b></td>\r
-<td width='50%'><b>$Lang::tr{'description'}</b></td>\r
-<td width='15%'><b>$Lang::tr{'released'}</b></td>\r
-<td width='15%'>&nbsp;</td>\r
-</tr>\r
-|;\r
-       foreach (@av) {\r
-               my @temp = split(/\|/,$_);\r
-               print "<tr><td valign='top'>$temp[0]</td><td valign='top'>$temp[1]</td><td valign='top'>$temp[2]</td><td valign='top'>$temp[3]</td><td valign='top'><a href='$temp[4]' target='_new'>$Lang::tr{'info'}</a></td></tr>";\r
-       }\r
-       print "</table>";\r
-\r
-\r
-} else {\r
-       print $Lang::tr{'all updates installed'};\r
-}\r
-\r
-print qq|<hr /><br>\r
-$Lang::tr{'to install an update'}\r
-<br />\r
-<form method='post' action='/cgi-bin/updates.cgi' enctype='multipart/form-data'>\r
-<table>\r
-<tr>\r
-<td align='right' class='base'>\r
-<b>$Lang::tr{'upload update file'}</b></td>\r
-<td><input type="file" size='40' name="FH" /> <input type='submit' name='ACTION' value='$Lang::tr{'upload'}' />\r
-</td></tr>\r
-</table>|;\r
-\r
-print "<b>$Lang::tr{'disk usage'}</b>";\r
-open (XX,'df -h / /var/log|');\r
-my @df=<XX>;\r
-close (XX);\r
-print "<table cellpadding='2'>";\r
-map ( $_ =~ s/ +/<td>/g,@df);  # tablify each line!\r
-print "<tr><td>$df[0]</tr>";\r
-print "<tr><td>$df[1]</tr>";\r
-print "<tr><td>$df[2]<td><input type='submit' name='ACTION' value='$Lang::tr{'clear cache'} (squid)' /></tr>";\r
-print "</table>";\r
-\r
-print "\n<hr />";\r
-print "\n<table width='100%'>\n<tr>";\r
-print "\n\t<td width='50%'>&nbsp;</td>";\r
-print "\n\t<td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'refresh update list'}' /></td></tr>";\r
-print "\n</table>\n";\r
-print "</form>";\r
-\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%', 'LEFT', $Lang::tr{'installed updates'});\r
-\r
-print qq|<table width='100%' border='0' cellpadding='2' cellspacing='0'>\r
-<tr>\r
-<td width='5%'><b>$Lang::tr{'id'}</b></td>\r
-<td width='15%'><b>$Lang::tr{'title'}</b></td>\r
-<td width='50%'><b>$Lang::tr{'description'}</b></td>\r
-<td width='15%'><b>$Lang::tr{'released'}</b></td>\r
-<td width='15%'><b>$Lang::tr{'installed'}</b></td>\r
-</tr>\r
-|;\r
-\r
-foreach my $pf (@pf) {\r
-       next if $pf =~ m/^#/;\r
-       my @temp = split(/\|/,$pf);\r
-#???   @av = grep(!/^$temp[0]/, @av);\r
-       print "<tr><td valign='top'>" . join("</td><td valign='top'>",@temp) . "</td></tr>";\r
-}\r
-close(PF);\r
-\r
-print "</table>";\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub downloadlist {\r
-       unless (-e "${General::swroot}/red/active") {\r
-               return 0;\r
-       }\r
-\r
-       my $downloader = LWP::UserAgent->new;\r
-       $downloader->timeout(5);\r
-\r
-       my %proxysettings=();\r
-       &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);\r
-\r
-       if ($_=$proxysettings{'UPSTREAM_PROXY'}) {\r
-               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);\r
-               if ($proxysettings{'UPSTREAM_USER'}) {\r
-                       $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");\r
-               } else {\r
-                       $downloader->proxy("http","http://$peer:$peerport/");\r
-               }\r
-       }\r
-\r
-       return $downloader->get("http://www.ipcop.org/patches/${General::version}", 'Cache-Control', 'no-cache');\r
-\r
-}\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: updates.cgi,v 1.9.2.22 2005/12/01 20:41:53 franck78 Exp $
+#
+
+use LWP::UserAgent;
+use File::Copy;
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( $General::version );
+undef (@dummy);
+my $warnmessage='';
+my $errormessage='';
+my @av=('');
+my @pf=('');
+
+&Header::showhttpheaders();
+
+my %uploadsettings=();
+$uploadsettings{'ACTION'} = '';
+
+&Header::getcgihash(\%uploadsettings, {'wantfile' => 1, 'filevar' => 'FH'});
+
+if ($uploadsettings{'ACTION'} eq $Lang::tr{'upload'}) {
+# This code do not serve a lot because $General::version cannot change while the module is loaded. So no change
+# can appear. More, this call should be called 'after' update is done !
+#      my $return = &downloadlist();
+#      if ($return && $return->is_success) {
+#              if (open(LIST, ">${General::swroot}/patches/available")){
+#                      flock LIST, 2;
+#                      my @this = split(/----START LIST----\n/,$return->content);
+#                      print LIST $this[1];
+#                      close(LIST);
+#              } else {
+#                      $errormessage = $Lang::tr{'could not open available updates file'};
+#              }
+#      } else {
+#              if (open(LIST, "<${General::swroot}/patches/available")) {
+#                      my @list = <LIST>;
+#                      close(LIST);
+#              }
+#              $warnmessage = $Lang::tr{'could not download the available updates list'};
+#      }
+
+
+       if (copy ($uploadsettings{'FH'}, "/var/patches/patch-$$.tar.gz.gpg") != 1) {
+               $errormessage = $!;
+       } else {
+               my $exitcode = system("/usr/local/bin/installpackage $$ > /dev/null") >> 8;
+               if ($exitcode == 0) {
+                       #Hack to get correct version displayed after update
+                       open (XX,"perl -e \"require'${General::swroot}/general-functions.pl';print \\\$General::version\"|");
+                       $General::version=<XX>;
+                       close (XX);
+                       &General::log("$Lang::tr{'the following update was successfully installed'} ($General::version)");
+               }
+               elsif($exitcode == 2) {
+                       $errormessage = "$Lang::tr{'could not create directory'}";
+               }
+               elsif($exitcode == 3) {
+                       $errormessage = "$Lang::tr{'this is not an authorised update'}";
+               }
+               elsif($exitcode == 4) {
+                       $errormessage = "$Lang::tr{'this is not a valid archive'}";
+               }
+               elsif($exitcode == 5) {
+                       $errormessage = "$Lang::tr{'could not open update information file'}";
+               }
+               elsif($exitcode == 6) {
+                       $errormessage = "$Lang::tr{'could not open installed updates file'}";
+               }
+               elsif($exitcode == 7) {
+                       $errormessage = "$Lang::tr{'this update is already installed'}";
+               }
+               elsif($exitcode == 11) {
+                       $errormessage = "$Lang::tr{'not enough disk space'}";
+               } else {
+                       $errormessage = "$Lang::tr{'package failed to install'}";
+               }
+       }
+}
+elsif ($uploadsettings{'ACTION'} eq $Lang::tr{'refresh update list'}) {
+       my $return = &downloadlist();
+       if ($return && $return->is_success) {
+               if (open(LIST, ">${General::swroot}/patches/available")) {
+                       flock LIST, 2;
+                       my @this = split(/----START LIST----\n/,$return->content);
+                       print LIST $this[1];
+                       close(LIST);
+                       &General::log($Lang::tr{'successfully refreshed updates list'});
+               } else {
+                       $errormessage = $Lang::tr{'could not open available updates file'};
+               }
+       } else {
+               $errormessage = $Lang::tr{'could not download the available updates list'}; 
+       }
+}
+elsif ($uploadsettings{'ACTION'} eq "$Lang::tr{'clear cache'} (squid)") {
+        system('/usr/local/bin/restartsquid','-f');
+}
+               
+if (!open(AV, "<${General::swroot}/patches/available")) {
+    $errormessage = $Lang::tr{'could not open available updates file'};
+} else {
+    @av = <AV>;
+    close(AV);
+}
+if (!open (PF, "<${General::swroot}/patches/installed")) {
+    $errormessage = $Lang::tr{'could not open installed updates file'};
+} else {
+    @pf = <PF>;
+    close (PF);
+    #substract installed patch from list displayed (AV list may not be updated)
+    foreach my $P (@pf) {
+       $P =~ /^(...)/;
+       my $order=$1;
+       my $idx=0;
+       foreach my $A (@av) {
+           $A =~ /^(...)/;
+           if ($1 eq $order) { # match
+               splice (@av,$idx,1);
+               last;
+           }
+           $idx++;
+       }       
+    }
+}
+
+&Header::openpage($Lang::tr{'updates'}, 1, '');
+
+&Header::openbigbox('100%', 'left', 'download.png', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print $errormessage;
+       print "&nbsp;";
+       &Header::closebox();
+}
+
+if ($warnmessage) {
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'warning messages'}:");
+       print "<CLASS NAME='base'>$warnmessage \n";
+       print "&nbsp;</CLASS>\n";
+       &Header::closebox();
+}
+
+
+&Header::openbox('100%', 'left', $Lang::tr{'available updates'});
+
+if ( defined $av[0] ) {
+       print $Lang::tr{'there are updates available'};
+       print qq|<table width='100%' border='0' cellpadding='2' cellspacing='0'>
+<tr>
+<td width='5%'><b>$Lang::tr{'id'}</b></td>
+<td width='15%'><b>$Lang::tr{'title'}</b></td>
+<td width='50%'><b>$Lang::tr{'description'}</b></td>
+<td width='15%'><b>$Lang::tr{'released'}</b></td>
+<td width='15%'>&nbsp;</td>
+</tr>
+|;
+       foreach (@av) {
+               my @temp = split(/\|/,$_);
+               print "<tr><td valign='top'>$temp[0]</td><td valign='top'>$temp[1]</td><td valign='top'>$temp[2]</td><td valign='top'>$temp[3]</td><td valign='top'><a href='$temp[4]' target='_new'>$Lang::tr{'info'}</a></td></tr>";
+       }
+       print "</table>";
+
+
+} else {
+       print $Lang::tr{'all updates installed'};
+}
+
+print qq|<hr /><br>
+$Lang::tr{'to install an update'}
+<br />
+<form method='post' action='/cgi-bin/updates.cgi' enctype='multipart/form-data'>
+<table>
+<tr>
+<td align='right' class='base'>
+<b>$Lang::tr{'upload update file'}</b></td>
+<td><input type="file" size='40' name="FH" /> <input type='submit' name='ACTION' value='$Lang::tr{'upload'}' />
+</td></tr>
+</table>|;
+
+print "<b>$Lang::tr{'disk usage'}</b>";
+open (XX,'df -h / /var/log|');
+my @df=<XX>;
+close (XX);
+print "<table cellpadding='2'>";
+map ( $_ =~ s/ +/<td>/g,@df);  # tablify each line!
+print "<tr><td>$df[0]</tr>";
+print "<tr><td>$df[1]</tr>";
+print "<tr><td>$df[2]<td><input type='submit' name='ACTION' value='$Lang::tr{'clear cache'} (squid)' /></tr>";
+print "</table>";
+
+print "\n<hr />";
+print "\n<table width='100%'>\n<tr>";
+print "\n\t<td width='50%'>&nbsp;</td>";
+print "\n\t<td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'refresh update list'}' /></td></tr>";
+print "\n</table>\n";
+print "</form>";
+
+&Header::closebox();
+
+&Header::openbox('100%', 'LEFT', $Lang::tr{'installed updates'});
+
+print qq|<table width='100%' border='0' cellpadding='2' cellspacing='0'>
+<tr>
+<td width='5%'><b>$Lang::tr{'id'}</b></td>
+<td width='15%'><b>$Lang::tr{'title'}</b></td>
+<td width='50%'><b>$Lang::tr{'description'}</b></td>
+<td width='15%'><b>$Lang::tr{'released'}</b></td>
+<td width='15%'><b>$Lang::tr{'installed'}</b></td>
+</tr>
+|;
+
+foreach my $pf (@pf) {
+       next if $pf =~ m/^#/;
+       my @temp = split(/\|/,$pf);
+#???   @av = grep(!/^$temp[0]/, @av);
+       print "<tr><td valign='top'>" . join("</td><td valign='top'>",@temp) . "</td></tr>";
+}
+close(PF);
+
+print "</table>";
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub downloadlist {
+       unless (-e "${General::swroot}/red/active") {
+               return 0;
+       }
+
+       my $downloader = LWP::UserAgent->new;
+       $downloader->timeout(5);
+
+       my %proxysettings=();
+       &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+
+       if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
+               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
+               if ($proxysettings{'UPSTREAM_USER'}) {
+                       $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");
+               } else {
+                       $downloader->proxy("http","http://$peer:$peerport/");
+               }
+       }
+
+       return $downloader->get("http://www.ipcop.org/patches/${General::version}", 'Cache-Control', 'no-cache');
+
+}
index 59395fe9031ebc57d5b50098b2ac9801cd88d01a..03d27b9ec8ef6042409ca2bee57a73a23b52a17c 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-#\r
-# $Id: upload.cgi,v 1.2.2.21 2005/08/14 23:43:38 gespinasse Exp $\r
-#\r
-\r
-use File::Copy;\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-my %uploadsettings=();\r
-my $errormessage = '';\r
-\r
-&Header::showhttpheaders();\r
-$uploadsettings{'ACTION'} = '';\r
-\r
-&Header::getcgihash(\%uploadsettings, {'wantfile' => 1, 'filevar' => 'FH'});\r
-\r
-my $extraspeedtouchmessage='';\r
-my $extrafritzdslmessage='';\r
-my $extraeciadslmessage='';\r
-my $modem='';\r
-my $firmwarename='';\r
-my $kernel='';\r
-\r
-my $speedtouch = &Header::speedtouchversion;\r
-if ($speedtouch == 4) {\r
-       $modem='v4_b';\r
-       $firmwarename="$Lang::tr{'upload'} ZZZL_3.012";\r
-} else {\r
-       $modem='v0123';\r
-       $firmwarename="$Lang::tr{'upload'} KQD6_3.012";\r
-}\r
-\r
-$kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;\r
-\r
-if ($uploadsettings{'ACTION'} eq $firmwarename) {\r
-       if ($modem eq 'v0123' || $modem eq 'v4_b') {\r
-               if (copy ($uploadsettings{'FH'}, "${General::swroot}/alcatelusb/firmware.$modem.bin") != 1) {\r
-                       $errormessage = $!;\r
-               } else {\r
-                       $extraspeedtouchmessage = $Lang::tr{'upload successful'};\r
-               }\r
-       }\r
-}\r
-elsif ($uploadsettings{'ACTION'} eq "$Lang::tr{'upload'} fcdsl-${General::version}.tgz")\r
-{\r
-       if (copy ($uploadsettings{'FH'}, "/var/patches/fcdsl-x.tgz") != 1) {\r
-               $errormessage = $!;\r
-       } else {\r
-               $extrafritzdslmessage = $Lang::tr{'upload successful'};\r
-       }\r
-}\r
-elsif ($uploadsettings{'ACTION'} eq $Lang::tr{'upload synch.bin'})\r
-{\r
-       if (copy ($uploadsettings{'FH'}, "${General::swroot}/eciadsl/synch.bin") != 1) {\r
-               $errormessage = $!;\r
-       } else {\r
-               $extraeciadslmessage = $Lang::tr{'upload successful'};\r
-       }\r
-}\r
-\r
-&Header::openpage($Lang::tr{'firmware upload'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
-       &Header::closebox();\r
-}\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>\n";\r
-\r
-&Header::openbox('100%','left', $Lang::tr{'alcatelusb upload'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='4'>$Lang::tr{'alcatelusb help'}<br />\r
-       URL: <a href='http://www.speedtouch.com/support.htm'>http://www.speedtouch.com/support.htm</a>\r
-       </td>\r
-</tr>\r
-<tr><td colspan='4'>$Lang::tr{'modem'}: Rev <b>$speedtouch</b></td></tr>\r
-<tr>\r
-       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
-       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
-       <td width='35%' align='center'><input type='submit' name='ACTION' value='$firmwarename' /></td>\r
-       <td width='15%'>\r
-END\r
-;\r
-if (-e "${General::swroot}/alcatelusb/firmware.$modem.bin") {\r
-       if ($extraspeedtouchmessage ne '') {\r
-               print ("$extraspeedtouchmessage</td>");\r
-       } else {\r
-               print ("$Lang::tr{'present'}</td>");\r
-       }\r
-} else {\r
-       print ("$Lang::tr{'not present'}</td>");\r
-}\r
-print <<END\r
-</tr>\r
-</table>\r
-END\r
-;\r
-\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%','left', $Lang::tr{'eciadsl upload'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='4'>$Lang::tr{'eciadsl help'}<br />\r
-       URL: <a href='http://eciadsl.flashtux.org/'>http://eciadsl.flashtux.org/</a>\r
-       </td>\r
-</tr>\r
-<tr>\r
-       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
-       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
-       <td width='35%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'upload synch.bin'}' /></td>\r
-       <td width='15%'>\r
-END\r
-;\r
-if (-e "${General::swroot}/eciadsl/synch.bin") {\r
-       if ($extraeciadslmessage ne '') {\r
-               print ("$extraeciadslmessage</td>");\r
-       } else {\r
-               print ("$Lang::tr{'present'}</td>");\r
-       }\r
-} else {\r
-       print ("$Lang::tr{'not present'}</td>");\r
-}\r
-print <<END\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-&Header::openbox('100%','left', $Lang::tr{'fritzdsl upload'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-       <td colspan='4'>$Lang::tr{'fritzdsl help'}<br />\r
-       URL: <a href='http://www.ipcop.org/'>http://www.ipcop.org/</a>\r
-       </td>\r
-</tr>\r
-<tr>\r
-       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
-       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
-       <td width='35%' align='center'><input type='submit' name='ACTION' value="$Lang::tr{'upload'} fcdsl-${General::version}.tgz"/></td>\r
-       <td width='15%'>\r
-END\r
-;\r
-if ($extrafritzdslmessage ne '') {\r
-       print ("$extrafritzdslmessage</td></tr><tr><td>&nbsp;</td><td><pre>");\r
-       print `/usr/local/bin/installfcdsl`;\r
-       print ("</pre></td>");\r
-} else {\r
-       if (-e "/lib/modules/$kernel/misc/fcdsl.o.gz") {\r
-               print ("$Lang::tr{'present'}</td>");\r
-       } else {\r
-               print ("$Lang::tr{'not present'}</td>");\r
-       }\r
-}\r
-print <<END\r
-</tr>\r
-</table>\r
-END\r
-;\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+# $Id: upload.cgi,v 1.2.2.21 2005/08/14 23:43:38 gespinasse Exp $
+#
+
+use File::Copy;
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %uploadsettings=();
+my $errormessage = '';
+
+&Header::showhttpheaders();
+$uploadsettings{'ACTION'} = '';
+
+&Header::getcgihash(\%uploadsettings, {'wantfile' => 1, 'filevar' => 'FH'});
+
+my $extraspeedtouchmessage='';
+my $extrafritzdslmessage='';
+my $extraeciadslmessage='';
+my $modem='';
+my $firmwarename='';
+my $kernel='';
+
+my $speedtouch = &Header::speedtouchversion;
+if ($speedtouch == 4) {
+       $modem='v4_b';
+       $firmwarename="$Lang::tr{'upload'} ZZZL_3.012";
+} else {
+       $modem='v0123';
+       $firmwarename="$Lang::tr{'upload'} KQD6_3.012";
+}
+
+$kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;
+
+if ($uploadsettings{'ACTION'} eq $firmwarename) {
+       if ($modem eq 'v0123' || $modem eq 'v4_b') {
+               if (copy ($uploadsettings{'FH'}, "${General::swroot}/alcatelusb/firmware.$modem.bin") != 1) {
+                       $errormessage = $!;
+               } else {
+                       $extraspeedtouchmessage = $Lang::tr{'upload successful'};
+               }
+       }
+}
+elsif ($uploadsettings{'ACTION'} eq "$Lang::tr{'upload'} fcdsl-${General::version}.tgz")
+{
+       if (copy ($uploadsettings{'FH'}, "/var/patches/fcdsl-x.tgz") != 1) {
+               $errormessage = $!;
+       } else {
+               $extrafritzdslmessage = $Lang::tr{'upload successful'};
+       }
+}
+elsif ($uploadsettings{'ACTION'} eq $Lang::tr{'upload synch.bin'})
+{
+       if (copy ($uploadsettings{'FH'}, "${General::swroot}/eciadsl/synch.bin") != 1) {
+               $errormessage = $!;
+       } else {
+               $extraeciadslmessage = $Lang::tr{'upload successful'};
+       }
+}
+
+&Header::openpage($Lang::tr{'firmware upload'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+}
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>\n";
+
+&Header::openbox('100%','left', $Lang::tr{'alcatelusb upload'});
+print <<END
+<table width='100%'>
+<tr>
+       <td colspan='4'>$Lang::tr{'alcatelusb help'}<br />
+       URL: <a href='http://www.speedtouch.com/support.htm'>http://www.speedtouch.com/support.htm</a>
+       </td>
+</tr>
+<tr><td colspan='4'>$Lang::tr{'modem'}: Rev <b>$speedtouch</b></td></tr>
+<tr>
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>
+       <td width='45%'><input type="file" size='30' name="FH" /></td>
+       <td width='35%' align='center'><input type='submit' name='ACTION' value='$firmwarename' /></td>
+       <td width='15%'>
+END
+;
+if (-e "${General::swroot}/alcatelusb/firmware.$modem.bin") {
+       if ($extraspeedtouchmessage ne '') {
+               print ("$extraspeedtouchmessage</td>");
+       } else {
+               print ("$Lang::tr{'present'}</td>");
+       }
+} else {
+       print ("$Lang::tr{'not present'}</td>");
+}
+print <<END
+</tr>
+</table>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%','left', $Lang::tr{'eciadsl upload'});
+print <<END
+<table width='100%'>
+<tr>
+       <td colspan='4'>$Lang::tr{'eciadsl help'}<br />
+       URL: <a href='http://eciadsl.flashtux.org/'>http://eciadsl.flashtux.org/</a>
+       </td>
+</tr>
+<tr>
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>
+       <td width='45%'><input type="file" size='30' name="FH" /></td>
+       <td width='35%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'upload synch.bin'}' /></td>
+       <td width='15%'>
+END
+;
+if (-e "${General::swroot}/eciadsl/synch.bin") {
+       if ($extraeciadslmessage ne '') {
+               print ("$extraeciadslmessage</td>");
+       } else {
+               print ("$Lang::tr{'present'}</td>");
+       }
+} else {
+       print ("$Lang::tr{'not present'}</td>");
+}
+print <<END
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%','left', $Lang::tr{'fritzdsl upload'});
+print <<END
+<table width='100%'>
+<tr>
+       <td colspan='4'>$Lang::tr{'fritzdsl help'}<br />
+       URL: <a href='http://www.ipcop.org/'>http://www.ipcop.org/</a>
+       </td>
+</tr>
+<tr>
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>
+       <td width='45%'><input type="file" size='30' name="FH" /></td>
+       <td width='35%' align='center'><input type='submit' name='ACTION' value="$Lang::tr{'upload'} fcdsl-${General::version}.tgz"/></td>
+       <td width='15%'>
+END
+;
+if ($extrafritzdslmessage ne '') {
+       print ("$extrafritzdslmessage</td></tr><tr><td>&nbsp;</td><td><pre>");
+       print `/usr/local/bin/installfcdsl`;
+       print ("</pre></td>");
+} else {
+       if (-e "/lib/modules/$kernel/misc/fcdsl.o.gz") {
+               print ("$Lang::tr{'present'}</td>");
+       } else {
+               print ("$Lang::tr{'not present'}</td>");
+       }
+}
+print <<END
+</tr>
+</table>
+END
+;
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::closebigbox();
+
+&Header::closepage();
index 1aa7984b65227d1a7afdce2d2f9c5d5afb3e4f14..66fd685af11e7bac146f7bcbac76e40575ab4fa5 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# This file is part of the IPCop Firewall.\r
-#\r
-# IPCop is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# IPCop is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-#\r
-# You should have received a copy of the GNU General Public License\r
-# along with IPCop; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-#\r
-# Copyright (C) 2003-05-25 Mark Wormgoor <mark@wormgoor.com>\r
-#\r
-# $Id: vpnmain.cgi,v 1.10.2.69 2006/01/31 02:07:19 franck78 Exp $\r
-#\r
-\r
-use Net::DNS;\r
-use File::Copy;\r
-use File::Temp qw/ tempfile tempdir /;\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-require "${General::swroot}/countries.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colourgreen} );\r
-undef (@dummy);\r
-\r
-###\r
-### Initialize variables\r
-###\r
-my $sleepDelay = '4s'; # after a call to ipsecctrl S or R, wait this delay (seconds) before reading status\r
-                       # (let the ipsec do its job)\r
-my %netsettings=();\r
-my %cgiparams=();\r
-my %vpnsettings=();\r
-my %checked=();\r
-my %confighash=();\r
-my %cahash=();\r
-my %selected=();\r
-my $warnmessage = '';\r
-my $errormessage = '';\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-$cgiparams{'ENABLED'} = 'off';\r
-$cgiparams{'ENABLED_BLUE'} = 'off';\r
-$cgiparams{'EDIT_ADVANCED'} = 'off';\r
-$cgiparams{'NAT'} = 'off';\r
-$cgiparams{'COMPRESSION'} = 'off';\r
-$cgiparams{'ONLY_PROPOSED'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-$cgiparams{'CA_NAME'} = '';\r
-$cgiparams{'DBG_CRYPT'} = '';\r
-$cgiparams{'DBG_PARSING'} = '';\r
-$cgiparams{'DBG_EMITTING'} = '';\r
-$cgiparams{'DBG_CONTROL'} = '';\r
-$cgiparams{'DBG_KLIPS'} = '';\r
-$cgiparams{'DBG_DNS'} = '';\r
-$cgiparams{'DBG_NAT_T'} = '';\r
-\r
-&Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});\r
-\r
-###\r
-### Useful functions\r
-###\r
-sub valid_dns_host {\r
-       my $hostname = $_[0];\r
-       unless ($hostname) { return "No hostname"};\r
-       my $res = new Net::DNS::Resolver;\r
-       my $query = $res->search("$hostname");\r
-       if ($query) {\r
-               foreach my $rr ($query->answer) {\r
-                       ## Potential bug - we are only looking at A records:\r
-                       return 0 if $rr->type eq "A";\r
-               }\r
-       } else {\r
-               return $res->errorstring;\r
-       }\r
-}\r
-\r
-#\r
-# old version: maintain serial number to one, without explication. \r
-# this      : let the counter go, so that each cert is numbered.\r
-#\r
-sub cleanssldatabase\r
-{\r
-    if (open(FILE, ">${General::swroot}/certs/serial")) {\r
-       print FILE "01";\r
-       close FILE;\r
-    }\r
-    if (open(FILE, ">${General::swroot}/certs/index.txt")) {\r
-       print FILE "";\r
-       close FILE;\r
-    }\r
-    unlink ("${General::swroot}/certs/index.txt.old");\r
-    unlink ("${General::swroot}/certs/serial.old");\r
-    unlink ("${General::swroot}/certs/01.pem");\r
-}\r
-sub newcleanssldatabase\r
-{\r
-    if (! -s "${General::swroot}/certs/serial" )  {\r
-        open(FILE, ">${General::swroot}/certs/serial");\r
-       print FILE "01";\r
-       close FILE;\r
-    }\r
-    if (! -s ">${General::swroot}/certs/index.txt") {\r
-       system ("touch ${General::swroot}/certs/index.txt");\r
-    }\r
-    unlink ("${General::swroot}/certs/index.txt.old");\r
-    unlink ("${General::swroot}/certs/serial.old");\r
-#   unlink ("${General::swroot}/certs/01.pem");                numbering evolves. Wrong place to delete\r
-}\r
-                                                           \r
-sub writeipsecfiles {\r
-    my %lconfighash = ();\r
-    my %lvpnsettings = ();\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%lconfighash);\r
-    &General::readhash("${General::swroot}/vpn/settings", \%lvpnsettings);\r
-\r
-    open(CONF,    ">${General::swroot}/vpn/ipsec.conf") or die "Unable to open ${General::swroot}/vpn/ipsec.conf: $!";\r
-    open(SECRETS, ">${General::swroot}/vpn/ipsec.secrets") or die "Unable to open ${General::swroot}/vpn/ipsec.secrets: $!";\r
-    flock CONF, 2;\r
-    flock SECRETS, 2;\r
-    print CONF "config setup\n";\r
-    if ($lvpnsettings{'ENABLED_BLUE'} eq 'on')\r
-    {\r
-       if ($lvpnsettings{'ENABLED'} eq 'on')\r
-       {\r
-               print CONF "\tinterfaces=\"%defaultroute ipsec1=$netsettings{'BLUE_DEV'}\"\n";\r
-       } else {\r
-               print CONF "\tinterfaces=ipsec0=$netsettings{'BLUE_DEV'}\n";\r
-       }\r
-    } else {\r
-       print CONF "\tinterfaces=%defaultroute\n";\r
-    }\r
-    \r
-    my $plutodebug = '';                       # build debug list\r
-    map ($plutodebug .= $lvpnsettings{$_} eq 'on' ? lc (substr($_,4)).' ' : '',\r
-       ('DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',\r
-        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));\r
-    $plutodebug = 'none' if $plutodebug eq '';  # if nothing selected, use 'none'.\r
-    print CONF "\tklipsdebug=none\n";\r
-    print CONF "\tplutodebug=\"$plutodebug\"\n";\r
-    print CONF "\tplutoload=%search\n";\r
-    print CONF "\tplutostart=%search\n";\r
-    print CONF "\tuniqueids=yes\n";\r
-    print CONF "\tnat_traversal=yes\n";\r
-    print CONF "\toverridemtu=$lvpnsettings{'VPN_OVERRIDE_MTU'}\n" if ($lvpnsettings{'VPN_OVERRIDE_MTU'} ne '');\r
-    print CONF "\tvirtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16";\r
-    print CONF ",%v4:!$netsettings{'GREEN_NETADDRESS'}/$netsettings{'GREEN_NETMASK'}";\r
-    if (length($netsettings{'ORANGE_DEV'}) > 2) {\r
-       print CONF ",%v4:!$netsettings{'ORANGE_NETADDRESS'}/$netsettings{'ORANGE_NETMASK'}";\r
-    }\r
-    if (length($netsettings{'BLUE_DEV'}) > 2) {\r
-       print CONF ",%v4:!$netsettings{'BLUE_NETADDRESS'}/$netsettings{'BLUE_NETMASK'}";\r
-    }\r
-    foreach my $key (keys %lconfighash) {\r
-       if ($lconfighash{$key}[3] eq 'net') {\r
-           print CONF ",%v4:!$lconfighash{$key}[11]";\r
-       }\r
-    }\r
-    print CONF "\n\n";\r
-    print CONF "conn %default\n";\r
-    print CONF "\tkeyingtries=0\n";\r
-    print CONF "\tdisablearrivalcheck=no\n";\r
-    print CONF "\n";\r
-\r
-    if (-f "${General::swroot}/certs/hostkey.pem") {\r
-        print SECRETS ": RSA ${General::swroot}/certs/hostkey.pem\n"\r
-    }\r
-\r
-    foreach my $key (keys %lconfighash) {\r
-       if ($lconfighash{$key}[0] eq 'on') {\r
-           if ($lconfighash{$key}[10] eq '') { $lconfighash{$key}[10] = '%any'; }\r
-\r
-           print CONF "conn $lconfighash{$key}[1]\n";\r
-           #always choose LEFT localside for roadwarrior\r
-           if ($lconfighash{$key}[3] eq 'host' || $lconfighash{$key}[6] eq 'left') {\r
-               if ($lconfighash{$key}[26] eq 'BLUE')\r
-               {\r
-                   print CONF "\tleft=$netsettings{'BLUE_ADDRESS'}\n";\r
-#                  print CONF "\tleftnexthop=$netsettings{'BLUE_NETADDRESS'}\n";\r
-               } \r
-               elsif ($lconfighash{$key}[26] eq 'ORANGE')\r
-               {\r
-                   print CONF "\tleft=$netsettings{'ORANGE_ADDRESS'}\n";\r
-               } \r
-               elsif ($lconfighash{$key}[26] eq 'GREEN')\r
-               {\r
-                   print CONF "\tleft=$netsettings{'GREEN_ADDRESS'}\n";\r
-               } \r
-               elsif ($lconfighash{$key}[26] eq 'RED')\r
-               {\r
-                   print CONF "\tleft=$lvpnsettings{'VPN_IP'}\n";\r
-                   print CONF "\tleftnexthop=%defaultroute\n" if ($lvpnsettings{'VPN_IP'} ne '%defaultroute');\r
-               }\r
-               print CONF "\tleftsubnet=$lconfighash{$key}[8]\n";\r
-               print CONF "\tright=$lconfighash{$key}[10]\n";\r
-               if ($lconfighash{$key}[3] eq 'net') {\r
-                   print CONF "\trightsubnet=$lconfighash{$key}[11]\n";\r
-                   print CONF "\trightnexthop=%defaultroute\n";\r
-               } elsif ($lconfighash{$key}[10] eq '%any' && $lconfighash{$key}[14] eq 'on') {\r
-                   print CONF "\trightsubnet=vhost:%no,%priv\n";\r
-               }\r
-               if ($lconfighash{$key}[4] eq 'cert') {\r
-                   print CONF "\tleftcert=${General::swroot}/certs/hostcert.pem\n";\r
-                   print CONF "\trightcert=${General::swroot}/certs/$lconfighash{$key}[1]cert.pem\n";\r
-               }\r
-           } else {\r
-               print CONF "\tright=$lvpnsettings{'VPN_IP'}\n";\r
-               print CONF "\trightsubnet=$lconfighash{$key}[8]\n";\r
-               print CONF "\trightnexthop=%defaultroute\n"  if ($lvpnsettings{'VPN_IP'} ne '%defaultroute');\r
-               print CONF "\tleft=$lconfighash{$key}[10]\n";\r
-               if ($lconfighash{$key}[3] eq 'net') {\r
-                   print CONF "\tleftsubnet=$lconfighash{$key}[11]\n";\r
-                   print CONF "\tleftnexthop=%defaultroute\n";\r
-               }\r
-               if ($lconfighash{$key}[4] eq 'cert') {\r
-                   print CONF "\trightcert=${General::swroot}/certs/hostcert.pem\n";\r
-                   print CONF "\tleftcert=${General::swroot}/certs/$lconfighash{$key}[1]cert.pem\n";\r
-               }\r
-           }\r
-           print CONF "\tleftid=$lconfighash{$key}[7]\n" if ($lconfighash{$key}[7]);\r
-           print CONF "\trightid=$lconfighash{$key}[9]\n" if ($lconfighash{$key}[9]);\r
-\r
-           # Algorithms\r
-           if ($lconfighash{$key}[18] && $lconfighash{$key}[19] && $lconfighash{$key}[20]) {\r
-               print CONF "\tike=";\r
-               my @encs   = split('\|', $lconfighash{$key}[18]);\r
-               my @ints   = split('\|', $lconfighash{$key}[19]);\r
-               my @groups = split('\|', $lconfighash{$key}[20]);\r
-               my $comma = 0;\r
-               foreach my $i (@encs) {\r
-                   foreach my $j (@ints) {\r
-                       foreach my $k (@groups) {\r
-                           if ($comma != 0) { print CONF ","; } else { $comma = 1; }\r
-                           print CONF "$i-$j-modp$k";\r
-                       }\r
-                   }\r
-               }\r
-               if ($lconfighash{$key}[24] eq 'on') {\r
-                   print CONF "!\n";\r
-               } else {\r
-                   print CONF "\n";\r
-               }\r
-           }\r
-           if ($lconfighash{$key}[21] && $lconfighash{$key}[22]) {\r
-               print CONF "\tesp=";\r
-               my @encs   = split('\|', $lconfighash{$key}[21]);\r
-               my @ints   = split('\|', $lconfighash{$key}[22]);\r
-               my $comma = 0;\r
-               foreach my $i (@encs) {\r
-                   foreach my $j (@ints) {\r
-                       if ($comma != 0) { print CONF ","; } else { $comma = 1; }\r
-                       print CONF "$i-$j";\r
-                   }\r
-               }\r
-               if ($lconfighash{$key}[24] eq 'on') {\r
-                   print CONF "!\n";\r
-               } else {\r
-                   print CONF "\n";\r
-               }\r
-           }\r
-           if ($lconfighash{$key}[23]) {\r
-               print CONF "\tpfsgroup=$lconfighash{$key}[23]\n";\r
-           }\r
-\r
-           # Lifetimes\r
-           if ($lconfighash{$key}[16]) {\r
-               print CONF "\tikelifetime=$lconfighash{$key}[16]h\n";\r
-           }\r
-           if ($lconfighash{$key}[17]) {\r
-               print CONF "\tkeylife=$lconfighash{$key}[17]h\n";\r
-           }\r
-\r
-           # Compression\r
-           if ($lconfighash{$key}[13] eq 'on') {\r
-               print CONF "\tcompress=yes\n";\r
-           }\r
-\r
-           # Dead Peer Detection\r
-           print CONF "\tdpddelay=30\n";\r
-           print CONF "\tdpdtimeout=120\n";\r
-           print CONF "\tdpdaction=$lconfighash{$key}[27]\n";\r
-           \r
-           # Disable pfs ?\r
-           print CONF "\tpfs=$lconfighash{$key}[28]\n";\r
-\r
-           # Print Authentication details\r
-           if ($lconfighash{$key}[4] eq 'psk') {\r
-               if ($lconfighash{$key}[6] eq 'left'){\r
-                   if ($lconfighash{$key}[26] eq 'BLUE') {\r
-                       print SECRETS ($lconfighash{$key}[7] ? $lconfighash{$key}[7] : $netsettings{'BLUE_ADDRESS'}) . " ";\r
-                       print SECRETS $lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lconfighash{$key}[10];\r
-                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";\r
-                   } else {\r
-                       print SECRETS ($lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lvpnsettings{'VPN_IP'}) . " ";\r
-                       print SECRETS $lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lconfighash{$key}[10];\r
-                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";\r
-                   }\r
-               } else {\r
-                   if ($lconfighash{$key}[26] eq 'BLUE') {\r
-                       print SECRETS ($lconfighash{$key}[9] ? $lconfighash{$key}[9] : $netsettings{'BLUE_ADDRESS'}) . " ";\r
-                       print SECRETS $lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lconfighash{$key}[10];\r
-                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";\r
-                   } else {\r
-                       print SECRETS ($lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lvpnsettings{'VPN_IP'}) . " ";\r
-                       print SECRETS $lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lconfighash{$key}[10];\r
-                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";\r
-                   }\r
-               }\r
-\r
-               print CONF "\tauthby=secret\n";\r
-           } else {\r
-               print CONF "\tauthby=rsasig\n";\r
-           }\r
-\r
-           # Automatically start only if a net-to-net connection\r
-           if ($lconfighash{$key}[3] eq 'host') {\r
-               print CONF "\tauto=add\n";\r
-           } else {\r
-               print CONF "\tauto=start\n";\r
-           }\r
-           print CONF "\n";\r
-       }#on\r
-    }#foreach key\r
-\r
-    close(CONF);\r
-    close(SECRETS);\r
-}\r
-\r
-###\r
-### Save main settings\r
-###\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    unless (&General::validfqdn($cgiparams{'VPN_IP'}) || &General::validip($cgiparams{'VPN_IP'})\r
-           || $cgiparams{'VPN_IP'} eq '%defaultroute' ) {\r
-       $errormessage = $Lang::tr{'invalid input for hostname'};\r
-       goto SAVE_ERROR;\r
-    }\r
-\r
-    unless ($cgiparams{'VPN_DELAYED_START'} =~ /^[0-9]{1,3}$/ ) { #allow 0-999 seconds !\r
-       $errormessage = $Lang::tr{'invalid time period'};\r
-       goto SAVE_ERROR;\r
-    }\r
-\r
-    unless ($cgiparams{'VPN_OVERRIDE_MTU'} =~ /^(|[0-9]{1,5})$/ ) { #allow 0-99999\r
-       $errormessage = $Lang::tr{'vpn mtu invalid'};\r
-       goto SAVE_ERROR;\r
-    }\r
-\r
-    map ($vpnsettings{$_} = $cgiparams{$_},\r
-       ('ENABLED','ENABLED_BLUE','DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',\r
-        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));\r
-\r
-    $vpnsettings{'VPN_IP'} = $cgiparams{'VPN_IP'};\r
-    $vpnsettings{'VPN_DELAYED_START'} = $cgiparams{'VPN_DELAYED_START'};\r
-    $vpnsettings{'VPN_OVERRIDE_MTU'} = $cgiparams{'VPN_OVERRIDE_MTU'};\r
-    &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &writeipsecfiles();\r
-    if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-       $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-       system('/usr/local/bin/ipsecctrl', 'S');\r
-    } else {\r
-       system('/usr/local/bin/ipsecctrl', 'D');\r
-    }\r
-    sleep $sleepDelay;\r
-    SAVE_ERROR:\r
-###\r
-### Reset all step 2\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'} && $cgiparams{'AREUSURE'} eq 'yes') {\r
-    my $file = '';\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    foreach my $key (keys %confighash) {\r
-       if ($confighash{$key}[4] eq 'cert') {\r
-           delete $confighash{$key};\r
-       }\r
-    }\r
-    while ($file = glob("${General::swroot}/{ca,certs,crls,private}/*")) {\r
-       unlink $file\r
-    }\r
-    &cleanssldatabase();\r
-    if (open(FILE, ">${General::swroot}/vpn/caconfig")) {\r
-        print FILE "";\r
-        close FILE;\r
-    }\r
-    &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-    &writeipsecfiles();\r
-    system('/usr/local/bin/ipsecctrl', 'R');\r
-    sleep $sleepDelay;\r
-\r
-###\r
-### Reset all step 1\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'}) {\r
-    &Header::showhttpheaders();\r
-    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-    &Header::openbigbox('100%', 'LEFT', '', '');\r
-    &Header::openbox('100%', 'LEFT', $Lang::tr{'are you sure'});\r
-    print <<END\r
-       <table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />\r
-           <tr><td align='center'>\r
-               <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: \r
-               $Lang::tr{'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections'}\r
-           <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' />\r
-               <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td></tr>\r
-       </form></table>\r
-END\r
-    ;\r
-    &Header::closebox();\r
-    &Header::closebigbox();\r
-    &Header::closepage();\r
-    exit (0);\r
-\r
-###\r
-### Upload CA Certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload ca certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-\r
-    if ($cgiparams{'CA_NAME'} !~ /^[a-zA-Z0-9]+$/) {\r
-       $errormessage = $Lang::tr{'name must only contain characters'};\r
-       goto UPLOADCA_ERROR;\r
-    }\r
-\r
-    if (length($cgiparams{'CA_NAME'}) >60) {\r
-       $errormessage = $Lang::tr{'name too long'};\r
-       goto VPNCONF_ERROR;\r
-    }\r
-\r
-    if ($cgiparams{'CA_NAME'} eq 'ca') {\r
-       $errormessage = $Lang::tr{'name is invalid'};\r
-       goto UPLOAD_CA_ERROR;\r
-    }\r
-\r
-    # Check if there is no other entry with this name\r
-    foreach my $key (keys %cahash) {\r
-       if ($cahash{$key}[0] eq $cgiparams{'CA_NAME'}) {\r
-           $errormessage = $Lang::tr{'a ca certificate with this name already exists'};\r
-           goto UPLOADCA_ERROR;\r
-       }\r
-    }\r
-\r
-    if (ref ($cgiparams{'FH'}) ne 'Fh') {\r
-       $errormessage = $Lang::tr{'there was no file upload'};\r
-       goto UPLOADCA_ERROR;\r
-    }\r
-    # Move uploaded ca to a temporary file\r
-    (my $fh, my $filename) = tempfile( );\r
-    if (copy ($cgiparams{'FH'}, $fh) != 1) {\r
-       $errormessage = $!;\r
-       goto UPLOADCA_ERROR;\r
-    }\r
-    my $temp = `/usr/bin/openssl x509 -text -in $filename`;\r
-    if ($temp !~ /CA:TRUE/i) {\r
-       $errormessage = $Lang::tr{'not a valid ca certificate'};\r
-       unlink ($filename);\r
-       goto UPLOADCA_ERROR;\r
-    } else {\r
-       move($filename, "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem");\r
-       if ($? ne 0) {\r
-           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";\r
-           unlink ($filename);\r
-           goto UPLOADCA_ERROR;\r
-       }\r
-    }\r
-\r
-    my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem`;\r
-    $casubject    =~ /Subject: (.*)[\n]/;\r
-    $casubject    = $1;\r
-    $casubject    =~ s+/Email+, E+;\r
-    $casubject    =~ s/ ST=/ S=/;\r
-    $casubject    = &Header::cleanhtml($casubject);\r
-\r
-    my $key = &General::findhasharraykey (\%cahash);\r
-    $cahash{$key}[0] = $cgiparams{'CA_NAME'};\r
-    $cahash{$key}[1] = $casubject;\r
-    &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-    system('/usr/local/bin/ipsecctrl', 'R');\r
-    sleep $sleepDelay;\r
-\r
-    UPLOADCA_ERROR:\r
-\r
-###\r
-### Display ca certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show ca certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-\r
-    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem") {\r
-       &Header::showhttpheaders();\r
-       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-       &Header::openbigbox('100%', 'LEFT', '', '');\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'ca certificate'}:");\r
-       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;\r
-       $output = &Header::cleanhtml($output,"y");\r
-       print "<pre>$output</pre>\n";\r
-       &Header::closebox();\r
-       print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-       exit(0);\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Download ca certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download ca certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-\r
-    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {\r
-       print "Content-Type: application/octet-stream\r\n";\r
-       print "Content-Disposition: filename=$cahash{$cgiparams{'KEY'}}[0]cert.pem\r\n\r\n";\r
-       print `/usr/bin/openssl x509 -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;\r
-       exit(0);\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Remove ca certificate (step 2)\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove ca certificate'} && $cgiparams{'AREUSURE'} eq 'yes') {\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-\r
-    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {\r
-       foreach my $key (keys %confighash) {\r
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;\r
-           if ($test =~ /: OK/) {\r
-               # Delete connection\r
-               if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-                   $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-                   system('/usr/local/bin/ipsecctrl', 'D', $key);\r
-               }\r
-               unlink ("${General::swroot}/certs/$confighash{$key}[1]cert.pem");\r
-               unlink ("${General::swroot}/certs/$confighash{$key}[1].p12");\r
-               delete $confighash{$key};\r
-               &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-               &writeipsecfiles();\r
-           }\r
-       }\r
-       unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");\r
-       delete $cahash{$cgiparams{'KEY'}};\r
-       &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-       system('/usr/local/bin/ipsecctrl', 'R');\r
-       sleep $sleepDelay;\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-###\r
-### Remove ca certificate (step 1)\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove ca certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-\r
-    my $assignedcerts = 0;\r
-    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {\r
-       foreach my $key (keys %confighash) {\r
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;\r
-           if ($test =~ /: OK/) {\r
-               $assignedcerts++;\r
-           }\r
-       }\r
-       if ($assignedcerts) {\r
-           &Header::showhttpheaders();\r
-           &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-           &Header::openbigbox('100%', 'LEFT', '', '');\r
-           &Header::openbox('100%', 'LEFT', $Lang::tr{'are you sure'});\r
-           print <<END\r
-               <table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />\r
-                      <input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />\r
-                   <tr><td align='center'>\r
-                       <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: $assignedcerts\r
-                       $Lang::tr{'connections are associated with this ca.  deleting the ca will delete these connections as well.'}\r
-                   <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'remove ca certificate'}' />\r
-                       <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td></tr>\r
-               </form></table>\r
-END\r
-           ;\r
-           &Header::closebox();\r
-           &Header::closebigbox();\r
-           &Header::closepage();\r
-           exit (0);\r
-       } else {\r
-           unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");\r
-           delete $cahash{$cgiparams{'KEY'}};\r
-           &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-           system('/usr/local/bin/ipsecctrl', 'R');\r
-           sleep $sleepDelay;\r
-       }\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Display root certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'} ||\r
-       $cgiparams{'ACTION'} eq $Lang::tr{'show host certificate'}) {\r
-    my $output;\r
-    &Header::showhttpheaders();\r
-    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-    &Header::openbigbox('100%', 'LEFT', '', '');\r
-    if ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'}) {\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'root certificate'}:");\r
-       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/cacert.pem`;\r
-    } else {\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'host certificate'}:");\r
-       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/hostcert.pem`;\r
-    }\r
-    $output = &Header::cleanhtml($output,"y");\r
-    print "<pre>$output</pre>\n";\r
-    &Header::closebox();\r
-    print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";\r
-    &Header::closebigbox();\r
-    &Header::closepage();\r
-    exit(0);\r
-\r
-###\r
-### Download root certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download root certificate'}) {\r
-    if ( -f "${General::swroot}/ca/cacert.pem" ) {\r
-       print "Content-Type: application/octet-stream\r\n";\r
-       print "Content-Disposition: filename=cacert.pem\r\n\r\n";\r
-       print `/usr/bin/openssl x509 -in ${General::swroot}/ca/cacert.pem`;\r
-       exit(0);\r
-    }\r
-###\r
-### Download host certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download host certificate'}) {\r
-    if ( -f "${General::swroot}/certs/hostcert.pem" ) {\r
-       print "Content-Type: application/octet-stream\r\n";\r
-       print "Content-Disposition: filename=hostcert.pem\r\n\r\n";\r
-       print `/usr/bin/openssl x509 -in ${General::swroot}/certs/hostcert.pem`;\r
-       exit(0);\r
-    }\r
-###\r
-### Form for generating a root certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'generate root/host certificates'} ||\r
-        $cgiparams{'ACTION'} eq $Lang::tr{'upload p12 file'}) {\r
-\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    if (-f "${General::swroot}/ca/cacert.pem") {\r
-       $errormessage = $Lang::tr{'valid root certificate already exists'};\r
-       $cgiparams{'ACTION'} = '';\r
-       goto ROOTCERT_ERROR;\r
-    }\r
-\r
-    if (($cgiparams{'ROOTCERT_HOSTNAME'} eq '') && -e "${General::swroot}/red/active") {\r
-       if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {\r
-           my $ipaddr = <IPADDR>;\r
-           close IPADDR;\r
-           chomp ($ipaddr);\r
-           $cgiparams{'ROOTCERT_HOSTNAME'} = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];\r
-           if ($cgiparams{'ROOTCERT_HOSTNAME'} eq '') {\r
-               $cgiparams{'ROOTCERT_HOSTNAME'} = $ipaddr;\r
-           }\r
-       }\r
-    } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload p12 file'}) {\r
-\r
-       if (ref ($cgiparams{'FH'}) ne 'Fh') {\r
-           $errormessage = $Lang::tr{'there was no file upload'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-\r
-       # Move uploaded certificate request to a temporary file\r
-       (my $fh, my $filename) = tempfile( );\r
-       if (copy ($cgiparams{'FH'}, $fh) != 1) {\r
-           $errormessage = $!;\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-\r
-       # Create a temporary dirctory\r
-       my $tempdir = tempdir( CLEANUP => 1 );\r
-\r
-       # Extract the CA certificate from the file\r
-       my $pid = open(OPENSSL, "|-");\r
-       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};\r
-       if ($pid) {     # parent\r
-           if ($cgiparams{'P12_PASS'} ne '') {\r
-               print OPENSSL "$cgiparams{'P12_PASS'}\n";\r
-           }\r
-           close (OPENSSL);\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       } else {        # child\r
-           unless (exec ('/usr/bin/openssl', 'pkcs12', '-cacerts', '-nokeys',\r
-                   '-in', $filename,\r
-                   '-out', "$tempdir/cacert.pem")) {\r
-               $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       }\r
-\r
-       # Extract the Host certificate from the file\r
-       $pid = open(OPENSSL, "|-");\r
-       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};\r
-       if ($pid) {     # parent\r
-           if ($cgiparams{'P12_PASS'} ne '') {\r
-               print OPENSSL "$cgiparams{'P12_PASS'}\n";\r
-           }\r
-           close (OPENSSL);\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       } else {        # child\r
-           unless (exec ('/usr/bin/openssl', 'pkcs12', '-clcerts', '-nokeys',\r
-                   '-in', $filename,\r
-                   '-out', "$tempdir/hostcert.pem")) {\r
-               $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       }\r
-\r
-       # Extract the Host key from the file\r
-       $pid = open(OPENSSL, "|-");\r
-       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};\r
-       if ($pid) {     # parent\r
-           if ($cgiparams{'P12_PASS'} ne '') {\r
-               print OPENSSL "$cgiparams{'P12_PASS'}\n";\r
-           }\r
-           close (OPENSSL);\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       } else {        # child\r
-           unless (exec ('/usr/bin/openssl', 'pkcs12', '-nocerts',\r
-                   '-nodes',\r
-                   '-in', $filename,\r
-                   '-out', "$tempdir/hostkey.pem")) {\r
-               $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-               unlink ($filename);\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       }\r
-\r
-       move("$tempdir/cacert.pem", "${General::swroot}/ca/cacert.pem");\r
-       if ($? ne 0) {\r
-           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";\r
-           unlink ($filename);\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           goto ROOTCERT_ERROR;\r
-        }\r
-\r
-       move("$tempdir/hostcert.pem", "${General::swroot}/certs/hostcert.pem");\r
-       if ($? ne 0) {\r
-           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";\r
-           unlink ($filename);\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           goto ROOTCERT_ERROR;\r
-        }\r
-\r
-       move("$tempdir/hostkey.pem", "${General::swroot}/certs/hostkey.pem");\r
-       if ($? ne 0) {\r
-           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";\r
-           unlink ($filename);\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           goto ROOTCERT_ERROR;\r
-        }\r
-\r
-       # Create an empty CRL\r
-       system('/usr/bin/openssl', 'ca', '-gencrl',\r
-               '-out', "${General::swroot}/crls/cacrl.pem");\r
-       if ($?) {\r
-           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/crls/cacrl.pem");\r
-           &cleanssldatabase();\r
-           goto ROOTCERT_ERROR;\r
-       } else {\r
-           &cleanssldatabase();\r
-       }\r
-\r
-       goto ROOTCERT_SUCCESS;\r
-\r
-    } elsif ($cgiparams{'ROOTCERT_COUNTRY'} ne '') {\r
-\r
-       # Validate input since the form was submitted\r
-       if ($cgiparams{'ROOTCERT_ORGANIZATION'} eq ''){\r
-           $errormessage = $Lang::tr{'organization cant be empty'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if (length($cgiparams{'ROOTCERT_ORGANIZATION'}) >60) {\r
-           $errormessage = $Lang::tr{'organization too long'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_ORGANIZATION'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-           $errormessage = $Lang::tr{'invalid input for organization'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_HOSTNAME'} eq ''){\r
-           $errormessage = $Lang::tr{'hostname cant be empty'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       unless (&General::validfqdn($cgiparams{'ROOTCERT_HOSTNAME'}) || &General::validip($cgiparams{'ROOTCERT_HOSTNAME'})) {\r
-           $errormessage = $Lang::tr{'invalid input for hostname'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_EMAIL'} ne '' && (! &General::validemail($cgiparams{'ROOTCERT_EMAIL'}))) {\r
-           $errormessage = $Lang::tr{'invalid input for e-mail address'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if (length($cgiparams{'ROOTCERT_EMAIL'}) > 40) {\r
-           $errormessage = $Lang::tr{'e-mail address too long'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_OU'} ne '' && $cgiparams{'ROOTCERT_OU'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-           $errormessage = $Lang::tr{'invalid input for department'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_CITY'} ne '' && $cgiparams{'ROOTCERT_CITY'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-           $errormessage = $Lang::tr{'invalid input for city'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_STATE'} ne '' && $cgiparams{'ROOTCERT_STATE'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-           $errormessage = $Lang::tr{'invalid input for state or province'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-       if ($cgiparams{'ROOTCERT_COUNTRY'} !~ /^[A-Z]*$/) {\r
-           $errormessage = $Lang::tr{'invalid input for country'};\r
-           goto ROOTCERT_ERROR;\r
-       }\r
-\r
-       # Copy the cgisettings to vpnsettings and save the configfile\r
-       $vpnsettings{'ROOTCERT_ORGANIZATION'}   = $cgiparams{'ROOTCERT_ORGANIZATION'};\r
-       $vpnsettings{'ROOTCERT_HOSTNAME'}       = $cgiparams{'ROOTCERT_HOSTNAME'};\r
-       $vpnsettings{'ROOTCERT_EMAIL'}          = $cgiparams{'ROOTCERT_EMAIL'};\r
-       $vpnsettings{'ROOTCERT_OU'}             = $cgiparams{'ROOTCERT_OU'};\r
-       $vpnsettings{'ROOTCERT_CITY'}           = $cgiparams{'ROOTCERT_CITY'};\r
-       $vpnsettings{'ROOTCERT_STATE'}          = $cgiparams{'ROOTCERT_STATE'};\r
-       $vpnsettings{'ROOTCERT_COUNTRY'}        = $cgiparams{'ROOTCERT_COUNTRY'};\r
-       &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-\r
-       # Replace empty strings with a .\r
-       (my $ou = $cgiparams{'ROOTCERT_OU'}) =~ s/^\s*$/\./;\r
-       (my $city = $cgiparams{'ROOTCERT_CITY'}) =~ s/^\s*$/\./;\r
-       (my $state = $cgiparams{'ROOTCERT_STATE'}) =~ s/^\s*$/\./;\r
-\r
-       # Create the CA certificate\r
-       my $pid = open(OPENSSL, "|-");\r
-       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};\r
-       if ($pid) {     # parent\r
-           print OPENSSL "$cgiparams{'ROOTCERT_COUNTRY'}\n";\r
-           print OPENSSL "$state\n";\r
-           print OPENSSL "$city\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'}\n";\r
-           print OPENSSL "$ou\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'} CA\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_EMAIL'}\n";\r
-           close (OPENSSL);\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ("${General::swroot}/private/cakey.pem");\r
-               unlink ("${General::swroot}/ca/cacert.pem");\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       } else {        # child\r
-           unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',\r
-                       '-days', '999999', '-newkey', 'rsa:2048',\r
-                       '-keyout', "${General::swroot}/private/cakey.pem",\r
-                       '-out', "${General::swroot}/ca/cacert.pem")) {\r
-               $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       }\r
-\r
-       # Create the Host certificate request\r
-       $pid = open(OPENSSL, "|-");\r
-       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};\r
-       if ($pid) {     # parent\r
-           print OPENSSL "$cgiparams{'ROOTCERT_COUNTRY'}\n";\r
-           print OPENSSL "$state\n";\r
-           print OPENSSL "$city\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'}\n";\r
-           print OPENSSL "$ou\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_HOSTNAME'}\n";\r
-           print OPENSSL "$cgiparams{'ROOTCERT_EMAIL'}\n";\r
-           print OPENSSL ".\n";\r
-           print OPENSSL ".\n";\r
-           close (OPENSSL);\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ("${General::swroot}/certs/hostkey.pem");\r
-               unlink ("${General::swroot}/certs/hostreq.pem");\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       } else {        # child\r
-           unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',\r
-                       '-newkey', 'rsa:1024',\r
-                       '-keyout', "${General::swroot}/certs/hostkey.pem",\r
-                       '-out', "${General::swroot}/certs/hostreq.pem")) {\r
-               $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-               unlink ("${General::swroot}/certs/hostkey.pem");\r
-               unlink ("${General::swroot}/certs/hostreq.pem");\r
-               unlink ("${General::swroot}/private/cakey.pem");\r
-               unlink ("${General::swroot}/ca/cacert.pem");\r
-               goto ROOTCERT_ERROR;\r
-           }\r
-       }\r
-       \r
-       # Sign the host certificate request\r
-       system('/usr/bin/openssl', 'ca', '-days', '999999',\r
-               '-batch', '-notext',\r
-               '-in',  "${General::swroot}/certs/hostreq.pem",\r
-               '-out', "${General::swroot}/certs/hostcert.pem");\r
-       if ($?) {\r
-           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-           unlink ("${General::swroot}/private/cakey.pem");\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           unlink ("${General::swroot}/certs/hostreq.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           &cleanssldatabase();\r
-           goto ROOTCERT_ERROR;\r
-       } else {\r
-           unlink ("${General::swroot}/certs/hostreq.pem");\r
-           &cleanssldatabase();\r
-       }\r
-\r
-       # Create an empty CRL\r
-       system('/usr/bin/openssl', 'ca', '-gencrl',\r
-               '-out', "${General::swroot}/crls/cacrl.pem");\r
-       if ($?) {\r
-           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-           unlink ("${General::swroot}/certs/hostkey.pem");\r
-           unlink ("${General::swroot}/certs/hostcert.pem");\r
-           unlink ("${General::swroot}/ca/cacert.pem");\r
-           unlink ("${General::swroot}/crls/cacrl.pem");\r
-           &cleanssldatabase();\r
-           goto ROOTCERT_ERROR;\r
-       } else {\r
-           &cleanssldatabase();\r
-       }\r
-       goto ROOTCERT_SUCCESS;\r
-    }\r
-    ROOTCERT_ERROR:\r
-    if ($cgiparams{'ACTION'} ne '') {\r
-       &Header::showhttpheaders();\r
-       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-       &Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-       if ($errormessage) {\r
-           &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-           print "<class name='base'>$errormessage";\r
-           print "&nbsp;</class>";\r
-           &Header::closebox();\r
-       }\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'generate root/host certificates'}:");\r
-       print <<END\r
-       <form method='post' enctype='multipart/form-data'>\r
-       <table width='100%' border='0' cellspacing='1' cellpadding='0'>\r
-       <tr><td width='30%' class='base'>$Lang::tr{'organization name'}:</td>\r
-           <td width='35%' class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_ORGANIZATION' value='$cgiparams{'ROOTCERT_ORGANIZATION'}' size='32' /></td>\r
-           <td width='35%' colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'ipcops hostname'}:</td>\r
-           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_HOSTNAME' value='$cgiparams{'ROOTCERT_HOSTNAME'}' size='32' /></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'your e-mail'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_EMAIL' value='$cgiparams{'ROOTCERT_EMAIL'}' size='32' /></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'your department'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_OU' value='$cgiparams{'ROOTCERT_OU'}' size='32' /></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_CITY' value='$cgiparams{'ROOTCERT_CITY'}' size='32' /></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_STATE' value='$cgiparams{'ROOTCERT_STATE'}' size='32' /></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'country'}:</td>\r
-           <td class='base'><select name='ROOTCERT_COUNTRY'>\r
-END\r
-       ;\r
-       foreach my $country (sort keys %{Countries::countries}) {\r
-           print "<option value='$Countries::countries{$country}'";\r
-           if ( $Countries::countries{$country} eq $cgiparams{'ROOTCERT_COUNTRY'} ) {\r
-               print " selected='selected'";\r
-           }\r
-           print ">$country</option>";\r
-       }\r
-       print <<END\r
-           </select></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td>&nbsp;</td>\r
-           <td><br /><input type='submit' name='ACTION' value='$Lang::tr{'generate root/host certificates'}' /><br /><br /></td>\r
-           <td>&nbsp;</td><td>&nbsp;</td></tr>\r
-       <tr><td class='base' align='left' valign='top'>\r
-           <img src='/blob.gif' valign='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>\r
-           <td class='base' align='left'>\r
-           <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: \r
-           $Lang::tr{'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient'}\r
-       </td></tr>\r
-       <tr><td colspan='4'><hr /></td></tr>\r
-       <tr><td class='base' nowrap='nowrap'>$Lang::tr{'upload p12 file'}:</td>\r
-           <td nowrap='nowrap'><input type='file' name='FH' size='32'></td>\r
-           <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base'>$Lang::tr{'pkcs12 file password'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-           <td class='base' nowrap='nowrap'><input type='password' name='P12_PASS' value='$cgiparams{'P12_PASS'}' size='32' /></td>\r
-            <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td>&nbsp;</td>\r
-           <td><input type='submit' name='ACTION' value='$Lang::tr{'upload p12 file'}' /></td>\r
-            <td colspan='2'>&nbsp;</td></tr>\r
-       <tr><td class='base' colspan='4' align='left'>\r
-           <img src='/blob.gif' valign='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td></tr>\r
-       </form></table>\r
-END\r
-       ;\r
-       &Header::closebox();\r
-\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-        exit(0)\r
-    }\r
-\r
-    ROOTCERT_SUCCESS:\r
-    if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-       $vpnsettings{'ENABLE_BLUE'} eq 'on') {\r
-       system('/usr/local/bin/ipsecctrl', 'S');\r
-       sleep $sleepDelay;\r
-    }\r
-###\r
-### Download PKCS12 file\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download pkcs12 file'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . ".p12\r\n";\r
-    print "Content-Type: application/octet-stream\r\n\r\n";\r
-    print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12`;\r
-    exit (0);\r
-\r
-###\r
-### Display certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ( -f "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {\r
-       &Header::showhttpheaders();\r
-       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-       &Header::openbigbox('100%', 'LEFT', '', '');\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate'}:");\r
-       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;\r
-       $output = &Header::cleanhtml($output,"y");\r
-       print "<pre>$output</pre>\n";\r
-       &Header::closebox();\r
-       print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-       exit(0);\r
-    }\r
-\r
-###\r
-### Download Certificate\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download certificate'}) {\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ( -f "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {\r
-       print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . "cert.pem\r\n";\r
-       print "Content-Type: application/octet-stream\r\n\r\n";\r
-       print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;\r
-       exit (0);\r
-    }\r
-\r
-###\r
-### Enable/Disable connection\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {\r
-    \r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ($confighash{$cgiparams{'KEY'}}) {\r
-       if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {\r
-           $confighash{$cgiparams{'KEY'}}[0] = 'on';\r
-           &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-           &writeipsecfiles();\r
-           if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-               $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-               system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});\r
-               sleep $sleepDelay;\r
-           }\r
-       } else {\r
-           $confighash{$cgiparams{'KEY'}}[0] = 'off';\r
-           if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-               $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-               system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'});\r
-           }\r
-           &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-           &writeipsecfiles();\r
-       }\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Restart connection\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'restart'}) {\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ($confighash{$cgiparams{'KEY'}}) {\r
-       if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-           $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-           system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});\r
-           sleep $sleepDelay;\r
-       }\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Remove connection\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) {\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ($confighash{$cgiparams{'KEY'}}) {\r
-       if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-           $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-           system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'});\r
-       }\r
-       unlink ("${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");\r
-       unlink ("${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12");\r
-       delete $confighash{$cgiparams{'KEY'}};\r
-       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-       &writeipsecfiles();\r
-    } else {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-    }\r
-\r
-###\r
-### Choose between adding a host-net or net-net connection\r
-###\r
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'add'} && $cgiparams{'TYPE'} eq '') {\r
-       &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-       &Header::showhttpheaders();\r
-       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-       &Header::openbigbox('100%', 'LEFT', '', '');\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'connection type'});\r
-       print <<END\r
-           <b>$Lang::tr{'connection type'}:</b><br />\r
-           <table><form method='post'>\r
-           <tr><td><input type='radio' name='TYPE' value='host' checked /></td>\r
-               <td class='base'>$Lang::tr{'host to net vpn'}</td></tr>\r
-           <tr><td><input type='radio' name='TYPE' value='net' /></td>\r
-               <td class='base'>$Lang::tr{'net to net vpn'}</td></tr>\r
-           <tr><td align='center' colspan='2'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>\r
-           </form></table>\r
-END\r
-       ;\r
-       &Header::closebox();\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-       exit (0);\r
-###\r
-### Adding a new connection\r
-###\r
-} elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) ||\r
-        ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) ||\r
-        ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'ADVANCED'} eq '')) {\r
-\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       if (! $confighash{$cgiparams{'KEY'}}[0]) {\r
-           $errormessage = $Lang::tr{'invalid key'};\r
-           goto VPNCONF_END;\r
-       }\r
-       $cgiparams{'ENABLED'}   = $confighash{$cgiparams{'KEY'}}[0];\r
-       $cgiparams{'NAME'}      = $confighash{$cgiparams{'KEY'}}[1];\r
-       $cgiparams{'TYPE'}      = $confighash{$cgiparams{'KEY'}}[3];\r
-       $cgiparams{'AUTH'}      = $confighash{$cgiparams{'KEY'}}[4];\r
-       $cgiparams{'PSK'}       = $confighash{$cgiparams{'KEY'}}[5];\r
-       $cgiparams{'SIDE'}      = $confighash{$cgiparams{'KEY'}}[6];\r
-       $cgiparams{'LOCAL_ID'}  = $confighash{$cgiparams{'KEY'}}[7];\r
-       $cgiparams{'LOCAL_SUBNET'} = $confighash{$cgiparams{'KEY'}}[8];\r
-       $cgiparams{'REMOTE_ID'} = $confighash{$cgiparams{'KEY'}}[9];\r
-       $cgiparams{'REMOTE'}    = $confighash{$cgiparams{'KEY'}}[10];\r
-       $cgiparams{'REMOTE_SUBNET'} = $confighash{$cgiparams{'KEY'}}[11];\r
-       $cgiparams{'REMARK'}    = $confighash{$cgiparams{'KEY'}}[25];\r
-       $cgiparams{'INTERFACE'} = $confighash{$cgiparams{'KEY'}}[26];\r
-       $cgiparams{'DPD_ACTION'}= $confighash{$cgiparams{'KEY'}}[27];\r
-       $cgiparams{'PFS_YES_NO'}= $confighash{$cgiparams{'KEY'}}[28];\r
-\r
-    } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {\r
-       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});\r
-       if ($cgiparams{'TYPE'} !~ /^(host|net)$/) {\r
-           $errormessage = $Lang::tr{'connection type is invalid'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'NAME'} !~ /^[a-zA-Z0-9]+$/) {\r
-           $errormessage = $Lang::tr{'name must only contain characters'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'NAME'} =~ /^(host|01|block|private|clear|packetdefault)$/) {\r
-           $errormessage = $Lang::tr{'name is invalid'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if (length($cgiparams{'NAME'}) >60) {\r
-           $errormessage = $Lang::tr{'name too long'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if (($cgiparams{'TYPE'} eq 'net') && ($cgiparams{'SIDE'} !~ /^(left|right)$/)) {\r
-           $errormessage = $Lang::tr{'ipcop side is invalid'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       # Check if there is no other entry with this name\r
-       if (! $cgiparams{'KEY'}) {\r
-           foreach my $key (keys %confighash) {\r
-               if ($confighash{$key}[1] eq $cgiparams{'NAME'}) {\r
-                   $errormessage = $Lang::tr{'a connection with this name already exists'};\r
-                   goto VPNCONF_ERROR;\r
-               }\r
-           }\r
-       }\r
-\r
-       if (($cgiparams{'TYPE'} eq 'net') && (! $cgiparams{'REMOTE'})) {\r
-           $errormessage = $Lang::tr{'invalid input for remote host/ip'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'REMOTE'}) {\r
-           if (! &General::validip($cgiparams{'REMOTE'})) {\r
-               if (! &General::validfqdn ($cgiparams{'REMOTE'}))  {\r
-                   $errormessage = $Lang::tr{'invalid input for remote host/ip'};\r
-                   goto VPNCONF_ERROR;\r
-               } else {\r
-                   if (&valid_dns_host($cgiparams{'REMOTE'})) {\r
-                       $warnmessage = "$Lang::tr{'check vpn lr'} $cgiparams{'REMOTE'}. $Lang::tr{'dns check failed'}";\r
-                   }\r
-               }\r
-           }\r
-       }\r
-\r
-        unless (&General::validipandmask($cgiparams{'LOCAL_SUBNET'})) {\r
-            $errormessage = $Lang::tr{'local subnet is invalid'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       # Check if there is no other entry without IP-address and PSK\r
-       if ($cgiparams{'REMOTE'} eq '') {\r
-           foreach my $key (keys %confighash) {\r
-               if(($cgiparams{'KEY'} ne $key) && \r
-                  ($confighash{$key}[4] eq 'psk' || $cgiparams{'AUTH'} eq 'psk') && \r
-                   $confighash{$key}[10] eq '') {\r
-                       $errormessage = $Lang::tr{'you can only define one roadwarrior connection when using pre-shared key authentication'};\r
-                       goto VPNCONF_ERROR;\r
-               }\r
-           }\r
-       }\r
-       if (($cgiparams{'TYPE'} eq 'net') && (! &General::validipandmask($cgiparams{'REMOTE_SUBNET'}))) {\r
-            $errormessage = $Lang::tr{'remote subnet is invalid'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'ENABLED'} !~ /^(on|off)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-       if ($cgiparams{'EDIT_ADVANCED'} !~ /^(on|off)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       if (($cgiparams{'LOCAL_ID'} !~ /^(|@[a-zA-Z0-9_.-]*)$/) ||\r
-           ($cgiparams{'REMOTE_ID'} !~ /^(|@[a-zA-Z0-9_.-]*)$/) ||\r
-           (($cgiparams{'REMOTE_ID'} eq $cgiparams{'LOCAL_ID'}) && ($cgiparams{'LOCAL_ID'} ne ''))\r
-          ) {\r
-           $errormessage = $Lang::tr{'invalid local-remote id'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-       \r
-       if ($cgiparams{'AUTH'} eq 'psk')  {\r
-           if (! length($cgiparams{'PSK'}) ) {\r
-               $errormessage = $Lang::tr{'pre-shared key is too short'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'PSK'} =~ /['",&]/) {        # " ' correct coloring syntax editor !\r
-               $errormessage = $Lang::tr{'invalid characters found in pre-shared key'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-       } elsif ($cgiparams{'AUTH'} eq 'certreq') {\r
-           if ($cgiparams{'KEY'}) {\r
-               $errormessage = $Lang::tr{'cant change certificates'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if (ref ($cgiparams{'FH'}) ne 'Fh') {\r
-               $errormessage = $Lang::tr{'there was no file upload'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-\r
-           # Move uploaded certificate request to a temporary file\r
-           (my $fh, my $filename) = tempfile( );\r
-           if (copy ($cgiparams{'FH'}, $fh) != 1) {\r
-               $errormessage = $!;\r
-               goto VPNCONF_ERROR;\r
-           }\r
-\r
-           # Sign the certificate request and move it\r
-           # Sign the host certificate request\r
-           system('/usr/bin/openssl', 'ca', '-days', '999999',\r
-               '-batch', '-notext',\r
-               '-in', $filename,\r
-               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ($filename);\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-               &cleanssldatabase();\r
-               goto VPNCONF_ERROR;\r
-           } else {\r
-               unlink ($filename);\r
-               &cleanssldatabase();\r
-           }\r
-\r
-           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem`;\r
-           $temp =~ /Subject:.*CN=(.*)[\n]/;\r
-           $temp = $1;\r
-           $temp =~ s+/Email+, E+;\r
-           $temp =~ s/ ST=/ S=/;\r
-           $cgiparams{'CERT_NAME'} = $temp;\r
-           $cgiparams{'CERT_NAME'} =~ s/,//g;\r
-           $cgiparams{'CERT_NAME'} =~ s/\'//g;\r
-           if ($cgiparams{'CERT_NAME'} eq '') {\r
-               $errormessage = $Lang::tr{'could not retrieve common name from certificate'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-       } elsif ($cgiparams{'AUTH'} eq 'certfile') {\r
-           if ($cgiparams{'KEY'}) {\r
-               $errormessage = $Lang::tr{'cant change certificates'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if (ref ($cgiparams{'FH'}) ne 'Fh') {\r
-               $errormessage = $Lang::tr{'there was no file upload'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           # Move uploaded certificate to a temporary file\r
-           (my $fh, my $filename) = tempfile( );\r
-           if (copy ($cgiparams{'FH'}, $fh) != 1) {\r
-               $errormessage = $!;\r
-               goto VPNCONF_ERROR;\r
-           }\r
-\r
-           # Verify the certificate has a valid CA and move it\r
-           my $validca = 0;\r
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/cacert.pem $filename`;\r
-           if ($test =~ /: OK/) {\r
-               $validca = 1;\r
-           } else {\r
-               foreach my $key (keys %cahash) {\r
-                   $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$key}[0]cert.pem $filename`;\r
-                   if ($test =~ /: OK/) {\r
-                       $validca = 1;\r
-                   }\r
-               }\r
-           }\r
-           if (! $validca) {\r
-               $errormessage = $Lang::tr{'certificate does not have a valid ca associated with it'};\r
-               unlink ($filename);\r
-               goto VPNCONF_ERROR;\r
-           } else {\r
-               move($filename, "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-               if ($? ne 0) {\r
-                   $errormessage = "$Lang::tr{'certificate file move failed'}: $!";\r
-                   unlink ($filename);\r
-                   goto VPNCONF_ERROR;\r
-               }\r
-           }\r
-\r
-           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem`;\r
-           $temp =~ /Subject:.*CN=(.*)[\n]/;\r
-           $temp = $1;\r
-           $temp =~ s+/Email+, E+;\r
-           $temp =~ s/ ST=/ S=/;\r
-           $cgiparams{'CERT_NAME'} = $temp;\r
-           $cgiparams{'CERT_NAME'} =~ s/,//g;\r
-           $cgiparams{'CERT_NAME'} =~ s/\'//g;\r
-           if ($cgiparams{'CERT_NAME'} eq '') {\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-               $errormessage = $Lang::tr{'could not retrieve common name from certificate'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-       } elsif ($cgiparams{'AUTH'} eq 'certgen') {\r
-           if ($cgiparams{'KEY'}) {\r
-               $errormessage = $Lang::tr{'cant change certificates'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           # Validate input since the form was submitted\r
-           if (length($cgiparams{'CERT_NAME'}) >60) {\r
-               $errormessage = $Lang::tr{'name too long'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_NAME'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {\r
-               $errormessage = $Lang::tr{'invalid input for name'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_EMAIL'} ne '' && (! &General::validemail($cgiparams{'CERT_EMAIL'}))) {\r
-               $errormessage = $Lang::tr{'invalid input for e-mail address'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if (length($cgiparams{'CERT_EMAIL'}) > 40) {\r
-               $errormessage = $Lang::tr{'e-mail address too long'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_OU'} ne '' && $cgiparams{'CERT_OU'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-               $errormessage = $Lang::tr{'invalid input for department'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if (length($cgiparams{'CERT_ORGANIZATION'}) >60) {\r
-               $errormessage = $Lang::tr{'organization too long'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_ORGANIZATION'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {\r
-               $errormessage = $Lang::tr{'invalid input for organization'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_CITY'} ne '' && $cgiparams{'CERT_CITY'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-               $errormessage = $Lang::tr{'invalid input for city'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_STATE'} ne '' && $cgiparams{'CERT_STATE'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {\r
-               $errormessage = $Lang::tr{'invalid input for state or province'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_COUNTRY'} !~ /^[A-Z]*$/) {\r
-               $errormessage = $Lang::tr{'invalid input for country'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if (length($cgiparams{'CERT_PASS1'}) < 5) {\r
-               $errormessage = $Lang::tr{'password too short'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-           if ($cgiparams{'CERT_PASS1'} ne $cgiparams{'CERT_PASS2'}) {\r
-               $errormessage = $Lang::tr{'passwords do not match'};\r
-               goto VPNCONF_ERROR;\r
-           }\r
-\r
-           # Replace empty strings with a .\r
-           (my $ou = $cgiparams{'CERT_OU'}) =~ s/^\s*$/\./;\r
-           (my $city = $cgiparams{'CERT_CITY'}) =~ s/^\s*$/\./;\r
-           (my $state = $cgiparams{'CERT_STATE'}) =~ s/^\s*$/\./;\r
-\r
-           # Create the Host certificate request\r
-           my $pid = open(OPENSSL, "|-");\r
-           $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto VPNCONF_ERROR;};\r
-           if ($pid) { # parent\r
-               print OPENSSL "$cgiparams{'CERT_COUNTRY'}\n";\r
-               print OPENSSL "$state\n";\r
-               print OPENSSL "$city\n";\r
-               print OPENSSL "$cgiparams{'CERT_ORGANIZATION'}\n";\r
-               print OPENSSL "$ou\n";\r
-               print OPENSSL "$cgiparams{'CERT_NAME'}\n";\r
-               print OPENSSL "$cgiparams{'CERT_EMAIL'}\n";\r
-               print OPENSSL ".\n";\r
-               print OPENSSL ".\n";\r
-               close (OPENSSL);\r
-               if ($?) {\r
-                   $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");\r
-                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");\r
-                   goto VPNCONF_ERROR;\r
-               }\r
-           } else {    # child\r
-               unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',\r
-                       '-newkey', 'rsa:1024',\r
-                       '-keyout', "${General::swroot}/certs/$cgiparams{'NAME'}key.pem",\r
-                       '-out', "${General::swroot}/certs/$cgiparams{'NAME'}req.pem")) {\r
-                   $errormessage = "$Lang::tr{'cant start openssl'}: $!";\r
-                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");\r
-                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");\r
-                   goto VPNCONF_ERROR;\r
-               }\r
-           }\r
-       \r
-           # Sign the host certificate request\r
-           system('/usr/bin/openssl', 'ca', '-days', '999999',\r
-               '-batch', '-notext',\r
-               '-in',  "${General::swroot}/certs/$cgiparams{'NAME'}req.pem",\r
-               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-               &cleanssldatabase();\r
-               goto VPNCONF_ERROR;\r
-           } else {\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");\r
-               &cleanssldatabase();\r
-           }\r
-\r
-           # Create the pkcs12 file\r
-           system('/usr/bin/openssl', 'pkcs12', '-export', \r
-               '-inkey', "${General::swroot}/certs/$cgiparams{'NAME'}key.pem",\r
-               '-in', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem",\r
-               '-name', $cgiparams{'NAME'},\r
-               '-passout', "pass:$cgiparams{'CERT_PASS1'}",\r
-               '-certfile', "${General::swroot}/ca/cacert.pem", \r
-               '-caname', "$vpnsettings{'ROOTCERT_ORGANIZATION'} CA",\r
-               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}.p12");\r
-           if ($?) {\r
-               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}.p12");\r
-               goto VPNCONF_ERROR;\r
-           } else {\r
-               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");\r
-           }\r
-       } elsif ($cgiparams{'AUTH'} eq 'cert') {\r
-           ;# Nothing, just editing\r
-       } else {\r
-           $errormessage = $Lang::tr{'invalid input for authentication method'};\r
-           goto VPNCONF_ERROR;\r
-       }\r
-\r
-       # Check if there is no other entry with this common name\r
-       if ((! $cgiparams{'KEY'}) && ($cgiparams{'AUTH'} ne 'psk')) {\r
-           foreach my $key (keys %confighash) {\r
-               if ($confighash{$key}[2] eq $cgiparams{'CERT_NAME'}) {\r
-                   $errormessage = $Lang::tr{'a connection with this common name already exists'};\r
-                   goto VPNCONF_ERROR;\r
-               }\r
-           }\r
-       }\r
-\r
-        # Save the config\r
-       my $key = $cgiparams{'KEY'};\r
-       if (! $key) {\r
-           $key = &General::findhasharraykey (\%confighash);\r
-           foreach my $i (0 .. 28) { $confighash{$key}[$i] = "";}\r
-       }\r
-       $confighash{$key}[0] = $cgiparams{'ENABLED'};\r
-       $confighash{$key}[1] = $cgiparams{'NAME'};\r
-       if ((! $cgiparams{'KEY'}) && $cgiparams{'AUTH'} ne 'psk') {\r
-           $confighash{$key}[2] = $cgiparams{'CERT_NAME'};\r
-       }\r
-       $confighash{$key}[3] = $cgiparams{'TYPE'};\r
-       if ($cgiparams{'AUTH'} eq 'psk') {\r
-           $confighash{$key}[4] = 'psk';\r
-           $confighash{$key}[5] = $cgiparams{'PSK'};\r
-       } else {\r
-           $confighash{$key}[4] = 'cert';\r
-       }\r
-       if ($cgiparams{'TYPE'} eq 'net') {\r
-           $confighash{$key}[6] = $cgiparams{'SIDE'};\r
-           $confighash{$key}[11] = $cgiparams{'REMOTE_SUBNET'};\r
-       }\r
-       $confighash{$key}[7] = $cgiparams{'LOCAL_ID'};\r
-       $confighash{$key}[8] = $cgiparams{'LOCAL_SUBNET'};\r
-       $confighash{$key}[9] = $cgiparams{'REMOTE_ID'};\r
-       $confighash{$key}[10] = $cgiparams{'REMOTE'};\r
-       $confighash{$key}[25] = $cgiparams{'REMARK'};\r
-       $confighash{$key}[26] = $cgiparams{'INTERFACE'};\r
-       $confighash{$key}[27] = $cgiparams{'DPD_ACTION'};\r
-       $confighash{$key}[28] = $cgiparams{'PFS_YES_NO'};\r
-\r
-       #use default advanced value\r
-       $confighash{$key}[14] = 'on';\r
-       $confighash{$key}[13] = 'off';\r
-       $confighash{$key}[18] = 'aes128|3des';\r
-       $confighash{$key}[19] = 'sha|md5';\r
-       $confighash{$key}[20] = '1536|1024';\r
-       $confighash{$key}[16] = '1';\r
-       $confighash{$key}[21] = 'aes128|3des';\r
-       $confighash{$key}[22] = 'sha1|md5';\r
-       $confighash{$key}[23] = '';\r
-       $confighash{$key}[17] = '8';\r
-       $confighash{$key}[24] = 'off';\r
-\r
-       #free unused fields!\r
-       #$confighash{$key}[12] = '';\r
-       #$confighash{$key}[15] = '';\r
-\r
-       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-       &writeipsecfiles();\r
-       if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-           $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-           system('/usr/local/bin/ipsecctrl', 'S', $key);\r
-           sleep $sleepDelay;\r
-       }\r
-       if ($cgiparams{'EDIT_ADVANCED'} eq 'on') {\r
-           $cgiparams{'KEY'} = $key;\r
-           $cgiparams{'ACTION'} = $Lang::tr{'advanced'};\r
-       }\r
-       goto VPNCONF_END;\r
-    } else { # add new connection\r
-        $cgiparams{'ENABLED'} = 'on';\r
-       $cgiparams{'SIDE'} = 'left';\r
-       if ( ! -f "${General::swroot}/private/cakey.pem" ) {\r
-           $cgiparams{'AUTH'} = 'psk';\r
-       } elsif ( ! -f "${General::swroot}/ca/cacert.pem") {\r
-           $cgiparams{'AUTH'} = 'certfile';\r
-       } else {\r
-            $cgiparams{'AUTH'} = 'certgen';\r
-       }\r
-       $cgiparams{'LOCAL_SUBNET'}      ="$netsettings{'GREEN_NETADDRESS'}/$netsettings{'GREEN_NETMASK'}";\r
-       $cgiparams{'CERT_ORGANIZATION'} = $vpnsettings{'ROOTCERT_ORGANIZATION'};\r
-       $cgiparams{'CERT_CITY'}         = $vpnsettings{'ROOTCERT_CITY'};\r
-       $cgiparams{'CERT_STATE'}        = $vpnsettings{'ROOTCERT_STATE'};\r
-       $cgiparams{'CERT_COUNTRY'}      = $vpnsettings{'ROOTCERT_COUNTRY'};\r
-\r
-       # choose appropriate dpd action \r
-       if ($cgiparams{'TYPE'} eq 'host') {\r
-           $cgiparams{'DPD_ACTION'} = 'clear';\r
-       } else {\r
-           $cgiparams{'DPD_ACTION'} = 'hold';  #restart when available!\r
-       }\r
-\r
-       # Default is yes for 'pfs'\r
-       $cgiparams{'PFS_YES_NO'}     = 'yes';\r
-       \r
-       # ID are empty\r
-       $cgiparams{'LOCAL_ID'}  = '';\r
-       $cgiparams{'REMOTE_ID'} = '';\r
-       \r
-    }\r
-\r
-    VPNCONF_ERROR:\r
-    $checked{'ENABLED'}{'off'} = '';\r
-    $checked{'ENABLED'}{'on'} = '';\r
-    $checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";\r
-    $checked{'ENABLED_BLUE'}{'off'} = '';\r
-    $checked{'ENABLED_BLUE'}{'on'} = '';\r
-    $checked{'ENABLED_BLUE'}{$cgiparams{'ENABLED_BLUE'}} = "checked='checked'";\r
-\r
-    $checked{'EDIT_ADVANCED'}{'off'} = '';\r
-    $checked{'EDIT_ADVANCED'}{'on'} = '';\r
-    $checked{'EDIT_ADVANCED'}{$cgiparams{'EDIT_ADVANCED'}} = "checked='checked'";\r
-\r
-    $selected{'SIDE'}{'left'} = '';\r
-    $selected{'SIDE'}{'right'} = '';\r
-    $selected{'SIDE'}{$cgiparams{'SIDE'}} = "selected='selected'";\r
-\r
-    $checked{'AUTH'}{'psk'} = '';\r
-    $checked{'AUTH'}{'certreq'} = '';\r
-    $checked{'AUTH'}{'certgen'} = '';\r
-    $checked{'AUTH'}{'certfile'} = '';\r
-    $checked{'AUTH'}{$cgiparams{'AUTH'}} = "checked='checked'";\r
-\r
-    $selected{'INTERFACE'}{$cgiparams{'INTERFACE'}} = "selected='selected'";\r
-    $selected{'DPD_ACTION'}{$cgiparams{'DPD_ACTION'}} = "selected='selected'";\r
-    $selected{'PFS_YES_NO'}{$cgiparams{'PFS_YES_NO'}} = "selected='selected'";\r
-\r
-    if (1) {\r
-       &Header::showhttpheaders();\r
-       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-       &Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-       if ($errormessage) {\r
-           &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-           print "<class name='base'>$errormessage";\r
-           print "&nbsp;</class>";\r
-           &Header::closebox();\r
-       }\r
-\r
-       if ($warnmessage) {\r
-           &Header::openbox('100%', 'LEFT', "$Lang::tr{'warning messages'}:");\r
-           print "<class name='base'>$warnmessage";\r
-           print "&nbsp;</class>";\r
-           &Header::closebox();\r
-       }\r
-\r
-       print "<form method='post' enctype='multipart/form-data'>";\r
-       print "<input type='hidden' name='TYPE' value='$cgiparams{'TYPE'}' />";\r
-\r
-       if ($cgiparams{'KEY'}) {\r
-           print "<input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />";\r
-           print "<input type='hidden' name='AUTH' value='$cgiparams{'AUTH'}' />";\r
-       }\r
-\r
-       &Header::openbox('100%', 'LEFT', "$Lang::tr{'connection'}:");\r
-       print "<table width='100%'>";\r
-       print "<tr><td width='25%' class='boldbase'>$Lang::tr{'name'}:</td>";\r
-       if ($cgiparams{'KEY'}) {\r
-           print "<td width='25%' class='base'><input type='hidden' name='NAME' value='$cgiparams{'NAME'}' /><b>$cgiparams{'NAME'}</b></td>";\r
-       } else {\r
-           print "<td width='25%'><input type='text' name='NAME' value='$cgiparams{'NAME'}' maxlength='20' size='30' /></td>";\r
-       }\r
-       print "<td>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td></tr>";\r
-       \r
-       if ($cgiparams{'TYPE'} eq 'host') {\r
-\r
-           print "<tr><td>$Lang::tr{'interface'}</td>";\r
-           print "<td><select name='INTERFACE'>";\r
-           print "<option value='RED' $selected{'INTERFACE'}{'RED'}>RED</option>";\r
-           print "<option value='BLUE' $selected{'INTERFACE'}{'BLUE'}>BLUE</option>" if ($netsettings{'BLUE_DEV'} ne '');\r
-#          print "<option value='GREEN' $selected{'INTERFACE'}{'GREEN'}>GREEN</option>";\r
-#          print "<option value='ORANGE' $selected{'INTERFACE'}{'ORANGE'}>ORANGE</option>";\r
-           print "</select></td></tr>";\r
-           print <<END\r
-               <tr><td class='boldbase'>$Lang::tr{'local subnet'}</td>\r
-                   <td><input type='text' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' size='30' /></td>\r
-                   <td colspan='2'>&nbsp;</td></tr>\r
-               <tr><td class='boldbase'>$Lang::tr{'remote host/ip'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-                   <td><input type='text' name='REMOTE' value='$cgiparams{'REMOTE'}' size='30' /></td>\r
-                   <td colspan='2'>&nbsp;</td></tr>\r
-END\r
-           ;\r
-       } else {\r
-           print <<END\r
-               <tr><input type='hidden' name='INTERFACE' value='RED' />\r
-                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'ipcop side'}</td>\r
-                   <td><select name='SIDE'><option value='left' $selected{'SIDE'}{'left'}>left</option>\r
-                                           <option value='right' $selected{'SIDE'}{'right'}>right</option></select></td>\r
-                   <td class='boldbase'>$Lang::tr{'remote host/ip'}:</td>\r
-                   <td><input type='TEXT' name='REMOTE' value='$cgiparams{'REMOTE'}' size ='30' /></td></tr>\r
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td>\r
-                   <td><input type='TEXT' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' size='30' /></td>\r
-                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td>\r
-                   <td><input type='text' name='REMOTE_SUBNET' value='$cgiparams{'REMOTE_SUBNET'}' size='30' /></td></tr>\r
-END\r
-           ;\r
-       }\r
-       print <<END\r
-       <tr><td>$Lang::tr{'dpd action'}:</td>\r
-       <td><select name='DPD_ACTION'>\r
-           <option value='clear' $selected{'DPD_ACTION'}{'clear'}>clear</option>\r
-           <option value='hold' $selected{'DPD_ACTION'}{'hold'}>hold</option>\r
-           <option value='restart' $selected{'DPD_ACTION'}{'restart'}>restart</option>\r
-       </select>&nbsp; <a href='http://www.openswan.com/docs/local/README.DPD'>?</a></td>\r
-<!--   http://www.openswan.com/docs/local/README.DPD\r
-       http://bugs.xelerance.com/view.php?id=156\r
-       restart = clear + reinitiate connection\r
--->    <td width='25%'>$Lang::tr{'pfs yes no'}:</td>\r
-       <td width='25%'><select name='PFS_YES_NO'>\r
-           <option value='yes' $selected{'PFS_YES_NO'}{'yes'}>$Lang::tr{'yes'}</option>\r
-           <option value='no' $selected{'PFS_YES_NO'}{'no'}>$Lang::tr{'no'}</option>\r
-       </select></td></tr>\r
-       <td><b>$Lang::tr{'options'}</b></td>\r
-       <tr><td class='boldbase'>leftid:&nbsp;<img src='/blob.gif' alt='*' />\r
-       <br />($Lang::tr{'eg'} <tt>&#64;xy.example.com</tt>)</td>\r
-       <td><input type='text' name='LOCAL_ID' value='$cgiparams{'LOCAL_ID'}' maxlength='50' /></td>\r
-       <td class='boldbase'>rightid:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td><input type='text' name='REMOTE_ID' value='$cgiparams{'REMOTE_ID'}' maxlength='50' /></td></tr>\r
-       <tr><td class='boldbase'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td></tr>\r
-END\r
-       ;\r
-       if (!$cgiparams{'KEY'}) {\r
-           print "<tr><td colspan='3'><input type='checkbox' name='EDIT_ADVANCED' $checked{'EDIT_ADVANCED'}{'on'} /> $Lang::tr{'edit advanced settings when done'}</td></tr>";\r
-       }\r
-       print "</table>";\r
-       &Header::closebox();\r
-       \r
-       if ($cgiparams{'KEY'} && $cgiparams{'AUTH'} eq 'psk') {\r
-           &Header::openbox('100%', 'LEFT', $Lang::tr{'authentication'});\r
-           print <<END\r
-           <table width='100%' cellpadding='0' cellspacing='5' border='0'>\r
-           <tr><td class='base' width='50%'>$Lang::tr{'use a pre-shared key'}</td>\r
-               <td class='base' width='50%'><input type='text' name='PSK' size='30' value='$cgiparams{'PSK'}' /></td></tr>\r
-           </table>\r
-END\r
-           ;\r
-           &Header::closebox();\r
-       } elsif (! $cgiparams{'KEY'}) {\r
-           my $disabled='';\r
-           my $cakeydisabled='';\r
-           my $cacrtdisabled='';\r
-           if ( ! -f "${General::swroot}/private/cakey.pem" ) { $cakeydisabled = "disabled='disabled'" } else { $cakeydisabled = "" };\r
-           if ( ! -f "${General::swroot}/ca/cacert.pem" ) { $cacrtdisabled = "disabled='disabled'" } else { $cacrtdisabled = "" };\r
-           &Header::openbox('100%', 'LEFT', $Lang::tr{'authentication'});\r
-           print <<END\r
-           <table width='100%' cellpadding='0' cellspacing='5' border='0'>\r
-           <tr><td width='5%'><input type='radio' name='AUTH' value='psk' $checked{'AUTH'}{'psk'} /></td>\r
-               <td class='base' width='45%'>$Lang::tr{'use a pre-shared key'}</td>\r
-               <td class='base' width='50%'><input type='text' name='PSK' size='30' value='$cgiparams{'PSK'}' /></td></tr>\r
-           <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' border='0' /></td></tr>\r
-           <tr><td><input type='radio' name='AUTH' value='certreq' $checked{'AUTH'}{'certreq'} $cakeydisabled /></td>\r
-               <td class='base'>$Lang::tr{'upload a certificate request'}</td>\r
-               <td class='base' rowspan='2'><input type='file' name='FH' size='30' $cacrtdisabled></td></tr>\r
-           <tr><td><input type='radio' name='AUTH' value='certfile' $checked{'AUTH'}{'certfile'} $cacrtdisabled /></td>\r
-               <td class='base'>$Lang::tr{'upload a certificate'}</td></tr>\r
-           <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' BORDER='0' /></td></tr>\r
-           <tr><td><input type='radio' name='AUTH' value='certgen' $checked{'AUTH'}{'certgen'} $cakeydisabled /></td>\r
-               <td class='base'>$Lang::tr{'generate a certificate'}</td><td>&nbsp;</td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'users fullname or system hostname'}:</td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_NAME' value='$cgiparams{'CERT_NAME'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'users email'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_EMAIL' value='$cgiparams{'CERT_EMAIL'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'users department'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_OU' value='$cgiparams{'CERT_OU'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'organization name'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_ORGANIZATION' value='$cgiparams{'CERT_ORGANIZATION'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_CITY' value='$cgiparams{'CERT_CITY'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_STATE' value='$cgiparams{'CERT_STATE'}' SIZE='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'country'}:</td>\r
-               <td class='base'><select name='CERT_COUNTRY' $cakeydisabled>\r
-END\r
-           ;\r
-           foreach my $country (sort keys %{Countries::countries}) {\r
-               print "\t\t\t<option value='$Countries::countries{$country}'";\r
-               if ( $Countries::countries{$country} eq $cgiparams{'CERT_COUNTRY'} ) {\r
-                   print " selected='selected'";\r
-               }\r
-               print ">$country</option>\n";\r
-           }\r
-           print <<END\r
-               </select></td></tr>\r
-           <tr><td>&nbsp;</td>\r
-               <td class='base'>$Lang::tr{'pkcs12 file password'}:</td>\r
-               <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>\r
-           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<BR>($Lang::tr{'confirmation'})</td>\r
-               <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>\r
-           </table>\r
-END\r
-           ;\r
-           &Header::closebox();\r
-       }\r
-\r
-       print "<div align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' />";\r
-       if ($cgiparams{'KEY'}) {\r
-           print "<input type='submit' name='ACTION' value='$Lang::tr{'advanced'}' />";\r
-       }\r
-       print "<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></div></form>";\r
-       &Header::closebigbox();\r
-       &Header::closepage();\r
-       exit (0);\r
-    }\r
-    VPNCONF_END:\r
-}\r
-\r
-###\r
-### Advanced settings\r
-###\r
-if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||\r
-       ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'ADVANCED'} eq 'yes')) {\r
-    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-    if (! $confighash{$cgiparams{'KEY'}}) {\r
-       $errormessage = $Lang::tr{'invalid key'};\r
-       goto ADVANCED_END;\r
-    }\r
-\r
-    if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {\r
-       if ($cgiparams{'NAT'} !~ /^(on|off)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       if ($cgiparams{'COMPRESSION'} !~ /^(on|off)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       if ($cgiparams{'NAT'} eq 'on' && $cgiparams{'COMPRESSION'} eq 'on') {\r
-           $errormessage = $Lang::tr{'cannot enable both nat traversal and compression'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       my @temp = split('\|', $cgiparams{'IKE_ENCRYPTION'});\r
-       if ($#temp < 0) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       foreach my $val (@temp) {\r
-           if ($val !~ /^(aes256|aes128|3des|twofish256|twofish128|serpent256|serpent128|blowfish256|blowfish128|cast128)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ADVANCED_ERROR;\r
-           }\r
-       }\r
-       @temp = split('\|', $cgiparams{'IKE_INTEGRITY'});\r
-       if ($#temp < 0) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       foreach my $val (@temp) {\r
-           if ($val !~ /^(sha2_512|sha2_256|sha|md5)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ADVANCED_ERROR;\r
-           }\r
-       }\r
-       @temp = split('\|', $cgiparams{'IKE_GROUPTYPE'});\r
-       if ($#temp < 0) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       foreach my $val (@temp) {\r
-           if ($val !~ /^(768|1024|1536|2048|3072|4096|6144|8192)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ADVANCED_ERROR;\r
-           }\r
-       }\r
-       if ($cgiparams{'IKE_LIFETIME'} !~ /^\d+$/) {\r
-           $errormessage = $Lang::tr{'invalid input for ike lifetime'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 8) {\r
-           $errormessage = $Lang::tr{'ike lifetime should be between 1 and 8 hours'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       @temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});\r
-       if ($#temp < 0) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       foreach my $val (@temp) {\r
-           if ($val !~ /^(aes256|aes128|3des|twofish256|twofish128|serpent256|serpent128|blowfish256|blowfish128)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ADVANCED_ERROR;\r
-           }\r
-       }\r
-       @temp = split('\|', $cgiparams{'ESP_INTEGRITY'});\r
-       if ($#temp < 0) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       foreach my $val (@temp) {\r
-           if ($val !~ /^(sha2_512|sha2_256|sha1|md5)$/) {\r
-               $errormessage = $Lang::tr{'invalid input'};\r
-               goto ADVANCED_ERROR;\r
-           }\r
-       }\r
-       if ($cgiparams{'ESP_GROUPTYPE'} ne '' &&\r
-           $cgiparams{'ESP_GROUPTYPE'} !~  /^modp(768|1024|1536|2048|3072|4096)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-\r
-       if ($cgiparams{'ESP_KEYLIFE'} !~ /^\d+$/) {\r
-           $errormessage = $Lang::tr{'invalid input for esp keylife'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       if ($cgiparams{'ESP_KEYLIFE'} < 1 || $cgiparams{'ESP_KEYLIFE'} > 24) {\r
-           $errormessage = $Lang::tr{'esp keylife should be between 1 and 24 hours'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       if ($cgiparams{'ONLY_PROPOSED'} !~ /^(on|off)$/) {\r
-           $errormessage = $Lang::tr{'invalid input'};\r
-           goto ADVANCED_ERROR;\r
-       }\r
-       $confighash{$cgiparams{'KEY'}}[14] = $cgiparams{'NAT'};\r
-       $confighash{$cgiparams{'KEY'}}[13] = $cgiparams{'COMPRESSION'};\r
-       $confighash{$cgiparams{'KEY'}}[18] = $cgiparams{'IKE_ENCRYPTION'};\r
-       $confighash{$cgiparams{'KEY'}}[19] = $cgiparams{'IKE_INTEGRITY'};\r
-       $confighash{$cgiparams{'KEY'}}[20] = $cgiparams{'IKE_GROUPTYPE'};\r
-       $confighash{$cgiparams{'KEY'}}[16] = $cgiparams{'IKE_LIFETIME'};\r
-       $confighash{$cgiparams{'KEY'}}[21] = $cgiparams{'ESP_ENCRYPTION'};\r
-       $confighash{$cgiparams{'KEY'}}[22] = $cgiparams{'ESP_INTEGRITY'};\r
-       $confighash{$cgiparams{'KEY'}}[23] = $cgiparams{'ESP_GROUPTYPE'};\r
-       $confighash{$cgiparams{'KEY'}}[17] = $cgiparams{'ESP_KEYLIFE'};\r
-       $confighash{$cgiparams{'KEY'}}[24] = $cgiparams{'ONLY_PROPOSED'};\r
-       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);\r
-       &writeipsecfiles();\r
-       if ($vpnsettings{'ENABLED'} eq 'on' ||\r
-           $vpnsettings{'ENABLED_BLUE'} eq 'on') {\r
-           system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});\r
-           sleep $sleepDelay;\r
-       }\r
-       goto ADVANCED_END;\r
-    } else {\r
-\r
-       $cgiparams{'NAT'}            = $confighash{$cgiparams{'KEY'}}[14];\r
-       $cgiparams{'COMPRESSION'}    = $confighash{$cgiparams{'KEY'}}[13];\r
-       $cgiparams{'IKE_ENCRYPTION'} = $confighash{$cgiparams{'KEY'}}[18];\r
-       $cgiparams{'IKE_INTEGRITY'}  = $confighash{$cgiparams{'KEY'}}[19];\r
-       $cgiparams{'IKE_GROUPTYPE'}  = $confighash{$cgiparams{'KEY'}}[20];\r
-       $cgiparams{'IKE_LIFETIME'}   = $confighash{$cgiparams{'KEY'}}[16];\r
-       $cgiparams{'ESP_ENCRYPTION'} = $confighash{$cgiparams{'KEY'}}[21];\r
-       $cgiparams{'ESP_INTEGRITY'}  = $confighash{$cgiparams{'KEY'}}[22];\r
-       $cgiparams{'ESP_GROUPTYPE'}  = $confighash{$cgiparams{'KEY'}}[23];\r
-       $cgiparams{'ESP_KEYLIFE'}    = $confighash{$cgiparams{'KEY'}}[17];\r
-       $cgiparams{'ONLY_PROPOSED'}  = $confighash{$cgiparams{'KEY'}}[24];\r
\r
-       if ($confighash{$cgiparams{'KEY'}}[3] eq 'net' || $confighash{$cgiparams{'KEY'}}[10]) {\r
-           $cgiparams{'NAT'}            = 'off';\r
-       }\r
-    }\r
-\r
-    ADVANCED_ERROR:\r
-    $checked{'NAT'}{'off'} = '';\r
-    $checked{'NAT'}{'on'} = '';\r
-    $checked{'NAT'}{$cgiparams{'NAT'}} = "checked='checked'";\r
-    $checked{'COMPRESSION'}{'off'} = '';\r
-    $checked{'COMPRESSION'}{'on'} = '';\r
-    $checked{'COMPRESSION'}{$cgiparams{'COMPRESSION'}} = "checked='checked'";\r
-    $checked{'IKE_ENCRYPTION'}{'aes256'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'aes128'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'3des'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'twofish256'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'twofish128'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'serpent256'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'serpent128'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'blowfish256'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'blowfish128'} = '';\r
-    $checked{'IKE_ENCRYPTION'}{'cast128'} = '';\r
-    my @temp = split('\|', $cgiparams{'IKE_ENCRYPTION'});\r
-    foreach my $key (@temp) {$checked{'IKE_ENCRYPTION'}{$key} = "selected='selected'"; }\r
-    $checked{'IKE_INTEGRITY'}{'sha2_512'} = '';\r
-    $checked{'IKE_INTEGRITY'}{'sha2_256'} = '';\r
-    $checked{'IKE_INTEGRITY'}{'sha'} = '';\r
-    $checked{'IKE_INTEGRITY'}{'md5'} = '';\r
-    @temp = split('\|', $cgiparams{'IKE_INTEGRITY'});\r
-    foreach my $key (@temp) {$checked{'IKE_INTEGRITY'}{$key} = "selected='selected'"; }\r
-    $checked{'IKE_GROUPTYPE'}{'768'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'1024'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'1536'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'2048'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'3072'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'4096'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'6144'} = '';\r
-    $checked{'IKE_GROUPTYPE'}{'8192'} = '';\r
-    @temp = split('\|', $cgiparams{'IKE_GROUPTYPE'});\r
-    foreach my $key (@temp) {$checked{'IKE_GROUPTYPE'}{$key} = "selected='selected'"; }\r
-    $checked{'ESP_ENCRYPTION'}{'aes256'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'aes128'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'3des'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'twofish256'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'twofish128'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'serpent256'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'serpent128'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'blowfish256'} = '';\r
-    $checked{'ESP_ENCRYPTION'}{'blowfish128'} = '';\r
-    @temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});\r
-    foreach my $key (@temp) {$checked{'ESP_ENCRYPTION'}{$key} = "selected='selected'"; }\r
-    $checked{'ESP_INTEGRITY'}{'sha2_512'} = '';\r
-    $checked{'ESP_INTEGRITY'}{'sha2_256'} = '';\r
-    $checked{'ESP_INTEGRITY'}{'sha1'} = '';\r
-    $checked{'ESP_INTEGRITY'}{'md5'} = '';\r
-    @temp = split('\|', $cgiparams{'ESP_INTEGRITY'});\r
-    foreach my $key (@temp) {$checked{'ESP_INTEGRITY'}{$key} = "selected='selected'"; }\r
-    $checked{'ESP_GROUPTYPE'}{'modp768'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{'modp1024'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{'modp1536'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{'modp2048'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{'modp3072'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{'modp4096'} = '';\r
-    $checked{'ESP_GROUPTYPE'}{$cgiparams{'ESP_GROUPTYPE'}} = "selected='selected'";\r
-    $checked{'ONLY_PROPOSED'}{'off'} = '';\r
-    $checked{'ONLY_PROPOSED'}{'on'} = '';\r
-    $checked{'ONLY_PROPOSED'}{$cgiparams{'ONLY_PROPOSED'}} = "checked='checked'";\r
-\r
-    &Header::showhttpheaders();\r
-    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-    &Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-\r
-    if ($errormessage) {\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage";\r
-       print "&nbsp;</class>";\r
-       &Header::closebox();\r
-    }\r
-\r
-    if ($warnmessage) {\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'warning messages'});\r
-       print "<class name='base'>$warnmessage";\r
-       print "&nbsp;</class>";\r
-       &Header::closebox();\r
-    }\r
-\r
-    print "<form method='post' enctype='multipart/form-data'>\n";\r
-    print "<input type='hidden' name='ADVANCED' value='yes' />\n";\r
-    print "<input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />\n";\r
-\r
-    &Header::openbox('100%', 'LEFT', "$Lang::tr{'advanced'}:");\r
-    print "<table width='100%'>\n";\r
-    print "<tr><td width='25%' class='boldbase'>$Lang::tr{'compression'}</td>\n";\r
-    print "<td width='25%'><input type='checkbox' name='COMPRESSION' $checked{'COMPRESSION'}{'on'} /></td>\n";\r
-    if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {\r
-       print "<td width='25%'><input type='hidden' name='NAT' value='off' /></td><td width='25%'>&nbsp;</td></tr>\n";\r
-    } elsif ($confighash{$cgiparams{'KEY'}}[10]) {\r
-       print "<td width='25%' class='boldbase'>$Lang::tr{'nat-traversal'}</td>\n";\r
-       print "<td width='25%'><input type='checkbox' name='NAT' $checked{'NAT'}{'on'} disabled='disabled' /></td></tr>\n";\r
-    } else {\r
-       print "<td width='25%' class='boldbase'>$Lang::tr{'nat-traversal'}</td>\n";\r
-       print "<td width='25%'><input type='checkbox' name='NAT' $checked{'NAT'}{'on'} /></td></tr>\n";\r
-    }\r
-    print <<EOF\r
-       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike encryption'}</td>\r
-           <td width='25%' valign='top'><select name='IKE_ENCRYPTION' multiple='multiple' size='4'>\r
-                       <option value='aes256' $checked{'IKE_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>\r
-                       <option value='aes128' $checked{'IKE_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>\r
-                       <option value='3des' $checked{'IKE_ENCRYPTION'}{'3des'}>3DES</option>\r
-                       <option value='twofish256' $checked{'IKE_ENCRYPTION'}{'twofish256'}>Twofish (256 bit)</option>\r
-                       <option value='twofish128' $checked{'IKE_ENCRYPTION'}{'twofish128'}>Twofish (128 bit)</option>\r
-                       <option value='serpent256' $checked{'IKE_ENCRYPTION'}{'serpent256'}>Serpent (256 bit)</option>\r
-                       <option value='serpent128' $checked{'IKE_ENCRYPTION'}{'serpent128'}>Serpent (128 bit)</option>\r
-                       <option value='blowfish256' $checked{'IKE_ENCRYPTION'}{'blowfish256'}>Blowfish (256 bit)</option>\r
-                       <option value='blowfish128' $checked{'IKE_ENCRYPTION'}{'blowfish128'}>Blowfish (128 bit)</option>\r
-                       <option value='cast128' $checked{'IKE_ENCRYPTION'}{'cast128'}>Cast (128 bit)</option></SELECT></td>\r
-           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike integrity'}</td>\r
-           <td width='25%' valign='top'><select name='IKE_INTEGRITY' multiple='multiple' size='4'>\r
-                       <option value='sha2_512' $checked{'IKE_INTEGRITY'}{'sha2_512'}>SHA2 (512)</option>\r
-                       <option value='sha2_256' $checked{'IKE_INTEGRITY'}{'sha2_256'}>SHA2 (256)</option>\r
-                       <option value='sha' $checked{'IKE_INTEGRITY'}{'sha'}>SHA</option>\r
-                       <option value='md5' $checked{'IKE_INTEGRITY'}{'md5'}>MD5</option></SELECT></td></tr>\r
-       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike lifetime'}</td>\r
-           <td width='25%' valign='top'><input type='text' name='IKE_LIFETIME' value='$cgiparams{'IKE_LIFETIME'}' SIZE='5'> $Lang::tr{'hours'}</td>\r
-           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike grouptype'}</td>\r
-           <td width='25%' valign='top'><select name='IKE_GROUPTYPE' multiple='multiple' size='4'>\r
-                       <option value='8192' $checked{'IKE_GROUPTYPE'}{'8192'}>MODP-8192</option>\r
-                       <option value='6144' $checked{'IKE_GROUPTYPE'}{'6144'}>MODP-6144</option>\r
-                       <option value='4096' $checked{'IKE_GROUPTYPE'}{'4096'}>MODP-4096</option>\r
-                       <option value='3072' $checked{'IKE_GROUPTYPE'}{'3072'}>MODP-3072</option>\r
-                       <option value='2048' $checked{'IKE_GROUPTYPE'}{'2048'}>MODP-2048</option>\r
-                       <option value='1536' $checked{'IKE_GROUPTYPE'}{'1536'}>MODP-1536</option>\r
-                       <option value='1024' $checked{'IKE_GROUPTYPE'}{'1024'}>MODP-1024</option>\r
-                       <option value='768'  $checked{'IKE_GROUPTYPE'}{'768'}>MODP-768</option></select></td></tr>\r
-       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp encryption'}</td>\r
-           <td width='25%' valign='top'><select name='ESP_ENCRYPTION' multiple='multiple' size='4'>\r
-                       <option value='aes256' $checked{'ESP_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>\r
-                       <option value='aes128' $checked{'ESP_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>\r
-                       <option value='3des' $checked{'ESP_ENCRYPTION'}{'3des'}>3DES</option>\r
-                       <option value='twofish256' $checked{'ESP_ENCRYPTION'}{'twofish256'}>Twofish (256 bit)</option>\r
-                       <option value='twofish128' $checked{'ESP_ENCRYPTION'}{'twofish128'}>Twofish (128 bit)</option>\r
-                       <option value='serpent256' $checked{'ESP_ENCRYPTION'}{'serpent256'}>Serpent (256 bit)</option>\r
-                       <option value='serpent128' $checked{'ESP_ENCRYPTION'}{'serpent128'}>Serpent (128 bit)</option>\r
-                       <option value='blowfish256' $checked{'ESP_ENCRYPTION'}{'blowfish256'}>Blowfish (256 bit)</option>\r
-                       <option value='blowfish128' $checked{'ESP_ENCRYPTION'}{'blowfish128'}>Blowfish (128 bit)</option></select></td>\r
-           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp integrity'}</td>\r
-           <td width='25%' valign='top'><select name='ESP_INTEGRITY' multiple='multiple' size='4'>\r
-                       <option value='sha2_512' $checked{'ESP_INTEGRITY'}{'sha2_512'}>SHA2 (512)</option>\r
-                       <option value='sha2_256' $checked{'ESP_INTEGRITY'}{'sha2_256'}>SHA2 (256)</option>\r
-                       <option value='sha1' $checked{'ESP_INTEGRITY'}{'sha1'}>SHA1</option>\r
-                       <option value='md5' $checked{'ESP_INTEGRITY'}{'md5'}>MD5</option></select></td></tr>\r
-       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp keylife'}</td>\r
-           <td width='25%' valign='top'><input type='text' name='ESP_KEYLIFE' value='$cgiparams{'ESP_KEYLIFE'}' size='5' /> $Lang::tr{'hours'}</td>\r
-           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp grouptype'}</td>\r
-           <td width='25%' valign='top'><select name='ESP_GROUPTYPE'>\r
-                       <option value=''>$Lang::tr{'phase1 group'}</option>\r
-                       <option value='modp4096' $checked{'ESP_GROUPTYPE'}{'modp4096'}>MODP-4096</option>\r
-                       <option value='modp3072' $checked{'ESP_GROUPTYPE'}{'modp3072'}>MODP-3072</option>\r
-                       <option value='modp2048' $checked{'ESP_GROUPTYPE'}{'modp2048'}>MODP-2048</option>\r
-                       <option value='modp1536' $checked{'ESP_GROUPTYPE'}{'modp1536'}>MODP-1536</option>\r
-                       <option value='modp1024' $checked{'ESP_GROUPTYPE'}{'modp1024'}>MODP-1024</option>\r
-                       <option value='modp768'  $checked{'ESP_GROUPTYPE'}{'modp768'}>MODP-768</option></select></td></tr>\r
-       <tr><td colspan='4'><input type='CHECKBOX' name='ONLY_PROPOSED' $checked{'ONLY_PROPOSED'}{'on'} />\r
-               $Lang::tr{'use only proposed settings'}</td></tr>\r
-       </table>\r
-EOF\r
-    ;\r
-    &Header::closebox();\r
-    print "<div align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' />";\r
-    print "<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></div></form>";\r
-    &Header::closebigbox();\r
-    &Header::closepage();\r
-    exit(0);\r
-\r
-    ADVANCED_END:\r
-}\r
-\r
-###\r
-### Default status page\r
-###\r
-    %cgiparams = ();\r
-    %cahash = ();\r
-    %confighash = ();\r
-    &General::readhash("${General::swroot}/vpn/settings", \%cgiparams);\r
-    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);\r
-    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);\r
-\r
-    my @status = `/usr/sbin/ipsec auto --status`;\r
-\r
-    # suggest a default name for this side\r
-    if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") {\r
-       if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {\r
-           my $ipaddr = <IPADDR>;\r
-           close IPADDR;\r
-           chomp ($ipaddr);\r
-           $cgiparams{'VPN_IP'} = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];\r
-           if ($cgiparams{'VPN_IP'} eq '') {\r
-               $cgiparams{'VPN_IP'} = $ipaddr;\r
-           }\r
-       }\r
-    }\r
-    # no IP found, use %defaultroute\r
-    $cgiparams{'VPN_IP'} ='%defaultroute' if ($cgiparams{'VPN_IP'} eq '');\r
-    \r
-    $cgiparams{'VPN_DELAYED_START'} = 0 if (! defined ($cgiparams{'VPN_DELAYED_START'}));\r
-    map ($checked{$_} = $cgiparams{$_} eq 'on' ? "checked='checked'" : '',\r
-       ('ENABLED','ENABLED_BLUE','DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',\r
-        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));\r
-\r
-\r
-    &Header::showhttpheaders();\r
-    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');\r
-    &Header::openbigbox('100%', 'LEFT', '', $errormessage);\r
-\r
-    if ($errormessage) {\r
-       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-    }\r
-\r
-    &Header::openbox('100%', 'LEFT', $Lang::tr{'global settings'});\r
-    print <<END\r
-    <form method='post'>\r
-    <table width='100%'>\r
-    <tr>\r
-       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'local vpn hostname/ip'}:</td>\r
-       <td width='25%'><input type='text' name='VPN_IP' value='$cgiparams{'VPN_IP'}' /></td>\r
-       <td width='25%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'} /></td>\r
-    </tr>\r
-END\r
-    ;\r
-    if ($netsettings{'BLUE_DEV'} ne '') {\r
-    print <<END\r
-    <tr>\r
-       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'vpn on blue'}:</td>\r
-       <td></td>\r
-       <td width='25%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED_BLUE' $checked{'ENABLED_BLUE'} /></td>\r
-    </tr>\r
-END\r
-    ;\r
-    }\r
-print <<END\r
-       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'vpn delayed start'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td width='25%'><input type='text' name='VPN_DELAYED_START' value='$cgiparams{'VPN_DELAYED_START'}' /></td>\r
-       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'override mtu'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-       <td width='25%'><input type='text' name='VPN_OVERRIDE_MTU' value='$cgiparams{'VPN_OVERRIDE_MTU'}' /></td>\r
-</table>\r
-<table width='100%'>\r
-<tr><td>PLUTO DEBUG</td>\r
-    <td>crypt:<input type='checkbox' name='DBG_CRYPT' $checked{'DBG_CRYPT'} /></td>\r
-    <td>parsing:<input type='checkbox' name='DBG_PARSING' $checked{'DBG_PARSING'} /></td>\r
-    <td>emitting:<input type='checkbox' name='DBG_EMITTING' $checked{'DBG_EMITTING'} /></td>\r
-    <td>control:<input type='checkbox' name='DBG_CONTROL' $checked{'DBG_CONTROL'} /></td>\r
-    <td>klips:<input type='checkbox' name='DBG_KLIPS' $checked{'DBG_KLIPS'} /></td>\r
-    <td>dns:<input type='checkbox' name='DBG_DNS' $checked{'DBG_DNS'} /></td>\r
-    <td>nat_t:<input type='checkbox' name='DBG_NAT_T' $checked{'DBG_NAT_T'} /></td>\r
-</tr></table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>\r
-    <td width='70%' class='base'>$Lang::tr{'vpn delayed start help'}</td>\r
-    <td width='30%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>\r
-</tr>\r
-</table>\r
-END\r
-;              \r
-    print "</form>";\r
-    &Header::closebox();\r
-\r
-    &Header::openbox('100%', 'LEFT', $Lang::tr{'connection status and controlc'});\r
-    print <<END\r
-    <table width='100%' border='0' cellspacing='1' cellpadding='0'>\r
-    <tr>\r
-       <td width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>\r
-       <td width='22%' class='boldbase' align='center'><b>$Lang::tr{'type'}</b></td>\r
-       <td width='23%' class='boldbase' align='center'><b>$Lang::tr{'common name'}</b></td>\r
-       <td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b><br /><img src='/images/null.gif' width='125' height='1' border='0' alt='L2089' /></td>\r
-       <td width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></td>\r
-       <td width='5%' class='boldbase' colspan='6' align='center'><b>$Lang::tr{'action'}</b></td>\r
-    </tr>\r
-END\r
-    ;\r
-    my $id = 0;\r
-    my $gif;\r
-    foreach my $key (keys %confighash) {\r
-       if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }\r
-\r
-       if ($id % 2) {\r
-           print "<tr bgcolor='${Header::table1colour}'>\n";\r
-       } else {\r
-           print "<tr bgcolor='${Header::table2colour}'>\n";\r
-       }\r
-       print "<td align='center' nowrap='nowrap'>$confighash{$key}[1]</td>";\r
-       print "<td align='center' nowrap='nowrap'>" . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")</td>";\r
-       if ($confighash{$key}[4] eq 'cert') {\r
-           print "<td align='left' nowrap='nowrap'>$confighash{$key}[2]</td>";\r
-       } else {\r
-           print "<td align='left'>&nbsp;</td>";\r
-       }\r
-       print "<td align='center'>$confighash{$key}[25]</td>";\r
-       my $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";\r
-       if ($confighash{$key}[0] eq 'off') {\r
-           $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";\r
-       } else {\r
-           foreach my $line (@status) {\r
-               if ($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) {\r
-                   $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";\r
-               }\r
-           }\r
-       }\r
-       print <<END\r
-       <td align='center'>$active</td>\r
-       <form method='post' name='frm${key}a'><td align='center'>\r
-           <input type='image'  name='$Lang::tr{'restart'}' src='/images/reload.gif' alt='$Lang::tr{'restart'}' title='$Lang::tr{'restart'}' border='0' />\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'restart'}' />\r
-           <input type='hidden' name='KEY' value='$key' />\r
-       </td></form>\r
-END\r
-       ;\r
-       if ($confighash{$key}[4] eq 'cert') {\r
-           print <<END\r
-           <form method='post' name='frm${key}b'><td align='center'>\r
-               <input type='image' name='$Lang::tr{'show certificate'}' src='/images/info.gif' alt='$Lang::tr{'show certificate'}' title='$Lang::tr{'show certificate'}' border='0' />\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'show certificate'}' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form>\r
-END\r
-       ; } else {\r
-           print "<td>&nbsp;</td>";\r
-       }\r
-       if ($confighash{$key}[4] eq 'cert' && -f "${General::swroot}/certs/$confighash{$key}[1].p12") { \r
-           print <<END\r
-           <form method='post' name='frm${key}c'><td align='center'>\r
-               <input type='image' name='$Lang::tr{'download pkcs12 file'}' src='/images/floppy.gif' alt='$Lang::tr{'download pkcs12 file'}' title='$Lang::tr{'download pkcs12 file'}' border='0' />\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'download pkcs12 file'}' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form>\r
-END\r
-       ; } elsif ($confighash{$key}[4] eq 'cert') {\r
-           print <<END\r
-           <form method='post' name='frm${key}c'><td align='center'>\r
-               <input type='image' name='$Lang::tr{'download certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' title='$Lang::tr{'download certificate'}' border='0' />\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'download certificate'}' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form>\r
-END\r
-       ; } else {\r
-           print "<td>&nbsp;</td>";\r
-       }\r
-       print <<END\r
-       <form method='post' name='frm${key}d'><td align='center'>\r
-           <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$Lang::tr{'toggle enable disable'}' title='$Lang::tr{'toggle enable disable'}' border='0' />\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-           <input type='hidden' name='KEY' value='$key' />\r
-       </td></form>\r
-\r
-       <form method='post' name='frm${key}e'><td align='center'>\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-           <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'/>\r
-           <input type='hidden' name='KEY' value='$key' />\r
-       </td></form>\r
-       <form method='post' name='frm${key}f'><td align='center'>\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-           <input type='image'  name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0' />\r
-           <input type='hidden' name='KEY' value='$key' />\r
-       </td></form>\r
-       </tr>\r
-END\r
-       ;\r
-       $id++;\r
-    }\r
-    ;\r
-\r
-    # If the config file contains entries, print Key to action icons\r
-    if ( $id ) {\r
-    print <<END\r
-    <table>\r
-    <tr>\r
-       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>\r
-       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/info.gif' alt='$Lang::tr{'show certificate'}' /></td>\r
-       <td class='base'>$Lang::tr{'show certificate'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-    </tr>\r
-    <tr>\r
-       <td>&nbsp; </td>\r
-       <td>&nbsp; <img src='/images/off.gif' alt='?OFF' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='?FLOPPY' /></td>\r
-       <td class='base'>$Lang::tr{'download certificate'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/reload.gif' alt='?RELOAD'/></td>\r
-       <td class='base'>$Lang::tr{'restart'}</td>\r
-    </tr>\r
-    </table>\r
-END\r
-    ;\r
-    }\r
-\r
-    print <<END\r
-    <table width='100%'>\r
-    <form method='post'>\r
-    <tr><td align='center' colspan='9'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>\r
-    </form>\r
-    </table>\r
-END\r
-    ;\r
-    &Header::closebox();\r
-\r
-    &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate authorities'}:");\r
-    print <<EOF\r
-    <table width='100%' border='0' cellspacing='1' cellpadding='0'>\r
-    <tr>\r
-       <td width='25%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>\r
-       <td width='65%' class='boldbase' align='center'><b>$Lang::tr{'subject'}</b></td>\r
-       <td width='10%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>\r
-    </tr>\r
-EOF\r
-    ;\r
-    if (-f "${General::swroot}/ca/cacert.pem") {\r
-       my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/cacert.pem`;\r
-       $casubject    =~ /Subject: (.*)[\n]/;\r
-       $casubject    = $1;\r
-       $casubject    =~ s+/Email+, E+;\r
-       $casubject    =~ s/ ST=/ S=/;\r
-\r
-       print <<END\r
-       <tr bgcolor='${Header::table2colour}'>\r
-       <td class='base'>$Lang::tr{'root certificate'}</td>\r
-       <td class='base'>$casubject</td>\r
-       <form method='post' name='frmrootcrta'><td width='3%' align='center'>\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'show root certificate'}' />\r
-           <input type='image' name='$Lang::tr{'edit'}' src='/images/info.gif' alt='$Lang::tr{'show root certificate'}' title='$Lang::tr{'show root certificate'}' width='20' height='20' border='0' />\r
-       </td></form>\r
-       <form method='post' name='frmrootcrtb'><td width='3%' align='center'>\r
-           <input type='image' name='$Lang::tr{'download root certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download root certificate'}' title='$Lang::tr{'download root certificate'}' border='0' />\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'download root certificate'}' />\r
-       </td></form>\r
-       <td width='4%'>&nbsp;</td></tr>\r
-END\r
-       ;\r
-    } else {\r
-       # display rootcert generation buttons\r
-       print <<END\r
-       <tr bgcolor='${Header::table2colour}'>\r
-       <td class='base'>$Lang::tr{'root certificate'}:</td>\r
-       <td class='base'>$Lang::tr{'not present'}</td>\r
-       <td colspan='3'>&nbsp;</td></tr>\r
-END\r
-       ;\r
-    }\r
-\r
-    if (-f "${General::swroot}/certs/hostcert.pem") {\r
-       my $hostsubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/hostcert.pem`;\r
-       $hostsubject    =~ /Subject: (.*)[\n]/;\r
-       $hostsubject    = $1;\r
-       $hostsubject    =~ s+/Email+, E+;\r
-       $hostsubject    =~ s/ ST=/ S=/;\r
-\r
-       print <<END\r
-       <tr bgcolor='${Header::table1colour}'>\r
-       <td class='base'>$Lang::tr{'host certificate'}</td>\r
-       <td class='base'>$hostsubject</td>\r
-       <form method='post' name='frmhostcrta'><td width='3%' align='center'>\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'show host certificate'}' />\r
-           <input type='image' name='$Lang::tr{'show host certificate'}' src='/images/info.gif' alt='$Lang::tr{'show host certificate'}' title='$Lang::tr{'show host certificate'}' width='20' height='20' border='0' />\r
-       </td></form>\r
-       <form method='post' name='frmhostcrtb'><td width='3%' align='center'>\r
-           <input type='image' name='$Lang::tr{'download host certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download host certificate'}' title='$Lang::tr{'download host certificate'}' border='0' />\r
-           <input type='hidden' name='ACTION' value='$Lang::tr{'download host certificate'}' />\r
-       </td></form>\r
-       <td width='4%'>&nbsp;</td></tr>\r
-END\r
-       ;\r
-    } else {\r
-       # Nothing\r
-       print <<END\r
-       <tr bgcolor='${Header::table1colour}'>\r
-       <td width='25%' class='base'>$Lang::tr{'host certificate'}:</td>\r
-       <td class='base'>$Lang::tr{'not present'}</td>\r
-       </td><td colspan='3'>&nbsp;</td></tr>\r
-END\r
-       ;\r
-    }\r
-\r
-    if (! -f "${General::swroot}/ca/cacert.pem") {\r
-        print "<tr><td colspan='5' align='center'><form method='post'>";\r
-       print "<input type='submit' name='ACTION' value='$Lang::tr{'generate root/host certificates'}' />";\r
-        print "</form></td></tr>\n";\r
-    }\r
-\r
-    if (keys %cahash > 0) {\r
-       foreach my $key (keys %cahash) {\r
-           if (($key + 1) % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n";\r
-           } else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n";\r
-           }\r
-           print "<td class='base'>$cahash{$key}[0]</td>\n";\r
-           print "<td class='base'>$cahash{$key}[1]</td>\n";\r
-           print <<END\r
-           <form method='post' name='cafrm${key}a'><td align='center'>\r
-               <input type='image' name='$Lang::tr{'show ca certificate'}' src='/images/info.gif' alt='$Lang::tr{'show ca certificate'}' title='$Lang::tr{'show ca certificate'}' border='0' />\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'show ca certificate'}' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form>\r
-           <form method='post' name='cafrm${key}b'><td align='center'>\r
-               <input type='image' name='$Lang::tr{'download ca certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download ca certificate'}' title='$Lang::tr{'download ca certificate'}' border='0' />\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'download ca certificate'}' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form>\r
-           <form method='post' name='cafrm${key}c'><td align='center'>\r
-               <input type='hidden' name='ACTION' value='$Lang::tr{'remove ca certificate'}' />\r
-               <input type='image'  name='$Lang::tr{'remove ca certificate'}' src='/images/delete.gif' alt='$Lang::tr{'remove ca certificate'}' title='$Lang::tr{'remove ca certificate'}' width='20' height='20' border='0' />\r
-               <input type='hidden' name='KEY' value='$key' />\r
-           </td></form></tr>\r
-END\r
-           ;\r
-       }\r
-    }\r
-\r
-    print "</table>";\r
-\r
-    # If the file contains entries, print Key to action icons\r
-    if ( -f "${General::swroot}/ca/cacert.pem") {\r
-    print <<END\r
-    <table>\r
-    <tr>\r
-       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>\r
-       <td>&nbsp; &nbsp; <img src='/images/info.gif' alt='$Lang::tr{'show certificate'}' /></td>\r
-       <td class='base'>$Lang::tr{'show certificate'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' /></td>\r
-       <td class='base'>$Lang::tr{'download certificate'}</td>\r
-    </tr>\r
-    </table>\r
-END\r
-    ;\r
-    }\r
-    print <<END\r
-    <form method='post' enctype='multipart/form-data'>\r
-    <table width='100%' border='0' cellspacing='1' cellpadding='0'>\r
-    <tr><td class='base' nowrap='nowrap'>$Lang::tr{'ca name'}:</td>\r
-    <td nowrap='nowrap'><input type='text' name='CA_NAME' value='$cgiparams{'CA_NAME'}' size='15' />\r
-    <td nowrap='nowrap'><input type='file' name='FH' size='30' /></td>\r
-    <td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'upload ca certificate'}' /></td>\r
-    </tr></table></form>\r
-END\r
-    ;\r
-    &Header::closebox();\r
-\r
-    print "<div align='center'><form method='post'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></div></form>\n";\r
-    print "$Lang::tr{'this feature has been sponsored by'} : ";\r
-    print "<a href='http://www.seminolegas.com/' target='_blank'>Seminole Canada Gas Company</a>.\n";\r
-\r
-    &Header::closebigbox();\r
-    &Header::closepage();\r
+#!/usr/bin/perl
+#
+# This file is part of the IPCop Firewall.
+#
+# IPCop is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# IPCop is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IPCop; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Copyright (C) 2003-05-25 Mark Wormgoor <mark@wormgoor.com>
+#
+# $Id: vpnmain.cgi,v 1.10.2.69 2006/01/31 02:07:19 franck78 Exp $
+#
+
+use Net::DNS;
+use File::Copy;
+use File::Temp qw/ tempfile tempdir /;
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+require "${General::swroot}/countries.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colourgreen} );
+undef (@dummy);
+
+###
+### Initialize variables
+###
+my $sleepDelay = '4s'; # after a call to ipsecctrl S or R, wait this delay (seconds) before reading status
+                       # (let the ipsec do its job)
+my %netsettings=();
+my %cgiparams=();
+my %vpnsettings=();
+my %checked=();
+my %confighash=();
+my %cahash=();
+my %selected=();
+my $warnmessage = '';
+my $errormessage = '';
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+$cgiparams{'ENABLED'} = 'off';
+$cgiparams{'ENABLED_BLUE'} = 'off';
+$cgiparams{'EDIT_ADVANCED'} = 'off';
+$cgiparams{'NAT'} = 'off';
+$cgiparams{'COMPRESSION'} = 'off';
+$cgiparams{'ONLY_PROPOSED'} = 'off';
+$cgiparams{'ACTION'} = '';
+$cgiparams{'CA_NAME'} = '';
+$cgiparams{'DBG_CRYPT'} = '';
+$cgiparams{'DBG_PARSING'} = '';
+$cgiparams{'DBG_EMITTING'} = '';
+$cgiparams{'DBG_CONTROL'} = '';
+$cgiparams{'DBG_KLIPS'} = '';
+$cgiparams{'DBG_DNS'} = '';
+$cgiparams{'DBG_NAT_T'} = '';
+
+&Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
+
+###
+### Useful functions
+###
+sub valid_dns_host {
+       my $hostname = $_[0];
+       unless ($hostname) { return "No hostname"};
+       my $res = new Net::DNS::Resolver;
+       my $query = $res->search("$hostname");
+       if ($query) {
+               foreach my $rr ($query->answer) {
+                       ## Potential bug - we are only looking at A records:
+                       return 0 if $rr->type eq "A";
+               }
+       } else {
+               return $res->errorstring;
+       }
+}
+
+#
+# old version: maintain serial number to one, without explication. 
+# this      : let the counter go, so that each cert is numbered.
+#
+sub cleanssldatabase
+{
+    if (open(FILE, ">${General::swroot}/certs/serial")) {
+       print FILE "01";
+       close FILE;
+    }
+    if (open(FILE, ">${General::swroot}/certs/index.txt")) {
+       print FILE "";
+       close FILE;
+    }
+    unlink ("${General::swroot}/certs/index.txt.old");
+    unlink ("${General::swroot}/certs/serial.old");
+    unlink ("${General::swroot}/certs/01.pem");
+}
+sub newcleanssldatabase
+{
+    if (! -s "${General::swroot}/certs/serial" )  {
+        open(FILE, ">${General::swroot}/certs/serial");
+       print FILE "01";
+       close FILE;
+    }
+    if (! -s ">${General::swroot}/certs/index.txt") {
+       system ("touch ${General::swroot}/certs/index.txt");
+    }
+    unlink ("${General::swroot}/certs/index.txt.old");
+    unlink ("${General::swroot}/certs/serial.old");
+#   unlink ("${General::swroot}/certs/01.pem");                numbering evolves. Wrong place to delete
+}
+                                                           
+sub writeipsecfiles {
+    my %lconfighash = ();
+    my %lvpnsettings = ();
+    &General::readhasharray("${General::swroot}/vpn/config", \%lconfighash);
+    &General::readhash("${General::swroot}/vpn/settings", \%lvpnsettings);
+
+    open(CONF,    ">${General::swroot}/vpn/ipsec.conf") or die "Unable to open ${General::swroot}/vpn/ipsec.conf: $!";
+    open(SECRETS, ">${General::swroot}/vpn/ipsec.secrets") or die "Unable to open ${General::swroot}/vpn/ipsec.secrets: $!";
+    flock CONF, 2;
+    flock SECRETS, 2;
+    print CONF "config setup\n";
+    if ($lvpnsettings{'ENABLED_BLUE'} eq 'on')
+    {
+       if ($lvpnsettings{'ENABLED'} eq 'on')
+       {
+               print CONF "\tinterfaces=\"%defaultroute ipsec1=$netsettings{'BLUE_DEV'}\"\n";
+       } else {
+               print CONF "\tinterfaces=ipsec0=$netsettings{'BLUE_DEV'}\n";
+       }
+    } else {
+       print CONF "\tinterfaces=%defaultroute\n";
+    }
+    
+    my $plutodebug = '';                       # build debug list
+    map ($plutodebug .= $lvpnsettings{$_} eq 'on' ? lc (substr($_,4)).' ' : '',
+       ('DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',
+        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));
+    $plutodebug = 'none' if $plutodebug eq '';  # if nothing selected, use 'none'.
+    print CONF "\tklipsdebug=none\n";
+    print CONF "\tplutodebug=\"$plutodebug\"\n";
+    print CONF "\tplutoload=%search\n";
+    print CONF "\tplutostart=%search\n";
+    print CONF "\tuniqueids=yes\n";
+    print CONF "\tnat_traversal=yes\n";
+    print CONF "\toverridemtu=$lvpnsettings{'VPN_OVERRIDE_MTU'}\n" if ($lvpnsettings{'VPN_OVERRIDE_MTU'} ne '');
+    print CONF "\tvirtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16";
+    print CONF ",%v4:!$netsettings{'GREEN_NETADDRESS'}/$netsettings{'GREEN_NETMASK'}";
+    if (length($netsettings{'ORANGE_DEV'}) > 2) {
+       print CONF ",%v4:!$netsettings{'ORANGE_NETADDRESS'}/$netsettings{'ORANGE_NETMASK'}";
+    }
+    if (length($netsettings{'BLUE_DEV'}) > 2) {
+       print CONF ",%v4:!$netsettings{'BLUE_NETADDRESS'}/$netsettings{'BLUE_NETMASK'}";
+    }
+    foreach my $key (keys %lconfighash) {
+       if ($lconfighash{$key}[3] eq 'net') {
+           print CONF ",%v4:!$lconfighash{$key}[11]";
+       }
+    }
+    print CONF "\n\n";
+    print CONF "conn %default\n";
+    print CONF "\tkeyingtries=0\n";
+    print CONF "\tdisablearrivalcheck=no\n";
+    print CONF "\n";
+
+    if (-f "${General::swroot}/certs/hostkey.pem") {
+        print SECRETS ": RSA ${General::swroot}/certs/hostkey.pem\n"
+    }
+
+    foreach my $key (keys %lconfighash) {
+       if ($lconfighash{$key}[0] eq 'on') {
+           if ($lconfighash{$key}[10] eq '') { $lconfighash{$key}[10] = '%any'; }
+
+           print CONF "conn $lconfighash{$key}[1]\n";
+           #always choose LEFT localside for roadwarrior
+           if ($lconfighash{$key}[3] eq 'host' || $lconfighash{$key}[6] eq 'left') {
+               if ($lconfighash{$key}[26] eq 'BLUE')
+               {
+                   print CONF "\tleft=$netsettings{'BLUE_ADDRESS'}\n";
+#                  print CONF "\tleftnexthop=$netsettings{'BLUE_NETADDRESS'}\n";
+               } 
+               elsif ($lconfighash{$key}[26] eq 'ORANGE')
+               {
+                   print CONF "\tleft=$netsettings{'ORANGE_ADDRESS'}\n";
+               } 
+               elsif ($lconfighash{$key}[26] eq 'GREEN')
+               {
+                   print CONF "\tleft=$netsettings{'GREEN_ADDRESS'}\n";
+               } 
+               elsif ($lconfighash{$key}[26] eq 'RED')
+               {
+                   print CONF "\tleft=$lvpnsettings{'VPN_IP'}\n";
+                   print CONF "\tleftnexthop=%defaultroute\n" if ($lvpnsettings{'VPN_IP'} ne '%defaultroute');
+               }
+               print CONF "\tleftsubnet=$lconfighash{$key}[8]\n";
+               print CONF "\tright=$lconfighash{$key}[10]\n";
+               if ($lconfighash{$key}[3] eq 'net') {
+                   print CONF "\trightsubnet=$lconfighash{$key}[11]\n";
+                   print CONF "\trightnexthop=%defaultroute\n";
+               } elsif ($lconfighash{$key}[10] eq '%any' && $lconfighash{$key}[14] eq 'on') {
+                   print CONF "\trightsubnet=vhost:%no,%priv\n";
+               }
+               if ($lconfighash{$key}[4] eq 'cert') {
+                   print CONF "\tleftcert=${General::swroot}/certs/hostcert.pem\n";
+                   print CONF "\trightcert=${General::swroot}/certs/$lconfighash{$key}[1]cert.pem\n";
+               }
+           } else {
+               print CONF "\tright=$lvpnsettings{'VPN_IP'}\n";
+               print CONF "\trightsubnet=$lconfighash{$key}[8]\n";
+               print CONF "\trightnexthop=%defaultroute\n"  if ($lvpnsettings{'VPN_IP'} ne '%defaultroute');
+               print CONF "\tleft=$lconfighash{$key}[10]\n";
+               if ($lconfighash{$key}[3] eq 'net') {
+                   print CONF "\tleftsubnet=$lconfighash{$key}[11]\n";
+                   print CONF "\tleftnexthop=%defaultroute\n";
+               }
+               if ($lconfighash{$key}[4] eq 'cert') {
+                   print CONF "\trightcert=${General::swroot}/certs/hostcert.pem\n";
+                   print CONF "\tleftcert=${General::swroot}/certs/$lconfighash{$key}[1]cert.pem\n";
+               }
+           }
+           print CONF "\tleftid=$lconfighash{$key}[7]\n" if ($lconfighash{$key}[7]);
+           print CONF "\trightid=$lconfighash{$key}[9]\n" if ($lconfighash{$key}[9]);
+
+           # Algorithms
+           if ($lconfighash{$key}[18] && $lconfighash{$key}[19] && $lconfighash{$key}[20]) {
+               print CONF "\tike=";
+               my @encs   = split('\|', $lconfighash{$key}[18]);
+               my @ints   = split('\|', $lconfighash{$key}[19]);
+               my @groups = split('\|', $lconfighash{$key}[20]);
+               my $comma = 0;
+               foreach my $i (@encs) {
+                   foreach my $j (@ints) {
+                       foreach my $k (@groups) {
+                           if ($comma != 0) { print CONF ","; } else { $comma = 1; }
+                           print CONF "$i-$j-modp$k";
+                       }
+                   }
+               }
+               if ($lconfighash{$key}[24] eq 'on') {
+                   print CONF "!\n";
+               } else {
+                   print CONF "\n";
+               }
+           }
+           if ($lconfighash{$key}[21] && $lconfighash{$key}[22]) {
+               print CONF "\tesp=";
+               my @encs   = split('\|', $lconfighash{$key}[21]);
+               my @ints   = split('\|', $lconfighash{$key}[22]);
+               my $comma = 0;
+               foreach my $i (@encs) {
+                   foreach my $j (@ints) {
+                       if ($comma != 0) { print CONF ","; } else { $comma = 1; }
+                       print CONF "$i-$j";
+                   }
+               }
+               if ($lconfighash{$key}[24] eq 'on') {
+                   print CONF "!\n";
+               } else {
+                   print CONF "\n";
+               }
+           }
+           if ($lconfighash{$key}[23]) {
+               print CONF "\tpfsgroup=$lconfighash{$key}[23]\n";
+           }
+
+           # Lifetimes
+           if ($lconfighash{$key}[16]) {
+               print CONF "\tikelifetime=$lconfighash{$key}[16]h\n";
+           }
+           if ($lconfighash{$key}[17]) {
+               print CONF "\tkeylife=$lconfighash{$key}[17]h\n";
+           }
+
+           # Compression
+           if ($lconfighash{$key}[13] eq 'on') {
+               print CONF "\tcompress=yes\n";
+           }
+
+           # Dead Peer Detection
+           print CONF "\tdpddelay=30\n";
+           print CONF "\tdpdtimeout=120\n";
+           print CONF "\tdpdaction=$lconfighash{$key}[27]\n";
+           
+           # Disable pfs ?
+           print CONF "\tpfs=$lconfighash{$key}[28]\n";
+
+           # Print Authentication details
+           if ($lconfighash{$key}[4] eq 'psk') {
+               if ($lconfighash{$key}[6] eq 'left'){
+                   if ($lconfighash{$key}[26] eq 'BLUE') {
+                       print SECRETS ($lconfighash{$key}[7] ? $lconfighash{$key}[7] : $netsettings{'BLUE_ADDRESS'}) . " ";
+                       print SECRETS $lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lconfighash{$key}[10];
+                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";
+                   } else {
+                       print SECRETS ($lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lvpnsettings{'VPN_IP'}) . " ";
+                       print SECRETS $lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lconfighash{$key}[10];
+                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";
+                   }
+               } else {
+                   if ($lconfighash{$key}[26] eq 'BLUE') {
+                       print SECRETS ($lconfighash{$key}[9] ? $lconfighash{$key}[9] : $netsettings{'BLUE_ADDRESS'}) . " ";
+                       print SECRETS $lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lconfighash{$key}[10];
+                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";
+                   } else {
+                       print SECRETS ($lconfighash{$key}[9] ? $lconfighash{$key}[9] : $lvpnsettings{'VPN_IP'}) . " ";
+                       print SECRETS $lconfighash{$key}[7] ? $lconfighash{$key}[7] : $lconfighash{$key}[10];
+                       print SECRETS " : PSK \"$lconfighash{$key}[5]\"\n";
+                   }
+               }
+
+               print CONF "\tauthby=secret\n";
+           } else {
+               print CONF "\tauthby=rsasig\n";
+           }
+
+           # Automatically start only if a net-to-net connection
+           if ($lconfighash{$key}[3] eq 'host') {
+               print CONF "\tauto=add\n";
+           } else {
+               print CONF "\tauto=start\n";
+           }
+           print CONF "\n";
+       }#on
+    }#foreach key
+
+    close(CONF);
+    close(SECRETS);
+}
+
+###
+### Save main settings
+###
+if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    unless (&General::validfqdn($cgiparams{'VPN_IP'}) || &General::validip($cgiparams{'VPN_IP'})
+           || $cgiparams{'VPN_IP'} eq '%defaultroute' ) {
+       $errormessage = $Lang::tr{'invalid input for hostname'};
+       goto SAVE_ERROR;
+    }
+
+    unless ($cgiparams{'VPN_DELAYED_START'} =~ /^[0-9]{1,3}$/ ) { #allow 0-999 seconds !
+       $errormessage = $Lang::tr{'invalid time period'};
+       goto SAVE_ERROR;
+    }
+
+    unless ($cgiparams{'VPN_OVERRIDE_MTU'} =~ /^(|[0-9]{1,5})$/ ) { #allow 0-99999
+       $errormessage = $Lang::tr{'vpn mtu invalid'};
+       goto SAVE_ERROR;
+    }
+
+    map ($vpnsettings{$_} = $cgiparams{$_},
+       ('ENABLED','ENABLED_BLUE','DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',
+        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));
+
+    $vpnsettings{'VPN_IP'} = $cgiparams{'VPN_IP'};
+    $vpnsettings{'VPN_DELAYED_START'} = $cgiparams{'VPN_DELAYED_START'};
+    $vpnsettings{'VPN_OVERRIDE_MTU'} = $cgiparams{'VPN_OVERRIDE_MTU'};
+    &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &writeipsecfiles();
+    if ($vpnsettings{'ENABLED'} eq 'on' ||
+       $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+       system('/usr/local/bin/ipsecctrl', 'S');
+    } else {
+       system('/usr/local/bin/ipsecctrl', 'D');
+    }
+    sleep $sleepDelay;
+    SAVE_ERROR:
+###
+### Reset all step 2
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'} && $cgiparams{'AREUSURE'} eq 'yes') {
+    my $file = '';
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    foreach my $key (keys %confighash) {
+       if ($confighash{$key}[4] eq 'cert') {
+           delete $confighash{$key};
+       }
+    }
+    while ($file = glob("${General::swroot}/{ca,certs,crls,private}/*")) {
+       unlink $file
+    }
+    &cleanssldatabase();
+    if (open(FILE, ">${General::swroot}/vpn/caconfig")) {
+        print FILE "";
+        close FILE;
+    }
+    &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+    &writeipsecfiles();
+    system('/usr/local/bin/ipsecctrl', 'R');
+    sleep $sleepDelay;
+
+###
+### Reset all step 1
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'}) {
+    &Header::showhttpheaders();
+    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+    &Header::openbigbox('100%', 'LEFT', '', '');
+    &Header::openbox('100%', 'LEFT', $Lang::tr{'are you sure'});
+    print <<END
+       <table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />
+           <tr><td align='center'>
+               <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: 
+               $Lang::tr{'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections'}
+           <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' />
+               <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td></tr>
+       </form></table>
+END
+    ;
+    &Header::closebox();
+    &Header::closebigbox();
+    &Header::closepage();
+    exit (0);
+
+###
+### Upload CA Certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload ca certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+
+    if ($cgiparams{'CA_NAME'} !~ /^[a-zA-Z0-9]+$/) {
+       $errormessage = $Lang::tr{'name must only contain characters'};
+       goto UPLOADCA_ERROR;
+    }
+
+    if (length($cgiparams{'CA_NAME'}) >60) {
+       $errormessage = $Lang::tr{'name too long'};
+       goto VPNCONF_ERROR;
+    }
+
+    if ($cgiparams{'CA_NAME'} eq 'ca') {
+       $errormessage = $Lang::tr{'name is invalid'};
+       goto UPLOAD_CA_ERROR;
+    }
+
+    # Check if there is no other entry with this name
+    foreach my $key (keys %cahash) {
+       if ($cahash{$key}[0] eq $cgiparams{'CA_NAME'}) {
+           $errormessage = $Lang::tr{'a ca certificate with this name already exists'};
+           goto UPLOADCA_ERROR;
+       }
+    }
+
+    if (ref ($cgiparams{'FH'}) ne 'Fh') {
+       $errormessage = $Lang::tr{'there was no file upload'};
+       goto UPLOADCA_ERROR;
+    }
+    # Move uploaded ca to a temporary file
+    (my $fh, my $filename) = tempfile( );
+    if (copy ($cgiparams{'FH'}, $fh) != 1) {
+       $errormessage = $!;
+       goto UPLOADCA_ERROR;
+    }
+    my $temp = `/usr/bin/openssl x509 -text -in $filename`;
+    if ($temp !~ /CA:TRUE/i) {
+       $errormessage = $Lang::tr{'not a valid ca certificate'};
+       unlink ($filename);
+       goto UPLOADCA_ERROR;
+    } else {
+       move($filename, "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem");
+       if ($? ne 0) {
+           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+           unlink ($filename);
+           goto UPLOADCA_ERROR;
+       }
+    }
+
+    my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem`;
+    $casubject    =~ /Subject: (.*)[\n]/;
+    $casubject    = $1;
+    $casubject    =~ s+/Email+, E+;
+    $casubject    =~ s/ ST=/ S=/;
+    $casubject    = &Header::cleanhtml($casubject);
+
+    my $key = &General::findhasharraykey (\%cahash);
+    $cahash{$key}[0] = $cgiparams{'CA_NAME'};
+    $cahash{$key}[1] = $casubject;
+    &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
+    system('/usr/local/bin/ipsecctrl', 'R');
+    sleep $sleepDelay;
+
+    UPLOADCA_ERROR:
+
+###
+### Display ca certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show ca certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+
+    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem") {
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', '');
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'ca certificate'}:");
+       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
+       $output = &Header::cleanhtml($output,"y");
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+       print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
+       &Header::closebigbox();
+       &Header::closepage();
+       exit(0);
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Download ca certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download ca certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+
+    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
+       print "Content-Type: application/octet-stream\r\n";
+       print "Content-Disposition: filename=$cahash{$cgiparams{'KEY'}}[0]cert.pem\r\n\r\n";
+       print `/usr/bin/openssl x509 -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
+       exit(0);
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Remove ca certificate (step 2)
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove ca certificate'} && $cgiparams{'AREUSURE'} eq 'yes') {
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+
+    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
+       foreach my $key (keys %confighash) {
+           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;
+           if ($test =~ /: OK/) {
+               # Delete connection
+               if ($vpnsettings{'ENABLED'} eq 'on' ||
+                   $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+                   system('/usr/local/bin/ipsecctrl', 'D', $key);
+               }
+               unlink ("${General::swroot}/certs/$confighash{$key}[1]cert.pem");
+               unlink ("${General::swroot}/certs/$confighash{$key}[1].p12");
+               delete $confighash{$key};
+               &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+               &writeipsecfiles();
+           }
+       }
+       unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+       delete $cahash{$cgiparams{'KEY'}};
+       &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
+       system('/usr/local/bin/ipsecctrl', 'R');
+       sleep $sleepDelay;
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+###
+### Remove ca certificate (step 1)
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove ca certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+
+    my $assignedcerts = 0;
+    if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
+       foreach my $key (keys %confighash) {
+           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;
+           if ($test =~ /: OK/) {
+               $assignedcerts++;
+           }
+       }
+       if ($assignedcerts) {
+           &Header::showhttpheaders();
+           &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+           &Header::openbigbox('100%', 'LEFT', '', '');
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'are you sure'});
+           print <<END
+               <table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />
+                      <input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />
+                   <tr><td align='center'>
+                       <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: $assignedcerts
+                       $Lang::tr{'connections are associated with this ca.  deleting the ca will delete these connections as well.'}
+                   <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'remove ca certificate'}' />
+                       <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td></tr>
+               </form></table>
+END
+           ;
+           &Header::closebox();
+           &Header::closebigbox();
+           &Header::closepage();
+           exit (0);
+       } else {
+           unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+           delete $cahash{$cgiparams{'KEY'}};
+           &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
+           system('/usr/local/bin/ipsecctrl', 'R');
+           sleep $sleepDelay;
+       }
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Display root certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'} ||
+       $cgiparams{'ACTION'} eq $Lang::tr{'show host certificate'}) {
+    my $output;
+    &Header::showhttpheaders();
+    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+    &Header::openbigbox('100%', 'LEFT', '', '');
+    if ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'}) {
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'root certificate'}:");
+       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/cacert.pem`;
+    } else {
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'host certificate'}:");
+       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/hostcert.pem`;
+    }
+    $output = &Header::cleanhtml($output,"y");
+    print "<pre>$output</pre>\n";
+    &Header::closebox();
+    print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
+    &Header::closebigbox();
+    &Header::closepage();
+    exit(0);
+
+###
+### Download root certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download root certificate'}) {
+    if ( -f "${General::swroot}/ca/cacert.pem" ) {
+       print "Content-Type: application/octet-stream\r\n";
+       print "Content-Disposition: filename=cacert.pem\r\n\r\n";
+       print `/usr/bin/openssl x509 -in ${General::swroot}/ca/cacert.pem`;
+       exit(0);
+    }
+###
+### Download host certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download host certificate'}) {
+    if ( -f "${General::swroot}/certs/hostcert.pem" ) {
+       print "Content-Type: application/octet-stream\r\n";
+       print "Content-Disposition: filename=hostcert.pem\r\n\r\n";
+       print `/usr/bin/openssl x509 -in ${General::swroot}/certs/hostcert.pem`;
+       exit(0);
+    }
+###
+### Form for generating a root certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'generate root/host certificates'} ||
+        $cgiparams{'ACTION'} eq $Lang::tr{'upload p12 file'}) {
+
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    if (-f "${General::swroot}/ca/cacert.pem") {
+       $errormessage = $Lang::tr{'valid root certificate already exists'};
+       $cgiparams{'ACTION'} = '';
+       goto ROOTCERT_ERROR;
+    }
+
+    if (($cgiparams{'ROOTCERT_HOSTNAME'} eq '') && -e "${General::swroot}/red/active") {
+       if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {
+           my $ipaddr = <IPADDR>;
+           close IPADDR;
+           chomp ($ipaddr);
+           $cgiparams{'ROOTCERT_HOSTNAME'} = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
+           if ($cgiparams{'ROOTCERT_HOSTNAME'} eq '') {
+               $cgiparams{'ROOTCERT_HOSTNAME'} = $ipaddr;
+           }
+       }
+    } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload p12 file'}) {
+
+       if (ref ($cgiparams{'FH'}) ne 'Fh') {
+           $errormessage = $Lang::tr{'there was no file upload'};
+           goto ROOTCERT_ERROR;
+       }
+
+       # Move uploaded certificate request to a temporary file
+       (my $fh, my $filename) = tempfile( );
+       if (copy ($cgiparams{'FH'}, $fh) != 1) {
+           $errormessage = $!;
+           goto ROOTCERT_ERROR;
+       }
+
+       # Create a temporary dirctory
+       my $tempdir = tempdir( CLEANUP => 1 );
+
+       # Extract the CA certificate from the file
+       my $pid = open(OPENSSL, "|-");
+       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};
+       if ($pid) {     # parent
+           if ($cgiparams{'P12_PASS'} ne '') {
+               print OPENSSL "$cgiparams{'P12_PASS'}\n";
+           }
+           close (OPENSSL);
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       } else {        # child
+           unless (exec ('/usr/bin/openssl', 'pkcs12', '-cacerts', '-nokeys',
+                   '-in', $filename,
+                   '-out', "$tempdir/cacert.pem")) {
+               $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       }
+
+       # Extract the Host certificate from the file
+       $pid = open(OPENSSL, "|-");
+       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};
+       if ($pid) {     # parent
+           if ($cgiparams{'P12_PASS'} ne '') {
+               print OPENSSL "$cgiparams{'P12_PASS'}\n";
+           }
+           close (OPENSSL);
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       } else {        # child
+           unless (exec ('/usr/bin/openssl', 'pkcs12', '-clcerts', '-nokeys',
+                   '-in', $filename,
+                   '-out', "$tempdir/hostcert.pem")) {
+               $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       }
+
+       # Extract the Host key from the file
+       $pid = open(OPENSSL, "|-");
+       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};
+       if ($pid) {     # parent
+           if ($cgiparams{'P12_PASS'} ne '') {
+               print OPENSSL "$cgiparams{'P12_PASS'}\n";
+           }
+           close (OPENSSL);
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       } else {        # child
+           unless (exec ('/usr/bin/openssl', 'pkcs12', '-nocerts',
+                   '-nodes',
+                   '-in', $filename,
+                   '-out', "$tempdir/hostkey.pem")) {
+               $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+               unlink ($filename);
+               goto ROOTCERT_ERROR;
+           }
+       }
+
+       move("$tempdir/cacert.pem", "${General::swroot}/ca/cacert.pem");
+       if ($? ne 0) {
+           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+           unlink ($filename);
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           goto ROOTCERT_ERROR;
+        }
+
+       move("$tempdir/hostcert.pem", "${General::swroot}/certs/hostcert.pem");
+       if ($? ne 0) {
+           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+           unlink ($filename);
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           goto ROOTCERT_ERROR;
+        }
+
+       move("$tempdir/hostkey.pem", "${General::swroot}/certs/hostkey.pem");
+       if ($? ne 0) {
+           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+           unlink ($filename);
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           goto ROOTCERT_ERROR;
+        }
+
+       # Create an empty CRL
+       system('/usr/bin/openssl', 'ca', '-gencrl',
+               '-out', "${General::swroot}/crls/cacrl.pem");
+       if ($?) {
+           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/crls/cacrl.pem");
+           &cleanssldatabase();
+           goto ROOTCERT_ERROR;
+       } else {
+           &cleanssldatabase();
+       }
+
+       goto ROOTCERT_SUCCESS;
+
+    } elsif ($cgiparams{'ROOTCERT_COUNTRY'} ne '') {
+
+       # Validate input since the form was submitted
+       if ($cgiparams{'ROOTCERT_ORGANIZATION'} eq ''){
+           $errormessage = $Lang::tr{'organization cant be empty'};
+           goto ROOTCERT_ERROR;
+       }
+       if (length($cgiparams{'ROOTCERT_ORGANIZATION'}) >60) {
+           $errormessage = $Lang::tr{'organization too long'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_ORGANIZATION'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+           $errormessage = $Lang::tr{'invalid input for organization'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_HOSTNAME'} eq ''){
+           $errormessage = $Lang::tr{'hostname cant be empty'};
+           goto ROOTCERT_ERROR;
+       }
+       unless (&General::validfqdn($cgiparams{'ROOTCERT_HOSTNAME'}) || &General::validip($cgiparams{'ROOTCERT_HOSTNAME'})) {
+           $errormessage = $Lang::tr{'invalid input for hostname'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_EMAIL'} ne '' && (! &General::validemail($cgiparams{'ROOTCERT_EMAIL'}))) {
+           $errormessage = $Lang::tr{'invalid input for e-mail address'};
+           goto ROOTCERT_ERROR;
+       }
+       if (length($cgiparams{'ROOTCERT_EMAIL'}) > 40) {
+           $errormessage = $Lang::tr{'e-mail address too long'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_OU'} ne '' && $cgiparams{'ROOTCERT_OU'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+           $errormessage = $Lang::tr{'invalid input for department'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_CITY'} ne '' && $cgiparams{'ROOTCERT_CITY'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+           $errormessage = $Lang::tr{'invalid input for city'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_STATE'} ne '' && $cgiparams{'ROOTCERT_STATE'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+           $errormessage = $Lang::tr{'invalid input for state or province'};
+           goto ROOTCERT_ERROR;
+       }
+       if ($cgiparams{'ROOTCERT_COUNTRY'} !~ /^[A-Z]*$/) {
+           $errormessage = $Lang::tr{'invalid input for country'};
+           goto ROOTCERT_ERROR;
+       }
+
+       # Copy the cgisettings to vpnsettings and save the configfile
+       $vpnsettings{'ROOTCERT_ORGANIZATION'}   = $cgiparams{'ROOTCERT_ORGANIZATION'};
+       $vpnsettings{'ROOTCERT_HOSTNAME'}       = $cgiparams{'ROOTCERT_HOSTNAME'};
+       $vpnsettings{'ROOTCERT_EMAIL'}          = $cgiparams{'ROOTCERT_EMAIL'};
+       $vpnsettings{'ROOTCERT_OU'}             = $cgiparams{'ROOTCERT_OU'};
+       $vpnsettings{'ROOTCERT_CITY'}           = $cgiparams{'ROOTCERT_CITY'};
+       $vpnsettings{'ROOTCERT_STATE'}          = $cgiparams{'ROOTCERT_STATE'};
+       $vpnsettings{'ROOTCERT_COUNTRY'}        = $cgiparams{'ROOTCERT_COUNTRY'};
+       &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);
+
+       # Replace empty strings with a .
+       (my $ou = $cgiparams{'ROOTCERT_OU'}) =~ s/^\s*$/\./;
+       (my $city = $cgiparams{'ROOTCERT_CITY'}) =~ s/^\s*$/\./;
+       (my $state = $cgiparams{'ROOTCERT_STATE'}) =~ s/^\s*$/\./;
+
+       # Create the CA certificate
+       my $pid = open(OPENSSL, "|-");
+       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};
+       if ($pid) {     # parent
+           print OPENSSL "$cgiparams{'ROOTCERT_COUNTRY'}\n";
+           print OPENSSL "$state\n";
+           print OPENSSL "$city\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'}\n";
+           print OPENSSL "$ou\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'} CA\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_EMAIL'}\n";
+           close (OPENSSL);
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ("${General::swroot}/private/cakey.pem");
+               unlink ("${General::swroot}/ca/cacert.pem");
+               goto ROOTCERT_ERROR;
+           }
+       } else {        # child
+           unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+                       '-days', '999999', '-newkey', 'rsa:2048',
+                       '-keyout', "${General::swroot}/private/cakey.pem",
+                       '-out', "${General::swroot}/ca/cacert.pem")) {
+               $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+               goto ROOTCERT_ERROR;
+           }
+       }
+
+       # Create the Host certificate request
+       $pid = open(OPENSSL, "|-");
+       $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto ROOTCERT_ERROR;};
+       if ($pid) {     # parent
+           print OPENSSL "$cgiparams{'ROOTCERT_COUNTRY'}\n";
+           print OPENSSL "$state\n";
+           print OPENSSL "$city\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'}\n";
+           print OPENSSL "$ou\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_HOSTNAME'}\n";
+           print OPENSSL "$cgiparams{'ROOTCERT_EMAIL'}\n";
+           print OPENSSL ".\n";
+           print OPENSSL ".\n";
+           close (OPENSSL);
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ("${General::swroot}/certs/hostkey.pem");
+               unlink ("${General::swroot}/certs/hostreq.pem");
+               goto ROOTCERT_ERROR;
+           }
+       } else {        # child
+           unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+                       '-newkey', 'rsa:1024',
+                       '-keyout', "${General::swroot}/certs/hostkey.pem",
+                       '-out', "${General::swroot}/certs/hostreq.pem")) {
+               $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+               unlink ("${General::swroot}/certs/hostkey.pem");
+               unlink ("${General::swroot}/certs/hostreq.pem");
+               unlink ("${General::swroot}/private/cakey.pem");
+               unlink ("${General::swroot}/ca/cacert.pem");
+               goto ROOTCERT_ERROR;
+           }
+       }
+       
+       # Sign the host certificate request
+       system('/usr/bin/openssl', 'ca', '-days', '999999',
+               '-batch', '-notext',
+               '-in',  "${General::swroot}/certs/hostreq.pem",
+               '-out', "${General::swroot}/certs/hostcert.pem");
+       if ($?) {
+           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+           unlink ("${General::swroot}/private/cakey.pem");
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           unlink ("${General::swroot}/certs/hostreq.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           &cleanssldatabase();
+           goto ROOTCERT_ERROR;
+       } else {
+           unlink ("${General::swroot}/certs/hostreq.pem");
+           &cleanssldatabase();
+       }
+
+       # Create an empty CRL
+       system('/usr/bin/openssl', 'ca', '-gencrl',
+               '-out', "${General::swroot}/crls/cacrl.pem");
+       if ($?) {
+           $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+           unlink ("${General::swroot}/certs/hostkey.pem");
+           unlink ("${General::swroot}/certs/hostcert.pem");
+           unlink ("${General::swroot}/ca/cacert.pem");
+           unlink ("${General::swroot}/crls/cacrl.pem");
+           &cleanssldatabase();
+           goto ROOTCERT_ERROR;
+       } else {
+           &cleanssldatabase();
+       }
+       goto ROOTCERT_SUCCESS;
+    }
+    ROOTCERT_ERROR:
+    if ($cgiparams{'ACTION'} ne '') {
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', $errormessage);
+       if ($errormessage) {
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+           print "<class name='base'>$errormessage";
+           print "&nbsp;</class>";
+           &Header::closebox();
+       }
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'generate root/host certificates'}:");
+       print <<END
+       <form method='post' enctype='multipart/form-data'>
+       <table width='100%' border='0' cellspacing='1' cellpadding='0'>
+       <tr><td width='30%' class='base'>$Lang::tr{'organization name'}:</td>
+           <td width='35%' class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_ORGANIZATION' value='$cgiparams{'ROOTCERT_ORGANIZATION'}' size='32' /></td>
+           <td width='35%' colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'ipcops hostname'}:</td>
+           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_HOSTNAME' value='$cgiparams{'ROOTCERT_HOSTNAME'}' size='32' /></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'your e-mail'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_EMAIL' value='$cgiparams{'ROOTCERT_EMAIL'}' size='32' /></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'your department'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_OU' value='$cgiparams{'ROOTCERT_OU'}' size='32' /></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_CITY' value='$cgiparams{'ROOTCERT_CITY'}' size='32' /></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+           <td class='base' nowrap='nowrap'><input type='text' name='ROOTCERT_STATE' value='$cgiparams{'ROOTCERT_STATE'}' size='32' /></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'country'}:</td>
+           <td class='base'><select name='ROOTCERT_COUNTRY'>
+END
+       ;
+       foreach my $country (sort keys %{Countries::countries}) {
+           print "<option value='$Countries::countries{$country}'";
+           if ( $Countries::countries{$country} eq $cgiparams{'ROOTCERT_COUNTRY'} ) {
+               print " selected='selected'";
+           }
+           print ">$country</option>";
+       }
+       print <<END
+           </select></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td>&nbsp;</td>
+           <td><br /><input type='submit' name='ACTION' value='$Lang::tr{'generate root/host certificates'}' /><br /><br /></td>
+           <td>&nbsp;</td><td>&nbsp;</td></tr>
+       <tr><td class='base' align='left' valign='top'>
+           <img src='/blob.gif' valign='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td>
+           <td class='base' align='left'>
+           <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: 
+           $Lang::tr{'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient'}
+       </td></tr>
+       <tr><td colspan='4'><hr /></td></tr>
+       <tr><td class='base' nowrap='nowrap'>$Lang::tr{'upload p12 file'}:</td>
+           <td nowrap='nowrap'><input type='file' name='FH' size='32'></td>
+           <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base'>$Lang::tr{'pkcs12 file password'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+           <td class='base' nowrap='nowrap'><input type='password' name='P12_PASS' value='$cgiparams{'P12_PASS'}' size='32' /></td>
+            <td colspan='2'>&nbsp;</td></tr>
+       <tr><td>&nbsp;</td>
+           <td><input type='submit' name='ACTION' value='$Lang::tr{'upload p12 file'}' /></td>
+            <td colspan='2'>&nbsp;</td></tr>
+       <tr><td class='base' colspan='4' align='left'>
+           <img src='/blob.gif' valign='top' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td></tr>
+       </form></table>
+END
+       ;
+       &Header::closebox();
+
+       &Header::closebigbox();
+       &Header::closepage();
+        exit(0)
+    }
+
+    ROOTCERT_SUCCESS:
+    if ($vpnsettings{'ENABLED'} eq 'on' ||
+       $vpnsettings{'ENABLE_BLUE'} eq 'on') {
+       system('/usr/local/bin/ipsecctrl', 'S');
+       sleep $sleepDelay;
+    }
+###
+### Download PKCS12 file
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download pkcs12 file'}) {
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . ".p12\r\n";
+    print "Content-Type: application/octet-stream\r\n\r\n";
+    print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12`;
+    exit (0);
+
+###
+### Display certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ( -f "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', '');
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate'}:");
+       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
+       $output = &Header::cleanhtml($output,"y");
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+       print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
+       &Header::closebigbox();
+       &Header::closepage();
+       exit(0);
+    }
+
+###
+### Download Certificate
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download certificate'}) {
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ( -f "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {
+       print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . "cert.pem\r\n";
+       print "Content-Type: application/octet-stream\r\n\r\n";
+       print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
+       exit (0);
+    }
+
+###
+### Enable/Disable connection
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+    
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ($confighash{$cgiparams{'KEY'}}) {
+       if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
+           $confighash{$cgiparams{'KEY'}}[0] = 'on';
+           &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+           &writeipsecfiles();
+           if ($vpnsettings{'ENABLED'} eq 'on' ||
+               $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+               system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
+               sleep $sleepDelay;
+           }
+       } else {
+           $confighash{$cgiparams{'KEY'}}[0] = 'off';
+           if ($vpnsettings{'ENABLED'} eq 'on' ||
+               $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+               system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'});
+           }
+           &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+           &writeipsecfiles();
+       }
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Restart connection
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'restart'}) {
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ($confighash{$cgiparams{'KEY'}}) {
+       if ($vpnsettings{'ENABLED'} eq 'on' ||
+           $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+           system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
+           sleep $sleepDelay;
+       }
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Remove connection
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) {
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ($confighash{$cgiparams{'KEY'}}) {
+       if ($vpnsettings{'ENABLED'} eq 'on' ||
+           $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+           system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'});
+       }
+       unlink ("${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+       unlink ("${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
+       delete $confighash{$cgiparams{'KEY'}};
+       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+       &writeipsecfiles();
+    } else {
+       $errormessage = $Lang::tr{'invalid key'};
+    }
+
+###
+### Choose between adding a host-net or net-net connection
+###
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'add'} && $cgiparams{'TYPE'} eq '') {
+       &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', '');
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'connection type'});
+       print <<END
+           <b>$Lang::tr{'connection type'}:</b><br />
+           <table><form method='post'>
+           <tr><td><input type='radio' name='TYPE' value='host' checked /></td>
+               <td class='base'>$Lang::tr{'host to net vpn'}</td></tr>
+           <tr><td><input type='radio' name='TYPE' value='net' /></td>
+               <td class='base'>$Lang::tr{'net to net vpn'}</td></tr>
+           <tr><td align='center' colspan='2'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
+           </form></table>
+END
+       ;
+       &Header::closebox();
+       &Header::closebigbox();
+       &Header::closepage();
+       exit (0);
+###
+### Adding a new connection
+###
+} elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) ||
+        ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) ||
+        ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'ADVANCED'} eq '')) {
+
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {
+       if (! $confighash{$cgiparams{'KEY'}}[0]) {
+           $errormessage = $Lang::tr{'invalid key'};
+           goto VPNCONF_END;
+       }
+       $cgiparams{'ENABLED'}   = $confighash{$cgiparams{'KEY'}}[0];
+       $cgiparams{'NAME'}      = $confighash{$cgiparams{'KEY'}}[1];
+       $cgiparams{'TYPE'}      = $confighash{$cgiparams{'KEY'}}[3];
+       $cgiparams{'AUTH'}      = $confighash{$cgiparams{'KEY'}}[4];
+       $cgiparams{'PSK'}       = $confighash{$cgiparams{'KEY'}}[5];
+       $cgiparams{'SIDE'}      = $confighash{$cgiparams{'KEY'}}[6];
+       $cgiparams{'LOCAL_ID'}  = $confighash{$cgiparams{'KEY'}}[7];
+       $cgiparams{'LOCAL_SUBNET'} = $confighash{$cgiparams{'KEY'}}[8];
+       $cgiparams{'REMOTE_ID'} = $confighash{$cgiparams{'KEY'}}[9];
+       $cgiparams{'REMOTE'}    = $confighash{$cgiparams{'KEY'}}[10];
+       $cgiparams{'REMOTE_SUBNET'} = $confighash{$cgiparams{'KEY'}}[11];
+       $cgiparams{'REMARK'}    = $confighash{$cgiparams{'KEY'}}[25];
+       $cgiparams{'INTERFACE'} = $confighash{$cgiparams{'KEY'}}[26];
+       $cgiparams{'DPD_ACTION'}= $confighash{$cgiparams{'KEY'}}[27];
+       $cgiparams{'PFS_YES_NO'}= $confighash{$cgiparams{'KEY'}}[28];
+
+    } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
+       $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
+       if ($cgiparams{'TYPE'} !~ /^(host|net)$/) {
+           $errormessage = $Lang::tr{'connection type is invalid'};
+           goto VPNCONF_ERROR;
+       }
+
+       if ($cgiparams{'NAME'} !~ /^[a-zA-Z0-9]+$/) {
+           $errormessage = $Lang::tr{'name must only contain characters'};
+           goto VPNCONF_ERROR;
+       }
+
+       if ($cgiparams{'NAME'} =~ /^(host|01|block|private|clear|packetdefault)$/) {
+           $errormessage = $Lang::tr{'name is invalid'};
+           goto VPNCONF_ERROR;
+       }
+
+       if (length($cgiparams{'NAME'}) >60) {
+           $errormessage = $Lang::tr{'name too long'};
+           goto VPNCONF_ERROR;
+       }
+
+       if (($cgiparams{'TYPE'} eq 'net') && ($cgiparams{'SIDE'} !~ /^(left|right)$/)) {
+           $errormessage = $Lang::tr{'ipcop side is invalid'};
+           goto VPNCONF_ERROR;
+       }
+
+       # Check if there is no other entry with this name
+       if (! $cgiparams{'KEY'}) {
+           foreach my $key (keys %confighash) {
+               if ($confighash{$key}[1] eq $cgiparams{'NAME'}) {
+                   $errormessage = $Lang::tr{'a connection with this name already exists'};
+                   goto VPNCONF_ERROR;
+               }
+           }
+       }
+
+       if (($cgiparams{'TYPE'} eq 'net') && (! $cgiparams{'REMOTE'})) {
+           $errormessage = $Lang::tr{'invalid input for remote host/ip'};
+           goto VPNCONF_ERROR;
+       }
+
+       if ($cgiparams{'REMOTE'}) {
+           if (! &General::validip($cgiparams{'REMOTE'})) {
+               if (! &General::validfqdn ($cgiparams{'REMOTE'}))  {
+                   $errormessage = $Lang::tr{'invalid input for remote host/ip'};
+                   goto VPNCONF_ERROR;
+               } else {
+                   if (&valid_dns_host($cgiparams{'REMOTE'})) {
+                       $warnmessage = "$Lang::tr{'check vpn lr'} $cgiparams{'REMOTE'}. $Lang::tr{'dns check failed'}";
+                   }
+               }
+           }
+       }
+
+        unless (&General::validipandmask($cgiparams{'LOCAL_SUBNET'})) {
+            $errormessage = $Lang::tr{'local subnet is invalid'};
+           goto VPNCONF_ERROR;
+       }
+
+       # Check if there is no other entry without IP-address and PSK
+       if ($cgiparams{'REMOTE'} eq '') {
+           foreach my $key (keys %confighash) {
+               if(($cgiparams{'KEY'} ne $key) && 
+                  ($confighash{$key}[4] eq 'psk' || $cgiparams{'AUTH'} eq 'psk') && 
+                   $confighash{$key}[10] eq '') {
+                       $errormessage = $Lang::tr{'you can only define one roadwarrior connection when using pre-shared key authentication'};
+                       goto VPNCONF_ERROR;
+               }
+           }
+       }
+       if (($cgiparams{'TYPE'} eq 'net') && (! &General::validipandmask($cgiparams{'REMOTE_SUBNET'}))) {
+            $errormessage = $Lang::tr{'remote subnet is invalid'};
+           goto VPNCONF_ERROR;
+       }
+
+       if ($cgiparams{'ENABLED'} !~ /^(on|off)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto VPNCONF_ERROR;
+       }
+       if ($cgiparams{'EDIT_ADVANCED'} !~ /^(on|off)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto VPNCONF_ERROR;
+       }
+
+       if (($cgiparams{'LOCAL_ID'} !~ /^(|@[a-zA-Z0-9_.-]*)$/) ||
+           ($cgiparams{'REMOTE_ID'} !~ /^(|@[a-zA-Z0-9_.-]*)$/) ||
+           (($cgiparams{'REMOTE_ID'} eq $cgiparams{'LOCAL_ID'}) && ($cgiparams{'LOCAL_ID'} ne ''))
+          ) {
+           $errormessage = $Lang::tr{'invalid local-remote id'};
+           goto VPNCONF_ERROR;
+       }
+       
+       if ($cgiparams{'AUTH'} eq 'psk')  {
+           if (! length($cgiparams{'PSK'}) ) {
+               $errormessage = $Lang::tr{'pre-shared key is too short'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'PSK'} =~ /['",&]/) {        # " ' correct coloring syntax editor !
+               $errormessage = $Lang::tr{'invalid characters found in pre-shared key'};
+               goto VPNCONF_ERROR;
+           }
+       } elsif ($cgiparams{'AUTH'} eq 'certreq') {
+           if ($cgiparams{'KEY'}) {
+               $errormessage = $Lang::tr{'cant change certificates'};
+               goto VPNCONF_ERROR;
+           }
+           if (ref ($cgiparams{'FH'}) ne 'Fh') {
+               $errormessage = $Lang::tr{'there was no file upload'};
+               goto VPNCONF_ERROR;
+           }
+
+           # Move uploaded certificate request to a temporary file
+           (my $fh, my $filename) = tempfile( );
+           if (copy ($cgiparams{'FH'}, $fh) != 1) {
+               $errormessage = $!;
+               goto VPNCONF_ERROR;
+           }
+
+           # Sign the certificate request and move it
+           # Sign the host certificate request
+           system('/usr/bin/openssl', 'ca', '-days', '999999',
+               '-batch', '-notext',
+               '-in', $filename,
+               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ($filename);
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+               &cleanssldatabase();
+               goto VPNCONF_ERROR;
+           } else {
+               unlink ($filename);
+               &cleanssldatabase();
+           }
+
+           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem`;
+           $temp =~ /Subject:.*CN=(.*)[\n]/;
+           $temp = $1;
+           $temp =~ s+/Email+, E+;
+           $temp =~ s/ ST=/ S=/;
+           $cgiparams{'CERT_NAME'} = $temp;
+           $cgiparams{'CERT_NAME'} =~ s/,//g;
+           $cgiparams{'CERT_NAME'} =~ s/\'//g;
+           if ($cgiparams{'CERT_NAME'} eq '') {
+               $errormessage = $Lang::tr{'could not retrieve common name from certificate'};
+               goto VPNCONF_ERROR;
+           }
+       } elsif ($cgiparams{'AUTH'} eq 'certfile') {
+           if ($cgiparams{'KEY'}) {
+               $errormessage = $Lang::tr{'cant change certificates'};
+               goto VPNCONF_ERROR;
+           }
+           if (ref ($cgiparams{'FH'}) ne 'Fh') {
+               $errormessage = $Lang::tr{'there was no file upload'};
+               goto VPNCONF_ERROR;
+           }
+           # Move uploaded certificate to a temporary file
+           (my $fh, my $filename) = tempfile( );
+           if (copy ($cgiparams{'FH'}, $fh) != 1) {
+               $errormessage = $!;
+               goto VPNCONF_ERROR;
+           }
+
+           # Verify the certificate has a valid CA and move it
+           my $validca = 0;
+           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/cacert.pem $filename`;
+           if ($test =~ /: OK/) {
+               $validca = 1;
+           } else {
+               foreach my $key (keys %cahash) {
+                   $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$key}[0]cert.pem $filename`;
+                   if ($test =~ /: OK/) {
+                       $validca = 1;
+                   }
+               }
+           }
+           if (! $validca) {
+               $errormessage = $Lang::tr{'certificate does not have a valid ca associated with it'};
+               unlink ($filename);
+               goto VPNCONF_ERROR;
+           } else {
+               move($filename, "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+               if ($? ne 0) {
+                   $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+                   unlink ($filename);
+                   goto VPNCONF_ERROR;
+               }
+           }
+
+           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem`;
+           $temp =~ /Subject:.*CN=(.*)[\n]/;
+           $temp = $1;
+           $temp =~ s+/Email+, E+;
+           $temp =~ s/ ST=/ S=/;
+           $cgiparams{'CERT_NAME'} = $temp;
+           $cgiparams{'CERT_NAME'} =~ s/,//g;
+           $cgiparams{'CERT_NAME'} =~ s/\'//g;
+           if ($cgiparams{'CERT_NAME'} eq '') {
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+               $errormessage = $Lang::tr{'could not retrieve common name from certificate'};
+               goto VPNCONF_ERROR;
+           }
+       } elsif ($cgiparams{'AUTH'} eq 'certgen') {
+           if ($cgiparams{'KEY'}) {
+               $errormessage = $Lang::tr{'cant change certificates'};
+               goto VPNCONF_ERROR;
+           }
+           # Validate input since the form was submitted
+           if (length($cgiparams{'CERT_NAME'}) >60) {
+               $errormessage = $Lang::tr{'name too long'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_NAME'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {
+               $errormessage = $Lang::tr{'invalid input for name'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_EMAIL'} ne '' && (! &General::validemail($cgiparams{'CERT_EMAIL'}))) {
+               $errormessage = $Lang::tr{'invalid input for e-mail address'};
+               goto VPNCONF_ERROR;
+           }
+           if (length($cgiparams{'CERT_EMAIL'}) > 40) {
+               $errormessage = $Lang::tr{'e-mail address too long'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_OU'} ne '' && $cgiparams{'CERT_OU'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+               $errormessage = $Lang::tr{'invalid input for department'};
+               goto VPNCONF_ERROR;
+           }
+           if (length($cgiparams{'CERT_ORGANIZATION'}) >60) {
+               $errormessage = $Lang::tr{'organization too long'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_ORGANIZATION'} !~ /^[a-zA-Z0-9 ,\.\-_]+$/) {
+               $errormessage = $Lang::tr{'invalid input for organization'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_CITY'} ne '' && $cgiparams{'CERT_CITY'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+               $errormessage = $Lang::tr{'invalid input for city'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_STATE'} ne '' && $cgiparams{'CERT_STATE'} !~ /^[a-zA-Z0-9 ,\.\-_]*$/) {
+               $errormessage = $Lang::tr{'invalid input for state or province'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_COUNTRY'} !~ /^[A-Z]*$/) {
+               $errormessage = $Lang::tr{'invalid input for country'};
+               goto VPNCONF_ERROR;
+           }
+           if (length($cgiparams{'CERT_PASS1'}) < 5) {
+               $errormessage = $Lang::tr{'password too short'};
+               goto VPNCONF_ERROR;
+           }
+           if ($cgiparams{'CERT_PASS1'} ne $cgiparams{'CERT_PASS2'}) {
+               $errormessage = $Lang::tr{'passwords do not match'};
+               goto VPNCONF_ERROR;
+           }
+
+           # Replace empty strings with a .
+           (my $ou = $cgiparams{'CERT_OU'}) =~ s/^\s*$/\./;
+           (my $city = $cgiparams{'CERT_CITY'}) =~ s/^\s*$/\./;
+           (my $state = $cgiparams{'CERT_STATE'}) =~ s/^\s*$/\./;
+
+           # Create the Host certificate request
+           my $pid = open(OPENSSL, "|-");
+           $SIG{ALRM} = sub { $errormessage = $Lang::tr{'broken pipe'}; goto VPNCONF_ERROR;};
+           if ($pid) { # parent
+               print OPENSSL "$cgiparams{'CERT_COUNTRY'}\n";
+               print OPENSSL "$state\n";
+               print OPENSSL "$city\n";
+               print OPENSSL "$cgiparams{'CERT_ORGANIZATION'}\n";
+               print OPENSSL "$ou\n";
+               print OPENSSL "$cgiparams{'CERT_NAME'}\n";
+               print OPENSSL "$cgiparams{'CERT_EMAIL'}\n";
+               print OPENSSL ".\n";
+               print OPENSSL ".\n";
+               close (OPENSSL);
+               if ($?) {
+                   $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");
+                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");
+                   goto VPNCONF_ERROR;
+               }
+           } else {    # child
+               unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+                       '-newkey', 'rsa:1024',
+                       '-keyout', "${General::swroot}/certs/$cgiparams{'NAME'}key.pem",
+                       '-out', "${General::swroot}/certs/$cgiparams{'NAME'}req.pem")) {
+                   $errormessage = "$Lang::tr{'cant start openssl'}: $!";
+                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");
+                   unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");
+                   goto VPNCONF_ERROR;
+               }
+           }
+       
+           # Sign the host certificate request
+           system('/usr/bin/openssl', 'ca', '-days', '999999',
+               '-batch', '-notext',
+               '-in',  "${General::swroot}/certs/$cgiparams{'NAME'}req.pem",
+               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+               &cleanssldatabase();
+               goto VPNCONF_ERROR;
+           } else {
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}req.pem");
+               &cleanssldatabase();
+           }
+
+           # Create the pkcs12 file
+           system('/usr/bin/openssl', 'pkcs12', '-export', 
+               '-inkey', "${General::swroot}/certs/$cgiparams{'NAME'}key.pem",
+               '-in', "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem",
+               '-name', $cgiparams{'NAME'},
+               '-passout', "pass:$cgiparams{'CERT_PASS1'}",
+               '-certfile', "${General::swroot}/ca/cacert.pem", 
+               '-caname', "$vpnsettings{'ROOTCERT_ORGANIZATION'} CA",
+               '-out', "${General::swroot}/certs/$cgiparams{'NAME'}.p12");
+           if ($?) {
+               $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}.p12");
+               goto VPNCONF_ERROR;
+           } else {
+               unlink ("${General::swroot}/certs/$cgiparams{'NAME'}key.pem");
+           }
+       } elsif ($cgiparams{'AUTH'} eq 'cert') {
+           ;# Nothing, just editing
+       } else {
+           $errormessage = $Lang::tr{'invalid input for authentication method'};
+           goto VPNCONF_ERROR;
+       }
+
+       # Check if there is no other entry with this common name
+       if ((! $cgiparams{'KEY'}) && ($cgiparams{'AUTH'} ne 'psk')) {
+           foreach my $key (keys %confighash) {
+               if ($confighash{$key}[2] eq $cgiparams{'CERT_NAME'}) {
+                   $errormessage = $Lang::tr{'a connection with this common name already exists'};
+                   goto VPNCONF_ERROR;
+               }
+           }
+       }
+
+        # Save the config
+       my $key = $cgiparams{'KEY'};
+       if (! $key) {
+           $key = &General::findhasharraykey (\%confighash);
+           foreach my $i (0 .. 28) { $confighash{$key}[$i] = "";}
+       }
+       $confighash{$key}[0] = $cgiparams{'ENABLED'};
+       $confighash{$key}[1] = $cgiparams{'NAME'};
+       if ((! $cgiparams{'KEY'}) && $cgiparams{'AUTH'} ne 'psk') {
+           $confighash{$key}[2] = $cgiparams{'CERT_NAME'};
+       }
+       $confighash{$key}[3] = $cgiparams{'TYPE'};
+       if ($cgiparams{'AUTH'} eq 'psk') {
+           $confighash{$key}[4] = 'psk';
+           $confighash{$key}[5] = $cgiparams{'PSK'};
+       } else {
+           $confighash{$key}[4] = 'cert';
+       }
+       if ($cgiparams{'TYPE'} eq 'net') {
+           $confighash{$key}[6] = $cgiparams{'SIDE'};
+           $confighash{$key}[11] = $cgiparams{'REMOTE_SUBNET'};
+       }
+       $confighash{$key}[7] = $cgiparams{'LOCAL_ID'};
+       $confighash{$key}[8] = $cgiparams{'LOCAL_SUBNET'};
+       $confighash{$key}[9] = $cgiparams{'REMOTE_ID'};
+       $confighash{$key}[10] = $cgiparams{'REMOTE'};
+       $confighash{$key}[25] = $cgiparams{'REMARK'};
+       $confighash{$key}[26] = $cgiparams{'INTERFACE'};
+       $confighash{$key}[27] = $cgiparams{'DPD_ACTION'};
+       $confighash{$key}[28] = $cgiparams{'PFS_YES_NO'};
+
+       #use default advanced value
+       $confighash{$key}[14] = 'on';
+       $confighash{$key}[13] = 'off';
+       $confighash{$key}[18] = 'aes128|3des';
+       $confighash{$key}[19] = 'sha|md5';
+       $confighash{$key}[20] = '1536|1024';
+       $confighash{$key}[16] = '1';
+       $confighash{$key}[21] = 'aes128|3des';
+       $confighash{$key}[22] = 'sha1|md5';
+       $confighash{$key}[23] = '';
+       $confighash{$key}[17] = '8';
+       $confighash{$key}[24] = 'off';
+
+       #free unused fields!
+       #$confighash{$key}[12] = '';
+       #$confighash{$key}[15] = '';
+
+       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+       &writeipsecfiles();
+       if ($vpnsettings{'ENABLED'} eq 'on' ||
+           $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+           system('/usr/local/bin/ipsecctrl', 'S', $key);
+           sleep $sleepDelay;
+       }
+       if ($cgiparams{'EDIT_ADVANCED'} eq 'on') {
+           $cgiparams{'KEY'} = $key;
+           $cgiparams{'ACTION'} = $Lang::tr{'advanced'};
+       }
+       goto VPNCONF_END;
+    } else { # add new connection
+        $cgiparams{'ENABLED'} = 'on';
+       $cgiparams{'SIDE'} = 'left';
+       if ( ! -f "${General::swroot}/private/cakey.pem" ) {
+           $cgiparams{'AUTH'} = 'psk';
+       } elsif ( ! -f "${General::swroot}/ca/cacert.pem") {
+           $cgiparams{'AUTH'} = 'certfile';
+       } else {
+            $cgiparams{'AUTH'} = 'certgen';
+       }
+       $cgiparams{'LOCAL_SUBNET'}      ="$netsettings{'GREEN_NETADDRESS'}/$netsettings{'GREEN_NETMASK'}";
+       $cgiparams{'CERT_ORGANIZATION'} = $vpnsettings{'ROOTCERT_ORGANIZATION'};
+       $cgiparams{'CERT_CITY'}         = $vpnsettings{'ROOTCERT_CITY'};
+       $cgiparams{'CERT_STATE'}        = $vpnsettings{'ROOTCERT_STATE'};
+       $cgiparams{'CERT_COUNTRY'}      = $vpnsettings{'ROOTCERT_COUNTRY'};
+
+       # choose appropriate dpd action 
+       if ($cgiparams{'TYPE'} eq 'host') {
+           $cgiparams{'DPD_ACTION'} = 'clear';
+       } else {
+           $cgiparams{'DPD_ACTION'} = 'hold';  #restart when available!
+       }
+
+       # Default is yes for 'pfs'
+       $cgiparams{'PFS_YES_NO'}     = 'yes';
+       
+       # ID are empty
+       $cgiparams{'LOCAL_ID'}  = '';
+       $cgiparams{'REMOTE_ID'} = '';
+       
+    }
+
+    VPNCONF_ERROR:
+    $checked{'ENABLED'}{'off'} = '';
+    $checked{'ENABLED'}{'on'} = '';
+    $checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";
+    $checked{'ENABLED_BLUE'}{'off'} = '';
+    $checked{'ENABLED_BLUE'}{'on'} = '';
+    $checked{'ENABLED_BLUE'}{$cgiparams{'ENABLED_BLUE'}} = "checked='checked'";
+
+    $checked{'EDIT_ADVANCED'}{'off'} = '';
+    $checked{'EDIT_ADVANCED'}{'on'} = '';
+    $checked{'EDIT_ADVANCED'}{$cgiparams{'EDIT_ADVANCED'}} = "checked='checked'";
+
+    $selected{'SIDE'}{'left'} = '';
+    $selected{'SIDE'}{'right'} = '';
+    $selected{'SIDE'}{$cgiparams{'SIDE'}} = "selected='selected'";
+
+    $checked{'AUTH'}{'psk'} = '';
+    $checked{'AUTH'}{'certreq'} = '';
+    $checked{'AUTH'}{'certgen'} = '';
+    $checked{'AUTH'}{'certfile'} = '';
+    $checked{'AUTH'}{$cgiparams{'AUTH'}} = "checked='checked'";
+
+    $selected{'INTERFACE'}{$cgiparams{'INTERFACE'}} = "selected='selected'";
+    $selected{'DPD_ACTION'}{$cgiparams{'DPD_ACTION'}} = "selected='selected'";
+    $selected{'PFS_YES_NO'}{$cgiparams{'PFS_YES_NO'}} = "selected='selected'";
+
+    if (1) {
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', $errormessage);
+       if ($errormessage) {
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+           print "<class name='base'>$errormessage";
+           print "&nbsp;</class>";
+           &Header::closebox();
+       }
+
+       if ($warnmessage) {
+           &Header::openbox('100%', 'LEFT', "$Lang::tr{'warning messages'}:");
+           print "<class name='base'>$warnmessage";
+           print "&nbsp;</class>";
+           &Header::closebox();
+       }
+
+       print "<form method='post' enctype='multipart/form-data'>";
+       print "<input type='hidden' name='TYPE' value='$cgiparams{'TYPE'}' />";
+
+       if ($cgiparams{'KEY'}) {
+           print "<input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />";
+           print "<input type='hidden' name='AUTH' value='$cgiparams{'AUTH'}' />";
+       }
+
+       &Header::openbox('100%', 'LEFT', "$Lang::tr{'connection'}:");
+       print "<table width='100%'>";
+       print "<tr><td width='25%' class='boldbase'>$Lang::tr{'name'}:</td>";
+       if ($cgiparams{'KEY'}) {
+           print "<td width='25%' class='base'><input type='hidden' name='NAME' value='$cgiparams{'NAME'}' /><b>$cgiparams{'NAME'}</b></td>";
+       } else {
+           print "<td width='25%'><input type='text' name='NAME' value='$cgiparams{'NAME'}' maxlength='20' size='30' /></td>";
+       }
+       print "<td>$Lang::tr{'enabled'}</td><td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td></tr>";
+       
+       if ($cgiparams{'TYPE'} eq 'host') {
+
+           print "<tr><td>$Lang::tr{'interface'}</td>";
+           print "<td><select name='INTERFACE'>";
+           print "<option value='RED' $selected{'INTERFACE'}{'RED'}>RED</option>";
+           print "<option value='BLUE' $selected{'INTERFACE'}{'BLUE'}>BLUE</option>" if ($netsettings{'BLUE_DEV'} ne '');
+#          print "<option value='GREEN' $selected{'INTERFACE'}{'GREEN'}>GREEN</option>";
+#          print "<option value='ORANGE' $selected{'INTERFACE'}{'ORANGE'}>ORANGE</option>";
+           print "</select></td></tr>";
+           print <<END
+               <tr><td class='boldbase'>$Lang::tr{'local subnet'}</td>
+                   <td><input type='text' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' size='30' /></td>
+                   <td colspan='2'>&nbsp;</td></tr>
+               <tr><td class='boldbase'>$Lang::tr{'remote host/ip'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+                   <td><input type='text' name='REMOTE' value='$cgiparams{'REMOTE'}' size='30' /></td>
+                   <td colspan='2'>&nbsp;</td></tr>
+END
+           ;
+       } else {
+           print <<END
+               <tr><input type='hidden' name='INTERFACE' value='RED' />
+                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'ipcop side'}</td>
+                   <td><select name='SIDE'><option value='left' $selected{'SIDE'}{'left'}>left</option>
+                                           <option value='right' $selected{'SIDE'}{'right'}>right</option></select></td>
+                   <td class='boldbase'>$Lang::tr{'remote host/ip'}:</td>
+                   <td><input type='TEXT' name='REMOTE' value='$cgiparams{'REMOTE'}' size ='30' /></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td>
+                   <td><input type='TEXT' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' size='30' /></td>
+                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td>
+                   <td><input type='text' name='REMOTE_SUBNET' value='$cgiparams{'REMOTE_SUBNET'}' size='30' /></td></tr>
+END
+           ;
+       }
+       print <<END
+       <tr><td>$Lang::tr{'dpd action'}:</td>
+       <td><select name='DPD_ACTION'>
+           <option value='clear' $selected{'DPD_ACTION'}{'clear'}>clear</option>
+           <option value='hold' $selected{'DPD_ACTION'}{'hold'}>hold</option>
+           <option value='restart' $selected{'DPD_ACTION'}{'restart'}>restart</option>
+       </select>&nbsp; <a href='http://www.openswan.com/docs/local/README.DPD'>?</a></td>
+<!--   http://www.openswan.com/docs/local/README.DPD
+       http://bugs.xelerance.com/view.php?id=156
+       restart = clear + reinitiate connection
+-->    <td width='25%'>$Lang::tr{'pfs yes no'}:</td>
+       <td width='25%'><select name='PFS_YES_NO'>
+           <option value='yes' $selected{'PFS_YES_NO'}{'yes'}>$Lang::tr{'yes'}</option>
+           <option value='no' $selected{'PFS_YES_NO'}{'no'}>$Lang::tr{'no'}</option>
+       </select></td></tr>
+       <td><b>$Lang::tr{'options'}</b></td>
+       <tr><td class='boldbase'>leftid:&nbsp;<img src='/blob.gif' alt='*' />
+       <br />($Lang::tr{'eg'} <tt>&#64;xy.example.com</tt>)</td>
+       <td><input type='text' name='LOCAL_ID' value='$cgiparams{'LOCAL_ID'}' maxlength='50' /></td>
+       <td class='boldbase'>rightid:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td><input type='text' name='REMOTE_ID' value='$cgiparams{'REMOTE_ID'}' maxlength='50' /></td></tr>
+       <tr><td class='boldbase'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td></tr>
+END
+       ;
+       if (!$cgiparams{'KEY'}) {
+           print "<tr><td colspan='3'><input type='checkbox' name='EDIT_ADVANCED' $checked{'EDIT_ADVANCED'}{'on'} /> $Lang::tr{'edit advanced settings when done'}</td></tr>";
+       }
+       print "</table>";
+       &Header::closebox();
+       
+       if ($cgiparams{'KEY'} && $cgiparams{'AUTH'} eq 'psk') {
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'authentication'});
+           print <<END
+           <table width='100%' cellpadding='0' cellspacing='5' border='0'>
+           <tr><td class='base' width='50%'>$Lang::tr{'use a pre-shared key'}</td>
+               <td class='base' width='50%'><input type='text' name='PSK' size='30' value='$cgiparams{'PSK'}' /></td></tr>
+           </table>
+END
+           ;
+           &Header::closebox();
+       } elsif (! $cgiparams{'KEY'}) {
+           my $disabled='';
+           my $cakeydisabled='';
+           my $cacrtdisabled='';
+           if ( ! -f "${General::swroot}/private/cakey.pem" ) { $cakeydisabled = "disabled='disabled'" } else { $cakeydisabled = "" };
+           if ( ! -f "${General::swroot}/ca/cacert.pem" ) { $cacrtdisabled = "disabled='disabled'" } else { $cacrtdisabled = "" };
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'authentication'});
+           print <<END
+           <table width='100%' cellpadding='0' cellspacing='5' border='0'>
+           <tr><td width='5%'><input type='radio' name='AUTH' value='psk' $checked{'AUTH'}{'psk'} /></td>
+               <td class='base' width='45%'>$Lang::tr{'use a pre-shared key'}</td>
+               <td class='base' width='50%'><input type='text' name='PSK' size='30' value='$cgiparams{'PSK'}' /></td></tr>
+           <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' border='0' /></td></tr>
+           <tr><td><input type='radio' name='AUTH' value='certreq' $checked{'AUTH'}{'certreq'} $cakeydisabled /></td>
+               <td class='base'>$Lang::tr{'upload a certificate request'}</td>
+               <td class='base' rowspan='2'><input type='file' name='FH' size='30' $cacrtdisabled></td></tr>
+           <tr><td><input type='radio' name='AUTH' value='certfile' $checked{'AUTH'}{'certfile'} $cacrtdisabled /></td>
+               <td class='base'>$Lang::tr{'upload a certificate'}</td></tr>
+           <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' BORDER='0' /></td></tr>
+           <tr><td><input type='radio' name='AUTH' value='certgen' $checked{'AUTH'}{'certgen'} $cakeydisabled /></td>
+               <td class='base'>$Lang::tr{'generate a certificate'}</td><td>&nbsp;</td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'users fullname or system hostname'}:</td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_NAME' value='$cgiparams{'CERT_NAME'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'users email'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_EMAIL' value='$cgiparams{'CERT_EMAIL'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'users department'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_OU' value='$cgiparams{'CERT_OU'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'organization name'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_ORGANIZATION' value='$cgiparams{'CERT_ORGANIZATION'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_CITY' value='$cgiparams{'CERT_CITY'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+               <td class='base' nowrap='nowrap'><input type='text' name='CERT_STATE' value='$cgiparams{'CERT_STATE'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'country'}:</td>
+               <td class='base'><select name='CERT_COUNTRY' $cakeydisabled>
+END
+           ;
+           foreach my $country (sort keys %{Countries::countries}) {
+               print "\t\t\t<option value='$Countries::countries{$country}'";
+               if ( $Countries::countries{$country} eq $cgiparams{'CERT_COUNTRY'} ) {
+                   print " selected='selected'";
+               }
+               print ">$country</option>\n";
+           }
+           print <<END
+               </select></td></tr>
+           <tr><td>&nbsp;</td>
+               <td class='base'>$Lang::tr{'pkcs12 file password'}:</td>
+               <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<BR>($Lang::tr{'confirmation'})</td>
+               <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>
+           </table>
+END
+           ;
+           &Header::closebox();
+       }
+
+       print "<div align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' />";
+       if ($cgiparams{'KEY'}) {
+           print "<input type='submit' name='ACTION' value='$Lang::tr{'advanced'}' />";
+       }
+       print "<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></div></form>";
+       &Header::closebigbox();
+       &Header::closepage();
+       exit (0);
+    }
+    VPNCONF_END:
+}
+
+###
+### Advanced settings
+###
+if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
+       ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'ADVANCED'} eq 'yes')) {
+    &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+    if (! $confighash{$cgiparams{'KEY'}}) {
+       $errormessage = $Lang::tr{'invalid key'};
+       goto ADVANCED_END;
+    }
+
+    if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
+       if ($cgiparams{'NAT'} !~ /^(on|off)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       if ($cgiparams{'COMPRESSION'} !~ /^(on|off)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       if ($cgiparams{'NAT'} eq 'on' && $cgiparams{'COMPRESSION'} eq 'on') {
+           $errormessage = $Lang::tr{'cannot enable both nat traversal and compression'};
+           goto ADVANCED_ERROR;
+       }
+       my @temp = split('\|', $cgiparams{'IKE_ENCRYPTION'});
+       if ($#temp < 0) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       foreach my $val (@temp) {
+           if ($val !~ /^(aes256|aes128|3des|twofish256|twofish128|serpent256|serpent128|blowfish256|blowfish128|cast128)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ADVANCED_ERROR;
+           }
+       }
+       @temp = split('\|', $cgiparams{'IKE_INTEGRITY'});
+       if ($#temp < 0) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       foreach my $val (@temp) {
+           if ($val !~ /^(sha2_512|sha2_256|sha|md5)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ADVANCED_ERROR;
+           }
+       }
+       @temp = split('\|', $cgiparams{'IKE_GROUPTYPE'});
+       if ($#temp < 0) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       foreach my $val (@temp) {
+           if ($val !~ /^(768|1024|1536|2048|3072|4096|6144|8192)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ADVANCED_ERROR;
+           }
+       }
+       if ($cgiparams{'IKE_LIFETIME'} !~ /^\d+$/) {
+           $errormessage = $Lang::tr{'invalid input for ike lifetime'};
+           goto ADVANCED_ERROR;
+       }
+       if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 8) {
+           $errormessage = $Lang::tr{'ike lifetime should be between 1 and 8 hours'};
+           goto ADVANCED_ERROR;
+       }
+       @temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});
+       if ($#temp < 0) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       foreach my $val (@temp) {
+           if ($val !~ /^(aes256|aes128|3des|twofish256|twofish128|serpent256|serpent128|blowfish256|blowfish128)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ADVANCED_ERROR;
+           }
+       }
+       @temp = split('\|', $cgiparams{'ESP_INTEGRITY'});
+       if ($#temp < 0) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       foreach my $val (@temp) {
+           if ($val !~ /^(sha2_512|sha2_256|sha1|md5)$/) {
+               $errormessage = $Lang::tr{'invalid input'};
+               goto ADVANCED_ERROR;
+           }
+       }
+       if ($cgiparams{'ESP_GROUPTYPE'} ne '' &&
+           $cgiparams{'ESP_GROUPTYPE'} !~  /^modp(768|1024|1536|2048|3072|4096)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+
+       if ($cgiparams{'ESP_KEYLIFE'} !~ /^\d+$/) {
+           $errormessage = $Lang::tr{'invalid input for esp keylife'};
+           goto ADVANCED_ERROR;
+       }
+       if ($cgiparams{'ESP_KEYLIFE'} < 1 || $cgiparams{'ESP_KEYLIFE'} > 24) {
+           $errormessage = $Lang::tr{'esp keylife should be between 1 and 24 hours'};
+           goto ADVANCED_ERROR;
+       }
+       if ($cgiparams{'ONLY_PROPOSED'} !~ /^(on|off)$/) {
+           $errormessage = $Lang::tr{'invalid input'};
+           goto ADVANCED_ERROR;
+       }
+       $confighash{$cgiparams{'KEY'}}[14] = $cgiparams{'NAT'};
+       $confighash{$cgiparams{'KEY'}}[13] = $cgiparams{'COMPRESSION'};
+       $confighash{$cgiparams{'KEY'}}[18] = $cgiparams{'IKE_ENCRYPTION'};
+       $confighash{$cgiparams{'KEY'}}[19] = $cgiparams{'IKE_INTEGRITY'};
+       $confighash{$cgiparams{'KEY'}}[20] = $cgiparams{'IKE_GROUPTYPE'};
+       $confighash{$cgiparams{'KEY'}}[16] = $cgiparams{'IKE_LIFETIME'};
+       $confighash{$cgiparams{'KEY'}}[21] = $cgiparams{'ESP_ENCRYPTION'};
+       $confighash{$cgiparams{'KEY'}}[22] = $cgiparams{'ESP_INTEGRITY'};
+       $confighash{$cgiparams{'KEY'}}[23] = $cgiparams{'ESP_GROUPTYPE'};
+       $confighash{$cgiparams{'KEY'}}[17] = $cgiparams{'ESP_KEYLIFE'};
+       $confighash{$cgiparams{'KEY'}}[24] = $cgiparams{'ONLY_PROPOSED'};
+       &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
+       &writeipsecfiles();
+       if ($vpnsettings{'ENABLED'} eq 'on' ||
+           $vpnsettings{'ENABLED_BLUE'} eq 'on') {
+           system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
+           sleep $sleepDelay;
+       }
+       goto ADVANCED_END;
+    } else {
+
+       $cgiparams{'NAT'}            = $confighash{$cgiparams{'KEY'}}[14];
+       $cgiparams{'COMPRESSION'}    = $confighash{$cgiparams{'KEY'}}[13];
+       $cgiparams{'IKE_ENCRYPTION'} = $confighash{$cgiparams{'KEY'}}[18];
+       $cgiparams{'IKE_INTEGRITY'}  = $confighash{$cgiparams{'KEY'}}[19];
+       $cgiparams{'IKE_GROUPTYPE'}  = $confighash{$cgiparams{'KEY'}}[20];
+       $cgiparams{'IKE_LIFETIME'}   = $confighash{$cgiparams{'KEY'}}[16];
+       $cgiparams{'ESP_ENCRYPTION'} = $confighash{$cgiparams{'KEY'}}[21];
+       $cgiparams{'ESP_INTEGRITY'}  = $confighash{$cgiparams{'KEY'}}[22];
+       $cgiparams{'ESP_GROUPTYPE'}  = $confighash{$cgiparams{'KEY'}}[23];
+       $cgiparams{'ESP_KEYLIFE'}    = $confighash{$cgiparams{'KEY'}}[17];
+       $cgiparams{'ONLY_PROPOSED'}  = $confighash{$cgiparams{'KEY'}}[24];
+       if ($confighash{$cgiparams{'KEY'}}[3] eq 'net' || $confighash{$cgiparams{'KEY'}}[10]) {
+           $cgiparams{'NAT'}            = 'off';
+       }
+    }
+
+    ADVANCED_ERROR:
+    $checked{'NAT'}{'off'} = '';
+    $checked{'NAT'}{'on'} = '';
+    $checked{'NAT'}{$cgiparams{'NAT'}} = "checked='checked'";
+    $checked{'COMPRESSION'}{'off'} = '';
+    $checked{'COMPRESSION'}{'on'} = '';
+    $checked{'COMPRESSION'}{$cgiparams{'COMPRESSION'}} = "checked='checked'";
+    $checked{'IKE_ENCRYPTION'}{'aes256'} = '';
+    $checked{'IKE_ENCRYPTION'}{'aes128'} = '';
+    $checked{'IKE_ENCRYPTION'}{'3des'} = '';
+    $checked{'IKE_ENCRYPTION'}{'twofish256'} = '';
+    $checked{'IKE_ENCRYPTION'}{'twofish128'} = '';
+    $checked{'IKE_ENCRYPTION'}{'serpent256'} = '';
+    $checked{'IKE_ENCRYPTION'}{'serpent128'} = '';
+    $checked{'IKE_ENCRYPTION'}{'blowfish256'} = '';
+    $checked{'IKE_ENCRYPTION'}{'blowfish128'} = '';
+    $checked{'IKE_ENCRYPTION'}{'cast128'} = '';
+    my @temp = split('\|', $cgiparams{'IKE_ENCRYPTION'});
+    foreach my $key (@temp) {$checked{'IKE_ENCRYPTION'}{$key} = "selected='selected'"; }
+    $checked{'IKE_INTEGRITY'}{'sha2_512'} = '';
+    $checked{'IKE_INTEGRITY'}{'sha2_256'} = '';
+    $checked{'IKE_INTEGRITY'}{'sha'} = '';
+    $checked{'IKE_INTEGRITY'}{'md5'} = '';
+    @temp = split('\|', $cgiparams{'IKE_INTEGRITY'});
+    foreach my $key (@temp) {$checked{'IKE_INTEGRITY'}{$key} = "selected='selected'"; }
+    $checked{'IKE_GROUPTYPE'}{'768'} = '';
+    $checked{'IKE_GROUPTYPE'}{'1024'} = '';
+    $checked{'IKE_GROUPTYPE'}{'1536'} = '';
+    $checked{'IKE_GROUPTYPE'}{'2048'} = '';
+    $checked{'IKE_GROUPTYPE'}{'3072'} = '';
+    $checked{'IKE_GROUPTYPE'}{'4096'} = '';
+    $checked{'IKE_GROUPTYPE'}{'6144'} = '';
+    $checked{'IKE_GROUPTYPE'}{'8192'} = '';
+    @temp = split('\|', $cgiparams{'IKE_GROUPTYPE'});
+    foreach my $key (@temp) {$checked{'IKE_GROUPTYPE'}{$key} = "selected='selected'"; }
+    $checked{'ESP_ENCRYPTION'}{'aes256'} = '';
+    $checked{'ESP_ENCRYPTION'}{'aes128'} = '';
+    $checked{'ESP_ENCRYPTION'}{'3des'} = '';
+    $checked{'ESP_ENCRYPTION'}{'twofish256'} = '';
+    $checked{'ESP_ENCRYPTION'}{'twofish128'} = '';
+    $checked{'ESP_ENCRYPTION'}{'serpent256'} = '';
+    $checked{'ESP_ENCRYPTION'}{'serpent128'} = '';
+    $checked{'ESP_ENCRYPTION'}{'blowfish256'} = '';
+    $checked{'ESP_ENCRYPTION'}{'blowfish128'} = '';
+    @temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});
+    foreach my $key (@temp) {$checked{'ESP_ENCRYPTION'}{$key} = "selected='selected'"; }
+    $checked{'ESP_INTEGRITY'}{'sha2_512'} = '';
+    $checked{'ESP_INTEGRITY'}{'sha2_256'} = '';
+    $checked{'ESP_INTEGRITY'}{'sha1'} = '';
+    $checked{'ESP_INTEGRITY'}{'md5'} = '';
+    @temp = split('\|', $cgiparams{'ESP_INTEGRITY'});
+    foreach my $key (@temp) {$checked{'ESP_INTEGRITY'}{$key} = "selected='selected'"; }
+    $checked{'ESP_GROUPTYPE'}{'modp768'} = '';
+    $checked{'ESP_GROUPTYPE'}{'modp1024'} = '';
+    $checked{'ESP_GROUPTYPE'}{'modp1536'} = '';
+    $checked{'ESP_GROUPTYPE'}{'modp2048'} = '';
+    $checked{'ESP_GROUPTYPE'}{'modp3072'} = '';
+    $checked{'ESP_GROUPTYPE'}{'modp4096'} = '';
+    $checked{'ESP_GROUPTYPE'}{$cgiparams{'ESP_GROUPTYPE'}} = "selected='selected'";
+    $checked{'ONLY_PROPOSED'}{'off'} = '';
+    $checked{'ONLY_PROPOSED'}{'on'} = '';
+    $checked{'ONLY_PROPOSED'}{$cgiparams{'ONLY_PROPOSED'}} = "checked='checked'";
+
+    &Header::showhttpheaders();
+    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+    &Header::openbigbox('100%', 'LEFT', '', $errormessage);
+
+    if ($errormessage) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage";
+       print "&nbsp;</class>";
+       &Header::closebox();
+    }
+
+    if ($warnmessage) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'warning messages'});
+       print "<class name='base'>$warnmessage";
+       print "&nbsp;</class>";
+       &Header::closebox();
+    }
+
+    print "<form method='post' enctype='multipart/form-data'>\n";
+    print "<input type='hidden' name='ADVANCED' value='yes' />\n";
+    print "<input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />\n";
+
+    &Header::openbox('100%', 'LEFT', "$Lang::tr{'advanced'}:");
+    print "<table width='100%'>\n";
+    print "<tr><td width='25%' class='boldbase'>$Lang::tr{'compression'}</td>\n";
+    print "<td width='25%'><input type='checkbox' name='COMPRESSION' $checked{'COMPRESSION'}{'on'} /></td>\n";
+    if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
+       print "<td width='25%'><input type='hidden' name='NAT' value='off' /></td><td width='25%'>&nbsp;</td></tr>\n";
+    } elsif ($confighash{$cgiparams{'KEY'}}[10]) {
+       print "<td width='25%' class='boldbase'>$Lang::tr{'nat-traversal'}</td>\n";
+       print "<td width='25%'><input type='checkbox' name='NAT' $checked{'NAT'}{'on'} disabled='disabled' /></td></tr>\n";
+    } else {
+       print "<td width='25%' class='boldbase'>$Lang::tr{'nat-traversal'}</td>\n";
+       print "<td width='25%'><input type='checkbox' name='NAT' $checked{'NAT'}{'on'} /></td></tr>\n";
+    }
+    print <<EOF
+       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike encryption'}</td>
+           <td width='25%' valign='top'><select name='IKE_ENCRYPTION' multiple='multiple' size='4'>
+                       <option value='aes256' $checked{'IKE_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>
+                       <option value='aes128' $checked{'IKE_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>
+                       <option value='3des' $checked{'IKE_ENCRYPTION'}{'3des'}>3DES</option>
+                       <option value='twofish256' $checked{'IKE_ENCRYPTION'}{'twofish256'}>Twofish (256 bit)</option>
+                       <option value='twofish128' $checked{'IKE_ENCRYPTION'}{'twofish128'}>Twofish (128 bit)</option>
+                       <option value='serpent256' $checked{'IKE_ENCRYPTION'}{'serpent256'}>Serpent (256 bit)</option>
+                       <option value='serpent128' $checked{'IKE_ENCRYPTION'}{'serpent128'}>Serpent (128 bit)</option>
+                       <option value='blowfish256' $checked{'IKE_ENCRYPTION'}{'blowfish256'}>Blowfish (256 bit)</option>
+                       <option value='blowfish128' $checked{'IKE_ENCRYPTION'}{'blowfish128'}>Blowfish (128 bit)</option>
+                       <option value='cast128' $checked{'IKE_ENCRYPTION'}{'cast128'}>Cast (128 bit)</option></SELECT></td>
+           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike integrity'}</td>
+           <td width='25%' valign='top'><select name='IKE_INTEGRITY' multiple='multiple' size='4'>
+                       <option value='sha2_512' $checked{'IKE_INTEGRITY'}{'sha2_512'}>SHA2 (512)</option>
+                       <option value='sha2_256' $checked{'IKE_INTEGRITY'}{'sha2_256'}>SHA2 (256)</option>
+                       <option value='sha' $checked{'IKE_INTEGRITY'}{'sha'}>SHA</option>
+                       <option value='md5' $checked{'IKE_INTEGRITY'}{'md5'}>MD5</option></SELECT></td></tr>
+       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike lifetime'}</td>
+           <td width='25%' valign='top'><input type='text' name='IKE_LIFETIME' value='$cgiparams{'IKE_LIFETIME'}' SIZE='5'> $Lang::tr{'hours'}</td>
+           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'ike grouptype'}</td>
+           <td width='25%' valign='top'><select name='IKE_GROUPTYPE' multiple='multiple' size='4'>
+                       <option value='8192' $checked{'IKE_GROUPTYPE'}{'8192'}>MODP-8192</option>
+                       <option value='6144' $checked{'IKE_GROUPTYPE'}{'6144'}>MODP-6144</option>
+                       <option value='4096' $checked{'IKE_GROUPTYPE'}{'4096'}>MODP-4096</option>
+                       <option value='3072' $checked{'IKE_GROUPTYPE'}{'3072'}>MODP-3072</option>
+                       <option value='2048' $checked{'IKE_GROUPTYPE'}{'2048'}>MODP-2048</option>
+                       <option value='1536' $checked{'IKE_GROUPTYPE'}{'1536'}>MODP-1536</option>
+                       <option value='1024' $checked{'IKE_GROUPTYPE'}{'1024'}>MODP-1024</option>
+                       <option value='768'  $checked{'IKE_GROUPTYPE'}{'768'}>MODP-768</option></select></td></tr>
+       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp encryption'}</td>
+           <td width='25%' valign='top'><select name='ESP_ENCRYPTION' multiple='multiple' size='4'>
+                       <option value='aes256' $checked{'ESP_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>
+                       <option value='aes128' $checked{'ESP_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>
+                       <option value='3des' $checked{'ESP_ENCRYPTION'}{'3des'}>3DES</option>
+                       <option value='twofish256' $checked{'ESP_ENCRYPTION'}{'twofish256'}>Twofish (256 bit)</option>
+                       <option value='twofish128' $checked{'ESP_ENCRYPTION'}{'twofish128'}>Twofish (128 bit)</option>
+                       <option value='serpent256' $checked{'ESP_ENCRYPTION'}{'serpent256'}>Serpent (256 bit)</option>
+                       <option value='serpent128' $checked{'ESP_ENCRYPTION'}{'serpent128'}>Serpent (128 bit)</option>
+                       <option value='blowfish256' $checked{'ESP_ENCRYPTION'}{'blowfish256'}>Blowfish (256 bit)</option>
+                       <option value='blowfish128' $checked{'ESP_ENCRYPTION'}{'blowfish128'}>Blowfish (128 bit)</option></select></td>
+           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp integrity'}</td>
+           <td width='25%' valign='top'><select name='ESP_INTEGRITY' multiple='multiple' size='4'>
+                       <option value='sha2_512' $checked{'ESP_INTEGRITY'}{'sha2_512'}>SHA2 (512)</option>
+                       <option value='sha2_256' $checked{'ESP_INTEGRITY'}{'sha2_256'}>SHA2 (256)</option>
+                       <option value='sha1' $checked{'ESP_INTEGRITY'}{'sha1'}>SHA1</option>
+                       <option value='md5' $checked{'ESP_INTEGRITY'}{'md5'}>MD5</option></select></td></tr>
+       <tr><td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp keylife'}</td>
+           <td width='25%' valign='top'><input type='text' name='ESP_KEYLIFE' value='$cgiparams{'ESP_KEYLIFE'}' size='5' /> $Lang::tr{'hours'}</td>
+           <td width='25%' class='boldbase' valign='top'>$Lang::tr{'esp grouptype'}</td>
+           <td width='25%' valign='top'><select name='ESP_GROUPTYPE'>
+                       <option value=''>$Lang::tr{'phase1 group'}</option>
+                       <option value='modp4096' $checked{'ESP_GROUPTYPE'}{'modp4096'}>MODP-4096</option>
+                       <option value='modp3072' $checked{'ESP_GROUPTYPE'}{'modp3072'}>MODP-3072</option>
+                       <option value='modp2048' $checked{'ESP_GROUPTYPE'}{'modp2048'}>MODP-2048</option>
+                       <option value='modp1536' $checked{'ESP_GROUPTYPE'}{'modp1536'}>MODP-1536</option>
+                       <option value='modp1024' $checked{'ESP_GROUPTYPE'}{'modp1024'}>MODP-1024</option>
+                       <option value='modp768'  $checked{'ESP_GROUPTYPE'}{'modp768'}>MODP-768</option></select></td></tr>
+       <tr><td colspan='4'><input type='CHECKBOX' name='ONLY_PROPOSED' $checked{'ONLY_PROPOSED'}{'on'} />
+               $Lang::tr{'use only proposed settings'}</td></tr>
+       </table>
+EOF
+    ;
+    &Header::closebox();
+    print "<div align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' />";
+    print "<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></div></form>";
+    &Header::closebigbox();
+    &Header::closepage();
+    exit(0);
+
+    ADVANCED_END:
+}
+
+###
+### Default status page
+###
+    %cgiparams = ();
+    %cahash = ();
+    %confighash = ();
+    &General::readhash("${General::swroot}/vpn/settings", \%cgiparams);
+    &General::readhasharray("${General::swroot}/vpn/caconfig", \%cahash);
+    &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+
+    my @status = `/usr/sbin/ipsec auto --status`;
+
+    # suggest a default name for this side
+    if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") {
+       if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {
+           my $ipaddr = <IPADDR>;
+           close IPADDR;
+           chomp ($ipaddr);
+           $cgiparams{'VPN_IP'} = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
+           if ($cgiparams{'VPN_IP'} eq '') {
+               $cgiparams{'VPN_IP'} = $ipaddr;
+           }
+       }
+    }
+    # no IP found, use %defaultroute
+    $cgiparams{'VPN_IP'} ='%defaultroute' if ($cgiparams{'VPN_IP'} eq '');
+    
+    $cgiparams{'VPN_DELAYED_START'} = 0 if (! defined ($cgiparams{'VPN_DELAYED_START'}));
+    map ($checked{$_} = $cgiparams{$_} eq 'on' ? "checked='checked'" : '',
+       ('ENABLED','ENABLED_BLUE','DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',
+        'DBG_KLIPS','DBG_DNS','DBG_NAT_T'));
+
+
+    &Header::showhttpheaders();
+    &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+    &Header::openbigbox('100%', 'LEFT', '', $errormessage);
+
+    if ($errormessage) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+    }
+
+    &Header::openbox('100%', 'LEFT', $Lang::tr{'global settings'});
+    print <<END
+    <form method='post'>
+    <table width='100%'>
+    <tr>
+       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'local vpn hostname/ip'}:</td>
+       <td width='25%'><input type='text' name='VPN_IP' value='$cgiparams{'VPN_IP'}' /></td>
+       <td width='25%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'} /></td>
+    </tr>
+END
+    ;
+    if ($netsettings{'BLUE_DEV'} ne '') {
+    print <<END
+    <tr>
+       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'vpn on blue'}:</td>
+       <td></td>
+       <td width='25%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED_BLUE' $checked{'ENABLED_BLUE'} /></td>
+    </tr>
+END
+    ;
+    }
+print <<END
+       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'vpn delayed start'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='25%'><input type='text' name='VPN_DELAYED_START' value='$cgiparams{'VPN_DELAYED_START'}' /></td>
+       <td width='25%' class='base' nowrap='nowrap'>$Lang::tr{'override mtu'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='25%'><input type='text' name='VPN_OVERRIDE_MTU' value='$cgiparams{'VPN_OVERRIDE_MTU'}' /></td>
+</table>
+<table width='100%'>
+<tr><td>PLUTO DEBUG</td>
+    <td>crypt:<input type='checkbox' name='DBG_CRYPT' $checked{'DBG_CRYPT'} /></td>
+    <td>parsing:<input type='checkbox' name='DBG_PARSING' $checked{'DBG_PARSING'} /></td>
+    <td>emitting:<input type='checkbox' name='DBG_EMITTING' $checked{'DBG_EMITTING'} /></td>
+    <td>control:<input type='checkbox' name='DBG_CONTROL' $checked{'DBG_CONTROL'} /></td>
+    <td>klips:<input type='checkbox' name='DBG_KLIPS' $checked{'DBG_KLIPS'} /></td>
+    <td>dns:<input type='checkbox' name='DBG_DNS' $checked{'DBG_DNS'} /></td>
+    <td>nat_t:<input type='checkbox' name='DBG_NAT_T' $checked{'DBG_NAT_T'} /></td>
+</tr></table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
+    <td width='70%' class='base'>$Lang::tr{'vpn delayed start help'}</td>
+    <td width='30%' align='center' class='base'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+END
+;              
+    print "</form>";
+    &Header::closebox();
+
+    &Header::openbox('100%', 'LEFT', $Lang::tr{'connection status and controlc'});
+    print <<END
+    <table width='100%' border='0' cellspacing='1' cellpadding='0'>
+    <tr>
+       <td width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>
+       <td width='22%' class='boldbase' align='center'><b>$Lang::tr{'type'}</b></td>
+       <td width='23%' class='boldbase' align='center'><b>$Lang::tr{'common name'}</b></td>
+       <td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b><br /><img src='/images/null.gif' width='125' height='1' border='0' alt='L2089' /></td>
+       <td width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></td>
+       <td width='5%' class='boldbase' colspan='6' align='center'><b>$Lang::tr{'action'}</b></td>
+    </tr>
+END
+    ;
+    my $id = 0;
+    my $gif;
+    foreach my $key (keys %confighash) {
+       if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
+
+       if ($id % 2) {
+           print "<tr bgcolor='${Header::table1colour}'>\n";
+       } else {
+           print "<tr bgcolor='${Header::table2colour}'>\n";
+       }
+       print "<td align='center' nowrap='nowrap'>$confighash{$key}[1]</td>";
+       print "<td align='center' nowrap='nowrap'>" . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")</td>";
+       if ($confighash{$key}[4] eq 'cert') {
+           print "<td align='left' nowrap='nowrap'>$confighash{$key}[2]</td>";
+       } else {
+           print "<td align='left'>&nbsp;</td>";
+       }
+       print "<td align='center'>$confighash{$key}[25]</td>";
+       my $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+       if ($confighash{$key}[0] eq 'off') {
+           $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+       } else {
+           foreach my $line (@status) {
+               if ($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) {
+                   $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
+               }
+           }
+       }
+       print <<END
+       <td align='center'>$active</td>
+       <form method='post' name='frm${key}a'><td align='center'>
+           <input type='image'  name='$Lang::tr{'restart'}' src='/images/reload.gif' alt='$Lang::tr{'restart'}' title='$Lang::tr{'restart'}' border='0' />
+           <input type='hidden' name='ACTION' value='$Lang::tr{'restart'}' />
+           <input type='hidden' name='KEY' value='$key' />
+       </td></form>
+END
+       ;
+       if ($confighash{$key}[4] eq 'cert') {
+           print <<END
+           <form method='post' name='frm${key}b'><td align='center'>
+               <input type='image' name='$Lang::tr{'show certificate'}' src='/images/info.gif' alt='$Lang::tr{'show certificate'}' title='$Lang::tr{'show certificate'}' border='0' />
+               <input type='hidden' name='ACTION' value='$Lang::tr{'show certificate'}' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form>
+END
+       ; } else {
+           print "<td>&nbsp;</td>";
+       }
+       if ($confighash{$key}[4] eq 'cert' && -f "${General::swroot}/certs/$confighash{$key}[1].p12") { 
+           print <<END
+           <form method='post' name='frm${key}c'><td align='center'>
+               <input type='image' name='$Lang::tr{'download pkcs12 file'}' src='/images/floppy.gif' alt='$Lang::tr{'download pkcs12 file'}' title='$Lang::tr{'download pkcs12 file'}' border='0' />
+               <input type='hidden' name='ACTION' value='$Lang::tr{'download pkcs12 file'}' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form>
+END
+       ; } elsif ($confighash{$key}[4] eq 'cert') {
+           print <<END
+           <form method='post' name='frm${key}c'><td align='center'>
+               <input type='image' name='$Lang::tr{'download certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' title='$Lang::tr{'download certificate'}' border='0' />
+               <input type='hidden' name='ACTION' value='$Lang::tr{'download certificate'}' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form>
+END
+       ; } else {
+           print "<td>&nbsp;</td>";
+       }
+       print <<END
+       <form method='post' name='frm${key}d'><td align='center'>
+           <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$Lang::tr{'toggle enable disable'}' title='$Lang::tr{'toggle enable disable'}' border='0' />
+           <input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+           <input type='hidden' name='KEY' value='$key' />
+       </td></form>
+
+       <form method='post' name='frm${key}e'><td align='center'>
+           <input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+           <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' width='20' height='20' border='0'/>
+           <input type='hidden' name='KEY' value='$key' />
+       </td></form>
+       <form method='post' name='frm${key}f'><td align='center'>
+           <input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+           <input type='image'  name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' width='20' height='20' border='0' />
+           <input type='hidden' name='KEY' value='$key' />
+       </td></form>
+       </tr>
+END
+       ;
+       $id++;
+    }
+    ;
+
+    # If the config file contains entries, print Key to action icons
+    if ( $id ) {
+    print <<END
+    <table>
+    <tr>
+       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>
+       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/info.gif' alt='$Lang::tr{'show certificate'}' /></td>
+       <td class='base'>$Lang::tr{'show certificate'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+    </tr>
+    <tr>
+       <td>&nbsp; </td>
+       <td>&nbsp; <img src='/images/off.gif' alt='?OFF' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='?FLOPPY' /></td>
+       <td class='base'>$Lang::tr{'download certificate'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/reload.gif' alt='?RELOAD'/></td>
+       <td class='base'>$Lang::tr{'restart'}</td>
+    </tr>
+    </table>
+END
+    ;
+    }
+
+    print <<END
+    <table width='100%'>
+    <form method='post'>
+    <tr><td align='center' colspan='9'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
+    </form>
+    </table>
+END
+    ;
+    &Header::closebox();
+
+    &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate authorities'}:");
+    print <<EOF
+    <table width='100%' border='0' cellspacing='1' cellpadding='0'>
+    <tr>
+       <td width='25%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>
+       <td width='65%' class='boldbase' align='center'><b>$Lang::tr{'subject'}</b></td>
+       <td width='10%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>
+    </tr>
+EOF
+    ;
+    if (-f "${General::swroot}/ca/cacert.pem") {
+       my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/cacert.pem`;
+       $casubject    =~ /Subject: (.*)[\n]/;
+       $casubject    = $1;
+       $casubject    =~ s+/Email+, E+;
+       $casubject    =~ s/ ST=/ S=/;
+
+       print <<END
+       <tr bgcolor='${Header::table2colour}'>
+       <td class='base'>$Lang::tr{'root certificate'}</td>
+       <td class='base'>$casubject</td>
+       <form method='post' name='frmrootcrta'><td width='3%' align='center'>
+           <input type='hidden' name='ACTION' value='$Lang::tr{'show root certificate'}' />
+           <input type='image' name='$Lang::tr{'edit'}' src='/images/info.gif' alt='$Lang::tr{'show root certificate'}' title='$Lang::tr{'show root certificate'}' width='20' height='20' border='0' />
+       </td></form>
+       <form method='post' name='frmrootcrtb'><td width='3%' align='center'>
+           <input type='image' name='$Lang::tr{'download root certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download root certificate'}' title='$Lang::tr{'download root certificate'}' border='0' />
+           <input type='hidden' name='ACTION' value='$Lang::tr{'download root certificate'}' />
+       </td></form>
+       <td width='4%'>&nbsp;</td></tr>
+END
+       ;
+    } else {
+       # display rootcert generation buttons
+       print <<END
+       <tr bgcolor='${Header::table2colour}'>
+       <td class='base'>$Lang::tr{'root certificate'}:</td>
+       <td class='base'>$Lang::tr{'not present'}</td>
+       <td colspan='3'>&nbsp;</td></tr>
+END
+       ;
+    }
+
+    if (-f "${General::swroot}/certs/hostcert.pem") {
+       my $hostsubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/hostcert.pem`;
+       $hostsubject    =~ /Subject: (.*)[\n]/;
+       $hostsubject    = $1;
+       $hostsubject    =~ s+/Email+, E+;
+       $hostsubject    =~ s/ ST=/ S=/;
+
+       print <<END
+       <tr bgcolor='${Header::table1colour}'>
+       <td class='base'>$Lang::tr{'host certificate'}</td>
+       <td class='base'>$hostsubject</td>
+       <form method='post' name='frmhostcrta'><td width='3%' align='center'>
+           <input type='hidden' name='ACTION' value='$Lang::tr{'show host certificate'}' />
+           <input type='image' name='$Lang::tr{'show host certificate'}' src='/images/info.gif' alt='$Lang::tr{'show host certificate'}' title='$Lang::tr{'show host certificate'}' width='20' height='20' border='0' />
+       </td></form>
+       <form method='post' name='frmhostcrtb'><td width='3%' align='center'>
+           <input type='image' name='$Lang::tr{'download host certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download host certificate'}' title='$Lang::tr{'download host certificate'}' border='0' />
+           <input type='hidden' name='ACTION' value='$Lang::tr{'download host certificate'}' />
+       </td></form>
+       <td width='4%'>&nbsp;</td></tr>
+END
+       ;
+    } else {
+       # Nothing
+       print <<END
+       <tr bgcolor='${Header::table1colour}'>
+       <td width='25%' class='base'>$Lang::tr{'host certificate'}:</td>
+       <td class='base'>$Lang::tr{'not present'}</td>
+       </td><td colspan='3'>&nbsp;</td></tr>
+END
+       ;
+    }
+
+    if (! -f "${General::swroot}/ca/cacert.pem") {
+        print "<tr><td colspan='5' align='center'><form method='post'>";
+       print "<input type='submit' name='ACTION' value='$Lang::tr{'generate root/host certificates'}' />";
+        print "</form></td></tr>\n";
+    }
+
+    if (keys %cahash > 0) {
+       foreach my $key (keys %cahash) {
+           if (($key + 1) % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n";
+           } else {
+               print "<tr bgcolor='${Header::table2colour}'>\n";
+           }
+           print "<td class='base'>$cahash{$key}[0]</td>\n";
+           print "<td class='base'>$cahash{$key}[1]</td>\n";
+           print <<END
+           <form method='post' name='cafrm${key}a'><td align='center'>
+               <input type='image' name='$Lang::tr{'show ca certificate'}' src='/images/info.gif' alt='$Lang::tr{'show ca certificate'}' title='$Lang::tr{'show ca certificate'}' border='0' />
+               <input type='hidden' name='ACTION' value='$Lang::tr{'show ca certificate'}' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form>
+           <form method='post' name='cafrm${key}b'><td align='center'>
+               <input type='image' name='$Lang::tr{'download ca certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download ca certificate'}' title='$Lang::tr{'download ca certificate'}' border='0' />
+               <input type='hidden' name='ACTION' value='$Lang::tr{'download ca certificate'}' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form>
+           <form method='post' name='cafrm${key}c'><td align='center'>
+               <input type='hidden' name='ACTION' value='$Lang::tr{'remove ca certificate'}' />
+               <input type='image'  name='$Lang::tr{'remove ca certificate'}' src='/images/delete.gif' alt='$Lang::tr{'remove ca certificate'}' title='$Lang::tr{'remove ca certificate'}' width='20' height='20' border='0' />
+               <input type='hidden' name='KEY' value='$key' />
+           </td></form></tr>
+END
+           ;
+       }
+    }
+
+    print "</table>";
+
+    # If the file contains entries, print Key to action icons
+    if ( -f "${General::swroot}/ca/cacert.pem") {
+    print <<END
+    <table>
+    <tr>
+       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>
+       <td>&nbsp; &nbsp; <img src='/images/info.gif' alt='$Lang::tr{'show certificate'}' /></td>
+       <td class='base'>$Lang::tr{'show certificate'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' /></td>
+       <td class='base'>$Lang::tr{'download certificate'}</td>
+    </tr>
+    </table>
+END
+    ;
+    }
+    print <<END
+    <form method='post' enctype='multipart/form-data'>
+    <table width='100%' border='0' cellspacing='1' cellpadding='0'>
+    <tr><td class='base' nowrap='nowrap'>$Lang::tr{'ca name'}:</td>
+    <td nowrap='nowrap'><input type='text' name='CA_NAME' value='$cgiparams{'CA_NAME'}' size='15' />
+    <td nowrap='nowrap'><input type='file' name='FH' size='30' /></td>
+    <td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'upload ca certificate'}' /></td>
+    </tr></table></form>
+END
+    ;
+    &Header::closebox();
+
+    print "<div align='center'><form method='post'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></div></form>\n";
+    print "$Lang::tr{'this feature has been sponsored by'} : ";
+    print "<a href='http://www.seminolegas.com/' target='_blank'>Seminole Canada Gas Company</a>.\n";
+
+    &Header::closebigbox();
+    &Header::closepage();
index 8b2bbb8dae922cea8ec059214ef80e879ff6db0e..a1ee8445973d52bae6edcecc0671ea484882c793 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# IPCop CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) 2003 Alan Hourihane <alanh@fairlite.demon.co.uk>\r
-# (c) 2005 Eric Oberlander, Robert Kerr - Inline editing & DHCP leases\r
-#\r
-# $Id: wireless.cgi,v 1.4.2.15 2005/06/11 12:14:49 eoberlander Exp $\r
-#\r
-\r
-use strict;\r
-use Time::Local;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my %cgiparams=();\r
-my %checked=();\r
-my $errormessage = '';\r
-my $filename = "${General::swroot}/wireless/config";\r
-my $hostsfile = "${General::swroot}/main/hosts";\r
-our %dhcpsettings=(); \r
-our %netsettings=();\r
-\r
-$cgiparams{'ENABLED'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-$cgiparams{'VALID'} = '';\r
-$cgiparams{'SOURCE_IP'} ='';\r
-$cgiparams{'SOURCE_MAC'} ='';\r
-$cgiparams{'REMARK'} ='';\r
-\r
-&Header::getcgihash(\%cgiparams);\r
-\r
-&General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
-\r
-&Header::showhttpheaders();\r
-\r
-open(FILE, $filename) or die 'Unable to open config file.';\r
-my @current = <FILE>;\r
-close(FILE);\r
-\r
-if ($cgiparams{'ACTION'} eq 'add')\r
-{\r
-\r
-       if ($cgiparams{'SOURCE_IP'} eq '' && $cgiparams{'SOURCE_MAC'} eq '')\r
-       {\r
-               goto ADDEXIT;\r
-       }\r
-\r
-       $cgiparams{'SOURCE_MAC'} =~ tr/-/:/;\r
-\r
-       my $key = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $key++;\r
-               my @temp = split(/\,/,$line);\r
-\r
-               if ($temp[1] ne '' && $cgiparams{'SOURCE_IP'} eq $temp[1] && $cgiparams{'EDITING'} ne $key)\r
-               {\r
-                       $errormessage = $Lang::tr{'duplicate ip'};\r
-                       goto ADDERROR;\r
-               }\r
-               if ($temp[2] ne '' && lc($cgiparams{'SOURCE_MAC'}) eq lc($temp[2]) && $cgiparams{'EDITING'} ne $key)\r
-               {\r
-                       $errormessage = $Lang::tr{'duplicate mac'};\r
-                       goto ADDERROR;\r
-               }\r
-       }\r
-\r
-       if ($cgiparams{'SOURCE_IP'} eq '')\r
-       {\r
-               $cgiparams{'SOURCE_IP'} = 'NONE';\r
-       } else {\r
-               unless(&General::validip($cgiparams{'SOURCE_IP'})) \r
-               {\r
-                       $errormessage = $Lang::tr{'invalid fixed ip address'}; \r
-                       goto ADDERROR;\r
-               }\r
-       }\r
-       if ($cgiparams{'SOURCE_MAC'} eq '')\r
-       {\r
-               $cgiparams{'SOURCE_MAC'} = 'NONE';\r
-       } else {\r
-               unless(&General::validmac($cgiparams{'SOURCE_MAC'})) \r
-               { \r
-                       $errormessage = $Lang::tr{'invalid fixed mac address'}; \r
-               }\r
-       }\r
-\r
-ADDERROR:\r
-       if ($errormessage)\r
-       {\r
-               $cgiparams{'SOURCE_MAC'} = '' if $cgiparams{'SOURCE_MAC'} eq 'NONE';\r
-               $cgiparams{'SOURCE_IP'} = '' if $cgiparams{'SOURCE_IP'} eq 'NONE';\r
-       } else {\r
-               if ($cgiparams{'EDITING'} eq 'no') {\r
-                       open(FILE,">>$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       print FILE "$key,$cgiparams{'SOURCE_IP'},$cgiparams{'SOURCE_MAC'},$cgiparams{'ENABLED'},$cgiparams{'REMARK'}\n";\r
-               } else {\r
-                       open(FILE,">$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       my $id = 0;\r
-                       foreach my $line (@current)\r
-                       {\r
-                               $id++;\r
-                               if ($cgiparams{'EDITING'} eq $id) {\r
-                                       print FILE "$id,$cgiparams{'SOURCE_IP'},$cgiparams{'SOURCE_MAC'},$cgiparams{'ENABLED'},$cgiparams{'REMARK'}\n";\r
-                               } else { print FILE "$line"; }\r
-                       }\r
-               }\r
-               close(FILE);\r
-               undef %cgiparams;\r
-               &General::log($Lang::tr{'wireless config added'});\r
-               system('/usr/local/bin/restartwireless');\r
-       }\r
-ADDEXIT:\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq 'edit')\r
-{\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               if ($cgiparams{'ID'} eq $id)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       $cgiparams{'SOURCE_IP'}  = $temp[1];\r
-                       $cgiparams{'SOURCE_MAC'} = $temp[2];\r
-                       $cgiparams{'ENABLED'}    = $temp[3];\r
-                       $cgiparams{'REMARK'}     = $temp[4];\r
-                       $cgiparams{'SOURCE_IP'} = '' if $cgiparams{'SOURCE_IP'} eq 'NONE';\r
-                       $cgiparams{'SOURCE_MAC'} = '' if $cgiparams{'SOURCE_MAC'} eq 'NONE';\r
-               }\r
-       }\r
-       &General::log($Lang::tr{'wireless config changed'});\r
-       system('/usr/local/bin/restartwireless');\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq 'remove' || $cgiparams{'ACTION'} eq 'toggle')\r
-{\r
-       my $id = 0;\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }\r
-               elsif ($cgiparams{'ACTION'} eq 'toggle')\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       print FILE "$temp[0],$temp[1],$temp[2],$cgiparams{'ENABLE'},$temp[4]\n";\r
-               }\r
-       }\r
-       close(FILE);\r
-       &General::log($Lang::tr{'wireless config changed'});\r
-       system('/usr/local/bin/restartwireless');\r
-}\r
-\r
-\r
-$checked{'ENABLED'}{'off'} = '';\r
-$checked{'ENABLED'}{'on'} = '';\r
-$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";\r
-\r
-\r
-&Header::openpage($Lang::tr{'wireless configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($cgiparams{'ACTION'} eq 'edit') {\r
-       &Header::openbox('100%', 'left', "$Lang::tr{'edit device'}");\r
-       $buttontext = $Lang::tr{'update'};\r
-} else {\r
-       &Header::openbox('100%', 'left', "$Lang::tr{'add device'}");\r
-}\r
-\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='25%' class='base'>$Lang::tr{'source ip'}:&nbsp;</td>\r
-<td width='25%' ><input type='text' name='SOURCE_IP' value='$cgiparams{'SOURCE_IP'}' size='25' /></td>\r
-<td width='25%' class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td>\r
-<td width='25%'><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\r
-</tr>\r
-<tr>\r
-<td width='25%' class='base'>$Lang::tr{'source'} $Lang::tr{'mac address'}:&nbsp;</td>\r
-<td colspan='3'><input type='text' name='SOURCE_MAC' value='$cgiparams{'SOURCE_MAC'}' size='25' /></td>\r
-</tr>\r
-<tr>\r
-<td width='25%' class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>\r
-<td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='40' /></td>\r
-</tr>\r
-</table>\r
-<hr />\r
-<table width='100%'>\r
-<tr>\r
-    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>\r
-    <td width='55%' class='base'>$Lang::tr{'this field may be blank'}</td>\r
-    <td width='40%' align='center'>\r
-      <input type='hidden' name='ACTION' value='add' />\r
-      <input type='submit' name='SUBMIT' value='$buttontext' />\r
-    </td>\r
-    <td width='5%' align='right'>\r
-    <a href='${General::adminmanualurl}/section-firewall.html#section-blue-access' target='_blank'>\r
-    <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-\r
-if ($cgiparams{'ACTION'} eq 'edit') {\r
-       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";\r
-} else {\r
-       print "<input type='hidden' name='EDITING' value='no' />\n";\r
-}\r
-\r
-&Header::closebox();\r
-\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', "$Lang::tr{'devices on blue'}");\r
-print <<END\r
-<div align='center'>\r
-END\r
-;\r
-open (FILE, "$filename");\r
-my @current = <FILE>;\r
-close (FILE);\r
-\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td align='center' width='20%'><b>$Lang::tr{'hostname'}</b></td>\r
-<td align='center' width='20%'><b>$Lang::tr{'source ip'}</b></td>\r
-<td align='center' width='20%'><b>$Lang::tr{'mac address'}</b></td>\r
-<td align='center' width='35%'><b>$Lang::tr{'remark'}</b></td>\r
-<td align='center' colspan='3'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-my $id = 0;\r
-\r
-open (HOSTFILE, "$hostsfile");\r
-my @curhosts = <HOSTFILE>;\r
-close (HOSTFILE);\r
-\r
-my $connstate = &Header::connectionstatus();\r
-my @arp = `/sbin/arp -n`;\r
-shift @arp;\r
-\r
-foreach my $line (@current)\r
-{\r
-       $id++;\r
-       chomp($line);\r
-       my $gif = "";\r
-       my $gdesc = "";\r
-       my $hname = "";\r
-       my $toggle = "";\r
-       my @temp = split(/\,/,$line);\r
-       my $wirelessid = $temp[0];\r
-       my $sourceip = $temp[1];\r
-       my $sourcemac = $temp[2];\r
-       if ( $sourceip eq 'NONE' ) {\r
-               foreach my $aline ( @arp )\r
-               {\r
-                       chomp($aline);\r
-                       my @atemp = split( m{\s+}, $aline );\r
-                       my $aipaddr = $atemp[0];\r
-                       my $amacaddr = lc( $atemp[2] );\r
-                       if ( $amacaddr eq $sourcemac ) {\r
-                               $sourceip = $aipaddr;\r
-                               last;\r
-                       }\r
-               }\r
-       }\r
-\r
-       # SourceIP could now have been set by the ARP probe.\r
-       if ( $sourceip ne 'NONE' ) {\r
-               foreach my $hline (@curhosts)\r
-               {\r
-                       chomp($hline);\r
-                       my @htemp = split(/\,/,$hline);\r
-                       my $hkey = $htemp[0];\r
-                       my $hipaddr = $htemp[1];\r
-                       my $hostname = $htemp[2];\r
-                       my $domainname = $htemp[3];\r
-                       if ($sourceip eq $hipaddr) {\r
-                               $hname = "$hostname.$domainname";\r
-                               last;\r
-                       }\r
-               }\r
-               if ( $hname eq "" ) {\r
-                       my ($aliases, $addrtype, $length, @addrs);\r
-                       ($hname, $aliases, $addrtype, $length, @addrs) = \r
-                               gethostbyaddr(pack("C4", split(/\./,  $sourceip)), 2);\r
-               }\r
-       }\r
-\r
-       if ($temp[3] eq 'on') { $gif = 'on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}\r
-               else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'};}\r
-\r
-       my $remark    = &Header::cleanhtml($temp[4]);\r
-\r
-       if ($cgiparams{'ACTION'} eq 'edit' && $cgiparams{'ID'} eq $id) {\r
-               print "<tr bgcolor='${Header::colouryellow}'>\n";\r
-       } elsif ($id % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n";\r
-       } else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n";\r
-       }\r
-       print "<td align='center'>$hname</td>\n";\r
-       print "<td align='center'>$sourceip</td>\n";\r
-       print "<td align='center'>$sourcemac</td>\n";\r
-       print "<td align='center'>$remark</td>\n";\r
-print<<END\r
-<td align='center'>\r
-       <form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />\r
-       <input type='hidden' name='ACTION' value='toggle'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       <input type='hidden' name='ENABLE' value='$toggle' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='edit' />\r
-       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       </form>\r
-</td>\r
-\r
-<td align='center'>\r
-       <form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='remove' />\r
-       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />\r
-       <input type='hidden' name='ID' value='$id' />\r
-       </form>\r
-</td>\r
-END\r
-       ;\r
-       print "</tr>\n";\r
-}\r
-print "</table>\n";\r
-\r
-print "</div>\n";\r
-\r
-&Header::closebox();\r
-\r
-if ( $dhcpsettings{"ENABLE_BLUE"} eq 'on') {\r
-       &printblueleases;\r
-}\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
-\r
-sub printblueleases\r
-{\r
-       our %entries = ();\r
-\r
-       sub blueleasesort {\r
-               # Sort by IP address\r
-               my $qs ='IPADDR';\r
-               my @a = split(/\./,$entries{$a}->{$qs});\r
-               my @b = split(/\./,$entries{$b}->{$qs});\r
-               ($a[0]<=>$b[0]) ||\r
-               ($a[1]<=>$b[1]) ||\r
-               ($a[2]<=>$b[2]) ||\r
-               ($a[3]<=>$b[3]);\r
-       }\r
-\r
-       &Header::openbox('100%', 'left', "$Lang::tr{'current dhcp leases on blue'}");\r
-       print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='25%' align='center'><b>$Lang::tr{'ip address'}</b></td>\r
-<td width='25%' align='center'><b>$Lang::tr{'mac address'}</b></td>\r
-<td width='20%' align='center'><b>$Lang::tr{'hostname'}</b></td>\r
-<td width='30%' align='center'><b>$Lang::tr{'lease expires'} (local time d/m/y)</b></td>\r
-</tr>\r
-END\r
-       ;\r
-\r
-       my ($ip, $endtime, $ether, $hostname, @record, $record);\r
-       open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";\r
-       while (my $line = <LEASES>) {\r
-               next if( $line =~ /^\s*#/ );\r
-               chomp($line);\r
-               my @temp = split (' ', $line);\r
-\r
-               if ($line =~ /^\s*lease/) {\r
-                       $ip = $temp[1];\r
-                       # All fields are not necessarily read. Clear everything\r
-                       $endtime = 0;\r
-                       $ether = "";\r
-                       $hostname = "";\r
-               } elsif ($line =~ /^\s*ends never;/) {\r
-                       $endtime = 'never';\r
-               } elsif ($line =~ /^\s*ends/) {\r
-                       $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;\r
-                       $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);\r
-               } elsif ($line =~ /^\s*hardware ethernet/) {\r
-                       $ether = $temp[2];\r
-                       $ether =~ s/;//g;\r
-               } elsif ($line =~ /^\s*client-hostname/) {\r
-                       shift (@temp);\r
-                       $hostname = join (' ',@temp);\r
-                       $hostname =~ s/;//g;\r
-                       $hostname =~ s/\"//g;\r
-               } elsif ($line eq "}") {\r
-                       # Select records in Blue subnet\r
-                       if ( &General::IpInSubnet ( $ip,\r
-                               $netsettings{"BLUE_NETADDRESS"},\r
-                               $netsettings{"BLUE_NETMASK"} ) ) {\r
-                               @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);\r
-                               $record = {};                                   # create a reference to empty hash\r
-                               %{$record} = @record;                           # populate that hash with @record\r
-                               $entries{$record->{'IPADDR'}} = $record;        # add this to a hash of hashes\r
-                       }\r
-               }\r
-       }\r
-       close(LEASES);\r
-\r
-       my $id = 0;\r
-       foreach my $key (sort blueleasesort keys %entries) {\r
-\r
-               my $hostname = &Header::cleanhtml($entries{$key}->{HOSTNAME},"y");\r
-\r
-               if ($id % 2) {\r
-                       print "<tr bgcolor='$Header::table2colour'>";\r
-               } else {\r
-                       print "<tr bgcolor='$Header::table1colour'>";\r
-               }\r
-\r
-               print <<END\r
-<td align='center'>$entries{$key}->{IPADDR}</td>\r
-<td align='center'>$entries{$key}->{ETHER}</td>\r
-<td align='center'>&nbsp;$hostname </td>\r
-<td align='center'>\r
-END\r
-               ;\r
-\r
-               if ($entries{$key}->{ENDTIME} eq 'never') {\r
-                       print "$Lang::tr{'no time limit'}";\r
-               } else {\r
-                       my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst);\r
-                       ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});\r
-                       my $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);\r
-\r
-                       if ($entries{$key}->{ENDTIME} < time() ){\r
-                               print "<strike>$enddate</strike>";\r
-                       } else {\r
-                               print "$enddate";\r
-                       }\r
-               }\r
-\r
-               if ( $hostname eq '' ) {\r
-                       $hostname = $Lang::tr{'device'};\r
-               }\r
-\r
-               print <<END\r
-<td align='center'>\r
-       <form method='post' name='frmd$id' action='$ENV{'SCRIPT_NAME'}'>\r
-       <input type='hidden' name='ACTION' value='add' />\r
-       <input type='hidden' name='SOURCE_IP' value='' />\r
-       <input type='hidden' name='SOURCE_MAC' value='$entries{$key}->{ETHER}' />\r
-       <input type='hidden' name='REMARK' value='$hostname $Lang::tr{'added from dhcp lease list'}' />\r
-       <input type='hidden' name='ENABLED' value='on' />\r
-       <input type='hidden' name='EDITING' value='no' />\r
-       <input type='image' name='$Lang::tr{'add device'}' src='/images/addblue.gif' alt='$Lang::tr{'add device'}' title='$Lang::tr{'add device'}' />\r
-       </form>\r
-</td></tr>\r
-END\r
-               ;\r
-               $id++;\r
-       }\r
-\r
-       print "</table>";\r
-       &Header::closebox();\r
-}\r
-\r
+#!/usr/bin/perl
+#
+# IPCop CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) 2003 Alan Hourihane <alanh@fairlite.demon.co.uk>
+# (c) 2005 Eric Oberlander, Robert Kerr - Inline editing & DHCP leases
+#
+# $Id: wireless.cgi,v 1.4.2.15 2005/06/11 12:14:49 eoberlander Exp $
+#
+
+use strict;
+use Time::Local;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+my %cgiparams=();
+my %checked=();
+my $errormessage = '';
+my $filename = "${General::swroot}/wireless/config";
+my $hostsfile = "${General::swroot}/main/hosts";
+our %dhcpsettings=(); 
+our %netsettings=();
+
+$cgiparams{'ENABLED'} = 'off';
+$cgiparams{'ACTION'} = '';
+$cgiparams{'VALID'} = '';
+$cgiparams{'SOURCE_IP'} ='';
+$cgiparams{'SOURCE_MAC'} ='';
+$cgiparams{'REMARK'} ='';
+
+&Header::getcgihash(\%cgiparams);
+
+&General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);
+&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
+&Header::showhttpheaders();
+
+open(FILE, $filename) or die 'Unable to open config file.';
+my @current = <FILE>;
+close(FILE);
+
+if ($cgiparams{'ACTION'} eq 'add')
+{
+
+       if ($cgiparams{'SOURCE_IP'} eq '' && $cgiparams{'SOURCE_MAC'} eq '')
+       {
+               goto ADDEXIT;
+       }
+
+       $cgiparams{'SOURCE_MAC'} =~ tr/-/:/;
+
+       my $key = 0;
+       foreach my $line (@current)
+       {
+               $key++;
+               my @temp = split(/\,/,$line);
+
+               if ($temp[1] ne '' && $cgiparams{'SOURCE_IP'} eq $temp[1] && $cgiparams{'EDITING'} ne $key)
+               {
+                       $errormessage = $Lang::tr{'duplicate ip'};
+                       goto ADDERROR;
+               }
+               if ($temp[2] ne '' && lc($cgiparams{'SOURCE_MAC'}) eq lc($temp[2]) && $cgiparams{'EDITING'} ne $key)
+               {
+                       $errormessage = $Lang::tr{'duplicate mac'};
+                       goto ADDERROR;
+               }
+       }
+
+       if ($cgiparams{'SOURCE_IP'} eq '')
+       {
+               $cgiparams{'SOURCE_IP'} = 'NONE';
+       } else {
+               unless(&General::validip($cgiparams{'SOURCE_IP'})) 
+               {
+                       $errormessage = $Lang::tr{'invalid fixed ip address'}; 
+                       goto ADDERROR;
+               }
+       }
+       if ($cgiparams{'SOURCE_MAC'} eq '')
+       {
+               $cgiparams{'SOURCE_MAC'} = 'NONE';
+       } else {
+               unless(&General::validmac($cgiparams{'SOURCE_MAC'})) 
+               { 
+                       $errormessage = $Lang::tr{'invalid fixed mac address'}; 
+               }
+       }
+
+ADDERROR:
+       if ($errormessage)
+       {
+               $cgiparams{'SOURCE_MAC'} = '' if $cgiparams{'SOURCE_MAC'} eq 'NONE';
+               $cgiparams{'SOURCE_IP'} = '' if $cgiparams{'SOURCE_IP'} eq 'NONE';
+       } else {
+               if ($cgiparams{'EDITING'} eq 'no') {
+                       open(FILE,">>$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       print FILE "$key,$cgiparams{'SOURCE_IP'},$cgiparams{'SOURCE_MAC'},$cgiparams{'ENABLED'},$cgiparams{'REMARK'}\n";
+               } else {
+                       open(FILE,">$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       my $id = 0;
+                       foreach my $line (@current)
+                       {
+                               $id++;
+                               if ($cgiparams{'EDITING'} eq $id) {
+                                       print FILE "$id,$cgiparams{'SOURCE_IP'},$cgiparams{'SOURCE_MAC'},$cgiparams{'ENABLED'},$cgiparams{'REMARK'}\n";
+                               } else { print FILE "$line"; }
+                       }
+               }
+               close(FILE);
+               undef %cgiparams;
+               &General::log($Lang::tr{'wireless config added'});
+               system('/usr/local/bin/restartwireless');
+       }
+ADDEXIT:
+}
+
+if ($cgiparams{'ACTION'} eq 'edit')
+{
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               if ($cgiparams{'ID'} eq $id)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       $cgiparams{'SOURCE_IP'}  = $temp[1];
+                       $cgiparams{'SOURCE_MAC'} = $temp[2];
+                       $cgiparams{'ENABLED'}    = $temp[3];
+                       $cgiparams{'REMARK'}     = $temp[4];
+                       $cgiparams{'SOURCE_IP'} = '' if $cgiparams{'SOURCE_IP'} eq 'NONE';
+                       $cgiparams{'SOURCE_MAC'} = '' if $cgiparams{'SOURCE_MAC'} eq 'NONE';
+               }
+       }
+       &General::log($Lang::tr{'wireless config changed'});
+       system('/usr/local/bin/restartwireless');
+}
+
+if ($cgiparams{'ACTION'} eq 'remove' || $cgiparams{'ACTION'} eq 'toggle')
+{
+       my $id = 0;
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }
+               elsif ($cgiparams{'ACTION'} eq 'toggle')
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       print FILE "$temp[0],$temp[1],$temp[2],$cgiparams{'ENABLE'},$temp[4]\n";
+               }
+       }
+       close(FILE);
+       &General::log($Lang::tr{'wireless config changed'});
+       system('/usr/local/bin/restartwireless');
+}
+
+
+$checked{'ENABLED'}{'off'} = '';
+$checked{'ENABLED'}{'on'} = '';
+$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";
+
+
+&Header::openpage($Lang::tr{'wireless configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+my $buttontext = $Lang::tr{'add'};
+if ($cgiparams{'ACTION'} eq 'edit') {
+       &Header::openbox('100%', 'left', "$Lang::tr{'edit device'}");
+       $buttontext = $Lang::tr{'update'};
+} else {
+       &Header::openbox('100%', 'left', "$Lang::tr{'add device'}");
+}
+
+print <<END
+<table width='100%'>
+<tr>
+<td width='25%' class='base'>$Lang::tr{'source ip'}:&nbsp;</td>
+<td width='25%' ><input type='text' name='SOURCE_IP' value='$cgiparams{'SOURCE_IP'}' size='25' /></td>
+<td width='25%' class='base' align='right'>$Lang::tr{'enabled'}&nbsp;</td>
+<td width='25%'><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
+</tr>
+<tr>
+<td width='25%' class='base'>$Lang::tr{'source'} $Lang::tr{'mac address'}:&nbsp;</td>
+<td colspan='3'><input type='text' name='SOURCE_MAC' value='$cgiparams{'SOURCE_MAC'}' size='25' /></td>
+</tr>
+<tr>
+<td width='25%' class='base'>$Lang::tr{'remark'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+<td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='40' /></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td class='base' valign='top'><img src='/blob.gif' alt='*' /></td>
+    <td width='55%' class='base'>$Lang::tr{'this field may be blank'}</td>
+    <td width='40%' align='center'>
+      <input type='hidden' name='ACTION' value='add' />
+      <input type='submit' name='SUBMIT' value='$buttontext' />
+    </td>
+    <td width='5%' align='right'>
+    <a href='${General::adminmanualurl}/section-firewall.html#section-blue-access' target='_blank'>
+    <img src='/images/web-support.png' alt='$Lang::tr{'online help en'}' title='$Lang::tr{'online help en'}' /></a></td>
+</tr>
+</table>
+END
+;
+
+if ($cgiparams{'ACTION'} eq 'edit') {
+       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";
+} else {
+       print "<input type='hidden' name='EDITING' value='no' />\n";
+}
+
+&Header::closebox();
+
+print "</form>\n";
+
+&Header::openbox('100%', 'left', "$Lang::tr{'devices on blue'}");
+print <<END
+<div align='center'>
+END
+;
+open (FILE, "$filename");
+my @current = <FILE>;
+close (FILE);
+
+print <<END
+<table width='100%'>
+<tr>
+<td align='center' width='20%'><b>$Lang::tr{'hostname'}</b></td>
+<td align='center' width='20%'><b>$Lang::tr{'source ip'}</b></td>
+<td align='center' width='20%'><b>$Lang::tr{'mac address'}</b></td>
+<td align='center' width='35%'><b>$Lang::tr{'remark'}</b></td>
+<td align='center' colspan='3'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+my $id = 0;
+
+open (HOSTFILE, "$hostsfile");
+my @curhosts = <HOSTFILE>;
+close (HOSTFILE);
+
+my $connstate = &Header::connectionstatus();
+my @arp = `/sbin/arp -n`;
+shift @arp;
+
+foreach my $line (@current)
+{
+       $id++;
+       chomp($line);
+       my $gif = "";
+       my $gdesc = "";
+       my $hname = "";
+       my $toggle = "";
+       my @temp = split(/\,/,$line);
+       my $wirelessid = $temp[0];
+       my $sourceip = $temp[1];
+       my $sourcemac = $temp[2];
+       if ( $sourceip eq 'NONE' ) {
+               foreach my $aline ( @arp )
+               {
+                       chomp($aline);
+                       my @atemp = split( m{\s+}, $aline );
+                       my $aipaddr = $atemp[0];
+                       my $amacaddr = lc( $atemp[2] );
+                       if ( $amacaddr eq $sourcemac ) {
+                               $sourceip = $aipaddr;
+                               last;
+                       }
+               }
+       }
+
+       # SourceIP could now have been set by the ARP probe.
+       if ( $sourceip ne 'NONE' ) {
+               foreach my $hline (@curhosts)
+               {
+                       chomp($hline);
+                       my @htemp = split(/\,/,$hline);
+                       my $hkey = $htemp[0];
+                       my $hipaddr = $htemp[1];
+                       my $hostname = $htemp[2];
+                       my $domainname = $htemp[3];
+                       if ($sourceip eq $hipaddr) {
+                               $hname = "$hostname.$domainname";
+                               last;
+                       }
+               }
+               if ( $hname eq "" ) {
+                       my ($aliases, $addrtype, $length, @addrs);
+                       ($hname, $aliases, $addrtype, $length, @addrs) = 
+                               gethostbyaddr(pack("C4", split(/\./,  $sourceip)), 2);
+               }
+       }
+
+       if ($temp[3] eq 'on') { $gif = 'on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}
+               else { $gif = 'off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'};}
+
+       my $remark    = &Header::cleanhtml($temp[4]);
+
+       if ($cgiparams{'ACTION'} eq 'edit' && $cgiparams{'ID'} eq $id) {
+               print "<tr bgcolor='${Header::colouryellow}'>\n";
+       } elsif ($id % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n";
+       } else {
+               print "<tr bgcolor='${Header::table2colour}'>\n";
+       }
+       print "<td align='center'>$hname</td>\n";
+       print "<td align='center'>$sourceip</td>\n";
+       print "<td align='center'>$sourcemac</td>\n";
+       print "<td align='center'>$remark</td>\n";
+print<<END
+<td align='center'>
+       <form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+       <input type='hidden' name='ACTION' value='toggle'}' />
+       <input type='hidden' name='ID' value='$id' />
+       <input type='hidden' name='ENABLE' value='$toggle' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='edit' />
+       <input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+       <input type='hidden' name='ID' value='$id' />
+       </form>
+</td>
+
+<td align='center'>
+       <form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='remove' />
+       <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+       <input type='hidden' name='ID' value='$id' />
+       </form>
+</td>
+END
+       ;
+       print "</tr>\n";
+}
+print "</table>\n";
+
+print "</div>\n";
+
+&Header::closebox();
+
+if ( $dhcpsettings{"ENABLE_BLUE"} eq 'on') {
+       &printblueleases;
+}
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub printblueleases
+{
+       our %entries = ();
+
+       sub blueleasesort {
+               # Sort by IP address
+               my $qs ='IPADDR';
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+       }
+
+       &Header::openbox('100%', 'left', "$Lang::tr{'current dhcp leases on blue'}");
+       print <<END
+<table width='100%'>
+<tr>
+<td width='25%' align='center'><b>$Lang::tr{'ip address'}</b></td>
+<td width='25%' align='center'><b>$Lang::tr{'mac address'}</b></td>
+<td width='20%' align='center'><b>$Lang::tr{'hostname'}</b></td>
+<td width='30%' align='center'><b>$Lang::tr{'lease expires'} (local time d/m/y)</b></td>
+</tr>
+END
+       ;
+
+       my ($ip, $endtime, $ether, $hostname, @record, $record);
+       open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";
+       while (my $line = <LEASES>) {
+               next if( $line =~ /^\s*#/ );
+               chomp($line);
+               my @temp = split (' ', $line);
+
+               if ($line =~ /^\s*lease/) {
+                       $ip = $temp[1];
+                       # All fields are not necessarily read. Clear everything
+                       $endtime = 0;
+                       $ether = "";
+                       $hostname = "";
+               } elsif ($line =~ /^\s*ends never;/) {
+                       $endtime = 'never';
+               } elsif ($line =~ /^\s*ends/) {
+                       $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;
+                       $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);
+               } elsif ($line =~ /^\s*hardware ethernet/) {
+                       $ether = $temp[2];
+                       $ether =~ s/;//g;
+               } elsif ($line =~ /^\s*client-hostname/) {
+                       shift (@temp);
+                       $hostname = join (' ',@temp);
+                       $hostname =~ s/;//g;
+                       $hostname =~ s/\"//g;
+               } elsif ($line eq "}") {
+                       # Select records in Blue subnet
+                       if ( &General::IpInSubnet ( $ip,
+                               $netsettings{"BLUE_NETADDRESS"},
+                               $netsettings{"BLUE_NETMASK"} ) ) {
+                               @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);
+                               $record = {};                                   # create a reference to empty hash
+                               %{$record} = @record;                           # populate that hash with @record
+                               $entries{$record->{'IPADDR'}} = $record;        # add this to a hash of hashes
+                       }
+               }
+       }
+       close(LEASES);
+
+       my $id = 0;
+       foreach my $key (sort blueleasesort keys %entries) {
+
+               my $hostname = &Header::cleanhtml($entries{$key}->{HOSTNAME},"y");
+
+               if ($id % 2) {
+                       print "<tr bgcolor='$Header::table2colour'>";
+               } else {
+                       print "<tr bgcolor='$Header::table1colour'>";
+               }
+
+               print <<END
+<td align='center'>$entries{$key}->{IPADDR}</td>
+<td align='center'>$entries{$key}->{ETHER}</td>
+<td align='center'>&nbsp;$hostname </td>
+<td align='center'>
+END
+               ;
+
+               if ($entries{$key}->{ENDTIME} eq 'never') {
+                       print "$Lang::tr{'no time limit'}";
+               } else {
+                       my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst);
+                       ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});
+                       my $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
+
+                       if ($entries{$key}->{ENDTIME} < time() ){
+                               print "<strike>$enddate</strike>";
+                       } else {
+                               print "$enddate";
+                       }
+               }
+
+               if ( $hostname eq '' ) {
+                       $hostname = $Lang::tr{'device'};
+               }
+
+               print <<END
+<td align='center'>
+       <form method='post' name='frmd$id' action='$ENV{'SCRIPT_NAME'}'>
+       <input type='hidden' name='ACTION' value='add' />
+       <input type='hidden' name='SOURCE_IP' value='' />
+       <input type='hidden' name='SOURCE_MAC' value='$entries{$key}->{ETHER}' />
+       <input type='hidden' name='REMARK' value='$hostname $Lang::tr{'added from dhcp lease list'}' />
+       <input type='hidden' name='ENABLED' value='on' />
+       <input type='hidden' name='EDITING' value='no' />
+       <input type='image' name='$Lang::tr{'add device'}' src='/images/addblue.gif' alt='$Lang::tr{'add device'}' title='$Lang::tr{'add device'}' />
+       </form>
+</td></tr>
+END
+               ;
+               $id++;
+       }
+
+       print "</table>";
+       &Header::closebox();
+}
+
index 72d7976396ded4474cd1b1e04f2486480d69fc53..0ba807504e434bccdd8b065cb81e8744818bf1d3 100644 (file)
-#!/usr/bin/perl\r
-#\r
-# SmoothWall CGIs\r
-#\r
-# This code is distributed under the terms of the GPL\r
-#\r
-# (c) The SmoothWall Team\r
-# Copyright (c) 2002/04/13 Steve Bootes - Add destination IP support\r
-#\r
-# $Id: xtaccess.cgi,v 1.6.2.15 2005/03/05 08:44:32 eoberlander Exp $\r
-#\r
\r
-use strict;\r
-\r
-# enable only the following on debugging purpose\r
-#use warnings;\r
-#use CGI::Carp 'fatalsToBrowser';\r
-\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-require "${General::swroot}/lang.pl";\r
-require "${General::swroot}/header.pl";\r
-\r
-#workaround to suppress a warning when a variable is used only once\r
-my @dummy = ( ${Header::colouryellow} );\r
-undef (@dummy);\r
-\r
-my %cgiparams=();\r
-my %checked=();\r
-my %selected=();\r
-my $errormessage = '';\r
-my $filename = "${General::swroot}/xtaccess/config";\r
-my $aliasfile = "${General::swroot}/ethernet/aliases";\r
-my $changed = 'no';\r
-\r
-&Header::showhttpheaders();\r
-\r
-$cgiparams{'ENABLED'} = 'off';\r
-$cgiparams{'ACTION'} = '';\r
-$cgiparams{'SRC'} = '';\r
-$cgiparams{'DEST_PORT'} = '';\r
-$cgiparams{'REMARK'} ='';\r
-&Header::getcgihash(\%cgiparams);\r
-open(FILE, $filename) or die 'Unable to open config file.';\r
-my @current = <FILE>;\r
-close(FILE);\r
-\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})\r
-{\r
-       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }\r
-       unless(&General::validipormask($cgiparams{'SRC'}))\r
-       {\r
-               if ($cgiparams{'SRC'} ne '') {\r
-                       $errormessage = $Lang::tr{'source ip bad'}; }\r
-               else {\r
-                       $cgiparams{'SRC'} = '0.0.0.0/0'; }\r
-       }\r
-       unless($errormessage){ $errormessage = &General::validportrange($cgiparams{'DEST_PORT'},'dst'); }\r
-       if ( ! $errormessage)\r
-       {\r
-           $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});\r
-\r
-               if($cgiparams{'EDITING'} eq 'no') {\r
-                       open(FILE,">>$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       print FILE "$cgiparams{'PROTOCOL'},$cgiparams{'SRC'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'DEST'},$cgiparams{'REMARK'}\n";\r
-               } else {\r
-                       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-                       flock FILE, 2;\r
-                       my $id = 0;\r
-                       foreach my $line (@current)\r
-                       {\r
-                               $id++;\r
-                               if ($cgiparams{'EDITING'} eq $id) {\r
-                                       print FILE "$cgiparams{'PROTOCOL'},$cgiparams{'SRC'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'DEST'},$cgiparams{'REMARK'}\n";\r
-                               } else { print FILE "$line"; }\r
-                       }\r
-               }\r
-               close(FILE);\r
-               undef %cgiparams;\r
-               $changed = 'yes';\r
-               &General::log($Lang::tr{'external access rule added'});\r
-               system('/usr/local/bin/setxtaccess');\r
-       } else {\r
-               # stay on edit mode if an error occur\r
-               if ($cgiparams{'EDITING'} ne 'no')\r
-               {\r
-                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};\r
-                       $cgiparams{'ID'} = $cgiparams{'EDITING'};\r
-               }\r
-       }\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})\r
-{\r
-       my $id = 0;\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }\r
-       }\r
-       close(FILE);\r
-       system('/usr/local/bin/setxtaccess');\r
-       &General::log($Lang::tr{'external access rule removed'});\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})\r
-{\r
-       open(FILE, ">$filename") or die 'Unable to open config file.';\r
-       flock FILE, 2;\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }\r
-               else\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       print FILE "$temp[0],$temp[1],$temp[2],$cgiparams{'ENABLE'},$temp[4],$temp[5]\n";\r
-               }\r
-       }\r
-       close(FILE);\r
-       system('/usr/local/bin/setxtaccess');\r
-}\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})\r
-{\r
-       my $id = 0;\r
-       foreach my $line (@current)\r
-       {\r
-               $id++;\r
-               if ($cgiparams{'ID'} eq $id)\r
-               {\r
-                       chomp($line);\r
-                       my @temp = split(/\,/,$line);\r
-                       $cgiparams{'PROTOCOL'} = $temp[0];\r
-                       $cgiparams{'SRC'} = $temp[1];\r
-                       $cgiparams{'DEST_PORT'} = $temp[2];\r
-                       $cgiparams{'ENABLED'} = $temp[3];\r
-                       $cgiparams{'DEST'} = $temp[4];\r
-                       $cgiparams{'REMARK'} = $temp[5];\r
-               }\r
-       }\r
-}\r
-\r
-if ($cgiparams{'ACTION'} eq '')\r
-{\r
-       $cgiparams{'PROTOCOL'} = 'tcp';\r
-       $cgiparams{'DEST'} = '0.0.0.0';\r
-       $cgiparams{'ENABLED'} = 'on';\r
-}\r
-\r
-$selected{'PROTOCOL'}{'udp'} = '';\r
-$selected{'PROTOCOL'}{'tcp'} = '';\r
-$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";\r
-\r
-$selected{'DEST'}{$cgiparams{'DEST'}} = "selected='selected'";\r
-\r
-$checked{'ENABLED'}{'off'} = '';\r
-$checked{'ENABLED'}{'on'} = '';\r
-$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";\r
-\r
-&Header::openpage($Lang::tr{'external access configuration'}, 1, '');\r
-\r
-&Header::openbigbox('100%', 'left', '', $errormessage);\r
-\r
-if ($errormessage) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
-       print "<class name='base'>$errormessage\n";\r
-       print "&nbsp;</class>\n";\r
-       &Header::closebox();\r
-}\r
-\r
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r
-\r
-my $buttontext = $Lang::tr{'add'};\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});\r
-       $buttontext = $Lang::tr{'update'};\r
-} else {\r
-       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});\r
-}\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='10%'>\r
-<select name='PROTOCOL'>\r
-<option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>\r
-<option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>\r
-</select>\r
-</td>\r
-<td class='base'><font color='${Header::colourred}'>$Lang::tr{'source network'}</font></td>\r
-<td><input type='text' name='SRC' value='$cgiparams{'SRC'}' size='32' /></td>\r
-<td class='base'><font color='${Header::colourred}'>$Lang::tr{'destination port'}:</font></td>\r
-<td><input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' /></td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-<td width='10%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\r
-<td class='base'><font color='${Header::colourred}'>$Lang::tr{'destination ip'}:&nbsp;</font>\r
-<select name='DEST'>\r
-<option value='0.0.0.0' $selected{'DEST'}{'0.0.0.0'}>DEFAULT IP</option>\r
-END\r
-;\r
-\r
-open(ALIASES, "$aliasfile") or die 'Unable to open aliases file.';\r
-while (<ALIASES>)\r
-{\r
-       chomp($_);\r
-       my @temp = split(/\,/,$_);\r
-       if ($temp[1] eq 'on') {\r
-               print "<option value='$temp[0]' $selected{'DEST'}{$temp[0]}>$temp[0]";\r
-               if (defined $temp[2] and ($temp[2] ne '')) { print " ($temp[2])"; }\r
-               print "</option>\n";\r
-       }\r
-}\r
-close(ALIASES);\r
-print <<END\r
-</select>\r
-</td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-<td width ='10%' class='base'>\r
-<font class='boldbase'>$Lang::tr{'remark'}:</font>&nbsp;<img src='/blob.gif' alt='*' />\r
-</td>\r
-<td width='65%'>\r
-<input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' />\r
-</td>\r
-<td width='25%' align='center'>\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />\r
-<input type='submit' name='SUBMIT' value='$buttontext' />\r
-</td>\r
-</tr>\r
-</table>\r
-<table width='100%'>\r
-<tr>\r
-<td class='base' width='30%'><img src='/blob.gif' alt ='*' align='top' />&nbsp;<font class='base'>$Lang::tr{'this field may be blank'}</font>\r
-</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {\r
-       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";\r
-} else {\r
-       print "<input type='hidden' name='EDITING' value='no' />\n";\r
-}\r
-\r
-&Header::closebox();\r
-print "</form>\n";\r
-\r
-&Header::openbox('100%', 'left', $Lang::tr{'current rules'});\r
-print <<END\r
-<table width='100%'>\r
-<tr>\r
-<td width='10%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>\r
-<td width='20%' class='boldbase' align='center'><b>$Lang::tr{'source ip'}</b></td>\r
-<td width='20%' class='boldbase' align='center'><b>$Lang::tr{'destination ip'}</b></td>\r
-<td width='15%' class='boldbase' align='center'><b>$Lang::tr{'destination port'}</b></td>\r
-<td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>\r
-<td width='5%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>\r
-</tr>\r
-END\r
-;\r
-\r
-# If something has happened re-read config\r
-if($cgiparams{'ACTION'} ne '' or $changed ne 'no')\r
-{\r
-       open(FILE, $filename) or die 'Unable to open config file.';\r
-       @current = <FILE>;\r
-       close(FILE);\r
-}\r
-my $id = 0;\r
-foreach my $line (@current)\r
-{\r
-       $id++;\r
-       chomp($line);\r
-       my @temp = split(/\,/,$line);\r
-       my $protocol = '';\r
-       my $gif = '';\r
-       my $gdesc = '';\r
-       my $toggle = '';\r
-       if ($temp[0] eq 'udp') {\r
-               $protocol = 'UDP'; }\r
-       else {\r
-               $protocol = 'TCP' }\r
-       if($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'ID'} eq $id) {\r
-               print "<tr bgcolor='${Header::colouryellow}'>\n"; }\r
-       elsif ($id % 2) {\r
-               print "<tr bgcolor='${Header::table1colour}'>\n"; }\r
-       else {\r
-               print "<tr bgcolor='${Header::table2colour}'>\n"; }\r
-       if ($temp[3] eq 'on') { $gif='on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}\r
-       else { $gif='off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }\r
-       if ($temp[1] eq '0.0.0.0/0') {\r
-               $temp[1] = $Lang::tr{'caps all'}; }\r
-       # catch for 'old-style' rules file - assume default ip if\r
-       # none exists\r
-       if (!&General::validip($temp[4]) || $temp[4] eq '0.0.0.0') {\r
-               $temp[4] = 'DEFAULT IP'; }\r
-       $temp[5] = '' unless defined $temp[5];\r
-print <<END\r
-<td align='center'>$protocol</td>\r
-<td align='center'>$temp[1]</td>\r
-<td align='center'>$temp[4]</td>\r
-<td align='center'>$temp[2]</td>\r
-<td align='left'>&nbsp;$temp[5]</td>\r
-<td align='center'>\r
-<form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' title='$gdesc' alt='$gdesc' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ENABLE' value='$toggle' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />\r
-</form>\r
-</td>\r
-<td align='center'>\r
-<form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' title='$Lang::tr{'edit'}' alt='$Lang::tr{'edit'}' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />\r
-</form>\r
-</td>\r
-<td align='center'>\r
-<form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>\r
-<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' title='$Lang::tr{'remove'}' alt='$Lang::tr{'remove'}' />\r
-<input type='hidden' name='ID' value='$id' />\r
-<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />\r
-</form>\r
-</td>\r
-\r
-</tr>\r
-END\r
-       ;\r
-}\r
-print "</table>\n";\r
-\r
-# If the xt access file contains entries, print Key to action icons\r
-if ( ! -z "$filename") {\r
-print <<END\r
-<table>\r
-<tr>\r
-       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>\r
-       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to disable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>\r
-       <td class='base'>$Lang::tr{'click to enable'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>\r
-       <td class='base'>$Lang::tr{'edit'}</td>\r
-       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>\r
-       <td class='base'>$Lang::tr{'remove'}</td>\r
-</tr>\r
-</table>\r
-END\r
-;\r
-}\r
-\r
-&Header::closebox();\r
-\r
-&Header::closebigbox();\r
-\r
-&Header::closepage();\r
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+# Copyright (c) 2002/04/13 Steve Bootes - Add destination IP support
+#
+# $Id: xtaccess.cgi,v 1.6.2.15 2005/03/05 08:44:32 eoberlander Exp $
+#
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require 'CONFIG_ROOT/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+my %cgiparams=();
+my %checked=();
+my %selected=();
+my $errormessage = '';
+my $filename = "${General::swroot}/xtaccess/config";
+my $aliasfile = "${General::swroot}/ethernet/aliases";
+my $changed = 'no';
+
+&Header::showhttpheaders();
+
+$cgiparams{'ENABLED'} = 'off';
+$cgiparams{'ACTION'} = '';
+$cgiparams{'SRC'} = '';
+$cgiparams{'DEST_PORT'} = '';
+$cgiparams{'REMARK'} ='';
+&Header::getcgihash(\%cgiparams);
+open(FILE, $filename) or die 'Unable to open config file.';
+my @current = <FILE>;
+close(FILE);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})
+{
+       unless($cgiparams{'PROTOCOL'} =~ /^(tcp|udp)$/) { $errormessage = $Lang::tr{'invalid input'}; }
+       unless(&General::validipormask($cgiparams{'SRC'}))
+       {
+               if ($cgiparams{'SRC'} ne '') {
+                       $errormessage = $Lang::tr{'source ip bad'}; }
+               else {
+                       $cgiparams{'SRC'} = '0.0.0.0/0'; }
+       }
+       unless($errormessage){ $errormessage = &General::validportrange($cgiparams{'DEST_PORT'},'dst'); }
+       if ( ! $errormessage)
+       {
+           $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
+
+               if($cgiparams{'EDITING'} eq 'no') {
+                       open(FILE,">>$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       print FILE "$cgiparams{'PROTOCOL'},$cgiparams{'SRC'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'DEST'},$cgiparams{'REMARK'}\n";
+               } else {
+                       open(FILE, ">$filename") or die 'Unable to open config file.';
+                       flock FILE, 2;
+                       my $id = 0;
+                       foreach my $line (@current)
+                       {
+                               $id++;
+                               if ($cgiparams{'EDITING'} eq $id) {
+                                       print FILE "$cgiparams{'PROTOCOL'},$cgiparams{'SRC'},$cgiparams{'DEST_PORT'},$cgiparams{'ENABLED'},$cgiparams{'DEST'},$cgiparams{'REMARK'}\n";
+                               } else { print FILE "$line"; }
+                       }
+               }
+               close(FILE);
+               undef %cgiparams;
+               $changed = 'yes';
+               &General::log($Lang::tr{'external access rule added'});
+               system('/usr/local/bin/setxtaccess');
+       } else {
+               # stay on edit mode if an error occur
+               if ($cgiparams{'EDITING'} ne 'no')
+               {
+                       $cgiparams{'ACTION'} = $Lang::tr{'edit'};
+                       $cgiparams{'ID'} = $cgiparams{'EDITING'};
+               }
+       }
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
+{
+       my $id = 0;
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }
+       }
+       close(FILE);
+       system('/usr/local/bin/setxtaccess');
+       &General::log($Lang::tr{'external access rule removed'});
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})
+{
+       open(FILE, ">$filename") or die 'Unable to open config file.';
+       flock FILE, 2;
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; }
+               else
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       print FILE "$temp[0],$temp[1],$temp[2],$cgiparams{'ENABLE'},$temp[4],$temp[5]\n";
+               }
+       }
+       close(FILE);
+       system('/usr/local/bin/setxtaccess');
+}
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'})
+{
+       my $id = 0;
+       foreach my $line (@current)
+       {
+               $id++;
+               if ($cgiparams{'ID'} eq $id)
+               {
+                       chomp($line);
+                       my @temp = split(/\,/,$line);
+                       $cgiparams{'PROTOCOL'} = $temp[0];
+                       $cgiparams{'SRC'} = $temp[1];
+                       $cgiparams{'DEST_PORT'} = $temp[2];
+                       $cgiparams{'ENABLED'} = $temp[3];
+                       $cgiparams{'DEST'} = $temp[4];
+                       $cgiparams{'REMARK'} = $temp[5];
+               }
+       }
+}
+
+if ($cgiparams{'ACTION'} eq '')
+{
+       $cgiparams{'PROTOCOL'} = 'tcp';
+       $cgiparams{'DEST'} = '0.0.0.0';
+       $cgiparams{'ENABLED'} = 'on';
+}
+
+$selected{'PROTOCOL'}{'udp'} = '';
+$selected{'PROTOCOL'}{'tcp'} = '';
+$selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = "selected='selected'";
+
+$selected{'DEST'}{$cgiparams{'DEST'}} = "selected='selected'";
+
+$checked{'ENABLED'}{'off'} = '';
+$checked{'ENABLED'}{'on'} = '';
+$checked{'ENABLED'}{$cgiparams{'ENABLED'}} = "checked='checked'";
+
+&Header::openpage($Lang::tr{'external access configuration'}, 1, '');
+
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'>$errormessage\n";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
+}
+
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
+
+my $buttontext = $Lang::tr{'add'};
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {
+       &Header::openbox('100%', 'left', $Lang::tr{'edit a rule'});
+       $buttontext = $Lang::tr{'update'};
+} else {
+       &Header::openbox('100%', 'left', $Lang::tr{'add a new rule'});
+}
+print <<END
+<table width='100%'>
+<tr>
+<td width='10%'>
+<select name='PROTOCOL'>
+<option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
+<option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option>
+</select>
+</td>
+<td class='base'><font color='${Header::colourred}'>$Lang::tr{'source network'}</font></td>
+<td><input type='text' name='SRC' value='$cgiparams{'SRC'}' size='32' /></td>
+<td class='base'><font color='${Header::colourred}'>$Lang::tr{'destination port'}:</font></td>
+<td><input type='text' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' /></td>
+</tr>
+</table>
+<table width='100%'>
+<tr>
+<td width='10%' class='base'>$Lang::tr{'enabled'}<input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
+<td class='base'><font color='${Header::colourred}'>$Lang::tr{'destination ip'}:&nbsp;</font>
+<select name='DEST'>
+<option value='0.0.0.0' $selected{'DEST'}{'0.0.0.0'}>DEFAULT IP</option>
+END
+;
+
+open(ALIASES, "$aliasfile") or die 'Unable to open aliases file.';
+while (<ALIASES>)
+{
+       chomp($_);
+       my @temp = split(/\,/,$_);
+       if ($temp[1] eq 'on') {
+               print "<option value='$temp[0]' $selected{'DEST'}{$temp[0]}>$temp[0]";
+               if (defined $temp[2] and ($temp[2] ne '')) { print " ($temp[2])"; }
+               print "</option>\n";
+       }
+}
+close(ALIASES);
+print <<END
+</select>
+</td>
+</tr>
+</table>
+<table width='100%'>
+<tr>
+<td width ='10%' class='base'>
+<font class='boldbase'>$Lang::tr{'remark'}:</font>&nbsp;<img src='/blob.gif' alt='*' />
+</td>
+<td width='65%'>
+<input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' />
+</td>
+<td width='25%' align='center'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'add'}' />
+<input type='submit' name='SUBMIT' value='$buttontext' />
+</td>
+</tr>
+</table>
+<table width='100%'>
+<tr>
+<td class='base' width='30%'><img src='/blob.gif' alt ='*' align='top' />&nbsp;<font class='base'>$Lang::tr{'this field may be blank'}</font>
+</td>
+</tr>
+</table>
+END
+;
+if ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) {
+       print "<input type='hidden' name='EDITING' value='$cgiparams{'ID'}' />\n";
+} else {
+       print "<input type='hidden' name='EDITING' value='no' />\n";
+}
+
+&Header::closebox();
+print "</form>\n";
+
+&Header::openbox('100%', 'left', $Lang::tr{'current rules'});
+print <<END
+<table width='100%'>
+<tr>
+<td width='10%' class='boldbase' align='center'><b>$Lang::tr{'proto'}</b></td>
+<td width='20%' class='boldbase' align='center'><b>$Lang::tr{'source ip'}</b></td>
+<td width='20%' class='boldbase' align='center'><b>$Lang::tr{'destination ip'}</b></td>
+<td width='15%' class='boldbase' align='center'><b>$Lang::tr{'destination port'}</b></td>
+<td width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></td>
+<td width='5%' class='boldbase' colspan='3' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+# If something has happened re-read config
+if($cgiparams{'ACTION'} ne '' or $changed ne 'no')
+{
+       open(FILE, $filename) or die 'Unable to open config file.';
+       @current = <FILE>;
+       close(FILE);
+}
+my $id = 0;
+foreach my $line (@current)
+{
+       $id++;
+       chomp($line);
+       my @temp = split(/\,/,$line);
+       my $protocol = '';
+       my $gif = '';
+       my $gdesc = '';
+       my $toggle = '';
+       if ($temp[0] eq 'udp') {
+               $protocol = 'UDP'; }
+       else {
+               $protocol = 'TCP' }
+       if($cgiparams{'ACTION'} eq $Lang::tr{'edit'} && $cgiparams{'ID'} eq $id) {
+               print "<tr bgcolor='${Header::colouryellow}'>\n"; }
+       elsif ($id % 2) {
+               print "<tr bgcolor='${Header::table1colour}'>\n"; }
+       else {
+               print "<tr bgcolor='${Header::table2colour}'>\n"; }
+       if ($temp[3] eq 'on') { $gif='on.gif'; $toggle='off'; $gdesc=$Lang::tr{'click to disable'};}
+       else { $gif='off.gif'; $toggle='on'; $gdesc=$Lang::tr{'click to enable'}; }
+       if ($temp[1] eq '0.0.0.0/0') {
+               $temp[1] = $Lang::tr{'caps all'}; }
+       # catch for 'old-style' rules file - assume default ip if
+       # none exists
+       if (!&General::validip($temp[4]) || $temp[4] eq '0.0.0.0') {
+               $temp[4] = 'DEFAULT IP'; }
+       $temp[5] = '' unless defined $temp[5];
+print <<END
+<td align='center'>$protocol</td>
+<td align='center'>$temp[1]</td>
+<td align='center'>$temp[4]</td>
+<td align='center'>$temp[2]</td>
+<td align='left'>&nbsp;$temp[5]</td>
+<td align='center'>
+<form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' title='$gdesc' alt='$gdesc' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ENABLE' value='$toggle' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+</form>
+</td>
+<td align='center'>
+<form method='post' name='frmb$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' title='$Lang::tr{'edit'}' alt='$Lang::tr{'edit'}' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+</form>
+</td>
+<td align='center'>
+<form method='post' name='frmc$id' action='$ENV{'SCRIPT_NAME'}'>
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' title='$Lang::tr{'remove'}' alt='$Lang::tr{'remove'}' />
+<input type='hidden' name='ID' value='$id' />
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+</form>
+</td>
+
+</tr>
+END
+       ;
+}
+print "</table>\n";
+
+# If the xt access file contains entries, print Key to action icons
+if ( ! -z "$filename") {
+print <<END
+<table>
+<tr>
+       <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>
+       <td>&nbsp; <img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+       <td class='base'>$Lang::tr{'click to disable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+       <td class='base'>$Lang::tr{'click to enable'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+       <td class='base'>$Lang::tr{'edit'}</td>
+       <td>&nbsp; &nbsp; <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+       <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
index 576c49ed0820a5ec2a3e0dcc193e75127d367e9d..699a21ccbb6dc2379d0331aa5fc1e354cf674018 100644 (file)
-body {\r
-    margin: 0px;\r
-    padding: 0px;\r
-    background: url(/images/header.png) no-repeat;\r
-    background-color: #D7D8E8;\r
-    color: #000000;\r
-    font-family: Verdana, Tahoma, Arial, Sans-serif;\r
-    font-size: 11px;\r
-}\r
-\r
-td {\r
-    font-size: 11px;\r
-}\r
-\r
-img {\r
-    border: 0;\r
-    border-width : 0; \r
-    border-style : none; \r
-    border-color : inherit; \r
-}\r
-\r
-pre {\r
-    font-size: 12px;\r
-}\r
-\r
-a {\r
-    color: #000000;\r
-}\r
-\r
-form {\r
-    margin: 0;\r
-    padding: 0;\r
-}\r
-\r
-td.ipcop_menuLocationMain {\r
-    color: #FFFFFF;\r
-    font-family: Verdana, Tahoma, Arial, Sans-serif;\r
-    font-size: 16px;\r
-    font-weight: bold;\r
-    font-variant: small-caps;\r
-}\r
-\r
-td.ipcop_menuLocationSub {\r
-    color: #FFFFFF;\r
-    font-family: Verdana, Tahoma, Arial, Sans-serif;\r
-    font-size: 11px;\r
-    font-weight: bold;\r
-    font-variant: small-caps;\r
-}\r
-\r
-td.ipcop_Version {\r
-    color: #10044A;\r
-    font-size: 10px;\r
-    font-weight: bold;\r
-}\r
-\r
-/* Dommenu */\r
-.ipcop_menuElementTD {\r
-    border: 0;\r
-    color: #DEDFEF;\r
-    font-size: 11px;\r
-    font-weight: bold;\r
-    text-decoration: none;\r
-    width: 90px;\r
-    padding: 0px 0px 5px 0px;\r
-    margin: 0px 10px 0px 10px;\r
-}\r
-\r
-.ipcop_menuElementNoJS {\r
-    color: #DEDFEF;\r
-    font-size: 11px;\r
-    font-weight: bold;\r
-    text-decoration: none;\r
-    padding: 0px 0px 5px 0px;\r
-    margin: 0px 10px 0px 10px;\r
-}\r
-\r
-div.ipcop_menuBar {\r
-    margin-bottom: 1px;\r
-}\r
-\r
-div.ipcop_subMenuBar {\r
-    border: 0;\r
-    background-color: #6B69AD;\r
-}\r
-\r
-div.ipcop_menuElement, div.ipcop_subMenuElement {\r
-    border: 0;\r
-    color: #DEDFEF;\r
-    font-variant: small-caps;\r
-    font-size: 11px;\r
-    font-weight: bold;\r
-}\r
-\r
-div.ipcop_menuElement {\r
-    width: 70px;\r
-    margin: 4px 10px 4px 10px;\r
-}\r
-\r
-div.ipcop_menuElementHover {\r
-    color: #FFFFFF;\r
-}\r
-\r
-div.ipcop_subMenuElement {\r
-    padding: 3px;\r
-    color: #DEDFEF;\r
-}\r
-div.ipcop_subMenuElementHover {\r
-    padding: 3px;\r
-    color: #FFFFFF;\r
-}\r
-\r
-/* Connection Status */\r
-span.ipcop_StatusBig {\r
-    font-weight: bold;\r
-    font-size: 14px;\r
-}\r
-\r
-span.ipcop_StatusBigRed {\r
-    color: #FF0000;\r
-    font-weight: bold;\r
-}\r
+body {
+    margin: 0px;
+    padding: 0px;
+    background: url(/images/header.png) no-repeat;
+    background-color: #D7D8E8;
+    color: #000000;
+    font-family: Verdana, Tahoma, Arial, Sans-serif;
+    font-size: 11px;
+}
+
+td {
+    font-size: 11px;
+}
+
+img {
+    border: 0;
+    border-width : 0; 
+    border-style : none; 
+    border-color : inherit; 
+}
+
+pre {
+    font-size: 12px;
+}
+
+a {
+    color: #000000;
+}
+
+form {
+    margin: 0;
+    padding: 0;
+}
+
+td.ipcop_menuLocationMain {
+    color: #FFFFFF;
+    font-family: Verdana, Tahoma, Arial, Sans-serif;
+    font-size: 16px;
+    font-weight: bold;
+    font-variant: small-caps;
+}
+
+td.ipcop_menuLocationSub {
+    color: #FFFFFF;
+    font-family: Verdana, Tahoma, Arial, Sans-serif;
+    font-size: 11px;
+    font-weight: bold;
+    font-variant: small-caps;
+}
+
+td.ipcop_Version {
+    color: #10044A;
+    font-size: 10px;
+    font-weight: bold;
+}
+
+/* Dommenu */
+.ipcop_menuElementTD {
+    border: 0;
+    color: #DEDFEF;
+    font-size: 11px;
+    font-weight: bold;
+    text-decoration: none;
+    width: 90px;
+    padding: 0px 0px 5px 0px;
+    margin: 0px 10px 0px 10px;
+}
+
+.ipcop_menuElementNoJS {
+    color: #DEDFEF;
+    font-size: 11px;
+    font-weight: bold;
+    text-decoration: none;
+    padding: 0px 0px 5px 0px;
+    margin: 0px 10px 0px 10px;
+}
+
+div.ipcop_menuBar {
+    margin-bottom: 1px;
+}
+
+div.ipcop_subMenuBar {
+    border: 0;
+    background-color: #6B69AD;
+}
+
+div.ipcop_menuElement, div.ipcop_subMenuElement {
+    border: 0;
+    color: #DEDFEF;
+    font-variant: small-caps;
+    font-size: 11px;
+    font-weight: bold;
+}
+
+div.ipcop_menuElement {
+    width: 70px;
+    margin: 4px 10px 4px 10px;
+}
+
+div.ipcop_menuElementHover {
+    color: #FFFFFF;
+}
+
+div.ipcop_subMenuElement {
+    padding: 3px;
+    color: #DEDFEF;
+}
+div.ipcop_subMenuElementHover {
+    padding: 3px;
+    color: #FFFFFF;
+}
+
+/* Connection Status */
+span.ipcop_StatusBig {
+    font-weight: bold;
+    font-size: 14px;
+}
+
+span.ipcop_StatusBigRed {
+    color: #FF0000;
+    font-weight: bold;
+}
index caea89a9af1bab4b75a5df8cd98ba8226924742d..98121b9a345016bfa76af0f07e035bf4e28bc572 100644 (file)
@@ -1,8 +1,8 @@
-#!/usr/bin/perl\r
-\r
-#\r
-# $Id: index.cgi,v 1.4 2003/12/11 11:06:41 riddles Exp $\r
-#\r
-\r
-print "Status: 302 Moved\n";\r
-print "Location: /cgi-bin/index.cgi\n\n";\r
+#!/usr/bin/perl
+
+#
+# $Id: index.cgi,v 1.4 2003/12/11 11:06:41 riddles Exp $
+#
+
+print "Status: 302 Moved\n";
+print "Location: /cgi-bin/index.cgi\n\n";
index e0f268614d9b7cdcea463bb06ae7d98db110baf5..fe5468dd724e81ee5eeb76a7c0930d89284c9394 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -45,7 +45,7 @@ CXXFLAGS   =
 #
 ifeq "$(ROOT)" ""
 ifeq "$(LFS_PASS)" "ipcop"
 #
 ifeq "$(ROOT)" ""
 ifeq "$(LFS_PASS)" "ipcop"
-ifeq "$(EMB)" ""
+ifeq "$(SMP)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)-ipcop
 endif
 ifeq "$(SMP)" "1"
   TARGET = $(DIR_INFO)/$(THISAPP)-ipcop
 endif
 ifeq "$(SMP)" "1"
@@ -73,19 +73,19 @@ objects =$(DL_FILE) \
        netfilter-layer7-v2.1.tar.gz
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
        netfilter-layer7-v2.1.tar.gz
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-openswan-1.0.10rc2.tar.gz              = ftp://ftp.man.szczecin.pl/disks/disk0/security/network-security/ipsec/openswan/openswan-1.0.10rc2.tar.gz
+openswan-1.0.10rc2.tar.gz              = http://www.openswan.org/download/openswan-1.0.10rc2.tar.gz
 patch-o-matic-ng-20060206.tar.bz2      = ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060206.tar.bz2
 iptables-1.3.5.tar.bz2                 = http://www.netfilter.org/files/iptables-1.3.5.tar.bz2
 patch-o-matic-ng-20060206.tar.bz2      = ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060206.tar.bz2
 iptables-1.3.5.tar.bz2                 = http://www.netfilter.org/files/iptables-1.3.5.tar.bz2
-kbc_option_2420.patch                   = http://developer.osdl.org/rddunlap/patches/kbc_option_2420.patch
-net4801.kernel.patch_2.4.31             = http://www.sk-tech.net/support/net4801.kernel.patch_2.4.31
-netfilter-layer7-v2.1.tar.gz                   = http://belnet.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.1.tar.gz
+kbc_option_2420.patch                    = http://developer.osdl.org/rddunlap/patches/kbc_option_2420.patch
+net4801.kernel.patch_2.4.31              = http://www.sk-tech.net/support/net4801.kernel.patch_2.4.31
+netfilter-layer7-v2.1.tar.gz           = http://belnet.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.1.tar.gz
 
 $(DL_FILE)_MD5                         = ea3f99fc82617886059d58d0644dab26
 openswan-1.0.10rc2.tar.gz_MD5          = 20d51ff963da78f826f4e0f0ebc4bcef
 patch-o-matic-ng-20060206.tar.bz2_MD5  = eca9893afb753e331caddfe63142b566
 iptables-1.3.5.tar.bz2_MD5             = 00fb916fa8040ca992a5ace56d905ea5
 
 $(DL_FILE)_MD5                         = ea3f99fc82617886059d58d0644dab26
 openswan-1.0.10rc2.tar.gz_MD5          = 20d51ff963da78f826f4e0f0ebc4bcef
 patch-o-matic-ng-20060206.tar.bz2_MD5  = eca9893afb753e331caddfe63142b566
 iptables-1.3.5.tar.bz2_MD5             = 00fb916fa8040ca992a5ace56d905ea5
-kbc_option_2420.patch_MD5               = 6d37870344f7fcf97ace1fbf43323c60
-net4801.kernel.patch_2.4.31_MD5         = c7d64e3caedb2f2b10e1c11db7f73a04
+kbc_option_2420.patch_MD5                = 6d37870344f7fcf97ace1fbf43323c60
+net4801.kernel.patch_2.4.31_MD5          = c7d64e3caedb2f2b10e1c11db7f73a04
 netfilter-layer7-v2.1.tar.gz_MD5               = 551626a158c2a2cbfd937d27ecc7fac1
 
 install : $(TARGET)
 netfilter-layer7-v2.1.tar.gz_MD5               = 551626a158c2a2cbfd937d27ecc7fac1
 
 install : $(TARGET)
@@ -127,14 +127,14 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i 's+^KERNELSRC.*$$+KERNELSRC=$(ROOT)/usr/src/linux-$(VER)+' Makefile.inc
        cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i -e 's/local\/sbin/local\/sbin:\/tools\/bin/' utils/patcher
        cd $(DIR_SRC)/openswan-1.0.10rc2 && make insert
        cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i 's+^KERNELSRC.*$$+KERNELSRC=$(ROOT)/usr/src/linux-$(VER)+' Makefile.inc
        cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i -e 's/local\/sbin/local\/sbin:\/tools\/bin/' utils/patcher
        cd $(DIR_SRC)/openswan-1.0.10rc2 && make insert
-       
+
        # Patch-o-matic
        cd $(DIR_SRC) && rm -rf iptables-*
        cd $(DIR_SRC) && tar xfj $(DIR_DL)/iptables-1.3.5.tar.bz2 
        cd $(DIR_SRC) && ln -sf iptables-1.3.5 iptables
        cd $(DIR_SRC) && rm -rf patch-o-matic*
        cd $(DIR_SRC) && tar xfj $(DIR_DL)/patch-o-matic-ng-20060206.tar.bz2
        # Patch-o-matic
        cd $(DIR_SRC) && rm -rf iptables-*
        cd $(DIR_SRC) && tar xfj $(DIR_DL)/iptables-1.3.5.tar.bz2 
        cd $(DIR_SRC) && ln -sf iptables-1.3.5 iptables
        cd $(DIR_SRC) && rm -rf patch-o-matic*
        cd $(DIR_SRC) && tar xfj $(DIR_DL)/patch-o-matic-ng-20060206.tar.bz2
-       
+
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ pending
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ base
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ h323-conntrack-nat
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ pending
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ base
        cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ h323-conntrack-nat
@@ -159,15 +159,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_SRC) && tar xzf $(DIR_DL)/netfilter-layer7-v2.1.tar.gz
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/netfilter-layer7-v2.1/kernel-2.4-layer7-2.1.patch
 
        cd $(DIR_SRC) && tar xzf $(DIR_DL)/netfilter-layer7-v2.1.tar.gz
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/netfilter-layer7-v2.1/kernel-2.4-layer7-2.1.patch
 
-ifeq "$(EMB)" "1"
-       #Emb-patches
-       cd $(DIR_APP) && patch -Np1 < $(DIR_DL)/kbc_option_2420.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_DL)/net4801.kernel.patch_2.4.31
-endif
-
 ifeq "$(SMP)" ""
        # Only do this once on the non-SMP pass
 ifeq "$(SMP)" ""
        # Only do this once on the non-SMP pass
-       cd $(DIR_SRC) && tar czf $(DIR_DL)/iptables-fixed.tar.gz iptables-1.2.11
+       cd $(DIR_SRC) && tar czf $(DIR_DL)/iptables-fixed.tar.gz iptables-1.3.5
 endif
 
        # Olitec isdn gazel patch
 endif
 
        # Olitec isdn gazel patch
@@ -210,7 +204,7 @@ endif
        cd $(DIR_APP) && make CC="$(KGCC)" oldconfig
        cd $(DIR_APP) && make CC="$(KGCC)" dep
        cd $(DIR_APP) && make CC="$(KGCC)" clean
        cd $(DIR_APP) && make CC="$(KGCC)" oldconfig
        cd $(DIR_APP) && make CC="$(KGCC)" dep
        cd $(DIR_APP) && make CC="$(KGCC)" clean
-       if [ "$(MACHINE)" = "i386" -a "$(EMB)" = "" ]; then \
+       if [ "$(MACHINE)" = "i386" -a "$(SMP)" = "" ]; then \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
                cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER); \
                cd $(DIR_APP) && cp System.map /boot/System.map-$(VER); \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
                cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER); \
                cd $(DIR_APP) && cp System.map /boot/System.map-$(VER); \
@@ -218,15 +212,15 @@ endif
                ln -sf System.map-$(VER) /boot/System.map; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
                ln -sf System.map-$(VER) /boot/System.map; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
-       elif [ "$(MACHINE)" = "i386" -a "$(EMB)" = "1" ]; then \
-               cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =/EXTRAVERSION\ =\ -EMB/' Makefile; \
+       elif [ "$(MACHINE)" = "i386" -a "$(SMP)" = "1" ]; then \
+               cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =/EXTRAVERSION\ =\ -smp/' Makefile; \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
-               cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER)-EMB; \
-               cd $(DIR_APP) && cp System.map /boot/System.map-$(VER)-EMB; \
-               ln -sf vmlinuz-$(VER)-EMB /boot/vmlinuz-EMB; \
+               cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER)-smp; \
+               cd $(DIR_APP) && cp System.map /boot/System.map-$(VER)-smp; \
+               ln -sf vmlinuz-$(VER)-smp /boot/vmlinuz-smp; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules; \
                cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
-       elif [ "$(MACHINE)" = "i386" -a "$(EMB)" = "installer" ]; then \
+       elif [ "$(MACHINE)" = "i386" -a "$(SMP)" = "installer" ]; then \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
                cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-installer; \
        elif [ "$(MACHINE)" = "alpha" ]; then \
                cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
                cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-installer; \
        elif [ "$(MACHINE)" = "alpha" ]; then \
index c975a2601b30856b9652a7eda1d33fbf96deaff1..2061f3b49881d2edf25f1e87fd01bc9be4f4ba3a 100644 (file)
@@ -98,5 +98,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
            -e 's/^#\?X11Forwarding .*$$/X11Forwarding no/' \
            -e 's/^#\?AllowTcpForwarding .*$$/AllowTcpForwarding no/' \
            /etc/ssh/sshd_config
            -e 's/^#\?X11Forwarding .*$$/X11Forwarding no/' \
            -e 's/^#\?AllowTcpForwarding .*$$/AllowTcpForwarding no/' \
            /etc/ssh/sshd_config
+       touch /var/ipfire/remote/enable
+       chown nobody:nobody /var/ipfire/remote/enable
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 836f3e6b7bce8a9c2969b5885e58b207166428c7..1960e90b0baabc2245a54925cc5afe9a6795f55b 100644 (file)
-##\r
-## ccache-2.3\r
-##\r
-#usr/local/bin/ccache\r
-#usr/local/bin/cc\r
-#usr/local/bin/gcc\r
-#usr/local/bin/g++\r
-#usr/local/man/man1/ccache.1\r
-##\r
-## linux-2.4.31-ipcop\r
-##\r
-boot/vmlinuz-2.4.31\r
-boot/System.map-2.4.31\r
-boot/vmlinuz\r
-boot/System.map\r
-#lib/modules/2.4.31\r
-lib/modules/2.4.31/kernel\r
-#lib/modules/2.4.31/kernel/drivers\r
-#lib/modules/2.4.31/kernel/drivers/acpi\r
-#lib/modules/2.4.31/kernel/drivers/acpi/button.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/acpi/fan.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/acpi/processor.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/acpi/thermal.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/acpi/ac.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/acpi/battery.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/atm\r
-#lib/modules/2.4.31/kernel/drivers/atm/atmtcp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/block\r
-#lib/modules/2.4.31/kernel/drivers/block/cpqarray.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/block/loop.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/block/sx8.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/block/DAC960.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/block/cciss.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/char\r
-#lib/modules/2.4.31/kernel/drivers/char/pcmcia\r
-#lib/modules/2.4.31/kernel/drivers/char/pcmcia/serial_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/char/pcmcia/synclink_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/char/n_hdlc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide\r
-#lib/modules/2.4.31/kernel/drivers/ide/pci\r
-#lib/modules/2.4.31/kernel/drivers/ide/pci/delkin_cb.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid/hptraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid/medley.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid/silraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid/ataraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/ide/raid/pdcraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/input\r
-#lib/modules/2.4.31/kernel/drivers/input/input.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/input/keybdev.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capifs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capiutil.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/kernelcapi.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capi.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capidrv.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/elsa_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_isac.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_st5481.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/isdnhdlc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/sedlbauer_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/avma1_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_fcpcipnp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/isdn.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/isdn/isdn_bsdcomp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/message\r
-#lib/modules/2.4.31/kernel/drivers/message/fusion\r
-#lib/modules/2.4.31/kernel/drivers/message/fusion/mptlan.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/message/fusion/mptbase.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/message/fusion/mptscsih.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net\r
-#lib/modules/2.4.31/kernel/drivers/net/3c505.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c507.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c509.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c515.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c527.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c59x.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/8139cp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/8139too.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/82596.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ac3200.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/acenic.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/aironet4500_core.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/amd8111e.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/arlan-proc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/arlan.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/at1700.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/b44.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/bsd_comp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/cs89x0.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/de4x5.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/depca.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/dl2k.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/dmfe.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/dummy.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/e2100.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/eexpress.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/epic100.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/eql.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/es3210.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/eth16i.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ewrk3.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/forcedeth.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/hamachi.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/hp-plus.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/hp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/hp100.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ibmlana.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/lance.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/lp486e.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/mii.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/natsemi.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ne.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ne2.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ne2k-pci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ne3210.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ni52.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ni65.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ns83820.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcnet32.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ppp_async.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ppp_generic.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ppp_synctty.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pppoe.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pppox.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/r8169.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/sis900.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/sk_mca.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/slhc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/smc-mca.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/smc-ultra32.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/smc9194.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/starfire.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/sundance.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/tg3.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/tlan.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/tun.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/typhoon.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/via-rhine.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wavelan.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wd.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/yellowfin.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/bonding\r
-#lib/modules/2.4.31/kernel/drivers/net/bonding/bonding.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/e100\r
-#lib/modules/2.4.31/kernel/drivers/net/e100/e100.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/e1000\r
-#lib/modules/2.4.31/kernel/drivers/net/e1000/e1000.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/axnet_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/fmvj18x_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/netwave_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/nmclan_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/pcnet_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/ray_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/wavelan_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xirc2ps_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xircom_cb.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xircom_tulip_cb.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/3c574_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/3c589_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/pcmcia/smc91c92_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/sk98lin\r
-#lib/modules/2.4.31/kernel/drivers/net/sk98lin/sk98lin.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/tulip\r
-#lib/modules/2.4.31/kernel/drivers/net/tulip/tulip.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/hermes.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_pci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_plx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_tmd.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/prism54\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/prism54/prism54.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/airo.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/wireless/airo_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c501.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c503.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/3c523.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/8390.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/aironet4500_card.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/dgrs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/eepro.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/fealnx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/lne390.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ni5010.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/ppp_deflate.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/smc-ultra.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/net/winbond-840.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/i82365.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/pcmcia_core.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/tcic.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/ds.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/i82092.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pcmcia/yenta_socket.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/pnp\r
-#lib/modules/2.4.31/kernel/drivers/pnp/isa-pnp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi\r
-#lib/modules/2.4.31/kernel/drivers/scsi/53c700.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/AM53C974.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/BusLogic.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/NCR53C9x.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/NCR53c406a.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/a100u2w.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/advansys.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aha152x.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aha1542.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aha1740.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ahci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ata_piix.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/atp870u.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/cpqfc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/dmx3191d.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/dpt_i2o.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/dtc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/eata.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/eata_pio.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/fd_mcs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/fdomain.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/g_NCR5380.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/gdth.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ibmmca.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/initio.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ips.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/libata.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/mca_53c9x.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/megaraid2.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ncr53c8xx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/nsp32.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pas16.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pci2000.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pci2220i.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/psi240i.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/qla1280.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/qlogicfc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/qlogicisp.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_nv.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_promise.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_qstor.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_sil.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_sis.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_sx4.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_uli.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_via.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_vsc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/scsi_mod.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sd_mod.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sg.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sim710.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sr_mod.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sym53c416.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/t128.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/tmscsim.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/u14-34f.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/ultrastor.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/wd7000.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aic79xx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sym53c8xx_2.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/nsp_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/qlogic_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/aha152x_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/fdomain_cs.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/3w-xxxx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/53c7,8xx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/NCR_D700.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/eata_dma.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/in2000.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/megaraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/qlogicfas.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sata_svw.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/seagate.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/sym53c8xx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aic7xxx.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/scsi/aacraid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb\r
-#lib/modules/2.4.31/kernel/drivers/usb/acm.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/catc.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/hid.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/pegasus.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/rtl8150.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/speedtch.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/usbcore.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/usbnet.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/host\r
-#lib/modules/2.4.31/kernel/drivers/usb/host/uhci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/host/usb-uhci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/host/ehci-hcd.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/host/usb-ohci.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/storage\r
-#lib/modules/2.4.31/kernel/drivers/usb/storage/usb-storage.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/CDCEther.o.gz\r
-#lib/modules/2.4.31/kernel/drivers/usb/kaweth.o.gz\r
-#lib/modules/2.4.31/kernel/fs\r
-#lib/modules/2.4.31/kernel/fs/fat\r
-#lib/modules/2.4.31/kernel/fs/fat/fat.o.gz\r
-#lib/modules/2.4.31/kernel/fs/vfat\r
-#lib/modules/2.4.31/kernel/fs/vfat/vfat.o.gz\r
-#lib/modules/2.4.31/kernel/net\r
-#lib/modules/2.4.31/kernel/net/8021q\r
-#lib/modules/2.4.31/kernel/net/8021q/8021q.o.gz\r
-#lib/modules/2.4.31/kernel/net/atm\r
-#lib/modules/2.4.31/kernel/net/atm/clip.o.gz\r
-#lib/modules/2.4.31/kernel/net/atm/pppoatm.o.gz\r
-#lib/modules/2.4.31/kernel/net/atm/atm.o.gz\r
-#lib/modules/2.4.31/kernel/net/atm/br2684.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_blowfish.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_cast.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_md5.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_serpent.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_sha1.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_twofish.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_3des.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_aes.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_sha2.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipsec/ipsec.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arptable_filter.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_h323.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_irc.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_pptp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_proto_gre.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_quake3.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_rtsp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_tftp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_cuseeme.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_ftp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_h323.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_irc.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_mms.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_pptp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_quake3.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_rtsp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_tftp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_pool.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_queue.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_iphash.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_ipmap.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_iptree.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_macipmap.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_nethash.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_portmap.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_tables.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_DSCP.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ECN.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_LOG.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MARK.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MIRROR.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NETLINK.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NETMAP.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NOTRACK.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_POOL.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_REDIRECT.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_REJECT.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_SET.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TARPIT.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TCPMSS.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TOS.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TTL.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ULOG.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ah.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_conntrack.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_dscp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_dstlimit.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ecn.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_esp.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_fuzzy.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_helper.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_iprange.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ipv4options.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_length.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_limit.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mac.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mport.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_multiport.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_nth.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_osf.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_owner.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_pkttype.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_pool.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_psd.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_quota.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_realm.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_recent.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_set.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_state.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_string.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_tcpmss.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_tos.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ttl.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_u32.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_unclean.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_filter.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_mangle.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_nat.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_raw.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arp_tables.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arpt_mangle.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_mms.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_proto_gre.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_SAME.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_connlimit.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mark.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_random.o.gz\r
-#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_time.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched\r
-#lib/modules/2.4.31/kernel/net/sched/cls_rsvp.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/cls_rsvp6.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/cls_tcindex.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/cls_u32.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_cbq.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_csz.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_dsmark.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_gred.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_htb.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_ingress.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_prio.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_red.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_sfq.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_tbf.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_teql.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/cls_fw.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/cls_route.o.gz\r
-#lib/modules/2.4.31/kernel/net/sched/sch_hfsc.o.gz\r
-#lib/modules/2.4.31/kernel/lib\r
-#lib/modules/2.4.31/kernel/lib/zlib_deflate\r
-#lib/modules/2.4.31/kernel/lib/zlib_deflate/zlib_deflate.o.gz\r
-#lib/modules/2.4.31/kernel/lib/zlib_inflate\r
-#lib/modules/2.4.31/kernel/lib/zlib_inflate/zlib_inflate.o.gz\r
-#lib/modules/2.4.31/kernel/lib/crc32.o.gz\r
-#lib/modules/2.4.31/kernel/lib/firmware_class.o.gz\r
-#lib/modules/2.4.31/kernel/arch\r
-#lib/modules/2.4.31/kernel/arch/i386\r
-#lib/modules/2.4.31/kernel/arch/i386/kernel\r
-#lib/modules/2.4.31/kernel/arch/i386/kernel/apm.o.gz\r
-#lib/modules/2.4.31/build\r
-lib/modules/2.4.31/modules.dep\r
-lib/modules/2.4.31/modules.generic_string\r
-lib/modules/2.4.31/modules.pcimap\r
-lib/modules/2.4.31/modules.isapnpmap\r
-lib/modules/2.4.31/modules.usbmap\r
-#lib/modules/2.4.31/modules.parportmap\r
-#lib/modules/2.4.31/modules.ieee1394map\r
-#lib/modules/2.4.31/modules.pnpbiosmap\r
-#usr/share/man/man9\r
-#usr/share/man/man9/NS8390_init.9\r
-#usr/share/man/man9/PROC_CONSOLE.9\r
-#usr/share/man/man9/__change_bit.9\r
-#usr/share/man/man9/__fb_try_mode.9\r
-#usr/share/man/man9/__get_lease.9\r
-#usr/share/man/man9/__set_bit.9\r
-#usr/share/man/man9/__test_and_clear_bit.9\r
-#usr/share/man/man9/__test_and_set_bit.9\r
-#usr/share/man/man9/_devfs_alloc_entry.9\r
-#usr/share/man/man9/_devfs_append_entry.9\r
-#usr/share/man/man9/_devfs_descend.9\r
-#usr/share/man/man9/_devfs_find_by_dev.9\r
-#usr/share/man/man9/_devfs_find_entry.9\r
-#usr/share/man/man9/_devfs_get_root_entry.9\r
-#usr/share/man/man9/_devfs_get_vfs_inode.9\r
-#usr/share/man/man9/_devfs_search_dir.9\r
-#usr/share/man/man9/_devfs_unhook.9\r
-#usr/share/man/man9/_devfs_unregister.9\r
-#usr/share/man/man9/acquire_console_sem.9\r
-#usr/share/man/man9/alloc_ei_netdev.9\r
-#usr/share/man/man9/alloc_etherdev.9\r
-#usr/share/man/man9/alloc_fcdev.9\r
-#usr/share/man/man9/alloc_fddidev.9\r
-#usr/share/man/man9/alloc_hippi_dev.9\r
-#usr/share/man/man9/alloc_trdev.9\r
-#usr/share/man/man9/bcopy.9\r
-#usr/share/man/man9/blk_cleanup_queue.9\r
-#usr/share/man/man9/blk_init_queue.9\r
-#usr/share/man/man9/blk_queue_bounce_limit.9\r
-#usr/share/man/man9/blk_queue_headactive.9\r
-#usr/share/man/man9/blk_queue_make_request.9\r
-#usr/share/man/man9/blk_queue_throttle_sectors.9\r
-#usr/share/man/man9/call_usermodehelper.9\r
-#usr/share/man/man9/change_bit.9\r
-#usr/share/man/man9/check_disc_changed.9\r
-#usr/share/man/man9/clear_bit.9\r
-#usr/share/man/man9/console_getmode.9\r
-#usr/share/man/man9/console_powermode.9\r
-#usr/share/man/man9/console_setcmap.9\r
-#usr/share/man/man9/console_setmode.9\r
-#usr/share/man/man9/devfs_auto_unregister.9\r
-#usr/share/man/man9/devfs_d_delete.9\r
-#usr/share/man/man9/devfs_d_iput.9\r
-#usr/share/man/man9/devfs_d_release.9\r
-#usr/share/man/man9/devfs_generate_path.9\r
-#usr/share/man/man9/devfs_get.9\r
-#usr/share/man/man9/devfs_get_first_child.9\r
-#usr/share/man/man9/devfs_get_flags.9\r
-#usr/share/man/man9/devfs_get_handle.9\r
-#usr/share/man/man9/devfs_get_handle_from_inode.9\r
-#usr/share/man/man9/devfs_get_info.9\r
-#usr/share/man/man9/devfs_get_maj_min.9\r
-#usr/share/man/man9/devfs_get_name.9\r
-#usr/share/man/man9/devfs_get_next_sibling.9\r
-#usr/share/man/man9/devfs_get_ops.9\r
-#usr/share/man/man9/devfs_get_parent.9\r
-#usr/share/man/man9/devfs_get_unregister_slave.9\r
-#usr/share/man/man9/devfs_mk_dir.9\r
-#usr/share/man/man9/devfs_mk_symlink.9\r
-#usr/share/man/man9/devfs_put.9\r
-#usr/share/man/man9/devfs_put_ops.9\r
-#usr/share/man/man9/devfs_register.9\r
-#usr/share/man/man9/devfs_register_blkdev.9\r
-#usr/share/man/man9/devfs_register_chrdev.9\r
-#usr/share/man/man9/devfs_set_file_size.9\r
-#usr/share/man/man9/devfs_set_info.9\r
-#usr/share/man/man9/devfs_setup.9\r
-#usr/share/man/man9/devfs_unregister.9\r
-#usr/share/man/man9/devfs_unregister_blkdev.9\r
-#usr/share/man/man9/devfs_unregister_chrdev.9\r
-#usr/share/man/man9/devfsd_notify.9\r
-#usr/share/man/man9/devfsd_notify_de.9\r
-#usr/share/man/man9/devfsd_queue_empty.9\r
-#usr/share/man/man9/disable_irq.9\r
-#usr/share/man/man9/disable_irq_nosync.9\r
-#usr/share/man/man9/do_set_multicast_list.9\r
-#usr/share/man/man9/ei_close.9\r
-#usr/share/man/man9/ei_interrupt.9\r
-#usr/share/man/man9/ei_open.9\r
-#usr/share/man/man9/ei_receive.9\r
-#usr/share/man/man9/ei_rx_overrun.9\r
-#usr/share/man/man9/ei_start_xmit.9\r
-#usr/share/man/man9/ei_tx_err.9\r
-#usr/share/man/man9/ei_tx_intr.9\r
-#usr/share/man/man9/ei_tx_timeout.9\r
-#usr/share/man/man9/enable_irq.9\r
-#usr/share/man/man9/end_that_request_first.9\r
-#usr/share/man/man9/ethdev_init.9\r
-#usr/share/man/man9/fb_alloc_cmap.9\r
-#usr/share/man/man9/fb_copy_cmap.9\r
-#usr/share/man/man9/fb_default_cmap.9\r
-#usr/share/man/man9/fb_find_mode.9\r
-#usr/share/man/man9/fb_get_cmap.9\r
-#usr/share/man/man9/fb_invert_cmaps.9\r
-#usr/share/man/man9/fb_set_cmap.9\r
-#usr/share/man/man9/fbcon_find_font.9\r
-#usr/share/man/man9/fbcon_get_default_font.9\r
-#usr/share/man/man9/fbcon_redraw_bmove.9\r
-#usr/share/man/man9/fbcon_redraw_clear.9\r
-#usr/share/man/man9/fbgen_blank.9\r
-#usr/share/man/man9/fbgen_do_set_var.9\r
-#usr/share/man/man9/fbgen_get_cmap.9\r
-#usr/share/man/man9/fbgen_get_fix.9\r
-#usr/share/man/man9/fbgen_get_var.9\r
-#usr/share/man/man9/fbgen_install_cmap.9\r
-#usr/share/man/man9/fbgen_pan_display.9\r
-#usr/share/man/man9/fbgen_set_cmap.9\r
-#usr/share/man/man9/fbgen_set_disp.9\r
-#usr/share/man/man9/fbgen_set_var.9\r
-#usr/share/man/man9/fbgen_switch.9\r
-#usr/share/man/man9/fbgen_update_var.9\r
-#usr/share/man/man9/fbmem_init.9\r
-#usr/share/man/man9/fcntl_getlease.9\r
-#usr/share/man/man9/fcntl_setlease.9\r
-#usr/share/man/man9/ffs.9\r
-#usr/share/man/man9/ffz.9\r
-#usr/share/man/man9/find_first_zero_bit.9\r
-#usr/share/man/man9/find_next_zero_bit.9\r
-#usr/share/man/man9/free_dentry.9\r
-#usr/share/man/man9/free_irq.9\r
-#usr/share/man/man9/generic_make_request.9\r
-#usr/share/man/man9/get_locks_status.9\r
-#usr/share/man/man9/get_removable_partition.9\r
-#usr/share/man/man9/hweight32.9\r
-#usr/share/man/man9/init_etherdev.9\r
-#usr/share/man/man9/init_fcdev.9\r
-#usr/share/man/man9/init_fddidev.9\r
-#usr/share/man/man9/init_hippi_dev.9\r
-#usr/share/man/man9/init_trdev.9\r
-#usr/share/man/man9/inter_module_get.9\r
-#usr/share/man/man9/inter_module_get_request.9\r
-#usr/share/man/man9/inter_module_put.9\r
-#usr/share/man/man9/inter_module_register.9\r
-#usr/share/man/man9/inter_module_unregister.9\r
-#usr/share/man/man9/is_devfsd_or_child.9\r
-#usr/share/man/man9/lease_get_mtime.9\r
-#usr/share/man/man9/ll_rw_block.9\r
-#usr/share/man/man9/lock_may_read.9\r
-#usr/share/man/man9/lock_may_write.9\r
-#usr/share/man/man9/mac_find_mode.9\r
-#usr/share/man/man9/mac_map_monitor_sense.9\r
-#usr/share/man/man9/mac_var_to_vmode.9\r
-#usr/share/man/man9/mac_vmode_to_var.9\r
-#usr/share/man/man9/mca_find_adapter.9\r
-#usr/share/man/man9/mca_find_unused_adapter.9\r
-#usr/share/man/man9/mca_get_adapter_name.9\r
-#usr/share/man/man9/mca_is_adapter_used.9\r
-#usr/share/man/man9/mca_isadapter.9\r
-#usr/share/man/man9/mca_isenabled.9\r
-#usr/share/man/man9/mca_mark_as_unused.9\r
-#usr/share/man/man9/mca_mark_as_used.9\r
-#usr/share/man/man9/mca_read_pos.9\r
-#usr/share/man/man9/mca_write_pos.9\r
-#usr/share/man/man9/mca_read_stored_pos.9\r
-#usr/share/man/man9/mca_set_adapter_name.9\r
-#usr/share/man/man9/mca_set_adapter_procfn.9\r
-#usr/share/man/man9/memchr.9\r
-#usr/share/man/man9/memcmp.9\r
-#usr/share/man/man9/memcpy.9\r
-#usr/share/man/man9/memmove.9\r
-#usr/share/man/man9/memscan.9\r
-#usr/share/man/man9/memset.9\r
-#usr/share/man/man9/misc_deregister.9\r
-#usr/share/man/man9/misc_register.9\r
-#usr/share/man/man9/mod_firmware_load.9\r
-#usr/share/man/man9/mtrr_add.9\r
-#usr/share/man/man9/mtrr_add_page.9\r
-#usr/share/man/man9/mtrr_del.9\r
-#usr/share/man/man9/mtrr_del_page.9\r
-#usr/share/man/man9/pci_announce_device_to_drivers.9\r
-#usr/share/man/man9/pci_bus_read_config_byte.9\r
-#usr/share/man/man9/pci_bus_read_config_dword.9\r
-#usr/share/man/man9/pci_bus_read_config_word.9\r
-#usr/share/man/man9/pci_bus_write_config_byte.9\r
-#usr/share/man/man9/pci_bus_write_config_dword.9\r
-#usr/share/man/man9/pci_bus_write_config_word.9\r
-#usr/share/man/man9/pci_clear_mwi.9\r
-#usr/share/man/man9/pci_dev_driver.9\r
-#usr/share/man/man9/pci_disable_device.9\r
-#usr/share/man/man9/pci_enable_device.9\r
-#usr/share/man/man9/pci_enable_device_bars.9\r
-#usr/share/man/man9/pci_enable_wake.9\r
-#usr/share/man/man9/pci_find_capability.9\r
-#usr/share/man/man9/pci_find_class.9\r
-#usr/share/man/man9/pci_find_device.9\r
-#usr/share/man/man9/pci_find_parent_resource.9\r
-#usr/share/man/man9/pci_find_slot.9\r
-#usr/share/man/man9/pci_find_subsys.9\r
-#usr/share/man/man9/pci_generic_prep_mwi.9\r
-#usr/share/man/man9/pci_hp_change_slot_info.9\r
-#usr/share/man/man9/pci_hp_deregister.9\r
-#usr/share/man/man9/pci_hp_register.9\r
-#usr/share/man/man9/pci_insert_device.9\r
-#usr/share/man/man9/pci_match_device.9\r
-#usr/share/man/man9/pci_pool_alloc.9\r
-#usr/share/man/man9/pci_pool_create.9\r
-#usr/share/man/man9/pci_pool_destroy.9\r
-#usr/share/man/man9/pci_pool_free.9\r
-#usr/share/man/man9/pci_register_driver.9\r
-#usr/share/man/man9/pci_release_region.9\r
-#usr/share/man/man9/pci_release_regions.9\r
-#usr/share/man/man9/pci_remove_device.9\r
-#usr/share/man/man9/pci_request_region.9\r
-#usr/share/man/man9/pci_request_regions.9\r
-#usr/share/man/man9/pci_restore_state.9\r
-#usr/share/man/man9/pci_save_state.9\r
-#usr/share/man/man9/pci_set_master.9\r
-#usr/share/man/man9/pci_set_mwi.9\r
-#usr/share/man/man9/pci_set_power_state.9\r
-#usr/share/man/man9/pci_setup_device.9\r
-#usr/share/man/man9/pci_unregister_driver.9\r
-#usr/share/man/man9/pcihpfs_create_by_name.9\r
-#usr/share/man/man9/pm_find.9\r
-#usr/share/man/man9/pm_register.9\r
-#usr/share/man/man9/pm_send.9\r
-#usr/share/man/man9/pm_send_all.9\r
-#usr/share/man/man9/pm_unregister.9\r
-#usr/share/man/man9/pm_unregister_all.9\r
-#usr/share/man/man9/posix_block_lock.9\r
-#usr/share/man/man9/posix_lock_file.9\r
-#usr/share/man/man9/posix_unblock_lock.9\r
-#usr/share/man/man9/probe_irq_mask.9\r
-#usr/share/man/man9/probe_irq_off.9\r
-#usr/share/man/man9/probe_irq_on.9\r
-#usr/share/man/man9/proc_dointvec.9\r
-#usr/share/man/man9/proc_dointvec_jiffies.9\r
-#usr/share/man/man9/proc_dointvec_minmax.9\r
-#usr/share/man/man9/proc_dostring.9\r
-#usr/share/man/man9/proc_doulongvec_minmax.9\r
-#usr/share/man/man9/proc_doulongvec_ms_jiffies_minmax.9\r
-#usr/share/man/man9/read_zsdata.9\r
-#usr/share/man/man9/read_zsreg.9\r
-#usr/share/man/man9/register_framebuffer.9\r
-#usr/share/man/man9/register_serial.9\r
-#usr/share/man/man9/register_sound_dsp.9\r
-#usr/share/man/man9/register_sound_midi.9\r
-#usr/share/man/man9/register_sound_mixer.9\r
-#usr/share/man/man9/register_sound_special.9\r
-#usr/share/man/man9/register_sound_synth.9\r
-#usr/share/man/man9/register_sysctl_table.9\r
-#usr/share/man/man9/release_console_sem.9\r
-#usr/share/man/man9/reparent_to_init.9\r
-#usr/share/man/man9/request_irq.9\r
-#usr/share/man/man9/request_module.9\r
-#usr/share/man/man9/scan_dir_for_removable.9\r
-#usr/share/man/man9/schedule_timeout.9\r
-#usr/share/man/man9/set_all_vcs.9\r
-#usr/share/man/man9/set_bit.9\r
-#usr/share/man/man9/set_con2fb_map.9\r
-#usr/share/man/man9/set_cpus_allowed.9\r
-#usr/share/man/man9/simple_strtol.9\r
-#usr/share/man/man9/simple_strtoll.9\r
-#usr/share/man/man9/simple_strtoul.9\r
-#usr/share/man/man9/simple_strtoull.9\r
-#usr/share/man/man9/snprintf.9\r
-#usr/share/man/man9/spans_boundary.9\r
-#usr/share/man/man9/sppp_attach.9\r
-#usr/share/man/man9/sppp_change_mtu.9\r
-#usr/share/man/man9/sppp_close.9\r
-#usr/share/man/man9/sppp_detach.9\r
-#usr/share/man/man9/sppp_do_ioctl.9\r
-#usr/share/man/man9/sppp_input.9\r
-#usr/share/man/man9/sppp_open.9\r
-#usr/share/man/man9/sppp_rcv.9\r
-#usr/share/man/man9/sppp_reopen.9\r
-#usr/share/man/man9/sprintf.9\r
-#usr/share/man/man9/sscanf.9\r
-#usr/share/man/man9/strcat.9\r
-#usr/share/man/man9/strchr.9\r
-#usr/share/man/man9/strcmp.9\r
-#usr/share/man/man9/strcpy.9\r
-#usr/share/man/man9/strlen.9\r
-#usr/share/man/man9/strncat.9\r
-#usr/share/man/man9/strncmp.9\r
-#usr/share/man/man9/strncpy.9\r
-#usr/share/man/man9/strnicmp.9\r
-#usr/share/man/man9/strnlen.9\r
-#usr/share/man/man9/strpbrk.9\r
-#usr/share/man/man9/strrchr.9\r
-#usr/share/man/man9/strsep.9\r
-#usr/share/man/man9/strspn.9\r
-#usr/share/man/man9/strstr.9\r
-#usr/share/man/man9/strtok.9\r
-#usr/share/man/man9/submit_bh.9\r
-#usr/share/man/man9/sys_flock.9\r
-#usr/share/man/man9/test_and_change_bit.9\r
-#usr/share/man/man9/test_and_clear_bit.9\r
-#usr/share/man/man9/test_and_set_bit.9\r
-#usr/share/man/man9/test_bit.9\r
-#usr/share/man/man9/try_modload.9\r
-#usr/share/man/man9/tty_write_message.9\r
-#usr/share/man/man9/unregister_framebuffer.9\r
-#usr/share/man/man9/unregister_serial.9\r
-#usr/share/man/man9/unregister_sound_dsp.9\r
-#usr/share/man/man9/unregister_sound_midi.9\r
-#usr/share/man/man9/unregister_sound_mixer.9\r
-#usr/share/man/man9/unregister_sound_special.9\r
-#usr/share/man/man9/unregister_sound_synth.9\r
-#usr/share/man/man9/unregister_sysctl_table.9\r
-#usr/share/man/man9/usb_alloc_bus.9\r
-#usr/share/man/man9/usb_alloc_urb.9\r
-#usr/share/man/man9/usb_bulk_msg.9\r
-#usr/share/man/man9/usb_control_msg.9\r
-#usr/share/man/man9/usb_deregister.9\r
-#usr/share/man/man9/usb_deregister_bus.9\r
-#usr/share/man/man9/usb_free_bus.9\r
-#usr/share/man/man9/usb_free_urb.9\r
-#usr/share/man/man9/usb_match_id.9\r
-#usr/share/man/man9/usb_register.9\r
-#usr/share/man/man9/usb_register_bus.9\r
-#usr/share/man/man9/usb_scan_devices.9\r
-#usr/share/man/man9/video_register_device.9\r
-#usr/share/man/man9/video_setup.9\r
-#usr/share/man/man9/video_unregister_device.9\r
-#usr/share/man/man9/vsnprintf.9\r
-#usr/share/man/man9/vsprintf.9\r
-#usr/share/man/man9/vsscanf.9\r
-#usr/share/man/man9/wait_for_devfsd_finished.9\r
-#usr/share/man/man9/write_zsctrl.9\r
-#usr/share/man/man9/write_zsdata.9\r
-#usr/share/man/man9/write_zsreg.9\r
-#usr/share/man/man9/yield.9\r
-#usr/share/man/man9/z8530_channel_load.9\r
-#usr/share/man/man9/z8530_describe.9\r
-#usr/share/man/man9/z8530_dma_rx.9\r
-#usr/share/man/man9/z8530_dma_status.9\r
-#usr/share/man/man9/z8530_dma_tx.9\r
-#usr/share/man/man9/z8530_flush_fifo.9\r
-#usr/share/man/man9/z8530_get_stats.9\r
-#usr/share/man/man9/z8530_init.9\r
-#usr/share/man/man9/z8530_interrupt.9\r
-#usr/share/man/man9/z8530_null_rx.9\r
-#usr/share/man/man9/z8530_queue_xmit.9\r
-#usr/share/man/man9/z8530_read_port.9\r
-#usr/share/man/man9/z8530_rtsdtr.9\r
-#usr/share/man/man9/z8530_rx.9\r
-#usr/share/man/man9/z8530_rx_clear.9\r
-#usr/share/man/man9/z8530_rx_done.9\r
-#usr/share/man/man9/z8530_shutdown.9\r
-#usr/share/man/man9/z8530_status.9\r
-#usr/share/man/man9/z8530_status_clear.9\r
-#usr/share/man/man9/z8530_sync_close.9\r
-#usr/share/man/man9/z8530_sync_dma_close.9\r
-#usr/share/man/man9/z8530_sync_dma_open.9\r
-#usr/share/man/man9/z8530_sync_open.9\r
-#usr/share/man/man9/z8530_sync_txdma_close.9\r
-#usr/share/man/man9/z8530_sync_txdma_open.9\r
-#usr/share/man/man9/z8530_tx.9\r
-#usr/share/man/man9/z8530_tx_begin.9\r
-#usr/share/man/man9/z8530_tx_clear.9\r
-#usr/share/man/man9/z8530_tx_done.9\r
-#usr/share/man/man9/z8530_write_port.9\r
-##\r
-## linux-2.4.31-smp-ipcop\r
-##\r
-boot/vmlinuz-2.4.31-smp\r
-boot/System.map-2.4.31-smp\r
-boot/vmlinuz-smp\r
-#lib/modules\r
-#lib/modules/2.4.31-smp\r
-lib/modules/2.4.31-smp/kernel\r
-#lib/modules/2.4.31-smp/kernel/arch\r
-#lib/modules/2.4.31-smp/kernel/arch/i386\r
-#lib/modules/2.4.31-smp/kernel/arch/i386/kernel\r
-#lib/modules/2.4.31-smp/kernel/arch/i386/kernel/apm.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/button.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/fan.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/processor.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/thermal.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/ac.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/acpi/battery.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/atm\r
-#lib/modules/2.4.31-smp/kernel/drivers/atm/atmtcp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/block\r
-#lib/modules/2.4.31-smp/kernel/drivers/block/cpqarray.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/block/loop.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/block/sx8.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/block/DAC960.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/block/cciss.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/char\r
-#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia\r
-#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia/serial_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia/synclink_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/char/n_hdlc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/pci\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/pci/delkin_cb.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/hptraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/medley.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/silraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/ataraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/pdcraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/input\r
-#lib/modules/2.4.31-smp/kernel/drivers/input/input.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/input/keybdev.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capifs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capiutil.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/kernelcapi.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capi.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capidrv.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/elsa_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_isac.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_st5481.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/isdnhdlc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/sedlbauer_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/avma1_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_fcpcipnp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/isdn.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/isdn/isdn_bsdcomp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/message\r
-#lib/modules/2.4.31-smp/kernel/drivers/message/fusion\r
-#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptlan.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptbase.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptscsih.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c505.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c507.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c509.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c515.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c527.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c59x.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/8139cp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/8139too.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/82596.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ac3200.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/acenic.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/aironet4500_core.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/amd8111e.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/arlan-proc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/arlan.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/at1700.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/b44.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/bsd_comp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/cs89x0.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/de4x5.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/depca.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/dl2k.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/dmfe.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/dummy.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/e2100.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/eexpress.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/epic100.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/eql.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/es3210.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/eth16i.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ewrk3.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/forcedeth.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/hamachi.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/hp-plus.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/hp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/hp100.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ibmlana.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/lance.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/lp486e.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/mii.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/natsemi.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ne.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ne2.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ne2k-pci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ne3210.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ni52.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ni65.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ns83820.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcnet32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_async.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_generic.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_synctty.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pppoe.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pppox.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/r8169.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/sis900.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/sk_mca.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/slhc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/smc-mca.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/smc-ultra32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/smc9194.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/starfire.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/sundance.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/tg3.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/tlan.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/tun.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/typhoon.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/via-rhine.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wavelan.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wd.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/yellowfin.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/bonding\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/bonding/bonding.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/e100\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/e100/e100.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/e1000\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/e1000/e1000.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/axnet_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/fmvj18x_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/netwave_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/nmclan_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/pcnet_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/ray_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/wavelan_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xirc2ps_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xircom_cb.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xircom_tulip_cb.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/3c574_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/3c589_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/smc91c92_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/sk98lin\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/sk98lin/sk98lin.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/tulip\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/tulip/tulip.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/hermes.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_pci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_plx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_tmd.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/prism54\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/prism54/prism54.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/airo.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/airo_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c501.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c503.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/3c523.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/8390.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/aironet4500_card.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/dgrs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/eepro.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/fealnx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/lne390.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ni5010.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_deflate.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/smc-ultra.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/net/winbond-840.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/i82365.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/pcmcia_core.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/tcic.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/ds.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/i82092.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/yenta_socket.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/pnp\r
-#lib/modules/2.4.31-smp/kernel/drivers/pnp/isa-pnp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/53c700.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/AM53C974.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/BusLogic.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR53C9x.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR53c406a.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/a100u2w.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/advansys.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha152x.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha1542.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha1740.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ahci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ata_piix.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/atp870u.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/cpqfc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/dmx3191d.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/dpt_i2o.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/dtc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata_pio.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/fd_mcs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/fdomain.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/g_NCR5380.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/gdth.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ibmmca.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/initio.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ips.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/libata.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/mca_53c9x.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/megaraid2.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ncr53c8xx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/nsp32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pas16.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pci2000.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pci2220i.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/psi240i.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/qla1280.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicfc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicisp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_nv.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_promise.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_qstor.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sil.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sis.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sx4.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_uli.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_via.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_vsc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/scsi_mod.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sd_mod.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sg.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sim710.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sr_mod.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c416.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/t128.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/tmscsim.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/u14-34f.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/ultrastor.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/wd7000.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aic79xx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c8xx_2.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/nsp_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/qlogic_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/aha152x_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/fdomain_cs.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/3w-xxxx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/53c7,8xx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR_D700.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata_dma.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/in2000.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/megaraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicfas.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_svw.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/seagate.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c8xx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aic7xxx.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/scsi/aacraid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/acm.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/catc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/hid.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/pegasus.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/rtl8150.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/speedtch.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/usbcore.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/usbnet.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/host\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/host/uhci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/host/usb-uhci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/host/ehci-hcd.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/host/usb-ohci.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/storage\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/storage/usb-storage.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/CDCEther.o.gz\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/kaweth.o.gz\r
-#lib/modules/2.4.31-smp/kernel/fs\r
-#lib/modules/2.4.31-smp/kernel/fs/fat\r
-#lib/modules/2.4.31-smp/kernel/fs/fat/fat.o.gz\r
-#lib/modules/2.4.31-smp/kernel/fs/vfat\r
-#lib/modules/2.4.31-smp/kernel/fs/vfat/vfat.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net\r
-#lib/modules/2.4.31-smp/kernel/net/8021q\r
-#lib/modules/2.4.31-smp/kernel/net/8021q/8021q.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/atm\r
-#lib/modules/2.4.31-smp/kernel/net/atm/clip.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/atm/pppoatm.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/atm/atm.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/atm/br2684.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_blowfish.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_cast.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_md5.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_serpent.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_sha1.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_twofish.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_3des.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_aes.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_sha2.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipsec/ipsec.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arptable_filter.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_h323.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_irc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_pptp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_proto_gre.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_quake3.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_rtsp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_tftp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_cuseeme.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_ftp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_h323.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_irc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_mms.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_pptp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_quake3.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_rtsp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_tftp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_pool.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_queue.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_iphash.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_ipmap.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_iptree.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_macipmap.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_nethash.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_portmap.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_tables.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_DSCP.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ECN.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_LOG.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MARK.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MIRROR.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NETLINK.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NETMAP.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NOTRACK.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_POOL.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_REDIRECT.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_REJECT.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_SET.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TARPIT.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TCPMSS.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TOS.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TTL.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ULOG.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ah.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_conntrack.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_dscp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_dstlimit.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ecn.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_esp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_fuzzy.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_helper.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_iprange.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ipv4options.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_length.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_limit.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mac.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mport.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_multiport.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_nth.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_osf.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_owner.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_pkttype.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_pool.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_psd.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_quota.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_realm.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_recent.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_set.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_state.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_string.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_tcpmss.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_tos.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ttl.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_u32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_unclean.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_filter.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_mangle.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_nat.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_raw.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arp_tables.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arpt_mangle.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_mms.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_proto_gre.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_SAME.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_connlimit.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mark.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_random.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_time.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_rsvp.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_rsvp6.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_tcindex.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_u32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_cbq.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_csz.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_dsmark.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_gred.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_htb.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_ingress.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_prio.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_red.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_sfq.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_tbf.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_teql.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_fw.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/cls_route.o.gz\r
-#lib/modules/2.4.31-smp/kernel/net/sched/sch_hfsc.o.gz\r
-#lib/modules/2.4.31-smp/kernel/lib\r
-#lib/modules/2.4.31-smp/kernel/lib/zlib_deflate\r
-#lib/modules/2.4.31-smp/kernel/lib/zlib_deflate/zlib_deflate.o.gz\r
-#lib/modules/2.4.31-smp/kernel/lib/zlib_inflate\r
-#lib/modules/2.4.31-smp/kernel/lib/zlib_inflate/zlib_inflate.o.gz\r
-#lib/modules/2.4.31-smp/kernel/lib/crc32.o.gz\r
-#lib/modules/2.4.31-smp/kernel/lib/firmware_class.o.gz\r
-#lib/modules/2.4.31-smp/build\r
-lib/modules/2.4.31-smp/modules.dep\r
-lib/modules/2.4.31-smp/modules.generic_string\r
-#lib/modules/2.4.31-smp/modules.ieee1394map\r
-lib/modules/2.4.31-smp/modules.isapnpmap\r
-#lib/modules/2.4.31-smp/modules.parportmap\r
-lib/modules/2.4.31-smp/modules.pcimap\r
-#lib/modules/2.4.31-smp/modules.pnpbiosmap\r
-lib/modules/2.4.31-smp/modules.usbmap\r
-##\r
-## grub-0.95\r
-##\r
-#boot/grub\r
-boot/grub/grub.conf\r
-boot/grub/grubbatch\r
-boot/grub/ipfire.xpm.gz\r
-boot/grub/scsigrub.conf\r
-#usr/bin/mbchk\r
-usr/sbin/grub\r
-usr/sbin/grub-install\r
-usr/sbin/grub-md5-crypt\r
-usr/sbin/grub-terminfo\r
-usr/share/grub\r
-usr/share/grub/i386-pc\r
-usr/share/grub/i386-pc/e2fs_stage1_5\r
-#usr/share/grub/i386-pc/fat_stage1_5\r
-#usr/share/grub/i386-pc/ffs_stage1_5\r
-#usr/share/grub/i386-pc/iso9660_stage1_5\r
-#usr/share/grub/i386-pc/jfs_stage1_5\r
-#usr/share/grub/i386-pc/minix_stage1_5\r
-#usr/share/grub/i386-pc/reiserfs_stage1_5\r
-usr/share/grub/i386-pc/stage1\r
-usr/share/grub/i386-pc/stage2\r
-#usr/share/grub/i386-pc/stage2_eltorito\r
-#usr/share/grub/i386-pc/ufs2_stage1_5\r
-#usr/share/grub/i386-pc/vstafs_stage1_5\r
-#usr/share/grub/i386-pc/xfs_stage1_5\r
-#usr/share/info/grub.info\r
-#usr/share/info/multiboot.info\r
-#usr/share/man/man1/mbchk.1\r
-#usr/share/man/man8/grub-install.8\r
-#usr/share/man/man8/grub-md5-crypt.8\r
-#usr/share/man/man8/grub-terminfo.8\r
-#usr/share/man/man8/grub.8\r
-##\r
-## stage2\r
-##\r
-bin/cat\r
-bin/pwd\r
-bin/stty\r
-#boot\r
-#etc\r
-etc/certparams\r
-etc/fstab\r
-etc/group\r
-etc/host.conf\r
-etc/inittab\r
-etc/inputrc\r
-etc/issue\r
-etc/ld.so.conf\r
-etc/logrotate.conf\r
-etc/mime.types\r
-etc/modules.conf\r
-etc/mtab\r
-etc/nsswitch.conf\r
-#etc/opt\r
-etc/passwd\r
-etc/profile\r
-etc/resolv.conf\r
-etc/securetty\r
-etc/sysctl.conf\r
-etc/syslog.conf\r
-#home\r
-#home/nobody\r
-#lib\r
-mnt\r
-#opt\r
-#opt/bin\r
-#opt/doc\r
-#opt/include\r
-#opt/info\r
-#opt/lib\r
-#opt/man\r
-#opt/man/man1\r
-#opt/man/man2\r
-#opt/man/man3\r
-#opt/man/man4\r
-#opt/man/man5\r
-#opt/man/man6\r
-#opt/man/man7\r
-#opt/man/man8\r
-proc\r
-root\r
-#sbin\r
-sbin/mkinitrd\r
-tmp\r
-#usr/doc\r
-#usr/etc\r
-#usr/include\r
-#usr/info\r
-#usr/lib\r
-#usr/local\r
-#usr/local/bin\r
-usr/local/bin/httpscert\r
-usr/local/bin/makegraphs\r
-usr/local/bin/readhash\r
-usr/local/bin/setddns.pl\r
-usr/local/bin/setreservedports\r
-usr/local/bin/settime\r
-usr/local/bin/timecheck\r
-#usr/local/bin/tunerrd.pl\r
-usr/local/bin/updatelists.pl\r
-usr/local/bin/resetusb\r
-#usr/local/doc\r
-#usr/local/etc\r
-#usr/local/include\r
-#usr/local/info\r
-#usr/local/lib\r
-#usr/local/man\r
-#usr/local/sbin\r
-#usr/local/share\r
-#usr/local/share/dict\r
-#usr/local/share/doc\r
-#usr/local/share/info\r
-#usr/local/share/locale\r
-#usr/local/share/man\r
-#usr/local/share/man/man1\r
-#usr/local/share/man/man2\r
-#usr/local/share/man/man3\r
-#usr/local/share/man/man4\r
-#usr/local/share/man/man5\r
-#usr/local/share/man/man6\r
-#usr/local/share/man/man7\r
-#usr/local/share/man/man8\r
-#usr/local/share/misc\r
-#usr/local/share/nls\r
-#usr/local/share/terminfo\r
-#usr/local/share/zoneinfo\r
-#usr/local/src\r
-#usr/man\r
-#usr/sbin\r
-#usr/share\r
-#usr/share/dict\r
-#usr/share/doc\r
-#usr/share/info\r
-#usr/share/locale\r
-#usr/share/man\r
-#usr/share/man/man1\r
-#usr/share/man/man2\r
-#usr/share/man/man3\r
-#usr/share/man/man4\r
-#usr/share/man/man5\r
-#usr/share/man/man6\r
-#usr/share/man/man7\r
-#usr/share/man/man8\r
-#usr/share/misc\r
-#usr/share/nls\r
-#usr/share/terminfo\r
-#usr/share/zoneinfo\r
-#var\r
-#var/cache\r
-#var/lib\r
-#var/lib/misc\r
-#var/local\r
-#var/lock\r
-var/lock/subsys\r
-#var/log\r
-#var/mail\r
-#var/opt\r
-var/patches\r
-var/run\r
-#var/spool\r
-var/tmp\r
-##\r
-## make_devices-1.2\r
-##\r
-dev\r
-##\r
-## man-pages-2.09\r
-##\r
-#usr/share/man/man0p\r
-#usr/share/man/man0p/aio.h.0p\r
-#usr/share/man/man0p/assert.h.0p\r
-#usr/share/man/man0p/complex.h.0p\r
-#usr/share/man/man0p/cpio.h.0p\r
-#usr/share/man/man0p/ctype.h.0p\r
-#usr/share/man/man0p/dirent.h.0p\r
-#usr/share/man/man0p/dlfcn.h.0p\r
-#usr/share/man/man0p/errno.h.0p\r
-#usr/share/man/man0p/fcntl.h.0p\r
-#usr/share/man/man0p/fenv.h.0p\r
-#usr/share/man/man0p/float.h.0p\r
-#usr/share/man/man0p/fmtmsg.h.0p\r
-#usr/share/man/man0p/fnmatch.h.0p\r
-#usr/share/man/man0p/ftw.h.0p\r
-#usr/share/man/man0p/glob.h.0p\r
-#usr/share/man/man0p/grp.h.0p\r
-#usr/share/man/man0p/iconv.h.0p\r
-#usr/share/man/man0p/if.h.0p\r
-#usr/share/man/man0p/in.h.0p\r
-#usr/share/man/man0p/inet.h.0p\r
-#usr/share/man/man0p/inttypes.h.0p\r
-#usr/share/man/man0p/ipc.h.0p\r
-#usr/share/man/man0p/iso646.h.0p\r
-#usr/share/man/man0p/langinfo.h.0p\r
-#usr/share/man/man0p/libgen.h.0p\r
-#usr/share/man/man0p/limits.h.0p\r
-#usr/share/man/man0p/locale.h.0p\r
-#usr/share/man/man0p/math.h.0p\r
-#usr/share/man/man0p/mman.h.0p\r
-#usr/share/man/man0p/monetary.h.0p\r
-#usr/share/man/man0p/mqueue.h.0p\r
-#usr/share/man/man0p/msg.h.0p\r
-#usr/share/man/man0p/ndbm.h.0p\r
-#usr/share/man/man0p/netdb.h.0p\r
-#usr/share/man/man0p/nl_types.h.0p\r
-#usr/share/man/man0p/poll.h.0p\r
-#usr/share/man/man0p/pthread.h.0p\r
-#usr/share/man/man0p/pwd.h.0p\r
-#usr/share/man/man0p/regex.h.0p\r
-#usr/share/man/man0p/resource.h.0p\r
-#usr/share/man/man0p/sched.h.0p\r
-#usr/share/man/man0p/search.h.0p\r
-#usr/share/man/man0p/select.h.0p\r
-#usr/share/man/man0p/sem.h.0p\r
-#usr/share/man/man0p/semaphore.h.0p\r
-#usr/share/man/man0p/setjmp.h.0p\r
-#usr/share/man/man0p/shm.h.0p\r
-#usr/share/man/man0p/signal.h.0p\r
-#usr/share/man/man0p/socket.h.0p\r
-#usr/share/man/man0p/spawn.h.0p\r
-#usr/share/man/man0p/stat.h.0p\r
-#usr/share/man/man0p/statvfs.h.0p\r
-#usr/share/man/man0p/stdarg.h.0p\r
-#usr/share/man/man0p/stdbool.h.0p\r
-#usr/share/man/man0p/stddef.h.0p\r
-#usr/share/man/man0p/stdint.h.0p\r
-#usr/share/man/man0p/stdio.h.0p\r
-#usr/share/man/man0p/stdlib.h.0p\r
-#usr/share/man/man0p/string.h.0p\r
-#usr/share/man/man0p/strings.h.0p\r
-#usr/share/man/man0p/stropts.h.0p\r
-#usr/share/man/man0p/sys_ipc.h.0p\r
-#usr/share/man/man0p/sys_mman.h.0p\r
-#usr/share/man/man0p/sys_msg.h.0p\r
-#usr/share/man/man0p/sys_resource.h.0p\r
-#usr/share/man/man0p/sys_select.h.0p\r
-#usr/share/man/man0p/sys_sem.h.0p\r
-#usr/share/man/man0p/sys_shm.h.0p\r
-#usr/share/man/man0p/sys_socket.h.0p\r
-#usr/share/man/man0p/sys_stat.h.0p\r
-#usr/share/man/man0p/sys_statvfs.h.0p\r
-#usr/share/man/man0p/sys_time.h.0p\r
-#usr/share/man/man0p/sys_timeb.h.0p\r
-#usr/share/man/man0p/sys_times.h.0p\r
-#usr/share/man/man0p/sys_types.h.0p\r
-#usr/share/man/man0p/sys_uio.h.0p\r
-#usr/share/man/man0p/sys_un.h.0p\r
-#usr/share/man/man0p/sys_utsname.h.0p\r
-#usr/share/man/man0p/sys_wait.h.0p\r
-#usr/share/man/man0p/syslog.h.0p\r
-#usr/share/man/man0p/tar.h.0p\r
-#usr/share/man/man0p/tcp.h.0p\r
-#usr/share/man/man0p/termios.h.0p\r
-#usr/share/man/man0p/tgmath.h.0p\r
-#usr/share/man/man0p/time.h.0p\r
-#usr/share/man/man0p/timeb.h.0p\r
-#usr/share/man/man0p/times.h.0p\r
-#usr/share/man/man0p/trace.h.0p\r
-#usr/share/man/man0p/types.h.0p\r
-#usr/share/man/man0p/ucontext.h.0p\r
-#usr/share/man/man0p/uio.h.0p\r
-#usr/share/man/man0p/ulimit.h.0p\r
-#usr/share/man/man0p/un.h.0p\r
-#usr/share/man/man0p/unistd.h.0p\r
-#usr/share/man/man0p/utime.h.0p\r
-#usr/share/man/man0p/utmpx.h.0p\r
-#usr/share/man/man0p/utsname.h.0p\r
-#usr/share/man/man0p/wait.h.0p\r
-#usr/share/man/man0p/wchar.h.0p\r
-#usr/share/man/man0p/wctype.h.0p\r
-#usr/share/man/man0p/wordexp.h.0p\r
-#usr/share/man/man1/chgrp.1\r
-#usr/share/man/man1/chmod.1\r
-#usr/share/man/man1/chown.1\r
-#usr/share/man/man1/cp.1\r
-#usr/share/man/man1/dd.1\r
-#usr/share/man/man1/df.1\r
-#usr/share/man/man1/diff.1\r
-#usr/share/man/man1/dir.1\r
-#usr/share/man/man1/dircolors.1\r
-#usr/share/man/man1/du.1\r
-#usr/share/man/man1/install.1\r
-#usr/share/man/man1/intro.1\r
-#usr/share/man/man1/ldd.1\r
-#usr/share/man/man1/ln.1\r
-#usr/share/man/man1/ls.1\r
-#usr/share/man/man1/mkdir.1\r
-#usr/share/man/man1/mkfifo.1\r
-#usr/share/man/man1/mknod.1\r
-#usr/share/man/man1/mv.1\r
-#usr/share/man/man1/rm.1\r
-#usr/share/man/man1/rmdir.1\r
-#usr/share/man/man1/time.1\r
-#usr/share/man/man1/touch.1\r
-#usr/share/man/man1/vdir.1\r
-#usr/share/man/man1p\r
-#usr/share/man/man1p/admin.1p\r
-#usr/share/man/man1p/alias.1p\r
-#usr/share/man/man1p/ar.1p\r
-#usr/share/man/man1p/asa.1p\r
-#usr/share/man/man1p/at.1p\r
-#usr/share/man/man1p/awk.1p\r
-#usr/share/man/man1p/basename.1p\r
-#usr/share/man/man1p/batch.1p\r
-#usr/share/man/man1p/bc.1p\r
-#usr/share/man/man1p/bg.1p\r
-#usr/share/man/man1p/break.1p\r
-#usr/share/man/man1p/c99.1p\r
-#usr/share/man/man1p/cal.1p\r
-#usr/share/man/man1p/cat.1p\r
-#usr/share/man/man1p/cd.1p\r
-#usr/share/man/man1p/cflow.1p\r
-#usr/share/man/man1p/chgrp.1p\r
-#usr/share/man/man1p/chmod.1p\r
-#usr/share/man/man1p/chown.1p\r
-#usr/share/man/man1p/cksum.1p\r
-#usr/share/man/man1p/cmp.1p\r
-#usr/share/man/man1p/colon.1p\r
-#usr/share/man/man1p/comm.1p\r
-#usr/share/man/man1p/command.1p\r
-#usr/share/man/man1p/compress.1p\r
-#usr/share/man/man1p/continue.1p\r
-#usr/share/man/man1p/cp.1p\r
-#usr/share/man/man1p/crontab.1p\r
-#usr/share/man/man1p/csplit.1p\r
-#usr/share/man/man1p/ctags.1p\r
-#usr/share/man/man1p/cut.1p\r
-#usr/share/man/man1p/cxref.1p\r
-#usr/share/man/man1p/date.1p\r
-#usr/share/man/man1p/dd.1p\r
-#usr/share/man/man1p/delta.1p\r
-#usr/share/man/man1p/df.1p\r
-#usr/share/man/man1p/diff.1p\r
-#usr/share/man/man1p/dirname.1p\r
-#usr/share/man/man1p/dot.1p\r
-#usr/share/man/man1p/du.1p\r
-#usr/share/man/man1p/echo.1p\r
-#usr/share/man/man1p/ed.1p\r
-#usr/share/man/man1p/env.1p\r
-#usr/share/man/man1p/eval.1p\r
-#usr/share/man/man1p/ex.1p\r
-#usr/share/man/man1p/exec.1p\r
-#usr/share/man/man1p/exit.1p\r
-#usr/share/man/man1p/expand.1p\r
-#usr/share/man/man1p/export.1p\r
-#usr/share/man/man1p/expr.1p\r
-#usr/share/man/man1p/false.1p\r
-#usr/share/man/man1p/fc.1p\r
-#usr/share/man/man1p/fg.1p\r
-#usr/share/man/man1p/file.1p\r
-#usr/share/man/man1p/find.1p\r
-#usr/share/man/man1p/fold.1p\r
-#usr/share/man/man1p/fort77.1p\r
-#usr/share/man/man1p/fuser.1p\r
-#usr/share/man/man1p/gencat.1p\r
-#usr/share/man/man1p/get.1p\r
-#usr/share/man/man1p/getconf.1p\r
-#usr/share/man/man1p/getopts.1p\r
-#usr/share/man/man1p/grep.1p\r
-#usr/share/man/man1p/hash.1p\r
-#usr/share/man/man1p/head.1p\r
-#usr/share/man/man1p/iconv.1p\r
-#usr/share/man/man1p/id.1p\r
-#usr/share/man/man1p/ipcrm.1p\r
-#usr/share/man/man1p/ipcs.1p\r
-#usr/share/man/man1p/jobs.1p\r
-#usr/share/man/man1p/join.1p\r
-#usr/share/man/man1p/kill.1p\r
-#usr/share/man/man1p/lex.1p\r
-#usr/share/man/man1p/link.1p\r
-#usr/share/man/man1p/ln.1p\r
-#usr/share/man/man1p/locale.1p\r
-#usr/share/man/man1p/localedef.1p\r
-#usr/share/man/man1p/logger.1p\r
-#usr/share/man/man1p/logname.1p\r
-#usr/share/man/man1p/lp.1p\r
-#usr/share/man/man1p/ls.1p\r
-#usr/share/man/man1p/m4.1p\r
-#usr/share/man/man1p/mailx.1p\r
-#usr/share/man/man1p/make.1p\r
-#usr/share/man/man1p/man.1p\r
-#usr/share/man/man1p/mesg.1p\r
-#usr/share/man/man1p/mkdir.1p\r
-#usr/share/man/man1p/mkfifo.1p\r
-#usr/share/man/man1p/more.1p\r
-#usr/share/man/man1p/mv.1p\r
-#usr/share/man/man1p/newgrp.1p\r
-#usr/share/man/man1p/nice.1p\r
-#usr/share/man/man1p/nl.1p\r
-#usr/share/man/man1p/nm.1p\r
-#usr/share/man/man1p/nohup.1p\r
-#usr/share/man/man1p/od.1p\r
-#usr/share/man/man1p/paste.1p\r
-#usr/share/man/man1p/patch.1p\r
-#usr/share/man/man1p/pathchk.1p\r
-#usr/share/man/man1p/pax.1p\r
-#usr/share/man/man1p/pr.1p\r
-#usr/share/man/man1p/printf.1p\r
-#usr/share/man/man1p/prs.1p\r
-#usr/share/man/man1p/ps.1p\r
-#usr/share/man/man1p/pwd.1p\r
-#usr/share/man/man1p/qalter.1p\r
-#usr/share/man/man1p/qdel.1p\r
-#usr/share/man/man1p/qhold.1p\r
-#usr/share/man/man1p/qmove.1p\r
-#usr/share/man/man1p/qmsg.1p\r
-#usr/share/man/man1p/qrerun.1p\r
-#usr/share/man/man1p/qrls.1p\r
-#usr/share/man/man1p/qselect.1p\r
-#usr/share/man/man1p/qsig.1p\r
-#usr/share/man/man1p/qstat.1p\r
-#usr/share/man/man1p/qsub.1p\r
-#usr/share/man/man1p/read.1p\r
-#usr/share/man/man1p/readonly.1p\r
-#usr/share/man/man1p/renice.1p\r
-#usr/share/man/man1p/return.1p\r
-#usr/share/man/man1p/rm.1p\r
-#usr/share/man/man1p/rmdel.1p\r
-#usr/share/man/man1p/rmdir.1p\r
-#usr/share/man/man1p/sact.1p\r
-#usr/share/man/man1p/sccs.1p\r
-#usr/share/man/man1p/sed.1p\r
-#usr/share/man/man1p/set.1p\r
-#usr/share/man/man1p/sh.1p\r
-#usr/share/man/man1p/shift.1p\r
-#usr/share/man/man1p/sleep.1p\r
-#usr/share/man/man1p/sort.1p\r
-#usr/share/man/man1p/split.1p\r
-#usr/share/man/man1p/strings.1p\r
-#usr/share/man/man1p/strip.1p\r
-#usr/share/man/man1p/stty.1p\r
-#usr/share/man/man1p/tabs.1p\r
-#usr/share/man/man1p/tail.1p\r
-#usr/share/man/man1p/talk.1p\r
-#usr/share/man/man1p/tee.1p\r
-#usr/share/man/man1p/test.1p\r
-#usr/share/man/man1p/time.1p\r
-#usr/share/man/man1p/times.1p\r
-#usr/share/man/man1p/touch.1p\r
-#usr/share/man/man1p/tput.1p\r
-#usr/share/man/man1p/tr.1p\r
-#usr/share/man/man1p/trap.1p\r
-#usr/share/man/man1p/true.1p\r
-#usr/share/man/man1p/tsort.1p\r
-#usr/share/man/man1p/tty.1p\r
-#usr/share/man/man1p/type.1p\r
-#usr/share/man/man1p/ulimit.1p\r
-#usr/share/man/man1p/umask.1p\r
-#usr/share/man/man1p/unalias.1p\r
-#usr/share/man/man1p/uname.1p\r
-#usr/share/man/man1p/uncompress.1p\r
-#usr/share/man/man1p/unexpand.1p\r
-#usr/share/man/man1p/unget.1p\r
-#usr/share/man/man1p/uniq.1p\r
-#usr/share/man/man1p/unlink.1p\r
-#usr/share/man/man1p/unset.1p\r
-#usr/share/man/man1p/uucp.1p\r
-#usr/share/man/man1p/uudecode.1p\r
-#usr/share/man/man1p/uuencode.1p\r
-#usr/share/man/man1p/uustat.1p\r
-#usr/share/man/man1p/uux.1p\r
-#usr/share/man/man1p/val.1p\r
-#usr/share/man/man1p/vi.1p\r
-#usr/share/man/man1p/wait.1p\r
-#usr/share/man/man1p/wc.1p\r
-#usr/share/man/man1p/what.1p\r
-#usr/share/man/man1p/who.1p\r
-#usr/share/man/man1p/write.1p\r
-#usr/share/man/man1p/xargs.1p\r
-#usr/share/man/man1p/yacc.1p\r
-#usr/share/man/man1p/zcat.1p\r
-#usr/share/man/man2/_Exit.2\r
-#usr/share/man/man2/_exit.2\r
-#usr/share/man/man2/_llseek.2\r
-#usr/share/man/man2/_newselect.2\r
-#usr/share/man/man2/_sysctl.2\r
-#usr/share/man/man2/accept.2\r
-#usr/share/man/man2/access.2\r
-#usr/share/man/man2/acct.2\r
-#usr/share/man/man2/adjtimex.2\r
-#usr/share/man/man2/afs_syscall.2\r
-#usr/share/man/man2/alarm.2\r
-#usr/share/man/man2/alloc_hugepages.2\r
-#usr/share/man/man2/arch_prctl.2\r
-#usr/share/man/man2/bdflush.2\r
-#usr/share/man/man2/bind.2\r
-#usr/share/man/man2/break.2\r
-#usr/share/man/man2/brk.2\r
-#usr/share/man/man2/cacheflush.2\r
-#usr/share/man/man2/capget.2\r
-#usr/share/man/man2/capset.2\r
-#usr/share/man/man2/chdir.2\r
-#usr/share/man/man2/chmod.2\r
-#usr/share/man/man2/chown.2\r
-#usr/share/man/man2/chroot.2\r
-#usr/share/man/man2/clone.2\r
-#usr/share/man/man2/close.2\r
-#usr/share/man/man2/connect.2\r
-#usr/share/man/man2/creat.2\r
-#usr/share/man/man2/dup.2\r
-#usr/share/man/man2/dup2.2\r
-#usr/share/man/man2/epoll_create.2\r
-#usr/share/man/man2/epoll_ctl.2\r
-#usr/share/man/man2/epoll_wait.2\r
-#usr/share/man/man2/execve.2\r
-#usr/share/man/man2/exit.2\r
-#usr/share/man/man2/exit_group.2\r
-#usr/share/man/man2/fchdir.2\r
-#usr/share/man/man2/fchmod.2\r
-#usr/share/man/man2/fchown.2\r
-#usr/share/man/man2/fcntl.2\r
-#usr/share/man/man2/fdatasync.2\r
-#usr/share/man/man2/fgetxattr.2\r
-#usr/share/man/man2/flistxattr.2\r
-#usr/share/man/man2/flock.2\r
-#usr/share/man/man2/fork.2\r
-#usr/share/man/man2/free_hugepages.2\r
-#usr/share/man/man2/fremovexattr.2\r
-#usr/share/man/man2/fsetxattr.2\r
-#usr/share/man/man2/fstat.2\r
-#usr/share/man/man2/fstatfs.2\r
-#usr/share/man/man2/fstatvfs.2\r
-#usr/share/man/man2/fsync.2\r
-#usr/share/man/man2/ftruncate.2\r
-#usr/share/man/man2/futex.2\r
-#usr/share/man/man2/get_thread_area.2\r
-#usr/share/man/man2/getcontext.2\r
-#usr/share/man/man2/getdents.2\r
-#usr/share/man/man2/getdomainname.2\r
-#usr/share/man/man2/getdtablesize.2\r
-#usr/share/man/man2/getegid.2\r
-#usr/share/man/man2/geteuid.2\r
-#usr/share/man/man2/getgid.2\r
-#usr/share/man/man2/getgroups.2\r
-#usr/share/man/man2/gethostid.2\r
-#usr/share/man/man2/gethostname.2\r
-#usr/share/man/man2/getitimer.2\r
-#usr/share/man/man2/getpagesize.2\r
-#usr/share/man/man2/getpeername.2\r
-#usr/share/man/man2/getpgid.2\r
-#usr/share/man/man2/getpgrp.2\r
-#usr/share/man/man2/getpid.2\r
-#usr/share/man/man2/getpmsg.2\r
-#usr/share/man/man2/getppid.2\r
-#usr/share/man/man2/getpriority.2\r
-#usr/share/man/man2/getresgid.2\r
-#usr/share/man/man2/getresuid.2\r
-#usr/share/man/man2/getrlimit.2\r
-#usr/share/man/man2/getrusage.2\r
-#usr/share/man/man2/getsid.2\r
-#usr/share/man/man2/getsockname.2\r
-#usr/share/man/man2/getsockopt.2\r
-#usr/share/man/man2/gettid.2\r
-#usr/share/man/man2/gettimeofday.2\r
-#usr/share/man/man2/getuid.2\r
-#usr/share/man/man2/getxattr.2\r
-#usr/share/man/man2/gtty.2\r
-#usr/share/man/man2/idle.2\r
-#usr/share/man/man2/inb.2\r
-#usr/share/man/man2/inb_p.2\r
-#usr/share/man/man2/inl.2\r
-#usr/share/man/man2/inl_p.2\r
-#usr/share/man/man2/insb.2\r
-#usr/share/man/man2/insl.2\r
-#usr/share/man/man2/insw.2\r
-#usr/share/man/man2/intro.2\r
-#usr/share/man/man2/inw.2\r
-#usr/share/man/man2/inw_p.2\r
-#usr/share/man/man2/io_cancel.2\r
-#usr/share/man/man2/io_destroy.2\r
-#usr/share/man/man2/io_getevents.2\r
-#usr/share/man/man2/io_setup.2\r
-#usr/share/man/man2/io_submit.2\r
-#usr/share/man/man2/ioctl.2\r
-#usr/share/man/man2/ioctl_list.2\r
-#usr/share/man/man2/ioperm.2\r
-#usr/share/man/man2/iopl.2\r
-#usr/share/man/man2/ipc.2\r
-#usr/share/man/man2/kill.2\r
-#usr/share/man/man2/killpg.2\r
-#usr/share/man/man2/lchown.2\r
-#usr/share/man/man2/lgetxattr.2\r
-#usr/share/man/man2/link.2\r
-#usr/share/man/man2/listen.2\r
-#usr/share/man/man2/listxattr.2\r
-#usr/share/man/man2/llistxattr.2\r
-#usr/share/man/man2/llseek.2\r
-#usr/share/man/man2/lock.2\r
-#usr/share/man/man2/lookup_dcookie.2\r
-#usr/share/man/man2/lremovexattr.2\r
-#usr/share/man/man2/lseek.2\r
-#usr/share/man/man2/lsetxattr.2\r
-#usr/share/man/man2/lstat.2\r
-#usr/share/man/man2/madvise.2\r
-#usr/share/man/man2/mincore.2\r
-#usr/share/man/man2/mkdir.2\r
-#usr/share/man/man2/mknod.2\r
-#usr/share/man/man2/mlock.2\r
-#usr/share/man/man2/mlockall.2\r
-#usr/share/man/man2/mmap.2\r
-#usr/share/man/man2/mmap2.2\r
-#usr/share/man/man2/modify_ldt.2\r
-#usr/share/man/man2/mount.2\r
-#usr/share/man/man2/mprotect.2\r
-#usr/share/man/man2/mpx.2\r
-#usr/share/man/man2/mremap.2\r
-#usr/share/man/man2/msgctl.2\r
-#usr/share/man/man2/msgget.2\r
-#usr/share/man/man2/msgop.2\r
-#usr/share/man/man2/msgrcv.2\r
-#usr/share/man/man2/msgsnd.2\r
-#usr/share/man/man2/msync.2\r
-#usr/share/man/man2/munlock.2\r
-#usr/share/man/man2/munlockall.2\r
-#usr/share/man/man2/munmap.2\r
-#usr/share/man/man2/nanosleep.2\r
-#usr/share/man/man2/nfsservctl.2\r
-#usr/share/man/man2/nice.2\r
-#usr/share/man/man2/obsolete.2\r
-#usr/share/man/man2/oldfstat.2\r
-#usr/share/man/man2/oldlstat.2\r
-#usr/share/man/man2/oldolduname.2\r
-#usr/share/man/man2/oldstat.2\r
-#usr/share/man/man2/olduname.2\r
-#usr/share/man/man2/open.2\r
-#usr/share/man/man2/outb.2\r
-#usr/share/man/man2/outb_p.2\r
-#usr/share/man/man2/outl.2\r
-#usr/share/man/man2/outl_p.2\r
-#usr/share/man/man2/outsb.2\r
-#usr/share/man/man2/outsl.2\r
-#usr/share/man/man2/outsw.2\r
-#usr/share/man/man2/outw.2\r
-#usr/share/man/man2/outw_p.2\r
-#usr/share/man/man2/path_resolution.2\r
-#usr/share/man/man2/pause.2\r
-#usr/share/man/man2/pciconfig_iobase.2\r
-#usr/share/man/man2/pciconfig_read.2\r
-#usr/share/man/man2/pciconfig_write.2\r
-#usr/share/man/man2/personality.2\r
-#usr/share/man/man2/pipe.2\r
-#usr/share/man/man2/pivot_root.2\r
-#usr/share/man/man2/poll.2\r
-#usr/share/man/man2/posix_fadvise.2\r
-#usr/share/man/man2/prctl.2\r
-#usr/share/man/man2/pread.2\r
-#usr/share/man/man2/prof.2\r
-#usr/share/man/man2/pselect.2\r
-#usr/share/man/man2/ptrace.2\r
-#usr/share/man/man2/putpmsg.2\r
-#usr/share/man/man2/pwrite.2\r
-#usr/share/man/man2/quotactl.2\r
-#usr/share/man/man2/read.2\r
-#usr/share/man/man2/readahead.2\r
-#usr/share/man/man2/readdir.2\r
-#usr/share/man/man2/readlink.2\r
-#usr/share/man/man2/readv.2\r
-#usr/share/man/man2/reboot.2\r
-#usr/share/man/man2/recv.2\r
-#usr/share/man/man2/recvfrom.2\r
-#usr/share/man/man2/recvmsg.2\r
-#usr/share/man/man2/remap_file_pages.2\r
-#usr/share/man/man2/removexattr.2\r
-#usr/share/man/man2/rename.2\r
-#usr/share/man/man2/rmdir.2\r
-#usr/share/man/man2/sbrk.2\r
-#usr/share/man/man2/sched_get_priority_max.2\r
-#usr/share/man/man2/sched_get_priority_min.2\r
-#usr/share/man/man2/sched_getaffinity.2\r
-#usr/share/man/man2/sched_getparam.2\r
-#usr/share/man/man2/sched_getscheduler.2\r
-#usr/share/man/man2/sched_rr_get_interval.2\r
-#usr/share/man/man2/sched_setaffinity.2\r
-#usr/share/man/man2/sched_setparam.2\r
-#usr/share/man/man2/sched_setscheduler.2\r
-#usr/share/man/man2/sched_yield.2\r
-#usr/share/man/man2/security.2\r
-#usr/share/man/man2/select.2\r
-#usr/share/man/man2/select_tut.2\r
-#usr/share/man/man2/semctl.2\r
-#usr/share/man/man2/semget.2\r
-#usr/share/man/man2/semop.2\r
-#usr/share/man/man2/semtimedop.2\r
-#usr/share/man/man2/send.2\r
-#usr/share/man/man2/sendfile.2\r
-#usr/share/man/man2/sendmsg.2\r
-#usr/share/man/man2/sendto.2\r
-#usr/share/man/man2/set_thread_area.2\r
-#usr/share/man/man2/set_tid_address.2\r
-#usr/share/man/man2/setcontext.2\r
-#usr/share/man/man2/setdomainname.2\r
-#usr/share/man/man2/setegid.2\r
-#usr/share/man/man2/seteuid.2\r
-#usr/share/man/man2/setfsgid.2\r
-#usr/share/man/man2/setfsuid.2\r
-#usr/share/man/man2/setgid.2\r
-#usr/share/man/man2/setgroups.2\r
-#usr/share/man/man2/sethostid.2\r
-#usr/share/man/man2/sethostname.2\r
-#usr/share/man/man2/setitimer.2\r
-#usr/share/man/man2/setpgid.2\r
-#usr/share/man/man2/setpgrp.2\r
-#usr/share/man/man2/setpriority.2\r
-#usr/share/man/man2/setregid.2\r
-#usr/share/man/man2/setresgid.2\r
-#usr/share/man/man2/setresuid.2\r
-#usr/share/man/man2/setreuid.2\r
-#usr/share/man/man2/setrlimit.2\r
-#usr/share/man/man2/setsid.2\r
-#usr/share/man/man2/setsockopt.2\r
-#usr/share/man/man2/settimeofday.2\r
-#usr/share/man/man2/setuid.2\r
-#usr/share/man/man2/setup.2\r
-#usr/share/man/man2/setxattr.2\r
-#usr/share/man/man2/sgetmask.2\r
-#usr/share/man/man2/shmat.2\r
-#usr/share/man/man2/shmctl.2\r
-#usr/share/man/man2/shmdt.2\r
-#usr/share/man/man2/shmget.2\r
-#usr/share/man/man2/shmop.2\r
-#usr/share/man/man2/shutdown.2\r
-#usr/share/man/man2/sigaction.2\r
-#usr/share/man/man2/sigaltstack.2\r
-#usr/share/man/man2/sigblock.2\r
-#usr/share/man/man2/siggetmask.2\r
-#usr/share/man/man2/sigmask.2\r
-#usr/share/man/man2/signal.2\r
-#usr/share/man/man2/sigpause.2\r
-#usr/share/man/man2/sigpending.2\r
-#usr/share/man/man2/sigprocmask.2\r
-#usr/share/man/man2/sigqueue.2\r
-#usr/share/man/man2/sigreturn.2\r
-#usr/share/man/man2/sigsetmask.2\r
-#usr/share/man/man2/sigsuspend.2\r
-#usr/share/man/man2/sigtimedwait.2\r
-#usr/share/man/man2/sigvec.2\r
-#usr/share/man/man2/sigwaitinfo.2\r
-#usr/share/man/man2/socket.2\r
-#usr/share/man/man2/socketcall.2\r
-#usr/share/man/man2/socketpair.2\r
-#usr/share/man/man2/ssetmask.2\r
-#usr/share/man/man2/stat.2\r
-#usr/share/man/man2/statfs.2\r
-#usr/share/man/man2/statvfs.2\r
-#usr/share/man/man2/stime.2\r
-#usr/share/man/man2/stty.2\r
-#usr/share/man/man2/swapoff.2\r
-#usr/share/man/man2/swapon.2\r
-#usr/share/man/man2/symlink.2\r
-#usr/share/man/man2/sync.2\r
-#usr/share/man/man2/syscall.2\r
-#usr/share/man/man2/syscalls.2\r
-#usr/share/man/man2/sysctl.2\r
-#usr/share/man/man2/sysfs.2\r
-#usr/share/man/man2/sysinfo.2\r
-#usr/share/man/man2/syslog.2\r
-#usr/share/man/man2/tgkill.2\r
-#usr/share/man/man2/time.2\r
-#usr/share/man/man2/times.2\r
-#usr/share/man/man2/tkill.2\r
-#usr/share/man/man2/truncate.2\r
-#usr/share/man/man2/umask.2\r
-#usr/share/man/man2/umount.2\r
-#usr/share/man/man2/umount2.2\r
-#usr/share/man/man2/uname.2\r
-#usr/share/man/man2/undocumented.2\r
-#usr/share/man/man2/unimplemented.2\r
-#usr/share/man/man2/unlink.2\r
-#usr/share/man/man2/uselib.2\r
-#usr/share/man/man2/ustat.2\r
-#usr/share/man/man2/utime.2\r
-#usr/share/man/man2/utimes.2\r
-#usr/share/man/man2/vfork.2\r
-#usr/share/man/man2/vhangup.2\r
-#usr/share/man/man2/vm86.2\r
-#usr/share/man/man2/wait.2\r
-#usr/share/man/man2/wait3.2\r
-#usr/share/man/man2/wait4.2\r
-#usr/share/man/man2/waitid.2\r
-#usr/share/man/man2/waitpid.2\r
-#usr/share/man/man2/write.2\r
-#usr/share/man/man2/writev.2\r
-#usr/share/man/man3/CMSG_ALIGN.3\r
-#usr/share/man/man3/CMSG_FIRSTHDR.3\r
-#usr/share/man/man3/CMSG_NXTHDR.3\r
-#usr/share/man/man3/CMSG_SPACE.3\r
-#usr/share/man/man3/HUGE_VAL.3\r
-#usr/share/man/man3/HUGE_VALF.3\r
-#usr/share/man/man3/HUGE_VALL.3\r
-#usr/share/man/man3/INFINITY.3\r
-#usr/share/man/man3/MB_CUR_MAX.3\r
-#usr/share/man/man3/MB_LEN_MAX.3\r
-#usr/share/man/man3/NAN.3\r
-#usr/share/man/man3/__fbufsize.3\r
-#usr/share/man/man3/__flbf.3\r
-#usr/share/man/man3/__fpending.3\r
-#usr/share/man/man3/__fpurge.3\r
-#usr/share/man/man3/__freadable.3\r
-#usr/share/man/man3/__freading.3\r
-#usr/share/man/man3/__fsetlocking.3\r
-#usr/share/man/man3/__fwritable.3\r
-#usr/share/man/man3/__fwriting.3\r
-#usr/share/man/man3/__malloc_hook.3\r
-#usr/share/man/man3/__setfpucw.3\r
-#usr/share/man/man3/_flushlbf.3\r
-#usr/share/man/man3/a64l.3\r
-#usr/share/man/man3/abort.3\r
-#usr/share/man/man3/abs.3\r
-#usr/share/man/man3/acos.3\r
-#usr/share/man/man3/acosf.3\r
-#usr/share/man/man3/acosh.3\r
-#usr/share/man/man3/acoshf.3\r
-#usr/share/man/man3/acoshl.3\r
-#usr/share/man/man3/acosl.3\r
-#usr/share/man/man3/addmntent.3\r
-#usr/share/man/man3/addseverity.3\r
-#usr/share/man/man3/aio_cancel.3\r
-#usr/share/man/man3/aio_error.3\r
-#usr/share/man/man3/aio_fsync.3\r
-#usr/share/man/man3/aio_read.3\r
-#usr/share/man/man3/aio_return.3\r
-#usr/share/man/man3/aio_suspend.3\r
-#usr/share/man/man3/aio_write.3\r
-#usr/share/man/man3/alloca.3\r
-#usr/share/man/man3/alphasort.3\r
-#usr/share/man/man3/argz_add.3\r
-#usr/share/man/man3/argz_add_sep.3\r
-#usr/share/man/man3/argz_append.3\r
-#usr/share/man/man3/argz_count.3\r
-#usr/share/man/man3/argz_create.3\r
-#usr/share/man/man3/argz_create_sep.3\r
-#usr/share/man/man3/argz_delete.3\r
-#usr/share/man/man3/argz_extract.3\r
-#usr/share/man/man3/argz_insert.3\r
-#usr/share/man/man3/argz_next.3\r
-#usr/share/man/man3/argz_replace.3\r
-#usr/share/man/man3/argz_stringify.3\r
-#usr/share/man/man3/asctime.3\r
-#usr/share/man/man3/asctime_r.3\r
-#usr/share/man/man3/asin.3\r
-#usr/share/man/man3/asinf.3\r
-#usr/share/man/man3/asinh.3\r
-#usr/share/man/man3/asinhf.3\r
-#usr/share/man/man3/asinhl.3\r
-#usr/share/man/man3/asinl.3\r
-#usr/share/man/man3/asprintf.3\r
-#usr/share/man/man3/assert.3\r
-#usr/share/man/man3/assert_perror.3\r
-#usr/share/man/man3/atan.3\r
-#usr/share/man/man3/atan2.3\r
-#usr/share/man/man3/atan2f.3\r
-#usr/share/man/man3/atan2l.3\r
-#usr/share/man/man3/atanf.3\r
-#usr/share/man/man3/atanh.3\r
-#usr/share/man/man3/atanhf.3\r
-#usr/share/man/man3/atanhl.3\r
-#usr/share/man/man3/atanl.3\r
-#usr/share/man/man3/atexit.3\r
-#usr/share/man/man3/atof.3\r
-#usr/share/man/man3/atoi.3\r
-#usr/share/man/man3/atol.3\r
-#usr/share/man/man3/atoll.3\r
-#usr/share/man/man3/atoq.3\r
-#usr/share/man/man3/auth_destroy.3\r
-#usr/share/man/man3/authnone_create.3\r
-#usr/share/man/man3/authunix_create.3\r
-#usr/share/man/man3/authunix_create_default.3\r
-#usr/share/man/man3/basename.3\r
-#usr/share/man/man3/bcmp.3\r
-#usr/share/man/man3/bcopy.3\r
-#usr/share/man/man3/bindresvport.3\r
-#usr/share/man/man3/bsearch.3\r
-#usr/share/man/man3/bstring.3\r
-#usr/share/man/man3/btowc.3\r
-#usr/share/man/man3/btree.3\r
-#usr/share/man/man3/byteorder.3\r
-#usr/share/man/man3/bzero.3\r
-#usr/share/man/man3/cabs.3\r
-#usr/share/man/man3/cabsf.3\r
-#usr/share/man/man3/cabsl.3\r
-#usr/share/man/man3/cacos.3\r
-#usr/share/man/man3/cacosf.3\r
-#usr/share/man/man3/cacosh.3\r
-#usr/share/man/man3/cacoshf.3\r
-#usr/share/man/man3/cacoshl.3\r
-#usr/share/man/man3/cacosl.3\r
-#usr/share/man/man3/calloc.3\r
-#usr/share/man/man3/callrpc.3\r
-#usr/share/man/man3/canonicalize_file_name.3\r
-#usr/share/man/man3/carg.3\r
-#usr/share/man/man3/cargf.3\r
-#usr/share/man/man3/cargl.3\r
-#usr/share/man/man3/casin.3\r
-#usr/share/man/man3/casinf.3\r
-#usr/share/man/man3/casinh.3\r
-#usr/share/man/man3/casinhf.3\r
-#usr/share/man/man3/casinhl.3\r
-#usr/share/man/man3/casinl.3\r
-#usr/share/man/man3/catan.3\r
-#usr/share/man/man3/catanf.3\r
-#usr/share/man/man3/catanh.3\r
-#usr/share/man/man3/catanhf.3\r
-#usr/share/man/man3/catanhl.3\r
-#usr/share/man/man3/catanl.3\r
-#usr/share/man/man3/catclose.3\r
-#usr/share/man/man3/catgets.3\r
-#usr/share/man/man3/catopen.3\r
-#usr/share/man/man3/cbc_crypt.3\r
-#usr/share/man/man3/cbrt.3\r
-#usr/share/man/man3/cbrtf.3\r
-#usr/share/man/man3/cbrtl.3\r
-#usr/share/man/man3/ccos.3\r
-#usr/share/man/man3/ccosf.3\r
-#usr/share/man/man3/ccosh.3\r
-#usr/share/man/man3/ccoshf.3\r
-#usr/share/man/man3/ccoshl.3\r
-#usr/share/man/man3/ccosl.3\r
-#usr/share/man/man3/ceil.3\r
-#usr/share/man/man3/ceilf.3\r
-#usr/share/man/man3/ceill.3\r
-#usr/share/man/man3/cerf.3\r
-#usr/share/man/man3/cerfc.3\r
-#usr/share/man/man3/cerfcf.3\r
-#usr/share/man/man3/cerfcl.3\r
-#usr/share/man/man3/cerff.3\r
-#usr/share/man/man3/cerfl.3\r
-#usr/share/man/man3/cexp.3\r
-#usr/share/man/man3/cexp2.3\r
-#usr/share/man/man3/cexp2f.3\r
-#usr/share/man/man3/cexp2l.3\r
-#usr/share/man/man3/cexpf.3\r
-#usr/share/man/man3/cexpl.3\r
-#usr/share/man/man3/cfgetispeed.3\r
-#usr/share/man/man3/cfgetospeed.3\r
-#usr/share/man/man3/cfmakeraw.3\r
-#usr/share/man/man3/cfree.3\r
-#usr/share/man/man3/cfsetispeed.3\r
-#usr/share/man/man3/cfsetospeed.3\r
-#usr/share/man/man3/cimag.3\r
-#usr/share/man/man3/cimagf.3\r
-#usr/share/man/man3/cimagl.3\r
-#usr/share/man/man3/clearenv.3\r
-#usr/share/man/man3/clearerr.3\r
-#usr/share/man/man3/clearerr_unlocked.3\r
-#usr/share/man/man3/clnt_broadcast.3\r
-#usr/share/man/man3/clnt_call.3\r
-#usr/share/man/man3/clnt_control.3\r
-#usr/share/man/man3/clnt_create.3\r
-#usr/share/man/man3/clnt_destroy.3\r
-#usr/share/man/man3/clnt_freeres.3\r
-#usr/share/man/man3/clnt_geterr.3\r
-#usr/share/man/man3/clnt_pcreateerror.3\r
-#usr/share/man/man3/clnt_perrno.3\r
-#usr/share/man/man3/clnt_perror.3\r
-#usr/share/man/man3/clnt_spcreateerror.3\r
-#usr/share/man/man3/clnt_sperrno.3\r
-#usr/share/man/man3/clnt_sperror.3\r
-#usr/share/man/man3/clntraw_create.3\r
-#usr/share/man/man3/clnttcp_create.3\r
-#usr/share/man/man3/clntudp_bufcreate.3\r
-#usr/share/man/man3/clntudp_create.3\r
-#usr/share/man/man3/clock.3\r
-#usr/share/man/man3/clock_getres.3\r
-#usr/share/man/man3/clock_gettime.3\r
-#usr/share/man/man3/clock_settime.3\r
-#usr/share/man/man3/clog.3\r
-#usr/share/man/man3/clog10.3\r
-#usr/share/man/man3/clog10f.3\r
-#usr/share/man/man3/clog10l.3\r
-#usr/share/man/man3/clog2.3\r
-#usr/share/man/man3/clog2f.3\r
-#usr/share/man/man3/clog2l.3\r
-#usr/share/man/man3/clogf.3\r
-#usr/share/man/man3/clogl.3\r
-#usr/share/man/man3/closedir.3\r
-#usr/share/man/man3/closelog.3\r
-#usr/share/man/man3/cmsg.3\r
-#usr/share/man/man3/confstr.3\r
-#usr/share/man/man3/conj.3\r
-#usr/share/man/man3/conjf.3\r
-#usr/share/man/man3/conjl.3\r
-#usr/share/man/man3/copysign.3\r
-#usr/share/man/man3/copysignf.3\r
-#usr/share/man/man3/copysignl.3\r
-#usr/share/man/man3/cos.3\r
-#usr/share/man/man3/cosf.3\r
-#usr/share/man/man3/cosh.3\r
-#usr/share/man/man3/coshf.3\r
-#usr/share/man/man3/coshl.3\r
-#usr/share/man/man3/cosl.3\r
-#usr/share/man/man3/cpow.3\r
-#usr/share/man/man3/cpowf.3\r
-#usr/share/man/man3/cpowl.3\r
-#usr/share/man/man3/cproj.3\r
-#usr/share/man/man3/cprojf.3\r
-#usr/share/man/man3/cprojl.3\r
-#usr/share/man/man3/creal.3\r
-#usr/share/man/man3/crealf.3\r
-#usr/share/man/man3/creall.3\r
-#usr/share/man/man3/crypt.3\r
-#usr/share/man/man3/csin.3\r
-#usr/share/man/man3/csinf.3\r
-#usr/share/man/man3/csinh.3\r
-#usr/share/man/man3/csinhf.3\r
-#usr/share/man/man3/csinhl.3\r
-#usr/share/man/man3/csinl.3\r
-#usr/share/man/man3/csqrt.3\r
-#usr/share/man/man3/csqrtf.3\r
-#usr/share/man/man3/csqrtl.3\r
-#usr/share/man/man3/ctan.3\r
-#usr/share/man/man3/ctanf.3\r
-#usr/share/man/man3/ctanh.3\r
-#usr/share/man/man3/ctanhf.3\r
-#usr/share/man/man3/ctanhl.3\r
-#usr/share/man/man3/ctanl.3\r
-#usr/share/man/man3/ctermid.3\r
-#usr/share/man/man3/ctime.3\r
-#usr/share/man/man3/ctime_r.3\r
-#usr/share/man/man3/cuserid.3\r
-#usr/share/man/man3/daemon.3\r
-#usr/share/man/man3/db.3\r
-#usr/share/man/man3/dbopen.3\r
-#usr/share/man/man3/des_crypt.3\r
-#usr/share/man/man3/des_setparity.3\r
-#usr/share/man/man3/difftime.3\r
-#usr/share/man/man3/dirfd.3\r
-#usr/share/man/man3/dirname.3\r
-#usr/share/man/man3/div.3\r
-#usr/share/man/man3/dl_iterate_phdr.3\r
-#usr/share/man/man3/dladdr.3\r
-#usr/share/man/man3/dlclose.3\r
-#usr/share/man/man3/dlerror.3\r
-#usr/share/man/man3/dlopen.3\r
-#usr/share/man/man3/dlsym.3\r
-#usr/share/man/man3/dlvsym.3\r
-#usr/share/man/man3/dn_comp.3\r
-#usr/share/man/man3/dn_expand.3\r
-#usr/share/man/man3/dprintf.3\r
-#usr/share/man/man3/drand48.3\r
-#usr/share/man/man3/drand48_r.3\r
-#usr/share/man/man3/drem.3\r
-#usr/share/man/man3/dremf.3\r
-#usr/share/man/man3/dreml.3\r
-#usr/share/man/man3/dysize.3\r
-#usr/share/man/man3/ecb_crypt.3\r
-#usr/share/man/man3/ecvt.3\r
-#usr/share/man/man3/ecvt_r.3\r
-#usr/share/man/man3/encrypt.3\r
-#usr/share/man/man3/endaliasent.3\r
-#usr/share/man/man3/endfsent.3\r
-#usr/share/man/man3/endgrent.3\r
-#usr/share/man/man3/endhostent.3\r
-#usr/share/man/man3/endmntent.3\r
-#usr/share/man/man3/endnetent.3\r
-#usr/share/man/man3/endnetgrent.3\r
-#usr/share/man/man3/endprotoent.3\r
-#usr/share/man/man3/endpwent.3\r
-#usr/share/man/man3/endrpcent.3\r
-#usr/share/man/man3/endservent.3\r
-#usr/share/man/man3/endspent.3\r
-#usr/share/man/man3/endttyent.3\r
-#usr/share/man/man3/endusershell.3\r
-#usr/share/man/man3/endutent.3\r
-#usr/share/man/man3/endutxent.3\r
-#usr/share/man/man3/envz_add.3\r
-#usr/share/man/man3/envz_entry.3\r
-#usr/share/man/man3/envz_get.3\r
-#usr/share/man/man3/envz_merge.3\r
-#usr/share/man/man3/envz_remove.3\r
-#usr/share/man/man3/envz_strip.3\r
-#usr/share/man/man3/erand48.3\r
-#usr/share/man/man3/erand48_r.3\r
-#usr/share/man/man3/erf.3\r
-#usr/share/man/man3/erfc.3\r
-#usr/share/man/man3/erfcf.3\r
-#usr/share/man/man3/erfcl.3\r
-#usr/share/man/man3/erff.3\r
-#usr/share/man/man3/erfl.3\r
-#usr/share/man/man3/err.3\r
-#usr/share/man/man3/errno.3\r
-#usr/share/man/man3/errx.3\r
-#usr/share/man/man3/ether_aton.3\r
-#usr/share/man/man3/ether_aton_r.3\r
-#usr/share/man/man3/ether_hostton.3\r
-#usr/share/man/man3/ether_line.3\r
-#usr/share/man/man3/ether_ntoa.3\r
-#usr/share/man/man3/ether_ntoa_r.3\r
-#usr/share/man/man3/ether_ntohost.3\r
-#usr/share/man/man3/exec.3\r
-#usr/share/man/man3/execl.3\r
-#usr/share/man/man3/execle.3\r
-#usr/share/man/man3/execlp.3\r
-#usr/share/man/man3/execv.3\r
-#usr/share/man/man3/execvp.3\r
-#usr/share/man/man3/exit.3\r
-#usr/share/man/man3/exp.3\r
-#usr/share/man/man3/exp10.3\r
-#usr/share/man/man3/exp10f.3\r
-#usr/share/man/man3/exp10l.3\r
-#usr/share/man/man3/exp2.3\r
-#usr/share/man/man3/exp2f.3\r
-#usr/share/man/man3/exp2l.3\r
-#usr/share/man/man3/expf.3\r
-#usr/share/man/man3/expl.3\r
-#usr/share/man/man3/expm1.3\r
-#usr/share/man/man3/expm1f.3\r
-#usr/share/man/man3/expm1l.3\r
-#usr/share/man/man3/fabs.3\r
-#usr/share/man/man3/fabsf.3\r
-#usr/share/man/man3/fabsl.3\r
-#usr/share/man/man3/fclose.3\r
-#usr/share/man/man3/fcloseall.3\r
-#usr/share/man/man3/fcvt.3\r
-#usr/share/man/man3/fcvt_r.3\r
-#usr/share/man/man3/fdim.3\r
-#usr/share/man/man3/fdimf.3\r
-#usr/share/man/man3/fdiml.3\r
-#usr/share/man/man3/fdopen.3\r
-#usr/share/man/man3/feclearexcept.3\r
-#usr/share/man/man3/fedisableexcept.3\r
-#usr/share/man/man3/feenableexcept.3\r
-#usr/share/man/man3/fegetenv.3\r
-#usr/share/man/man3/fegetexcept.3\r
-#usr/share/man/man3/fegetexceptflag.3\r
-#usr/share/man/man3/fegetround.3\r
-#usr/share/man/man3/feholdexcept.3\r
-#usr/share/man/man3/fenv.3\r
-#usr/share/man/man3/feof.3\r
-#usr/share/man/man3/feof_unlocked.3\r
-#usr/share/man/man3/feraiseexcept.3\r
-#usr/share/man/man3/ferror.3\r
-#usr/share/man/man3/ferror_unlocked.3\r
-#usr/share/man/man3/fesetenv.3\r
-#usr/share/man/man3/fesetexceptflag.3\r
-#usr/share/man/man3/fesetround.3\r
-#usr/share/man/man3/fetestexcept.3\r
-#usr/share/man/man3/feupdateenv.3\r
-#usr/share/man/man3/fflush.3\r
-#usr/share/man/man3/fflush_unlocked.3\r
-#usr/share/man/man3/ffs.3\r
-#usr/share/man/man3/ffsl.3\r
-#usr/share/man/man3/ffsll.3\r
-#usr/share/man/man3/fgetc.3\r
-#usr/share/man/man3/fgetc_unlocked.3\r
-#usr/share/man/man3/fgetgrent.3\r
-#usr/share/man/man3/fgetgrent_r.3\r
-#usr/share/man/man3/fgetpos.3\r
-#usr/share/man/man3/fgetpwent.3\r
-#usr/share/man/man3/fgetpwent_r.3\r
-#usr/share/man/man3/fgets.3\r
-#usr/share/man/man3/fgets_unlocked.3\r
-#usr/share/man/man3/fgetspent.3\r
-#usr/share/man/man3/fgetspent_r.3\r
-#usr/share/man/man3/fgetwc.3\r
-#usr/share/man/man3/fgetwc_unlocked.3\r
-#usr/share/man/man3/fgetws.3\r
-#usr/share/man/man3/fgetws_unlocked.3\r
-#usr/share/man/man3/fileno.3\r
-#usr/share/man/man3/fileno_unlocked.3\r
-#usr/share/man/man3/finite.3\r
-#usr/share/man/man3/finitef.3\r
-#usr/share/man/man3/finitel.3\r
-#usr/share/man/man3/flockfile.3\r
-#usr/share/man/man3/floor.3\r
-#usr/share/man/man3/floorf.3\r
-#usr/share/man/man3/floorl.3\r
-#usr/share/man/man3/fma.3\r
-#usr/share/man/man3/fmaf.3\r
-#usr/share/man/man3/fmal.3\r
-#usr/share/man/man3/fmax.3\r
-#usr/share/man/man3/fmaxf.3\r
-#usr/share/man/man3/fmaxl.3\r
-#usr/share/man/man3/fmin.3\r
-#usr/share/man/man3/fminf.3\r
-#usr/share/man/man3/fminl.3\r
-#usr/share/man/man3/fmod.3\r
-#usr/share/man/man3/fmodf.3\r
-#usr/share/man/man3/fmodl.3\r
-#usr/share/man/man3/fmtmsg.3\r
-#usr/share/man/man3/fnmatch.3\r
-#usr/share/man/man3/fopen.3\r
-#usr/share/man/man3/forkpty.3\r
-#usr/share/man/man3/fpathconf.3\r
-#usr/share/man/man3/fpclassify.3\r
-#usr/share/man/man3/fprintf.3\r
-#usr/share/man/man3/fpurge.3\r
-#usr/share/man/man3/fputc.3\r
-#usr/share/man/man3/fputc_unlocked.3\r
-#usr/share/man/man3/fputs.3\r
-#usr/share/man/man3/fputs_unlocked.3\r
-#usr/share/man/man3/fputwc.3\r
-#usr/share/man/man3/fputwc_unlocked.3\r
-#usr/share/man/man3/fputws.3\r
-#usr/share/man/man3/fputws_unlocked.3\r
-#usr/share/man/man3/fread.3\r
-#usr/share/man/man3/fread_unlocked.3\r
-#usr/share/man/man3/free.3\r
-#usr/share/man/man3/freeaddrinfo.3\r
-#usr/share/man/man3/freehostent.3\r
-#usr/share/man/man3/freopen.3\r
-#usr/share/man/man3/frexp.3\r
-#usr/share/man/man3/frexpf.3\r
-#usr/share/man/man3/frexpl.3\r
-#usr/share/man/man3/fscanf.3\r
-#usr/share/man/man3/fseek.3\r
-#usr/share/man/man3/fseeko.3\r
-#usr/share/man/man3/fsetpos.3\r
-#usr/share/man/man3/ftell.3\r
-#usr/share/man/man3/ftello.3\r
-#usr/share/man/man3/ftime.3\r
-#usr/share/man/man3/ftok.3\r
-#usr/share/man/man3/ftrylockfile.3\r
-#usr/share/man/man3/fts.3\r
-#usr/share/man/man3/fts_children.3\r
-#usr/share/man/man3/fts_close.3\r
-#usr/share/man/man3/fts_open.3\r
-#usr/share/man/man3/fts_read.3\r
-#usr/share/man/man3/fts_set.3\r
-#usr/share/man/man3/ftw.3\r
-#usr/share/man/man3/funlockfile.3\r
-#usr/share/man/man3/fwide.3\r
-#usr/share/man/man3/fwprintf.3\r
-#usr/share/man/man3/fwrite.3\r
-#usr/share/man/man3/fwrite_unlocked.3\r
-#usr/share/man/man3/gai_strerror.3\r
-#usr/share/man/man3/gamma.3\r
-#usr/share/man/man3/gammaf.3\r
-#usr/share/man/man3/gammal.3\r
-#usr/share/man/man3/gcvt.3\r
-#usr/share/man/man3/get_current_dir_name.3\r
-#usr/share/man/man3/get_myaddress.3\r
-#usr/share/man/man3/getaddrinfo.3\r
-#usr/share/man/man3/getaliasbyname.3\r
-#usr/share/man/man3/getaliasbyname_r.3\r
-#usr/share/man/man3/getaliasent.3\r
-#usr/share/man/man3/getaliasent_r.3\r
-#usr/share/man/man3/getc.3\r
-#usr/share/man/man3/getc_unlocked.3\r
-#usr/share/man/man3/getchar.3\r
-#usr/share/man/man3/getchar_unlocked.3\r
-#usr/share/man/man3/getcwd.3\r
-#usr/share/man/man3/getdate.3\r
-#usr/share/man/man3/getdate_r.3\r
-#usr/share/man/man3/getdelim.3\r
-#usr/share/man/man3/getdirentries.3\r
-#usr/share/man/man3/getenv.3\r
-#usr/share/man/man3/getfsent.3\r
-#usr/share/man/man3/getfsfile.3\r
-#usr/share/man/man3/getfsspec.3\r
-#usr/share/man/man3/getgrent.3\r
-#usr/share/man/man3/getgrent_r.3\r
-#usr/share/man/man3/getgrgid.3\r
-#usr/share/man/man3/getgrgid_r.3\r
-#usr/share/man/man3/getgrnam.3\r
-#usr/share/man/man3/getgrnam_r.3\r
-#usr/share/man/man3/getgrouplist.3\r
-#usr/share/man/man3/gethostbyaddr.3\r
-#usr/share/man/man3/gethostbyname.3\r
-#usr/share/man/man3/gethostbyname2.3\r
-#usr/share/man/man3/gethostbyname2_r.3\r
-#usr/share/man/man3/gethostbyname_r.3\r
-#usr/share/man/man3/gethostent.3\r
-#usr/share/man/man3/gethostent_r.3\r
-#usr/share/man/man3/getipnodebyaddr.3\r
-#usr/share/man/man3/getipnodebyname.3\r
-#usr/share/man/man3/getline.3\r
-#usr/share/man/man3/getloadavg.3\r
-#usr/share/man/man3/getlogin.3\r
-#usr/share/man/man3/getlogin_r.3\r
-#usr/share/man/man3/getmntent.3\r
-#usr/share/man/man3/getmntent_r.3\r
-#usr/share/man/man3/getnameinfo.3\r
-#usr/share/man/man3/getnetbyaddr.3\r
-#usr/share/man/man3/getnetbyname.3\r
-#usr/share/man/man3/getnetent.3\r
-#usr/share/man/man3/getnetgrent.3\r
-#usr/share/man/man3/getnetgrent_r.3\r
-#usr/share/man/man3/getopt.3\r
-#usr/share/man/man3/getopt_long.3\r
-#usr/share/man/man3/getopt_long_only.3\r
-#usr/share/man/man3/getpass.3\r
-#usr/share/man/man3/getprotobyname.3\r
-#usr/share/man/man3/getprotobynumber.3\r
-#usr/share/man/man3/getprotoent.3\r
-#usr/share/man/man3/getpt.3\r
-#usr/share/man/man3/getpw.3\r
-#usr/share/man/man3/getpwent.3\r
-#usr/share/man/man3/getpwent_r.3\r
-#usr/share/man/man3/getpwnam.3\r
-#usr/share/man/man3/getpwnam_r.3\r
-#usr/share/man/man3/getpwuid.3\r
-#usr/share/man/man3/getpwuid_r.3\r
-#usr/share/man/man3/getrpcbyname.3\r
-#usr/share/man/man3/getrpcbynumber.3\r
-#usr/share/man/man3/getrpcent.3\r
-#usr/share/man/man3/getrpcport.3\r
-#usr/share/man/man3/gets.3\r
-#usr/share/man/man3/getservbyname.3\r
-#usr/share/man/man3/getservbyport.3\r
-#usr/share/man/man3/getservent.3\r
-#usr/share/man/man3/getspent.3\r
-#usr/share/man/man3/getspent_r.3\r
-#usr/share/man/man3/getspnam.3\r
-#usr/share/man/man3/getspnam_r.3\r
-#usr/share/man/man3/getttyent.3\r
-#usr/share/man/man3/getttynam.3\r
-#usr/share/man/man3/getumask.3\r
-#usr/share/man/man3/getusershell.3\r
-#usr/share/man/man3/getutent.3\r
-#usr/share/man/man3/getutent_r.3\r
-#usr/share/man/man3/getutid.3\r
-#usr/share/man/man3/getutid_r.3\r
-#usr/share/man/man3/getutline.3\r
-#usr/share/man/man3/getutline_r.3\r
-#usr/share/man/man3/getutxent.3\r
-#usr/share/man/man3/getutxid.3\r
-#usr/share/man/man3/getutxline.3\r
-#usr/share/man/man3/getw.3\r
-#usr/share/man/man3/getwc.3\r
-#usr/share/man/man3/getwc_unlocked.3\r
-#usr/share/man/man3/getwchar.3\r
-#usr/share/man/man3/getwchar_unlocked.3\r
-#usr/share/man/man3/getwd.3\r
-#usr/share/man/man3/glob.3\r
-#usr/share/man/man3/globfree.3\r
-#usr/share/man/man3/gmtime.3\r
-#usr/share/man/man3/gmtime_r.3\r
-#usr/share/man/man3/grantpt.3\r
-#usr/share/man/man3/gsignal.3\r
-#usr/share/man/man3/hash.3\r
-#usr/share/man/man3/hasmntopt.3\r
-#usr/share/man/man3/hcreate.3\r
-#usr/share/man/man3/hcreate_r.3\r
-#usr/share/man/man3/hdestroy.3\r
-#usr/share/man/man3/hdestroy_r.3\r
-#usr/share/man/man3/herror.3\r
-#usr/share/man/man3/hsearch.3\r
-#usr/share/man/man3/hsearch_r.3\r
-#usr/share/man/man3/hstrerror.3\r
-#usr/share/man/man3/htonl.3\r
-#usr/share/man/man3/htons.3\r
-#usr/share/man/man3/hypot.3\r
-#usr/share/man/man3/hypotf.3\r
-#usr/share/man/man3/hypotl.3\r
-#usr/share/man/man3/iconv.3\r
-#usr/share/man/man3/iconv_close.3\r
-#usr/share/man/man3/iconv_open.3\r
-#usr/share/man/man3/ilogb.3\r
-#usr/share/man/man3/ilogbf.3\r
-#usr/share/man/man3/ilogbl.3\r
-#usr/share/man/man3/imaxabs.3\r
-#usr/share/man/man3/imaxdiv.3\r
-#usr/share/man/man3/index.3\r
-#usr/share/man/man3/inet.3\r
-#usr/share/man/man3/inet_addr.3\r
-#usr/share/man/man3/inet_aton.3\r
-#usr/share/man/man3/inet_lnaof.3\r
-#usr/share/man/man3/inet_makeaddr.3\r
-#usr/share/man/man3/inet_netof.3\r
-#usr/share/man/man3/inet_network.3\r
-#usr/share/man/man3/inet_ntoa.3\r
-#usr/share/man/man3/inet_ntop.3\r
-#usr/share/man/man3/inet_pton.3\r
-#usr/share/man/man3/infnan.3\r
-#usr/share/man/man3/initgroups.3\r
-#usr/share/man/man3/initstate.3\r
-#usr/share/man/man3/innetgr.3\r
-#usr/share/man/man3/insque.3\r
-#usr/share/man/man3/intro.3\r
-#usr/share/man/man3/iruserok.3\r
-#usr/share/man/man3/isalnum.3\r
-#usr/share/man/man3/isalpha.3\r
-#usr/share/man/man3/isascii.3\r
-#usr/share/man/man3/isatty.3\r
-#usr/share/man/man3/isblank.3\r
-#usr/share/man/man3/iscntrl.3\r
-#usr/share/man/man3/isdigit.3\r
-#usr/share/man/man3/isfinite.3\r
-#usr/share/man/man3/isgraph.3\r
-#usr/share/man/man3/isgreater.3\r
-#usr/share/man/man3/isgreaterequal.3\r
-#usr/share/man/man3/isinf.3\r
-#usr/share/man/man3/isinff.3\r
-#usr/share/man/man3/isinfl.3\r
-#usr/share/man/man3/isless.3\r
-#usr/share/man/man3/islessequal.3\r
-#usr/share/man/man3/islessgreater.3\r
-#usr/share/man/man3/islower.3\r
-#usr/share/man/man3/isnan.3\r
-#usr/share/man/man3/isnormal.3\r
-#usr/share/man/man3/isprint.3\r
-#usr/share/man/man3/ispunct.3\r
-#usr/share/man/man3/isspace.3\r
-#usr/share/man/man3/isunordered.3\r
-#usr/share/man/man3/isupper.3\r
-#usr/share/man/man3/iswalnum.3\r
-#usr/share/man/man3/iswalpha.3\r
-#usr/share/man/man3/iswblank.3\r
-#usr/share/man/man3/iswcntrl.3\r
-#usr/share/man/man3/iswctype.3\r
-#usr/share/man/man3/iswdigit.3\r
-#usr/share/man/man3/iswgraph.3\r
-#usr/share/man/man3/iswlower.3\r
-#usr/share/man/man3/iswprint.3\r
-#usr/share/man/man3/iswpunct.3\r
-#usr/share/man/man3/iswspace.3\r
-#usr/share/man/man3/iswupper.3\r
-#usr/share/man/man3/iswxdigit.3\r
-#usr/share/man/man3/isxdigit.3\r
-#usr/share/man/man3/j0.3\r
-#usr/share/man/man3/j0f.3\r
-#usr/share/man/man3/j0l.3\r
-#usr/share/man/man3/j1.3\r
-#usr/share/man/man3/j1f.3\r
-#usr/share/man/man3/j1l.3\r
-#usr/share/man/man3/jn.3\r
-#usr/share/man/man3/jnf.3\r
-#usr/share/man/man3/jnl.3\r
-#usr/share/man/man3/jrand48.3\r
-#usr/share/man/man3/jrand48_r.3\r
-#usr/share/man/man3/key_decryptsession.3\r
-#usr/share/man/man3/key_encryptsession.3\r
-#usr/share/man/man3/key_gendes.3\r
-#usr/share/man/man3/key_secretkey_is_set.3\r
-#usr/share/man/man3/key_setsecret.3\r
-#usr/share/man/man3/killpg.3\r
-#usr/share/man/man3/klogctl.3\r
-#usr/share/man/man3/l64a.3\r
-#usr/share/man/man3/labs.3\r
-#usr/share/man/man3/lckpwdf.3\r
-#usr/share/man/man3/lcong48.3\r
-#usr/share/man/man3/lcong48_r.3\r
-#usr/share/man/man3/ldexp.3\r
-#usr/share/man/man3/ldexpf.3\r
-#usr/share/man/man3/ldexpl.3\r
-#usr/share/man/man3/ldiv.3\r
-#usr/share/man/man3/lfind.3\r
-#usr/share/man/man3/lgamma.3\r
-#usr/share/man/man3/lgamma_r.3\r
-#usr/share/man/man3/lgammaf.3\r
-#usr/share/man/man3/lgammaf_r.3\r
-#usr/share/man/man3/lgammal.3\r
-#usr/share/man/man3/lgammal_r.3\r
-#usr/share/man/man3/llabs.3\r
-#usr/share/man/man3/lldiv.3\r
-#usr/share/man/man3/llrint.3\r
-#usr/share/man/man3/llrintf.3\r
-#usr/share/man/man3/llrintl.3\r
-#usr/share/man/man3/llround.3\r
-#usr/share/man/man3/llroundf.3\r
-#usr/share/man/man3/llroundl.3\r
-#usr/share/man/man3/localeconv.3\r
-#usr/share/man/man3/localtime.3\r
-#usr/share/man/man3/localtime_r.3\r
-#usr/share/man/man3/lockf.3\r
-#usr/share/man/man3/log.3\r
-#usr/share/man/man3/log10.3\r
-#usr/share/man/man3/log10f.3\r
-#usr/share/man/man3/log10l.3\r
-#usr/share/man/man3/log1p.3\r
-#usr/share/man/man3/log1pf.3\r
-#usr/share/man/man3/log1pl.3\r
-#usr/share/man/man3/log2.3\r
-#usr/share/man/man3/log2f.3\r
-#usr/share/man/man3/log2l.3\r
-#usr/share/man/man3/logb.3\r
-#usr/share/man/man3/logbf.3\r
-#usr/share/man/man3/logbl.3\r
-#usr/share/man/man3/logf.3\r
-#usr/share/man/man3/login.3\r
-#usr/share/man/man3/login_tty.3\r
-#usr/share/man/man3/logl.3\r
-#usr/share/man/man3/logout.3\r
-#usr/share/man/man3/logwtmp.3\r
-#usr/share/man/man3/longjmp.3\r
-#usr/share/man/man3/lrand48.3\r
-#usr/share/man/man3/lrand48_r.3\r
-#usr/share/man/man3/lrint.3\r
-#usr/share/man/man3/lrintf.3\r
-#usr/share/man/man3/lrintl.3\r
-#usr/share/man/man3/lround.3\r
-#usr/share/man/man3/lroundf.3\r
-#usr/share/man/man3/lroundl.3\r
-#usr/share/man/man3/lsearch.3\r
-#usr/share/man/man3/lseek64.3\r
-#usr/share/man/man3/makecontext.3\r
-#usr/share/man/man3/malloc.3\r
-#usr/share/man/man3/malloc_hook.3\r
-#usr/share/man/man3/mblen.3\r
-#usr/share/man/man3/mbrlen.3\r
-#usr/share/man/man3/mbrtowc.3\r
-#usr/share/man/man3/mbsinit.3\r
-#usr/share/man/man3/mbsnrtowcs.3\r
-#usr/share/man/man3/mbsrtowcs.3\r
-#usr/share/man/man3/mbstowcs.3\r
-#usr/share/man/man3/mbtowc.3\r
-#usr/share/man/man3/memalign.3\r
-#usr/share/man/man3/memccpy.3\r
-#usr/share/man/man3/memchr.3\r
-#usr/share/man/man3/memcmp.3\r
-#usr/share/man/man3/memcpy.3\r
-#usr/share/man/man3/memfrob.3\r
-#usr/share/man/man3/memmem.3\r
-#usr/share/man/man3/memmove.3\r
-#usr/share/man/man3/mempcpy.3\r
-#usr/share/man/man3/memrchr.3\r
-#usr/share/man/man3/memset.3\r
-#usr/share/man/man3/mkdtemp.3\r
-#usr/share/man/man3/mkfifo.3\r
-#usr/share/man/man3/mkstemp.3\r
-#usr/share/man/man3/mktemp.3\r
-#usr/share/man/man3/mktime.3\r
-#usr/share/man/man3/modf.3\r
-#usr/share/man/man3/modff.3\r
-#usr/share/man/man3/modfl.3\r
-#usr/share/man/man3/mpool.3\r
-#usr/share/man/man3/mrand48.3\r
-#usr/share/man/man3/mrand48_r.3\r
-#usr/share/man/man3/mtrace.3\r
-#usr/share/man/man3/muntrace.3\r
-#usr/share/man/man3/nan.3\r
-#usr/share/man/man3/nanf.3\r
-#usr/share/man/man3/nanl.3\r
-#usr/share/man/man3/nearbyint.3\r
-#usr/share/man/man3/nearbyintf.3\r
-#usr/share/man/man3/nearbyintl.3\r
-#usr/share/man/man3/netlink.3\r
-#usr/share/man/man3/nextafter.3\r
-#usr/share/man/man3/nextafterf.3\r
-#usr/share/man/man3/nextafterl.3\r
-#usr/share/man/man3/nexttoward.3\r
-#usr/share/man/man3/nexttowardf.3\r
-#usr/share/man/man3/nexttowardl.3\r
-#usr/share/man/man3/nftw.3\r
-#usr/share/man/man3/nl_langinfo.3\r
-#usr/share/man/man3/nrand48.3\r
-#usr/share/man/man3/nrand48_r.3\r
-#usr/share/man/man3/ntohl.3\r
-#usr/share/man/man3/ntohs.3\r
-#usr/share/man/man3/on_exit.3\r
-#usr/share/man/man3/opendir.3\r
-#usr/share/man/man3/openlog.3\r
-#usr/share/man/man3/openpty.3\r
-#usr/share/man/man3/passwd2des.3\r
-#usr/share/man/man3/pathconf.3\r
-#usr/share/man/man3/pclose.3\r
-#usr/share/man/man3/perror.3\r
-#usr/share/man/man3/pmap_getmaps.3\r
-#usr/share/man/man3/pmap_getport.3\r
-#usr/share/man/man3/pmap_rmtcall.3\r
-#usr/share/man/man3/pmap_set.3\r
-#usr/share/man/man3/pmap_unset.3\r
-#usr/share/man/man3/popen.3\r
-#usr/share/man/man3/posix_memalign.3\r
-#usr/share/man/man3/posix_openpt.3\r
-#usr/share/man/man3/pow.3\r
-#usr/share/man/man3/pow10.3\r
-#usr/share/man/man3/pow10f.3\r
-#usr/share/man/man3/pow10l.3\r
-#usr/share/man/man3/powf.3\r
-#usr/share/man/man3/powl.3\r
-#usr/share/man/man3/printf.3\r
-#usr/share/man/man3/profil.3\r
-#usr/share/man/man3/psignal.3\r
-#usr/share/man/man3/ptsname.3\r
-#usr/share/man/man3/ptsname_r.3\r
-#usr/share/man/man3/putc.3\r
-#usr/share/man/man3/putc_unlocked.3\r
-#usr/share/man/man3/putchar.3\r
-#usr/share/man/man3/putchar_unlocked.3\r
-#usr/share/man/man3/putenv.3\r
-#usr/share/man/man3/putgrent.3\r
-#usr/share/man/man3/putpwent.3\r
-#usr/share/man/man3/puts.3\r
-#usr/share/man/man3/putspent.3\r
-#usr/share/man/man3/pututline.3\r
-#usr/share/man/man3/pututxline.3\r
-#usr/share/man/man3/putw.3\r
-#usr/share/man/man3/putwc.3\r
-#usr/share/man/man3/putwc_unlocked.3\r
-#usr/share/man/man3/putwchar.3\r
-#usr/share/man/man3/putwchar_unlocked.3\r
-#usr/share/man/man3/qecvt.3\r
-#usr/share/man/man3/qecvt_r.3\r
-#usr/share/man/man3/qfcvt.3\r
-#usr/share/man/man3/qfcvt_r.3\r
-#usr/share/man/man3/qgcvt.3\r
-#usr/share/man/man3/qsort.3\r
-#usr/share/man/man3/queue.3\r
-#usr/share/man/man3/raise.3\r
-#usr/share/man/man3/rand.3\r
-#usr/share/man/man3/rand_r.3\r
-#usr/share/man/man3/random.3\r
-#usr/share/man/man3/rcmd.3\r
-#usr/share/man/man3/re_comp.3\r
-#usr/share/man/man3/re_exec.3\r
-#usr/share/man/man3/readdir.3\r
-#usr/share/man/man3/realloc.3\r
-#usr/share/man/man3/realpath.3\r
-#usr/share/man/man3/recno.3\r
-#usr/share/man/man3/regcomp.3\r
-#usr/share/man/man3/regerror.3\r
-#usr/share/man/man3/regex.3\r
-#usr/share/man/man3/regexec.3\r
-#usr/share/man/man3/regfree.3\r
-#usr/share/man/man3/registerrpc.3\r
-#usr/share/man/man3/remainder.3\r
-#usr/share/man/man3/remainderf.3\r
-#usr/share/man/man3/remainderl.3\r
-#usr/share/man/man3/remove.3\r
-#usr/share/man/man3/remque.3\r
-#usr/share/man/man3/remquo.3\r
-#usr/share/man/man3/remquof.3\r
-#usr/share/man/man3/remquol.3\r
-#usr/share/man/man3/res_init.3\r
-#usr/share/man/man3/res_mkquery.3\r
-#usr/share/man/man3/res_query.3\r
-#usr/share/man/man3/res_querydomain.3\r
-#usr/share/man/man3/res_search.3\r
-#usr/share/man/man3/res_send.3\r
-#usr/share/man/man3/resolver.3\r
-#usr/share/man/man3/rewind.3\r
-#usr/share/man/man3/rewinddir.3\r
-#usr/share/man/man3/rindex.3\r
-#usr/share/man/man3/rint.3\r
-#usr/share/man/man3/rintf.3\r
-#usr/share/man/man3/rintl.3\r
-#usr/share/man/man3/round.3\r
-#usr/share/man/man3/roundf.3\r
-#usr/share/man/man3/roundl.3\r
-#usr/share/man/man3/rpc.3\r
-#usr/share/man/man3/rresvport.3\r
-#usr/share/man/man3/rtime.3\r
-#usr/share/man/man3/rtnetlink.3\r
-#usr/share/man/man3/ruserok.3\r
-#usr/share/man/man3/scalb.3\r
-#usr/share/man/man3/scalbf.3\r
-#usr/share/man/man3/scalbl.3\r
-#usr/share/man/man3/scalbln.3\r
-#usr/share/man/man3/scalblnf.3\r
-#usr/share/man/man3/scalblnl.3\r
-#usr/share/man/man3/scalbn.3\r
-#usr/share/man/man3/scalbnf.3\r
-#usr/share/man/man3/scalbnl.3\r
-#usr/share/man/man3/scandir.3\r
-#usr/share/man/man3/scanf.3\r
-#usr/share/man/man3/seed48.3\r
-#usr/share/man/man3/seed48_r.3\r
-#usr/share/man/man3/seekdir.3\r
-#usr/share/man/man3/setaliasent.3\r
-#usr/share/man/man3/setbuf.3\r
-#usr/share/man/man3/setbuffer.3\r
-#usr/share/man/man3/setenv.3\r
-#usr/share/man/man3/setfsent.3\r
-#usr/share/man/man3/setgrent.3\r
-#usr/share/man/man3/sethostent.3\r
-#usr/share/man/man3/setjmp.3\r
-#usr/share/man/man3/setkey.3\r
-#usr/share/man/man3/setlinebuf.3\r
-#usr/share/man/man3/setlocale.3\r
-#usr/share/man/man3/setlogmask.3\r
-#usr/share/man/man3/setmntent.3\r
-#usr/share/man/man3/setnetent.3\r
-#usr/share/man/man3/setnetgrent.3\r
-#usr/share/man/man3/setprotoent.3\r
-#usr/share/man/man3/setpwent.3\r
-#usr/share/man/man3/setrpcent.3\r
-#usr/share/man/man3/setservent.3\r
-#usr/share/man/man3/setspent.3\r
-#usr/share/man/man3/setstate.3\r
-#usr/share/man/man3/setttyent.3\r
-#usr/share/man/man3/setusershell.3\r
-#usr/share/man/man3/setutent.3\r
-#usr/share/man/man3/setutxent.3\r
-#usr/share/man/man3/setvbuf.3\r
-#usr/share/man/man3/sgetspent.3\r
-#usr/share/man/man3/sgetspent_r.3\r
-#usr/share/man/man3/shm_open.3\r
-#usr/share/man/man3/sigaddset.3\r
-#usr/share/man/man3/sigdelset.3\r
-#usr/share/man/man3/sigemptyset.3\r
-#usr/share/man/man3/sigfillset.3\r
-#usr/share/man/man3/siginterrupt.3\r
-#usr/share/man/man3/sigismember.3\r
-#usr/share/man/man3/siglongjmp.3\r
-#usr/share/man/man3/signbit.3\r
-#usr/share/man/man3/signgam.3\r
-#usr/share/man/man3/significand.3\r
-#usr/share/man/man3/significandf.3\r
-#usr/share/man/man3/significandl.3\r
-#usr/share/man/man3/sigsetjmp.3\r
-#usr/share/man/man3/sigsetops.3\r
-#usr/share/man/man3/sin.3\r
-#usr/share/man/man3/sincos.3\r
-#usr/share/man/man3/sincosf.3\r
-#usr/share/man/man3/sincosl.3\r
-#usr/share/man/man3/sinf.3\r
-#usr/share/man/man3/sinh.3\r
-#usr/share/man/man3/sinhf.3\r
-#usr/share/man/man3/sinhl.3\r
-#usr/share/man/man3/sinl.3\r
-#usr/share/man/man3/sleep.3\r
-#usr/share/man/man3/snprintf.3\r
-#usr/share/man/man3/sprintf.3\r
-#usr/share/man/man3/sqrt.3\r
-#usr/share/man/man3/sqrtf.3\r
-#usr/share/man/man3/sqrtl.3\r
-#usr/share/man/man3/srand.3\r
-#usr/share/man/man3/srand48.3\r
-#usr/share/man/man3/srand48_r.3\r
-#usr/share/man/man3/srandom.3\r
-#usr/share/man/man3/sscanf.3\r
-#usr/share/man/man3/ssignal.3\r
-#usr/share/man/man3/stdarg.3\r
-#usr/share/man/man3/stderr.3\r
-#usr/share/man/man3/stdin.3\r
-#usr/share/man/man3/stdio.3\r
-#usr/share/man/man3/stdio_ext.3\r
-#usr/share/man/man3/stdout.3\r
-#usr/share/man/man3/stpcpy.3\r
-#usr/share/man/man3/stpncpy.3\r
-#usr/share/man/man3/strcasecmp.3\r
-#usr/share/man/man3/strcasestr.3\r
-#usr/share/man/man3/strcat.3\r
-#usr/share/man/man3/strchr.3\r
-#usr/share/man/man3/strcmp.3\r
-#usr/share/man/man3/strcoll.3\r
-#usr/share/man/man3/strcpy.3\r
-#usr/share/man/man3/strcspn.3\r
-#usr/share/man/man3/strdup.3\r
-#usr/share/man/man3/strdupa.3\r
-#usr/share/man/man3/strerror.3\r
-#usr/share/man/man3/strerror_r.3\r
-#usr/share/man/man3/strfmon.3\r
-#usr/share/man/man3/strfry.3\r
-#usr/share/man/man3/strftime.3\r
-#usr/share/man/man3/string.3\r
-#usr/share/man/man3/strlen.3\r
-#usr/share/man/man3/strncasecmp.3\r
-#usr/share/man/man3/strncat.3\r
-#usr/share/man/man3/strncmp.3\r
-#usr/share/man/man3/strncpy.3\r
-#usr/share/man/man3/strndup.3\r
-#usr/share/man/man3/strndupa.3\r
-#usr/share/man/man3/strnlen.3\r
-#usr/share/man/man3/strpbrk.3\r
-#usr/share/man/man3/strptime.3\r
-#usr/share/man/man3/strrchr.3\r
-#usr/share/man/man3/strsep.3\r
-#usr/share/man/man3/strsignal.3\r
-#usr/share/man/man3/strspn.3\r
-#usr/share/man/man3/strstr.3\r
-#usr/share/man/man3/strtod.3\r
-#usr/share/man/man3/strtof.3\r
-#usr/share/man/man3/strtoimax.3\r
-#usr/share/man/man3/strtok.3\r
-#usr/share/man/man3/strtok_r.3\r
-#usr/share/man/man3/strtol.3\r
-#usr/share/man/man3/strtold.3\r
-#usr/share/man/man3/strtoll.3\r
-#usr/share/man/man3/strtoq.3\r
-#usr/share/man/man3/strtoul.3\r
-#usr/share/man/man3/strtoull.3\r
-#usr/share/man/man3/strtoumax.3\r
-#usr/share/man/man3/strtouq.3\r
-#usr/share/man/man3/strverscmp.3\r
-#usr/share/man/man3/strxfrm.3\r
-#usr/share/man/man3/svc_destroy.3\r
-#usr/share/man/man3/svc_freeargs.3\r
-#usr/share/man/man3/svc_getargs.3\r
-#usr/share/man/man3/svc_getcaller.3\r
-#usr/share/man/man3/svc_getreq.3\r
-#usr/share/man/man3/svc_getreqset.3\r
-#usr/share/man/man3/svc_register.3\r
-#usr/share/man/man3/svc_run.3\r
-#usr/share/man/man3/svc_sendreply.3\r
-#usr/share/man/man3/svc_unregister.3\r
-#usr/share/man/man3/svcerr_auth.3\r
-#usr/share/man/man3/svcerr_decode.3\r
-#usr/share/man/man3/svcerr_noproc.3\r
-#usr/share/man/man3/svcerr_noprog.3\r
-#usr/share/man/man3/svcerr_progvers.3\r
-#usr/share/man/man3/svcerr_systemerr.3\r
-#usr/share/man/man3/svcerr_weakauth.3\r
-#usr/share/man/man3/svcfd_create.3\r
-#usr/share/man/man3/svcraw_create.3\r
-#usr/share/man/man3/svctcp_create.3\r
-#usr/share/man/man3/svcudp_bufcreate.3\r
-#usr/share/man/man3/svcudp_create.3\r
-#usr/share/man/man3/swab.3\r
-#usr/share/man/man3/swapcontext.3\r
-#usr/share/man/man3/swprintf.3\r
-#usr/share/man/man3/sysconf.3\r
-#usr/share/man/man3/syslog.3\r
-#usr/share/man/man3/system.3\r
-#usr/share/man/man3/tan.3\r
-#usr/share/man/man3/tanf.3\r
-#usr/share/man/man3/tanh.3\r
-#usr/share/man/man3/tanhf.3\r
-#usr/share/man/man3/tanhl.3\r
-#usr/share/man/man3/tanl.3\r
-#usr/share/man/man3/tcdrain.3\r
-#usr/share/man/man3/tcflow.3\r
-#usr/share/man/man3/tcflush.3\r
-#usr/share/man/man3/tcgetattr.3\r
-#usr/share/man/man3/tcgetpgrp.3\r
-#usr/share/man/man3/tcgetsid.3\r
-#usr/share/man/man3/tcsendbreak.3\r
-#usr/share/man/man3/tcsetattr.3\r
-#usr/share/man/man3/tcsetpgrp.3\r
-#usr/share/man/man3/tdelete.3\r
-#usr/share/man/man3/tdestroy.3\r
-#usr/share/man/man3/telldir.3\r
-#usr/share/man/man3/tempnam.3\r
-#usr/share/man/man3/termios.3\r
-#usr/share/man/man3/tfind.3\r
-#usr/share/man/man3/tgamma.3\r
-#usr/share/man/man3/tgammaf.3\r
-#usr/share/man/man3/tgammal.3\r
-#usr/share/man/man3/timegm.3\r
-#usr/share/man/man3/timelocal.3\r
-#usr/share/man/man3/tmpfile.3\r
-#usr/share/man/man3/tmpnam.3\r
-#usr/share/man/man3/tmpnam_r.3\r
-#usr/share/man/man3/toascii.3\r
-#usr/share/man/man3/tolower.3\r
-#usr/share/man/man3/toupper.3\r
-#usr/share/man/man3/towctrans.3\r
-#usr/share/man/man3/towlower.3\r
-#usr/share/man/man3/towupper.3\r
-#usr/share/man/man3/trunc.3\r
-#usr/share/man/man3/truncf.3\r
-#usr/share/man/man3/truncl.3\r
-#usr/share/man/man3/tsearch.3\r
-#usr/share/man/man3/ttyname.3\r
-#usr/share/man/man3/ttyname_r.3\r
-#usr/share/man/man3/ttyslot.3\r
-#usr/share/man/man3/twalk.3\r
-#usr/share/man/man3/tzset.3\r
-#usr/share/man/man3/ualarm.3\r
-#usr/share/man/man3/ulckpwdf.3\r
-#usr/share/man/man3/ulimit.3\r
-#usr/share/man/man3/undocumented.3\r
-#usr/share/man/man3/ungetc.3\r
-#usr/share/man/man3/ungetwc.3\r
-#usr/share/man/man3/unlocked_stdio.3\r
-#usr/share/man/man3/unlockpt.3\r
-#usr/share/man/man3/unsetenv.3\r
-#usr/share/man/man3/updwtmp.3\r
-#usr/share/man/man3/usleep.3\r
-#usr/share/man/man3/utmpname.3\r
-#usr/share/man/man3/va_arg.3\r
-#usr/share/man/man3/va_copy.3\r
-#usr/share/man/man3/va_end.3\r
-#usr/share/man/man3/va_start.3\r
-#usr/share/man/man3/valloc.3\r
-#usr/share/man/man3/vasprintf.3\r
-#usr/share/man/man3/vdprintf.3\r
-#usr/share/man/man3/verr.3\r
-#usr/share/man/man3/verrx.3\r
-#usr/share/man/man3/versionsort.3\r
-#usr/share/man/man3/vfprintf.3\r
-#usr/share/man/man3/vfscanf.3\r
-#usr/share/man/man3/vfwprintf.3\r
-#usr/share/man/man3/vprintf.3\r
-#usr/share/man/man3/vscanf.3\r
-#usr/share/man/man3/vsnprintf.3\r
-#usr/share/man/man3/vsprintf.3\r
-#usr/share/man/man3/vsscanf.3\r
-#usr/share/man/man3/vswprintf.3\r
-#usr/share/man/man3/vsyslog.3\r
-#usr/share/man/man3/vwarn.3\r
-#usr/share/man/man3/vwarnx.3\r
-#usr/share/man/man3/vwprintf.3\r
-#usr/share/man/man3/warn.3\r
-#usr/share/man/man3/warnx.3\r
-#usr/share/man/man3/wcpcpy.3\r
-#usr/share/man/man3/wcpncpy.3\r
-#usr/share/man/man3/wcrtomb.3\r
-#usr/share/man/man3/wcscasecmp.3\r
-#usr/share/man/man3/wcscat.3\r
-#usr/share/man/man3/wcschr.3\r
-#usr/share/man/man3/wcscmp.3\r
-#usr/share/man/man3/wcscpy.3\r
-#usr/share/man/man3/wcscspn.3\r
-#usr/share/man/man3/wcsdup.3\r
-#usr/share/man/man3/wcslen.3\r
-#usr/share/man/man3/wcsncasecmp.3\r
-#usr/share/man/man3/wcsncat.3\r
-#usr/share/man/man3/wcsncmp.3\r
-#usr/share/man/man3/wcsncpy.3\r
-#usr/share/man/man3/wcsnlen.3\r
-#usr/share/man/man3/wcsnrtombs.3\r
-#usr/share/man/man3/wcspbrk.3\r
-#usr/share/man/man3/wcsrchr.3\r
-#usr/share/man/man3/wcsrtombs.3\r
-#usr/share/man/man3/wcsspn.3\r
-#usr/share/man/man3/wcsstr.3\r
-#usr/share/man/man3/wcstoimax.3\r
-#usr/share/man/man3/wcstok.3\r
-#usr/share/man/man3/wcstombs.3\r
-#usr/share/man/man3/wcstoumax.3\r
-#usr/share/man/man3/wcswidth.3\r
-#usr/share/man/man3/wctob.3\r
-#usr/share/man/man3/wctomb.3\r
-#usr/share/man/man3/wctrans.3\r
-#usr/share/man/man3/wctype.3\r
-#usr/share/man/man3/wcwidth.3\r
-#usr/share/man/man3/wmemchr.3\r
-#usr/share/man/man3/wmemcmp.3\r
-#usr/share/man/man3/wmemcpy.3\r
-#usr/share/man/man3/wmemmove.3\r
-#usr/share/man/man3/wmempcpy.3\r
-#usr/share/man/man3/wmemset.3\r
-#usr/share/man/man3/wordexp.3\r
-#usr/share/man/man3/wordfree.3\r
-#usr/share/man/man3/wprintf.3\r
-#usr/share/man/man3/xcrypt.3\r
-#usr/share/man/man3/xdecrypt.3\r
-#usr/share/man/man3/xdr.3\r
-#usr/share/man/man3/xdr_accepted_reply.3\r
-#usr/share/man/man3/xdr_array.3\r
-#usr/share/man/man3/xdr_authunix_parms.3\r
-#usr/share/man/man3/xdr_bool.3\r
-#usr/share/man/man3/xdr_bytes.3\r
-#usr/share/man/man3/xdr_callhdr.3\r
-#usr/share/man/man3/xdr_callmsg.3\r
-#usr/share/man/man3/xdr_char.3\r
-#usr/share/man/man3/xdr_destroy.3\r
-#usr/share/man/man3/xdr_double.3\r
-#usr/share/man/man3/xdr_enum.3\r
-#usr/share/man/man3/xdr_float.3\r
-#usr/share/man/man3/xdr_free.3\r
-#usr/share/man/man3/xdr_getpos.3\r
-#usr/share/man/man3/xdr_inline.3\r
-#usr/share/man/man3/xdr_int.3\r
-#usr/share/man/man3/xdr_long.3\r
-#usr/share/man/man3/xdr_opaque.3\r
-#usr/share/man/man3/xdr_opaque_auth.3\r
-#usr/share/man/man3/xdr_pmap.3\r
-#usr/share/man/man3/xdr_pmaplist.3\r
-#usr/share/man/man3/xdr_pointer.3\r
-#usr/share/man/man3/xdr_reference.3\r
-#usr/share/man/man3/xdr_rejected_reply.3\r
-#usr/share/man/man3/xdr_replymsg.3\r
-#usr/share/man/man3/xdr_setpos.3\r
-#usr/share/man/man3/xdr_short.3\r
-#usr/share/man/man3/xdr_string.3\r
-#usr/share/man/man3/xdr_u_char.3\r
-#usr/share/man/man3/xdr_u_int.3\r
-#usr/share/man/man3/xdr_u_long.3\r
-#usr/share/man/man3/xdr_u_short.3\r
-#usr/share/man/man3/xdr_union.3\r
-#usr/share/man/man3/xdr_vector.3\r
-#usr/share/man/man3/xdr_void.3\r
-#usr/share/man/man3/xdr_wrapstring.3\r
-#usr/share/man/man3/xdrmem_create.3\r
-#usr/share/man/man3/xdrrec_create.3\r
-#usr/share/man/man3/xdrrec_endofrecord.3\r
-#usr/share/man/man3/xdrrec_eof.3\r
-#usr/share/man/man3/xdrrec_skiprecord.3\r
-#usr/share/man/man3/xdrstdio_create.3\r
-#usr/share/man/man3/xencrypt.3\r
-#usr/share/man/man3/xprt_register.3\r
-#usr/share/man/man3/xprt_unregister.3\r
-#usr/share/man/man3/y0.3\r
-#usr/share/man/man3/y0f.3\r
-#usr/share/man/man3/y0l.3\r
-#usr/share/man/man3/y1.3\r
-#usr/share/man/man3/y1f.3\r
-#usr/share/man/man3/y1l.3\r
-#usr/share/man/man3/yn.3\r
-#usr/share/man/man3/ynf.3\r
-#usr/share/man/man3/ynl.3\r
-#usr/share/man/man3p\r
-#usr/share/man/man3p/FD_CLR.3p\r
-#usr/share/man/man3p/FD_ISSET.3p\r
-#usr/share/man/man3p/FD_SET.3p\r
-#usr/share/man/man3p/FD_ZERO.3p\r
-#usr/share/man/man3p/_Exit.3p\r
-#usr/share/man/man3p/_exit.3p\r
-#usr/share/man/man3p/_longjmp.3p\r
-#usr/share/man/man3p/_setjmp.3p\r
-#usr/share/man/man3p/_tolower.3p\r
-#usr/share/man/man3p/_toupper.3p\r
-#usr/share/man/man3p/a64l.3p\r
-#usr/share/man/man3p/abort.3p\r
-#usr/share/man/man3p/abs.3p\r
-#usr/share/man/man3p/accept.3p\r
-#usr/share/man/man3p/access.3p\r
-#usr/share/man/man3p/acos.3p\r
-#usr/share/man/man3p/acosf.3p\r
-#usr/share/man/man3p/acosh.3p\r
-#usr/share/man/man3p/acoshf.3p\r
-#usr/share/man/man3p/acoshl.3p\r
-#usr/share/man/man3p/acosl.3p\r
-#usr/share/man/man3p/aio_cancel.3p\r
-#usr/share/man/man3p/aio_error.3p\r
-#usr/share/man/man3p/aio_fsync.3p\r
-#usr/share/man/man3p/aio_read.3p\r
-#usr/share/man/man3p/aio_return.3p\r
-#usr/share/man/man3p/aio_suspend.3p\r
-#usr/share/man/man3p/aio_write.3p\r
-#usr/share/man/man3p/alarm.3p\r
-#usr/share/man/man3p/asctime.3p\r
-#usr/share/man/man3p/asctime_r.3p\r
-#usr/share/man/man3p/asin.3p\r
-#usr/share/man/man3p/asinf.3p\r
-#usr/share/man/man3p/asinh.3p\r
-#usr/share/man/man3p/asinhf.3p\r
-#usr/share/man/man3p/asinhl.3p\r
-#usr/share/man/man3p/asinl.3p\r
-#usr/share/man/man3p/assert.3p\r
-#usr/share/man/man3p/atan.3p\r
-#usr/share/man/man3p/atan2.3p\r
-#usr/share/man/man3p/atan2f.3p\r
-#usr/share/man/man3p/atan2l.3p\r
-#usr/share/man/man3p/atanf.3p\r
-#usr/share/man/man3p/atanh.3p\r
-#usr/share/man/man3p/atanhf.3p\r
-#usr/share/man/man3p/atanhl.3p\r
-#usr/share/man/man3p/atanl.3p\r
-#usr/share/man/man3p/atexit.3p\r
-#usr/share/man/man3p/atof.3p\r
-#usr/share/man/man3p/atoi.3p\r
-#usr/share/man/man3p/atol.3p\r
-#usr/share/man/man3p/atoll.3p\r
-#usr/share/man/man3p/basename.3p\r
-#usr/share/man/man3p/bcmp.3p\r
-#usr/share/man/man3p/bcopy.3p\r
-#usr/share/man/man3p/bind.3p\r
-#usr/share/man/man3p/bsd_signal.3p\r
-#usr/share/man/man3p/bsearch.3p\r
-#usr/share/man/man3p/btowc.3p\r
-#usr/share/man/man3p/bzero.3p\r
-#usr/share/man/man3p/cabs.3p\r
-#usr/share/man/man3p/cabsf.3p\r
-#usr/share/man/man3p/cabsl.3p\r
-#usr/share/man/man3p/cacos.3p\r
-#usr/share/man/man3p/cacosf.3p\r
-#usr/share/man/man3p/cacosh.3p\r
-#usr/share/man/man3p/cacoshf.3p\r
-#usr/share/man/man3p/cacoshl.3p\r
-#usr/share/man/man3p/cacosl.3p\r
-#usr/share/man/man3p/calloc.3p\r
-#usr/share/man/man3p/carg.3p\r
-#usr/share/man/man3p/cargf.3p\r
-#usr/share/man/man3p/cargl.3p\r
-#usr/share/man/man3p/casin.3p\r
-#usr/share/man/man3p/casinf.3p\r
-#usr/share/man/man3p/casinh.3p\r
-#usr/share/man/man3p/casinhf.3p\r
-#usr/share/man/man3p/casinhl.3p\r
-#usr/share/man/man3p/casinl.3p\r
-#usr/share/man/man3p/catan.3p\r
-#usr/share/man/man3p/catanf.3p\r
-#usr/share/man/man3p/catanh.3p\r
-#usr/share/man/man3p/catanhf.3p\r
-#usr/share/man/man3p/catanhl.3p\r
-#usr/share/man/man3p/catanl.3p\r
-#usr/share/man/man3p/catclose.3p\r
-#usr/share/man/man3p/catgets.3p\r
-#usr/share/man/man3p/catopen.3p\r
-#usr/share/man/man3p/cbrt.3p\r
-#usr/share/man/man3p/cbrtf.3p\r
-#usr/share/man/man3p/cbrtl.3p\r
-#usr/share/man/man3p/ccos.3p\r
-#usr/share/man/man3p/ccosf.3p\r
-#usr/share/man/man3p/ccosh.3p\r
-#usr/share/man/man3p/ccoshf.3p\r
-#usr/share/man/man3p/ccoshl.3p\r
-#usr/share/man/man3p/ccosl.3p\r
-#usr/share/man/man3p/ceil.3p\r
-#usr/share/man/man3p/ceilf.3p\r
-#usr/share/man/man3p/ceill.3p\r
-#usr/share/man/man3p/cexp.3p\r
-#usr/share/man/man3p/cexpf.3p\r
-#usr/share/man/man3p/cexpl.3p\r
-#usr/share/man/man3p/cfgetispeed.3p\r
-#usr/share/man/man3p/cfgetospeed.3p\r
-#usr/share/man/man3p/cfsetispeed.3p\r
-#usr/share/man/man3p/cfsetospeed.3p\r
-#usr/share/man/man3p/chdir.3p\r
-#usr/share/man/man3p/chmod.3p\r
-#usr/share/man/man3p/chown.3p\r
-#usr/share/man/man3p/cimag.3p\r
-#usr/share/man/man3p/cimagf.3p\r
-#usr/share/man/man3p/cimagl.3p\r
-#usr/share/man/man3p/clearerr.3p\r
-#usr/share/man/man3p/clock.3p\r
-#usr/share/man/man3p/clock_getcpuclockid.3p\r
-#usr/share/man/man3p/clock_getres.3p\r
-#usr/share/man/man3p/clock_gettime.3p\r
-#usr/share/man/man3p/clock_nanosleep.3p\r
-#usr/share/man/man3p/clock_settime.3p\r
-#usr/share/man/man3p/clog.3p\r
-#usr/share/man/man3p/clogf.3p\r
-#usr/share/man/man3p/clogl.3p\r
-#usr/share/man/man3p/close.3p\r
-#usr/share/man/man3p/closedir.3p\r
-#usr/share/man/man3p/closelog.3p\r
-#usr/share/man/man3p/confstr.3p\r
-#usr/share/man/man3p/conj.3p\r
-#usr/share/man/man3p/conjf.3p\r
-#usr/share/man/man3p/conjl.3p\r
-#usr/share/man/man3p/connect.3p\r
-#usr/share/man/man3p/copysign.3p\r
-#usr/share/man/man3p/copysignf.3p\r
-#usr/share/man/man3p/copysignl.3p\r
-#usr/share/man/man3p/cos.3p\r
-#usr/share/man/man3p/cosf.3p\r
-#usr/share/man/man3p/cosh.3p\r
-#usr/share/man/man3p/coshf.3p\r
-#usr/share/man/man3p/coshl.3p\r
-#usr/share/man/man3p/cosl.3p\r
-#usr/share/man/man3p/cpow.3p\r
-#usr/share/man/man3p/cpowf.3p\r
-#usr/share/man/man3p/cpowl.3p\r
-#usr/share/man/man3p/cproj.3p\r
-#usr/share/man/man3p/cprojf.3p\r
-#usr/share/man/man3p/cprojl.3p\r
-#usr/share/man/man3p/creal.3p\r
-#usr/share/man/man3p/crealf.3p\r
-#usr/share/man/man3p/creall.3p\r
-#usr/share/man/man3p/creat.3p\r
-#usr/share/man/man3p/crypt.3p\r
-#usr/share/man/man3p/csin.3p\r
-#usr/share/man/man3p/csinf.3p\r
-#usr/share/man/man3p/csinh.3p\r
-#usr/share/man/man3p/csinhf.3p\r
-#usr/share/man/man3p/csinhl.3p\r
-#usr/share/man/man3p/csinl.3p\r
-#usr/share/man/man3p/csqrt.3p\r
-#usr/share/man/man3p/csqrtf.3p\r
-#usr/share/man/man3p/csqrtl.3p\r
-#usr/share/man/man3p/ctan.3p\r
-#usr/share/man/man3p/ctanf.3p\r
-#usr/share/man/man3p/ctanh.3p\r
-#usr/share/man/man3p/ctanhf.3p\r
-#usr/share/man/man3p/ctanhl.3p\r
-#usr/share/man/man3p/ctanl.3p\r
-#usr/share/man/man3p/ctermid.3p\r
-#usr/share/man/man3p/ctime.3p\r
-#usr/share/man/man3p/ctime_r.3p\r
-#usr/share/man/man3p/daylight.3p\r
-#usr/share/man/man3p/dbm_clearerr.3p\r
-#usr/share/man/man3p/dbm_close.3p\r
-#usr/share/man/man3p/dbm_delete.3p\r
-#usr/share/man/man3p/dbm_error.3p\r
-#usr/share/man/man3p/dbm_fetch.3p\r
-#usr/share/man/man3p/dbm_firstkey.3p\r
-#usr/share/man/man3p/dbm_nextkey.3p\r
-#usr/share/man/man3p/dbm_open.3p\r
-#usr/share/man/man3p/dbm_store.3p\r
-#usr/share/man/man3p/difftime.3p\r
-#usr/share/man/man3p/dirname.3p\r
-#usr/share/man/man3p/div.3p\r
-#usr/share/man/man3p/dlclose.3p\r
-#usr/share/man/man3p/dlerror.3p\r
-#usr/share/man/man3p/dlopen.3p\r
-#usr/share/man/man3p/dlsym.3p\r
-#usr/share/man/man3p/drand48.3p\r
-#usr/share/man/man3p/dup.3p\r
-#usr/share/man/man3p/dup2.3p\r
-#usr/share/man/man3p/ecvt.3p\r
-#usr/share/man/man3p/encrypt.3p\r
-#usr/share/man/man3p/endgrent.3p\r
-#usr/share/man/man3p/endhostent.3p\r
-#usr/share/man/man3p/endnetent.3p\r
-#usr/share/man/man3p/endprotoent.3p\r
-#usr/share/man/man3p/endpwent.3p\r
-#usr/share/man/man3p/endservent.3p\r
-#usr/share/man/man3p/endutxent.3p\r
-#usr/share/man/man3p/environ.3p\r
-#usr/share/man/man3p/erand48.3p\r
-#usr/share/man/man3p/erf.3p\r
-#usr/share/man/man3p/erfc.3p\r
-#usr/share/man/man3p/erfcf.3p\r
-#usr/share/man/man3p/erfcl.3p\r
-#usr/share/man/man3p/erff.3p\r
-#usr/share/man/man3p/erfl.3p\r
-#usr/share/man/man3p/errno.3p\r
-#usr/share/man/man3p/exec.3p\r
-#usr/share/man/man3p/execl.3p\r
-#usr/share/man/man3p/execle.3p\r
-#usr/share/man/man3p/execlp.3p\r
-#usr/share/man/man3p/execv.3p\r
-#usr/share/man/man3p/execve.3p\r
-#usr/share/man/man3p/execvp.3p\r
-#usr/share/man/man3p/exit.3p\r
-#usr/share/man/man3p/exp.3p\r
-#usr/share/man/man3p/exp2.3p\r
-#usr/share/man/man3p/exp2f.3p\r
-#usr/share/man/man3p/exp2l.3p\r
-#usr/share/man/man3p/expf.3p\r
-#usr/share/man/man3p/expl.3p\r
-#usr/share/man/man3p/expm1.3p\r
-#usr/share/man/man3p/expm1f.3p\r
-#usr/share/man/man3p/expm1l.3p\r
-#usr/share/man/man3p/fabs.3p\r
-#usr/share/man/man3p/fabsf.3p\r
-#usr/share/man/man3p/fabsl.3p\r
-#usr/share/man/man3p/fattach.3p\r
-#usr/share/man/man3p/fchdir.3p\r
-#usr/share/man/man3p/fchmod.3p\r
-#usr/share/man/man3p/fchown.3p\r
-#usr/share/man/man3p/fclose.3p\r
-#usr/share/man/man3p/fcntl.3p\r
-#usr/share/man/man3p/fcvt.3p\r
-#usr/share/man/man3p/fdatasync.3p\r
-#usr/share/man/man3p/fdetach.3p\r
-#usr/share/man/man3p/fdim.3p\r
-#usr/share/man/man3p/fdimf.3p\r
-#usr/share/man/man3p/fdiml.3p\r
-#usr/share/man/man3p/fdopen.3p\r
-#usr/share/man/man3p/feclearexcept.3p\r
-#usr/share/man/man3p/fegetenv.3p\r
-#usr/share/man/man3p/fegetexceptflag.3p\r
-#usr/share/man/man3p/fegetround.3p\r
-#usr/share/man/man3p/feholdexcept.3p\r
-#usr/share/man/man3p/feof.3p\r
-#usr/share/man/man3p/feraiseexcept.3p\r
-#usr/share/man/man3p/ferror.3p\r
-#usr/share/man/man3p/fesetenv.3p\r
-#usr/share/man/man3p/fesetexceptflag.3p\r
-#usr/share/man/man3p/fesetround.3p\r
-#usr/share/man/man3p/fetestexcept.3p\r
-#usr/share/man/man3p/feupdateenv.3p\r
-#usr/share/man/man3p/fflush.3p\r
-#usr/share/man/man3p/ffs.3p\r
-#usr/share/man/man3p/fgetc.3p\r
-#usr/share/man/man3p/fgetpos.3p\r
-#usr/share/man/man3p/fgets.3p\r
-#usr/share/man/man3p/fgetwc.3p\r
-#usr/share/man/man3p/fgetws.3p\r
-#usr/share/man/man3p/fileno.3p\r
-#usr/share/man/man3p/flockfile.3p\r
-#usr/share/man/man3p/floor.3p\r
-#usr/share/man/man3p/floorf.3p\r
-#usr/share/man/man3p/floorl.3p\r
-#usr/share/man/man3p/fma.3p\r
-#usr/share/man/man3p/fmaf.3p\r
-#usr/share/man/man3p/fmal.3p\r
-#usr/share/man/man3p/fmax.3p\r
-#usr/share/man/man3p/fmaxf.3p\r
-#usr/share/man/man3p/fmaxl.3p\r
-#usr/share/man/man3p/fmin.3p\r
-#usr/share/man/man3p/fminf.3p\r
-#usr/share/man/man3p/fminl.3p\r
-#usr/share/man/man3p/fmod.3p\r
-#usr/share/man/man3p/fmodf.3p\r
-#usr/share/man/man3p/fmodl.3p\r
-#usr/share/man/man3p/fmtmsg.3p\r
-#usr/share/man/man3p/fnmatch.3p\r
-#usr/share/man/man3p/fopen.3p\r
-#usr/share/man/man3p/fork.3p\r
-#usr/share/man/man3p/fpathconf.3p\r
-#usr/share/man/man3p/fpclassify.3p\r
-#usr/share/man/man3p/fprintf.3p\r
-#usr/share/man/man3p/fputc.3p\r
-#usr/share/man/man3p/fputs.3p\r
-#usr/share/man/man3p/fputwc.3p\r
-#usr/share/man/man3p/fputws.3p\r
-#usr/share/man/man3p/fread.3p\r
-#usr/share/man/man3p/free.3p\r
-#usr/share/man/man3p/freeaddrinfo.3p\r
-#usr/share/man/man3p/freopen.3p\r
-#usr/share/man/man3p/frexp.3p\r
-#usr/share/man/man3p/frexpf.3p\r
-#usr/share/man/man3p/frexpl.3p\r
-#usr/share/man/man3p/fscanf.3p\r
-#usr/share/man/man3p/fseek.3p\r
-#usr/share/man/man3p/fseeko.3p\r
-#usr/share/man/man3p/fsetpos.3p\r
-#usr/share/man/man3p/fstat.3p\r
-#usr/share/man/man3p/fstatvfs.3p\r
-#usr/share/man/man3p/fsync.3p\r
-#usr/share/man/man3p/ftell.3p\r
-#usr/share/man/man3p/ftello.3p\r
-#usr/share/man/man3p/ftime.3p\r
-#usr/share/man/man3p/ftok.3p\r
-#usr/share/man/man3p/ftruncate.3p\r
-#usr/share/man/man3p/ftrylockfile.3p\r
-#usr/share/man/man3p/ftw.3p\r
-#usr/share/man/man3p/funlockfile.3p\r
-#usr/share/man/man3p/fwide.3p\r
-#usr/share/man/man3p/fwprintf.3p\r
-#usr/share/man/man3p/fwrite.3p\r
-#usr/share/man/man3p/fwscanf.3p\r
-#usr/share/man/man3p/gai_strerror.3p\r
-#usr/share/man/man3p/gcvt.3p\r
-#usr/share/man/man3p/getaddrinfo.3p\r
-#usr/share/man/man3p/getc.3p\r
-#usr/share/man/man3p/getc_unlocked.3p\r
-#usr/share/man/man3p/getchar.3p\r
-#usr/share/man/man3p/getchar_unlocked.3p\r
-#usr/share/man/man3p/getcontext.3p\r
-#usr/share/man/man3p/getcwd.3p\r
-#usr/share/man/man3p/getdate.3p\r
-#usr/share/man/man3p/getdate_err.3p\r
-#usr/share/man/man3p/getegid.3p\r
-#usr/share/man/man3p/getenv.3p\r
-#usr/share/man/man3p/geteuid.3p\r
-#usr/share/man/man3p/getgid.3p\r
-#usr/share/man/man3p/getgrent.3p\r
-#usr/share/man/man3p/getgrgid.3p\r
-#usr/share/man/man3p/getgrgid_r.3p\r
-#usr/share/man/man3p/getgrnam.3p\r
-#usr/share/man/man3p/getgrnam_r.3p\r
-#usr/share/man/man3p/getgroups.3p\r
-#usr/share/man/man3p/gethostbyaddr.3p\r
-#usr/share/man/man3p/gethostbyname.3p\r
-#usr/share/man/man3p/gethostent.3p\r
-#usr/share/man/man3p/gethostid.3p\r
-#usr/share/man/man3p/gethostname.3p\r
-#usr/share/man/man3p/getitimer.3p\r
-#usr/share/man/man3p/getlogin.3p\r
-#usr/share/man/man3p/getlogin_r.3p\r
-#usr/share/man/man3p/getmsg.3p\r
-#usr/share/man/man3p/getnameinfo.3p\r
-#usr/share/man/man3p/getnetbyaddr.3p\r
-#usr/share/man/man3p/getnetbyname.3p\r
-#usr/share/man/man3p/getnetent.3p\r
-#usr/share/man/man3p/getopt.3p\r
-#usr/share/man/man3p/getpeername.3p\r
-#usr/share/man/man3p/getpgid.3p\r
-#usr/share/man/man3p/getpgrp.3p\r
-#usr/share/man/man3p/getpid.3p\r
-#usr/share/man/man3p/getpmsg.3p\r
-#usr/share/man/man3p/getppid.3p\r
-#usr/share/man/man3p/getpriority.3p\r
-#usr/share/man/man3p/getprotobyname.3p\r
-#usr/share/man/man3p/getprotobynumber.3p\r
-#usr/share/man/man3p/getprotoent.3p\r
-#usr/share/man/man3p/getpwent.3p\r
-#usr/share/man/man3p/getpwnam.3p\r
-#usr/share/man/man3p/getpwnam_r.3p\r
-#usr/share/man/man3p/getpwuid.3p\r
-#usr/share/man/man3p/getpwuid_r.3p\r
-#usr/share/man/man3p/getrlimit.3p\r
-#usr/share/man/man3p/getrusage.3p\r
-#usr/share/man/man3p/gets.3p\r
-#usr/share/man/man3p/getservbyname.3p\r
-#usr/share/man/man3p/getservbyport.3p\r
-#usr/share/man/man3p/getservent.3p\r
-#usr/share/man/man3p/getsid.3p\r
-#usr/share/man/man3p/getsockname.3p\r
-#usr/share/man/man3p/getsockopt.3p\r
-#usr/share/man/man3p/getsubopt.3p\r
-#usr/share/man/man3p/gettimeofday.3p\r
-#usr/share/man/man3p/getuid.3p\r
-#usr/share/man/man3p/getutxent.3p\r
-#usr/share/man/man3p/getutxid.3p\r
-#usr/share/man/man3p/getutxline.3p\r
-#usr/share/man/man3p/getwc.3p\r
-#usr/share/man/man3p/getwchar.3p\r
-#usr/share/man/man3p/getwd.3p\r
-#usr/share/man/man3p/glob.3p\r
-#usr/share/man/man3p/globfree.3p\r
-#usr/share/man/man3p/gmtime.3p\r
-#usr/share/man/man3p/gmtime_r.3p\r
-#usr/share/man/man3p/grantpt.3p\r
-#usr/share/man/man3p/h_errno.3p\r
-#usr/share/man/man3p/hcreate.3p\r
-#usr/share/man/man3p/hdestroy.3p\r
-#usr/share/man/man3p/hsearch.3p\r
-#usr/share/man/man3p/htonl.3p\r
-#usr/share/man/man3p/htons.3p\r
-#usr/share/man/man3p/hypot.3p\r
-#usr/share/man/man3p/hypotf.3p\r
-#usr/share/man/man3p/hypotl.3p\r
-#usr/share/man/man3p/iconv.3p\r
-#usr/share/man/man3p/iconv_close.3p\r
-#usr/share/man/man3p/iconv_open.3p\r
-#usr/share/man/man3p/if_freenameindex.3p\r
-#usr/share/man/man3p/if_indextoname.3p\r
-#usr/share/man/man3p/if_nameindex.3p\r
-#usr/share/man/man3p/if_nametoindex.3p\r
-#usr/share/man/man3p/ilogb.3p\r
-#usr/share/man/man3p/ilogbf.3p\r
-#usr/share/man/man3p/ilogbl.3p\r
-#usr/share/man/man3p/imaxabs.3p\r
-#usr/share/man/man3p/imaxdiv.3p\r
-#usr/share/man/man3p/index.3p\r
-#usr/share/man/man3p/inet_addr.3p\r
-#usr/share/man/man3p/inet_ntoa.3p\r
-#usr/share/man/man3p/inet_ntop.3p\r
-#usr/share/man/man3p/inet_pton.3p\r
-#usr/share/man/man3p/initstate.3p\r
-#usr/share/man/man3p/insque.3p\r
-#usr/share/man/man3p/ioctl.3p\r
-#usr/share/man/man3p/isalnum.3p\r
-#usr/share/man/man3p/isalpha.3p\r
-#usr/share/man/man3p/isascii.3p\r
-#usr/share/man/man3p/isastream.3p\r
-#usr/share/man/man3p/isatty.3p\r
-#usr/share/man/man3p/isblank.3p\r
-#usr/share/man/man3p/iscntrl.3p\r
-#usr/share/man/man3p/isdigit.3p\r
-#usr/share/man/man3p/isfinite.3p\r
-#usr/share/man/man3p/isgraph.3p\r
-#usr/share/man/man3p/isgreater.3p\r
-#usr/share/man/man3p/isgreaterequal.3p\r
-#usr/share/man/man3p/isinf.3p\r
-#usr/share/man/man3p/isless.3p\r
-#usr/share/man/man3p/islessequal.3p\r
-#usr/share/man/man3p/islessgreater.3p\r
-#usr/share/man/man3p/islower.3p\r
-#usr/share/man/man3p/isnan.3p\r
-#usr/share/man/man3p/isnormal.3p\r
-#usr/share/man/man3p/isprint.3p\r
-#usr/share/man/man3p/ispunct.3p\r
-#usr/share/man/man3p/isspace.3p\r
-#usr/share/man/man3p/isunordered.3p\r
-#usr/share/man/man3p/isupper.3p\r
-#usr/share/man/man3p/iswalnum.3p\r
-#usr/share/man/man3p/iswalpha.3p\r
-#usr/share/man/man3p/iswblank.3p\r
-#usr/share/man/man3p/iswcntrl.3p\r
-#usr/share/man/man3p/iswctype.3p\r
-#usr/share/man/man3p/iswdigit.3p\r
-#usr/share/man/man3p/iswgraph.3p\r
-#usr/share/man/man3p/iswlower.3p\r
-#usr/share/man/man3p/iswprint.3p\r
-#usr/share/man/man3p/iswpunct.3p\r
-#usr/share/man/man3p/iswspace.3p\r
-#usr/share/man/man3p/iswupper.3p\r
-#usr/share/man/man3p/iswxdigit.3p\r
-#usr/share/man/man3p/isxdigit.3p\r
-#usr/share/man/man3p/j0.3p\r
-#usr/share/man/man3p/j1.3p\r
-#usr/share/man/man3p/jn.3p\r
-#usr/share/man/man3p/jrand48.3p\r
-#usr/share/man/man3p/kill.3p\r
-#usr/share/man/man3p/killpg.3p\r
-#usr/share/man/man3p/l64a.3p\r
-#usr/share/man/man3p/labs.3p\r
-#usr/share/man/man3p/lchown.3p\r
-#usr/share/man/man3p/lcong48.3p\r
-#usr/share/man/man3p/ldexp.3p\r
-#usr/share/man/man3p/ldexpf.3p\r
-#usr/share/man/man3p/ldexpl.3p\r
-#usr/share/man/man3p/ldiv.3p\r
-#usr/share/man/man3p/lfind.3p\r
-#usr/share/man/man3p/lgamma.3p\r
-#usr/share/man/man3p/lgammaf.3p\r
-#usr/share/man/man3p/lgammal.3p\r
-#usr/share/man/man3p/link.3p\r
-#usr/share/man/man3p/lio_listio.3p\r
-#usr/share/man/man3p/listen.3p\r
-#usr/share/man/man3p/llabs.3p\r
-#usr/share/man/man3p/lldiv.3p\r
-#usr/share/man/man3p/llrint.3p\r
-#usr/share/man/man3p/llrintf.3p\r
-#usr/share/man/man3p/llrintl.3p\r
-#usr/share/man/man3p/llround.3p\r
-#usr/share/man/man3p/llroundf.3p\r
-#usr/share/man/man3p/llroundl.3p\r
-#usr/share/man/man3p/localeconv.3p\r
-#usr/share/man/man3p/localtime.3p\r
-#usr/share/man/man3p/localtime_r.3p\r
-#usr/share/man/man3p/lockf.3p\r
-#usr/share/man/man3p/log.3p\r
-#usr/share/man/man3p/log10.3p\r
-#usr/share/man/man3p/log10f.3p\r
-#usr/share/man/man3p/log10l.3p\r
-#usr/share/man/man3p/log1p.3p\r
-#usr/share/man/man3p/log1pf.3p\r
-#usr/share/man/man3p/log1pl.3p\r
-#usr/share/man/man3p/log2.3p\r
-#usr/share/man/man3p/log2f.3p\r
-#usr/share/man/man3p/log2l.3p\r
-#usr/share/man/man3p/logb.3p\r
-#usr/share/man/man3p/logbf.3p\r
-#usr/share/man/man3p/logbl.3p\r
-#usr/share/man/man3p/logf.3p\r
-#usr/share/man/man3p/logl.3p\r
-#usr/share/man/man3p/longjmp.3p\r
-#usr/share/man/man3p/lrand48.3p\r
-#usr/share/man/man3p/lrint.3p\r
-#usr/share/man/man3p/lrintf.3p\r
-#usr/share/man/man3p/lrintl.3p\r
-#usr/share/man/man3p/lround.3p\r
-#usr/share/man/man3p/lroundf.3p\r
-#usr/share/man/man3p/lroundl.3p\r
-#usr/share/man/man3p/lsearch.3p\r
-#usr/share/man/man3p/lseek.3p\r
-#usr/share/man/man3p/lstat.3p\r
-#usr/share/man/man3p/makecontext.3p\r
-#usr/share/man/man3p/malloc.3p\r
-#usr/share/man/man3p/mblen.3p\r
-#usr/share/man/man3p/mbrlen.3p\r
-#usr/share/man/man3p/mbrtowc.3p\r
-#usr/share/man/man3p/mbsinit.3p\r
-#usr/share/man/man3p/mbsrtowcs.3p\r
-#usr/share/man/man3p/mbstowcs.3p\r
-#usr/share/man/man3p/mbtowc.3p\r
-#usr/share/man/man3p/memccpy.3p\r
-#usr/share/man/man3p/memchr.3p\r
-#usr/share/man/man3p/memcmp.3p\r
-#usr/share/man/man3p/memcpy.3p\r
-#usr/share/man/man3p/memmove.3p\r
-#usr/share/man/man3p/memset.3p\r
-#usr/share/man/man3p/mkdir.3p\r
-#usr/share/man/man3p/mkfifo.3p\r
-#usr/share/man/man3p/mknod.3p\r
-#usr/share/man/man3p/mkstemp.3p\r
-#usr/share/man/man3p/mktemp.3p\r
-#usr/share/man/man3p/mktime.3p\r
-#usr/share/man/man3p/mlock.3p\r
-#usr/share/man/man3p/mlockall.3p\r
-#usr/share/man/man3p/mmap.3p\r
-#usr/share/man/man3p/modf.3p\r
-#usr/share/man/man3p/modff.3p\r
-#usr/share/man/man3p/modfl.3p\r
-#usr/share/man/man3p/mprotect.3p\r
-#usr/share/man/man3p/mq_close.3p\r
-#usr/share/man/man3p/mq_getattr.3p\r
-#usr/share/man/man3p/mq_notify.3p\r
-#usr/share/man/man3p/mq_open.3p\r
-#usr/share/man/man3p/mq_receive.3p\r
-#usr/share/man/man3p/mq_send.3p\r
-#usr/share/man/man3p/mq_setattr.3p\r
-#usr/share/man/man3p/mq_timedreceive.3p\r
-#usr/share/man/man3p/mq_timedsend.3p\r
-#usr/share/man/man3p/mq_unlink.3p\r
-#usr/share/man/man3p/mrand48.3p\r
-#usr/share/man/man3p/msgctl.3p\r
-#usr/share/man/man3p/msgget.3p\r
-#usr/share/man/man3p/msgrcv.3p\r
-#usr/share/man/man3p/msgsnd.3p\r
-#usr/share/man/man3p/msync.3p\r
-#usr/share/man/man3p/munlock.3p\r
-#usr/share/man/man3p/munlockall.3p\r
-#usr/share/man/man3p/munmap.3p\r
-#usr/share/man/man3p/nan.3p\r
-#usr/share/man/man3p/nanf.3p\r
-#usr/share/man/man3p/nanl.3p\r
-#usr/share/man/man3p/nanosleep.3p\r
-#usr/share/man/man3p/nearbyint.3p\r
-#usr/share/man/man3p/nearbyintf.3p\r
-#usr/share/man/man3p/nearbyintl.3p\r
-#usr/share/man/man3p/nextafter.3p\r
-#usr/share/man/man3p/nextafterf.3p\r
-#usr/share/man/man3p/nextafterl.3p\r
-#usr/share/man/man3p/nexttoward.3p\r
-#usr/share/man/man3p/nexttowardf.3p\r
-#usr/share/man/man3p/nexttowardl.3p\r
-#usr/share/man/man3p/nftw.3p\r
-#usr/share/man/man3p/nice.3p\r
-#usr/share/man/man3p/nl_langinfo.3p\r
-#usr/share/man/man3p/nrand48.3p\r
-#usr/share/man/man3p/ntohl.3p\r
-#usr/share/man/man3p/ntohs.3p\r
-#usr/share/man/man3p/open.3p\r
-#usr/share/man/man3p/opendir.3p\r
-#usr/share/man/man3p/openlog.3p\r
-#usr/share/man/man3p/optarg.3p\r
-#usr/share/man/man3p/opterr.3p\r
-#usr/share/man/man3p/optind.3p\r
-#usr/share/man/man3p/optopt.3p\r
-#usr/share/man/man3p/pathconf.3p\r
-#usr/share/man/man3p/pause.3p\r
-#usr/share/man/man3p/pclose.3p\r
-#usr/share/man/man3p/perror.3p\r
-#usr/share/man/man3p/pipe.3p\r
-#usr/share/man/man3p/poll.3p\r
-#usr/share/man/man3p/popen.3p\r
-#usr/share/man/man3p/posix_fadvise.3p\r
-#usr/share/man/man3p/posix_fallocate.3p\r
-#usr/share/man/man3p/posix_madvise.3p\r
-#usr/share/man/man3p/posix_mem_offset.3p\r
-#usr/share/man/man3p/posix_memalign.3p\r
-#usr/share/man/man3p/posix_openpt.3p\r
-#usr/share/man/man3p/posix_spawn.3p\r
-#usr/share/man/man3p/posix_spawn_file_actions_addclose.3p\r
-#usr/share/man/man3p/posix_spawn_file_actions_adddup2.3p\r
-#usr/share/man/man3p/posix_spawn_file_actions_addopen.3p\r
-#usr/share/man/man3p/posix_spawn_file_actions_destroy.3p\r
-#usr/share/man/man3p/posix_spawn_file_actions_init.3p\r
-#usr/share/man/man3p/posix_spawnattr_destroy.3p\r
-#usr/share/man/man3p/posix_spawnattr_getflags.3p\r
-#usr/share/man/man3p/posix_spawnattr_getpgroup.3p\r
-#usr/share/man/man3p/posix_spawnattr_getschedparam.3p\r
-#usr/share/man/man3p/posix_spawnattr_getschedpolicy.3p\r
-#usr/share/man/man3p/posix_spawnattr_getsigdefault.3p\r
-#usr/share/man/man3p/posix_spawnattr_getsigmask.3p\r
-#usr/share/man/man3p/posix_spawnattr_init.3p\r
-#usr/share/man/man3p/posix_spawnattr_setflags.3p\r
-#usr/share/man/man3p/posix_spawnattr_setpgroup.3p\r
-#usr/share/man/man3p/posix_spawnattr_setschedparam.3p\r
-#usr/share/man/man3p/posix_spawnattr_setschedpolicy.3p\r
-#usr/share/man/man3p/posix_spawnattr_setsigdefault.3p\r
-#usr/share/man/man3p/posix_spawnattr_setsigmask.3p\r
-#usr/share/man/man3p/posix_spawnp.3p\r
-#usr/share/man/man3p/posix_trace_attr_destroy.3p\r
-#usr/share/man/man3p/posix_trace_attr_getclockres.3p\r
-#usr/share/man/man3p/posix_trace_attr_getcreatetime.3p\r
-#usr/share/man/man3p/posix_trace_attr_getgenversion.3p\r
-#usr/share/man/man3p/posix_trace_attr_getinherited.3p\r
-#usr/share/man/man3p/posix_trace_attr_getlogfullpolicy.3p\r
-#usr/share/man/man3p/posix_trace_attr_getlogsize.3p\r
-#usr/share/man/man3p/posix_trace_attr_getmaxdatasize.3p\r
-#usr/share/man/man3p/posix_trace_attr_getmaxsystemeventsize.3p\r
-#usr/share/man/man3p/posix_trace_attr_getmaxusereventsize.3p\r
-#usr/share/man/man3p/posix_trace_attr_getname.3p\r
-#usr/share/man/man3p/posix_trace_attr_getstreamfullpolicy.3p\r
-#usr/share/man/man3p/posix_trace_attr_getstreamsize.3p\r
-#usr/share/man/man3p/posix_trace_attr_init.3p\r
-#usr/share/man/man3p/posix_trace_attr_setinherited.3p\r
-#usr/share/man/man3p/posix_trace_attr_setlogfullpolicy.3p\r
-#usr/share/man/man3p/posix_trace_attr_setlogsize.3p\r
-#usr/share/man/man3p/posix_trace_attr_setmaxdatasize.3p\r
-#usr/share/man/man3p/posix_trace_attr_setname.3p\r
-#usr/share/man/man3p/posix_trace_attr_setstreamfullpolicy.3p\r
-#usr/share/man/man3p/posix_trace_attr_setstreamsize.3p\r
-#usr/share/man/man3p/posix_trace_clear.3p\r
-#usr/share/man/man3p/posix_trace_close.3p\r
-#usr/share/man/man3p/posix_trace_create.3p\r
-#usr/share/man/man3p/posix_trace_create_withlog.3p\r
-#usr/share/man/man3p/posix_trace_event.3p\r
-#usr/share/man/man3p/posix_trace_eventid_equal.3p\r
-#usr/share/man/man3p/posix_trace_eventid_get_name.3p\r
-#usr/share/man/man3p/posix_trace_eventid_open.3p\r
-#usr/share/man/man3p/posix_trace_eventset_add.3p\r
-#usr/share/man/man3p/posix_trace_eventset_del.3p\r
-#usr/share/man/man3p/posix_trace_eventset_empty.3p\r
-#usr/share/man/man3p/posix_trace_eventset_fill.3p\r
-#usr/share/man/man3p/posix_trace_eventset_ismember.3p\r
-#usr/share/man/man3p/posix_trace_eventtypelist_getnext_id.3p\r
-#usr/share/man/man3p/posix_trace_eventtypelist_rewind.3p\r
-#usr/share/man/man3p/posix_trace_flush.3p\r
-#usr/share/man/man3p/posix_trace_get_attr.3p\r
-#usr/share/man/man3p/posix_trace_get_filter.3p\r
-#usr/share/man/man3p/posix_trace_get_status.3p\r
-#usr/share/man/man3p/posix_trace_getnext_event.3p\r
-#usr/share/man/man3p/posix_trace_open.3p\r
-#usr/share/man/man3p/posix_trace_rewind.3p\r
-#usr/share/man/man3p/posix_trace_set_filter.3p\r
-#usr/share/man/man3p/posix_trace_shutdown.3p\r
-#usr/share/man/man3p/posix_trace_start.3p\r
-#usr/share/man/man3p/posix_trace_stop.3p\r
-#usr/share/man/man3p/posix_trace_timedgetnext_event.3p\r
-#usr/share/man/man3p/posix_trace_trid_eventid_open.3p\r
-#usr/share/man/man3p/posix_trace_trygetnext_event.3p\r
-#usr/share/man/man3p/posix_typed_mem_get_info.3p\r
-#usr/share/man/man3p/posix_typed_mem_open.3p\r
-#usr/share/man/man3p/pow.3p\r
-#usr/share/man/man3p/powf.3p\r
-#usr/share/man/man3p/powl.3p\r
-#usr/share/man/man3p/pread.3p\r
-#usr/share/man/man3p/printf.3p\r
-#usr/share/man/man3p/pselect.3p\r
-#usr/share/man/man3p/pthread_atfork.3p\r
-#usr/share/man/man3p/pthread_attr_destroy.3p\r
-#usr/share/man/man3p/pthread_attr_getdetachstate.3p\r
-#usr/share/man/man3p/pthread_attr_getguardsize.3p\r
-#usr/share/man/man3p/pthread_attr_getinheritsched.3p\r
-#usr/share/man/man3p/pthread_attr_getschedparam.3p\r
-#usr/share/man/man3p/pthread_attr_getschedpolicy.3p\r
-#usr/share/man/man3p/pthread_attr_getscope.3p\r
-#usr/share/man/man3p/pthread_attr_getstack.3p\r
-#usr/share/man/man3p/pthread_attr_getstackaddr.3p\r
-#usr/share/man/man3p/pthread_attr_getstacksize.3p\r
-#usr/share/man/man3p/pthread_attr_init.3p\r
-#usr/share/man/man3p/pthread_attr_setdetachstate.3p\r
-#usr/share/man/man3p/pthread_attr_setguardsize.3p\r
-#usr/share/man/man3p/pthread_attr_setinheritsched.3p\r
-#usr/share/man/man3p/pthread_attr_setschedparam.3p\r
-#usr/share/man/man3p/pthread_attr_setschedpolicy.3p\r
-#usr/share/man/man3p/pthread_attr_setscope.3p\r
-#usr/share/man/man3p/pthread_attr_setstack.3p\r
-#usr/share/man/man3p/pthread_attr_setstackaddr.3p\r
-#usr/share/man/man3p/pthread_attr_setstacksize.3p\r
-#usr/share/man/man3p/pthread_barrier_destroy.3p\r
-#usr/share/man/man3p/pthread_barrier_init.3p\r
-#usr/share/man/man3p/pthread_barrier_wait.3p\r
-#usr/share/man/man3p/pthread_barrierattr_destroy.3p\r
-#usr/share/man/man3p/pthread_barrierattr_getpshared.3p\r
-#usr/share/man/man3p/pthread_barrierattr_init.3p\r
-#usr/share/man/man3p/pthread_barrierattr_setpshared.3p\r
-#usr/share/man/man3p/pthread_cancel.3p\r
-#usr/share/man/man3p/pthread_cleanup_pop.3p\r
-#usr/share/man/man3p/pthread_cleanup_push.3p\r
-#usr/share/man/man3p/pthread_cond_broadcast.3p\r
-#usr/share/man/man3p/pthread_cond_destroy.3p\r
-#usr/share/man/man3p/pthread_cond_init.3p\r
-#usr/share/man/man3p/pthread_cond_signal.3p\r
-#usr/share/man/man3p/pthread_cond_timedwait.3p\r
-#usr/share/man/man3p/pthread_cond_wait.3p\r
-#usr/share/man/man3p/pthread_condattr_destroy.3p\r
-#usr/share/man/man3p/pthread_condattr_getclock.3p\r
-#usr/share/man/man3p/pthread_condattr_getpshared.3p\r
-#usr/share/man/man3p/pthread_condattr_init.3p\r
-#usr/share/man/man3p/pthread_condattr_setclock.3p\r
-#usr/share/man/man3p/pthread_condattr_setpshared.3p\r
-#usr/share/man/man3p/pthread_create.3p\r
-#usr/share/man/man3p/pthread_detach.3p\r
-#usr/share/man/man3p/pthread_equal.3p\r
-#usr/share/man/man3p/pthread_exit.3p\r
-#usr/share/man/man3p/pthread_getconcurrency.3p\r
-#usr/share/man/man3p/pthread_getcpuclockid.3p\r
-#usr/share/man/man3p/pthread_getschedparam.3p\r
-#usr/share/man/man3p/pthread_getspecific.3p\r
-#usr/share/man/man3p/pthread_join.3p\r
-#usr/share/man/man3p/pthread_key_create.3p\r
-#usr/share/man/man3p/pthread_key_delete.3p\r
-#usr/share/man/man3p/pthread_kill.3p\r
-#usr/share/man/man3p/pthread_mutex_destroy.3p\r
-#usr/share/man/man3p/pthread_mutex_getprioceiling.3p\r
-#usr/share/man/man3p/pthread_mutex_init.3p\r
-#usr/share/man/man3p/pthread_mutex_lock.3p\r
-#usr/share/man/man3p/pthread_mutex_setprioceiling.3p\r
-#usr/share/man/man3p/pthread_mutex_timedlock.3p\r
-#usr/share/man/man3p/pthread_mutex_trylock.3p\r
-#usr/share/man/man3p/pthread_mutex_unlock.3p\r
-#usr/share/man/man3p/pthread_mutexattr_destroy.3p\r
-#usr/share/man/man3p/pthread_mutexattr_getprioceiling.3p\r
-#usr/share/man/man3p/pthread_mutexattr_getprotocol.3p\r
-#usr/share/man/man3p/pthread_mutexattr_getpshared.3p\r
-#usr/share/man/man3p/pthread_mutexattr_gettype.3p\r
-#usr/share/man/man3p/pthread_mutexattr_init.3p\r
-#usr/share/man/man3p/pthread_mutexattr_setprioceiling.3p\r
-#usr/share/man/man3p/pthread_mutexattr_setprotocol.3p\r
-#usr/share/man/man3p/pthread_mutexattr_setpshared.3p\r
-#usr/share/man/man3p/pthread_mutexattr_settype.3p\r
-#usr/share/man/man3p/pthread_once.3p\r
-#usr/share/man/man3p/pthread_rwlock_destroy.3p\r
-#usr/share/man/man3p/pthread_rwlock_init.3p\r
-#usr/share/man/man3p/pthread_rwlock_rdlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_timedrdlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_timedwrlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_tryrdlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_trywrlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_unlock.3p\r
-#usr/share/man/man3p/pthread_rwlock_wrlock.3p\r
-#usr/share/man/man3p/pthread_rwlockattr_destroy.3p\r
-#usr/share/man/man3p/pthread_rwlockattr_getpshared.3p\r
-#usr/share/man/man3p/pthread_rwlockattr_init.3p\r
-#usr/share/man/man3p/pthread_rwlockattr_setpshared.3p\r
-#usr/share/man/man3p/pthread_self.3p\r
-#usr/share/man/man3p/pthread_setcancelstate.3p\r
-#usr/share/man/man3p/pthread_setcanceltype.3p\r
-#usr/share/man/man3p/pthread_setconcurrency.3p\r
-#usr/share/man/man3p/pthread_setschedparam.3p\r
-#usr/share/man/man3p/pthread_setschedprio.3p\r
-#usr/share/man/man3p/pthread_setspecific.3p\r
-#usr/share/man/man3p/pthread_sigmask.3p\r
-#usr/share/man/man3p/pthread_spin_destroy.3p\r
-#usr/share/man/man3p/pthread_spin_init.3p\r
-#usr/share/man/man3p/pthread_spin_lock.3p\r
-#usr/share/man/man3p/pthread_spin_trylock.3p\r
-#usr/share/man/man3p/pthread_spin_unlock.3p\r
-#usr/share/man/man3p/pthread_testcancel.3p\r
-#usr/share/man/man3p/ptsname.3p\r
-#usr/share/man/man3p/putc.3p\r
-#usr/share/man/man3p/putc_unlocked.3p\r
-#usr/share/man/man3p/putchar.3p\r
-#usr/share/man/man3p/putchar_unlocked.3p\r
-#usr/share/man/man3p/putenv.3p\r
-#usr/share/man/man3p/putmsg.3p\r
-#usr/share/man/man3p/putpmsg.3p\r
-#usr/share/man/man3p/puts.3p\r
-#usr/share/man/man3p/pututxline.3p\r
-#usr/share/man/man3p/putwc.3p\r
-#usr/share/man/man3p/putwchar.3p\r
-#usr/share/man/man3p/pwrite.3p\r
-#usr/share/man/man3p/qsort.3p\r
-#usr/share/man/man3p/raise.3p\r
-#usr/share/man/man3p/rand.3p\r
-#usr/share/man/man3p/rand_r.3p\r
-#usr/share/man/man3p/random.3p\r
-#usr/share/man/man3p/read.3p\r
-#usr/share/man/man3p/readdir.3p\r
-#usr/share/man/man3p/readdir_r.3p\r
-#usr/share/man/man3p/readlink.3p\r
-#usr/share/man/man3p/readv.3p\r
-#usr/share/man/man3p/realloc.3p\r
-#usr/share/man/man3p/realpath.3p\r
-#usr/share/man/man3p/recv.3p\r
-#usr/share/man/man3p/recvfrom.3p\r
-#usr/share/man/man3p/recvmsg.3p\r
-#usr/share/man/man3p/regcomp.3p\r
-#usr/share/man/man3p/regerror.3p\r
-#usr/share/man/man3p/regexec.3p\r
-#usr/share/man/man3p/regfree.3p\r
-#usr/share/man/man3p/remainder.3p\r
-#usr/share/man/man3p/remainderf.3p\r
-#usr/share/man/man3p/remainderl.3p\r
-#usr/share/man/man3p/remove.3p\r
-#usr/share/man/man3p/remque.3p\r
-#usr/share/man/man3p/remquo.3p\r
-#usr/share/man/man3p/remquof.3p\r
-#usr/share/man/man3p/remquol.3p\r
-#usr/share/man/man3p/rename.3p\r
-#usr/share/man/man3p/rewind.3p\r
-#usr/share/man/man3p/rewinddir.3p\r
-#usr/share/man/man3p/rindex.3p\r
-#usr/share/man/man3p/rint.3p\r
-#usr/share/man/man3p/rintf.3p\r
-#usr/share/man/man3p/rintl.3p\r
-#usr/share/man/man3p/rmdir.3p\r
-#usr/share/man/man3p/round.3p\r
-#usr/share/man/man3p/roundf.3p\r
-#usr/share/man/man3p/roundl.3p\r
-#usr/share/man/man3p/scalb.3p\r
-#usr/share/man/man3p/scalbln.3p\r
-#usr/share/man/man3p/scalblnf.3p\r
-#usr/share/man/man3p/scalblnl.3p\r
-#usr/share/man/man3p/scalbn.3p\r
-#usr/share/man/man3p/scalbnf.3p\r
-#usr/share/man/man3p/scalbnl.3p\r
-#usr/share/man/man3p/scanf.3p\r
-#usr/share/man/man3p/sched_get_priority_max.3p\r
-#usr/share/man/man3p/sched_get_priority_min.3p\r
-#usr/share/man/man3p/sched_getparam.3p\r
-#usr/share/man/man3p/sched_getscheduler.3p\r
-#usr/share/man/man3p/sched_rr_get_interval.3p\r
-#usr/share/man/man3p/sched_setparam.3p\r
-#usr/share/man/man3p/sched_setscheduler.3p\r
-#usr/share/man/man3p/sched_yield.3p\r
-#usr/share/man/man3p/seed48.3p\r
-#usr/share/man/man3p/seekdir.3p\r
-#usr/share/man/man3p/select.3p\r
-#usr/share/man/man3p/sem_close.3p\r
-#usr/share/man/man3p/sem_destroy.3p\r
-#usr/share/man/man3p/sem_getvalue.3p\r
-#usr/share/man/man3p/sem_init.3p\r
-#usr/share/man/man3p/sem_open.3p\r
-#usr/share/man/man3p/sem_post.3p\r
-#usr/share/man/man3p/sem_timedwait.3p\r
-#usr/share/man/man3p/sem_trywait.3p\r
-#usr/share/man/man3p/sem_unlink.3p\r
-#usr/share/man/man3p/sem_wait.3p\r
-#usr/share/man/man3p/semctl.3p\r
-#usr/share/man/man3p/semget.3p\r
-#usr/share/man/man3p/semop.3p\r
-#usr/share/man/man3p/send.3p\r
-#usr/share/man/man3p/sendmsg.3p\r
-#usr/share/man/man3p/sendto.3p\r
-#usr/share/man/man3p/setbuf.3p\r
-#usr/share/man/man3p/setcontext.3p\r
-#usr/share/man/man3p/setegid.3p\r
-#usr/share/man/man3p/setenv.3p\r
-#usr/share/man/man3p/seteuid.3p\r
-#usr/share/man/man3p/setgid.3p\r
-#usr/share/man/man3p/setgrent.3p\r
-#usr/share/man/man3p/sethostent.3p\r
-#usr/share/man/man3p/setitimer.3p\r
-#usr/share/man/man3p/setjmp.3p\r
-#usr/share/man/man3p/setkey.3p\r
-#usr/share/man/man3p/setlocale.3p\r
-#usr/share/man/man3p/setlogmask.3p\r
-#usr/share/man/man3p/setnetent.3p\r
-#usr/share/man/man3p/setpgid.3p\r
-#usr/share/man/man3p/setpgrp.3p\r
-#usr/share/man/man3p/setpriority.3p\r
-#usr/share/man/man3p/setprotoent.3p\r
-#usr/share/man/man3p/setpwent.3p\r
-#usr/share/man/man3p/setregid.3p\r
-#usr/share/man/man3p/setreuid.3p\r
-#usr/share/man/man3p/setrlimit.3p\r
-#usr/share/man/man3p/setservent.3p\r
-#usr/share/man/man3p/setsid.3p\r
-#usr/share/man/man3p/setsockopt.3p\r
-#usr/share/man/man3p/setstate.3p\r
-#usr/share/man/man3p/setuid.3p\r
-#usr/share/man/man3p/setutxent.3p\r
-#usr/share/man/man3p/setvbuf.3p\r
-#usr/share/man/man3p/shm_open.3p\r
-#usr/share/man/man3p/shm_unlink.3p\r
-#usr/share/man/man3p/shmat.3p\r
-#usr/share/man/man3p/shmctl.3p\r
-#usr/share/man/man3p/shmdt.3p\r
-#usr/share/man/man3p/shmget.3p\r
-#usr/share/man/man3p/shutdown.3p\r
-#usr/share/man/man3p/sigaction.3p\r
-#usr/share/man/man3p/sigaddset.3p\r
-#usr/share/man/man3p/sigaltstack.3p\r
-#usr/share/man/man3p/sigdelset.3p\r
-#usr/share/man/man3p/sigemptyset.3p\r
-#usr/share/man/man3p/sigfillset.3p\r
-#usr/share/man/man3p/sighold.3p\r
-#usr/share/man/man3p/sigignore.3p\r
-#usr/share/man/man3p/siginterrupt.3p\r
-#usr/share/man/man3p/sigismember.3p\r
-#usr/share/man/man3p/siglongjmp.3p\r
-#usr/share/man/man3p/signal.3p\r
-#usr/share/man/man3p/signbit.3p\r
-#usr/share/man/man3p/signgam.3p\r
-#usr/share/man/man3p/sigpause.3p\r
-#usr/share/man/man3p/sigpending.3p\r
-#usr/share/man/man3p/sigprocmask.3p\r
-#usr/share/man/man3p/sigqueue.3p\r
-#usr/share/man/man3p/sigrelse.3p\r
-#usr/share/man/man3p/sigset.3p\r
-#usr/share/man/man3p/sigsetjmp.3p\r
-#usr/share/man/man3p/sigsuspend.3p\r
-#usr/share/man/man3p/sigtimedwait.3p\r
-#usr/share/man/man3p/sigwait.3p\r
-#usr/share/man/man3p/sigwaitinfo.3p\r
-#usr/share/man/man3p/sin.3p\r
-#usr/share/man/man3p/sinf.3p\r
-#usr/share/man/man3p/sinh.3p\r
-#usr/share/man/man3p/sinhf.3p\r
-#usr/share/man/man3p/sinhl.3p\r
-#usr/share/man/man3p/sinl.3p\r
-#usr/share/man/man3p/sleep.3p\r
-#usr/share/man/man3p/snprintf.3p\r
-#usr/share/man/man3p/sockatmark.3p\r
-#usr/share/man/man3p/socket.3p\r
-#usr/share/man/man3p/socketpair.3p\r
-#usr/share/man/man3p/sprintf.3p\r
-#usr/share/man/man3p/sqrt.3p\r
-#usr/share/man/man3p/sqrtf.3p\r
-#usr/share/man/man3p/sqrtl.3p\r
-#usr/share/man/man3p/srand.3p\r
-#usr/share/man/man3p/srand48.3p\r
-#usr/share/man/man3p/srandom.3p\r
-#usr/share/man/man3p/sscanf.3p\r
-#usr/share/man/man3p/stat.3p\r
-#usr/share/man/man3p/statvfs.3p\r
-#usr/share/man/man3p/stderr.3p\r
-#usr/share/man/man3p/stdin.3p\r
-#usr/share/man/man3p/stdout.3p\r
-#usr/share/man/man3p/strcasecmp.3p\r
-#usr/share/man/man3p/strcat.3p\r
-#usr/share/man/man3p/strchr.3p\r
-#usr/share/man/man3p/strcmp.3p\r
-#usr/share/man/man3p/strcoll.3p\r
-#usr/share/man/man3p/strcpy.3p\r
-#usr/share/man/man3p/strcspn.3p\r
-#usr/share/man/man3p/strdup.3p\r
-#usr/share/man/man3p/strerror.3p\r
-#usr/share/man/man3p/strerror_r.3p\r
-#usr/share/man/man3p/strfmon.3p\r
-#usr/share/man/man3p/strftime.3p\r
-#usr/share/man/man3p/strlen.3p\r
-#usr/share/man/man3p/strncasecmp.3p\r
-#usr/share/man/man3p/strncat.3p\r
-#usr/share/man/man3p/strncmp.3p\r
-#usr/share/man/man3p/strncpy.3p\r
-#usr/share/man/man3p/strpbrk.3p\r
-#usr/share/man/man3p/strptime.3p\r
-#usr/share/man/man3p/strrchr.3p\r
-#usr/share/man/man3p/strspn.3p\r
-#usr/share/man/man3p/strstr.3p\r
-#usr/share/man/man3p/strtod.3p\r
-#usr/share/man/man3p/strtof.3p\r
-#usr/share/man/man3p/strtoimax.3p\r
-#usr/share/man/man3p/strtok.3p\r
-#usr/share/man/man3p/strtok_r.3p\r
-#usr/share/man/man3p/strtol.3p\r
-#usr/share/man/man3p/strtold.3p\r
-#usr/share/man/man3p/strtoll.3p\r
-#usr/share/man/man3p/strtoul.3p\r
-#usr/share/man/man3p/strtoull.3p\r
-#usr/share/man/man3p/strtoumax.3p\r
-#usr/share/man/man3p/strxfrm.3p\r
-#usr/share/man/man3p/swab.3p\r
-#usr/share/man/man3p/swapcontext.3p\r
-#usr/share/man/man3p/swprintf.3p\r
-#usr/share/man/man3p/swscanf.3p\r
-#usr/share/man/man3p/symlink.3p\r
-#usr/share/man/man3p/sync.3p\r
-#usr/share/man/man3p/sysconf.3p\r
-#usr/share/man/man3p/syslog.3p\r
-#usr/share/man/man3p/system.3p\r
-#usr/share/man/man3p/tan.3p\r
-#usr/share/man/man3p/tanf.3p\r
-#usr/share/man/man3p/tanh.3p\r
-#usr/share/man/man3p/tanhf.3p\r
-#usr/share/man/man3p/tanhl.3p\r
-#usr/share/man/man3p/tanl.3p\r
-#usr/share/man/man3p/tcdrain.3p\r
-#usr/share/man/man3p/tcflow.3p\r
-#usr/share/man/man3p/tcflush.3p\r
-#usr/share/man/man3p/tcgetattr.3p\r
-#usr/share/man/man3p/tcgetpgrp.3p\r
-#usr/share/man/man3p/tcgetsid.3p\r
-#usr/share/man/man3p/tcsendbreak.3p\r
-#usr/share/man/man3p/tcsetattr.3p\r
-#usr/share/man/man3p/tcsetpgrp.3p\r
-#usr/share/man/man3p/tdelete.3p\r
-#usr/share/man/man3p/telldir.3p\r
-#usr/share/man/man3p/tempnam.3p\r
-#usr/share/man/man3p/tfind.3p\r
-#usr/share/man/man3p/tgamma.3p\r
-#usr/share/man/man3p/tgammaf.3p\r
-#usr/share/man/man3p/tgammal.3p\r
-#usr/share/man/man3p/time.3p\r
-#usr/share/man/man3p/timer_create.3p\r
-#usr/share/man/man3p/timer_delete.3p\r
-#usr/share/man/man3p/timer_getoverrun.3p\r
-#usr/share/man/man3p/timer_gettime.3p\r
-#usr/share/man/man3p/timer_settime.3p\r
-#usr/share/man/man3p/times.3p\r
-#usr/share/man/man3p/timezone.3p\r
-#usr/share/man/man3p/tmpfile.3p\r
-#usr/share/man/man3p/tmpnam.3p\r
-#usr/share/man/man3p/toascii.3p\r
-#usr/share/man/man3p/tolower.3p\r
-#usr/share/man/man3p/toupper.3p\r
-#usr/share/man/man3p/towctrans.3p\r
-#usr/share/man/man3p/towlower.3p\r
-#usr/share/man/man3p/towupper.3p\r
-#usr/share/man/man3p/trunc.3p\r
-#usr/share/man/man3p/truncate.3p\r
-#usr/share/man/man3p/truncf.3p\r
-#usr/share/man/man3p/truncl.3p\r
-#usr/share/man/man3p/tsearch.3p\r
-#usr/share/man/man3p/ttyname.3p\r
-#usr/share/man/man3p/ttyname_r.3p\r
-#usr/share/man/man3p/twalk.3p\r
-#usr/share/man/man3p/tzname.3p\r
-#usr/share/man/man3p/tzset.3p\r
-#usr/share/man/man3p/ualarm.3p\r
-#usr/share/man/man3p/ulimit.3p\r
-#usr/share/man/man3p/umask.3p\r
-#usr/share/man/man3p/uname.3p\r
-#usr/share/man/man3p/ungetc.3p\r
-#usr/share/man/man3p/ungetwc.3p\r
-#usr/share/man/man3p/unlink.3p\r
-#usr/share/man/man3p/unlockpt.3p\r
-#usr/share/man/man3p/unsetenv.3p\r
-#usr/share/man/man3p/usleep.3p\r
-#usr/share/man/man3p/utime.3p\r
-#usr/share/man/man3p/utimes.3p\r
-#usr/share/man/man3p/va_arg.3p\r
-#usr/share/man/man3p/va_copy.3p\r
-#usr/share/man/man3p/va_end.3p\r
-#usr/share/man/man3p/va_start.3p\r
-#usr/share/man/man3p/vfork.3p\r
-#usr/share/man/man3p/vfprintf.3p\r
-#usr/share/man/man3p/vfscanf.3p\r
-#usr/share/man/man3p/vfwprintf.3p\r
-#usr/share/man/man3p/vfwscanf.3p\r
-#usr/share/man/man3p/vprintf.3p\r
-#usr/share/man/man3p/vscanf.3p\r
-#usr/share/man/man3p/vsnprintf.3p\r
-#usr/share/man/man3p/vsprintf.3p\r
-#usr/share/man/man3p/vsscanf.3p\r
-#usr/share/man/man3p/vswprintf.3p\r
-#usr/share/man/man3p/vswscanf.3p\r
-#usr/share/man/man3p/vwprintf.3p\r
-#usr/share/man/man3p/vwscanf.3p\r
-#usr/share/man/man3p/wait.3p\r
-#usr/share/man/man3p/waitid.3p\r
-#usr/share/man/man3p/waitpid.3p\r
-#usr/share/man/man3p/wcrtomb.3p\r
-#usr/share/man/man3p/wcscat.3p\r
-#usr/share/man/man3p/wcschr.3p\r
-#usr/share/man/man3p/wcscmp.3p\r
-#usr/share/man/man3p/wcscoll.3p\r
-#usr/share/man/man3p/wcscpy.3p\r
-#usr/share/man/man3p/wcscspn.3p\r
-#usr/share/man/man3p/wcsftime.3p\r
-#usr/share/man/man3p/wcslen.3p\r
-#usr/share/man/man3p/wcsncat.3p\r
-#usr/share/man/man3p/wcsncmp.3p\r
-#usr/share/man/man3p/wcsncpy.3p\r
-#usr/share/man/man3p/wcspbrk.3p\r
-#usr/share/man/man3p/wcsrchr.3p\r
-#usr/share/man/man3p/wcsrtombs.3p\r
-#usr/share/man/man3p/wcsspn.3p\r
-#usr/share/man/man3p/wcsstr.3p\r
-#usr/share/man/man3p/wcstod.3p\r
-#usr/share/man/man3p/wcstof.3p\r
-#usr/share/man/man3p/wcstoimax.3p\r
-#usr/share/man/man3p/wcstok.3p\r
-#usr/share/man/man3p/wcstol.3p\r
-#usr/share/man/man3p/wcstold.3p\r
-#usr/share/man/man3p/wcstoll.3p\r
-#usr/share/man/man3p/wcstombs.3p\r
-#usr/share/man/man3p/wcstoul.3p\r
-#usr/share/man/man3p/wcstoull.3p\r
-#usr/share/man/man3p/wcstoumax.3p\r
-#usr/share/man/man3p/wcswcs.3p\r
-#usr/share/man/man3p/wcswidth.3p\r
-#usr/share/man/man3p/wcsxfrm.3p\r
-#usr/share/man/man3p/wctob.3p\r
-#usr/share/man/man3p/wctomb.3p\r
-#usr/share/man/man3p/wctrans.3p\r
-#usr/share/man/man3p/wctype.3p\r
-#usr/share/man/man3p/wcwidth.3p\r
-#usr/share/man/man3p/wmemchr.3p\r
-#usr/share/man/man3p/wmemcmp.3p\r
-#usr/share/man/man3p/wmemcpy.3p\r
-#usr/share/man/man3p/wmemmove.3p\r
-#usr/share/man/man3p/wmemset.3p\r
-#usr/share/man/man3p/wordexp.3p\r
-#usr/share/man/man3p/wordfree.3p\r
-#usr/share/man/man3p/wprintf.3p\r
-#usr/share/man/man3p/write.3p\r
-#usr/share/man/man3p/writev.3p\r
-#usr/share/man/man3p/wscanf.3p\r
-#usr/share/man/man3p/y0.3p\r
-#usr/share/man/man3p/y1.3p\r
-#usr/share/man/man3p/yn.3p\r
-#usr/share/man/man4/console.4\r
-#usr/share/man/man4/console_codes.4\r
-#usr/share/man/man4/console_ioctl.4\r
-#usr/share/man/man4/dsp56k.4\r
-#usr/share/man/man4/epoll.4\r
-#usr/share/man/man4/fd.4\r
-#usr/share/man/man4/fifo.4\r
-#usr/share/man/man4/full.4\r
-#usr/share/man/man4/futex.4\r
-#usr/share/man/man4/hd.4\r
-#usr/share/man/man4/initrd.4\r
-#usr/share/man/man4/intro.4\r
-#usr/share/man/man4/kmem.4\r
-#usr/share/man/man4/lp.4\r
-#usr/share/man/man4/mem.4\r
-#usr/share/man/man4/mouse.4\r
-#usr/share/man/man4/null.4\r
-#usr/share/man/man4/port.4\r
-#usr/share/man/man4/ptmx.4\r
-#usr/share/man/man4/pts.4\r
-#usr/share/man/man4/ram.4\r
-#usr/share/man/man4/random.4\r
-#usr/share/man/man4/sd.4\r
-#usr/share/man/man4/sk98lin.4\r
-#usr/share/man/man4/st.4\r
-#usr/share/man/man4/tty.4\r
-#usr/share/man/man4/ttyS.4\r
-#usr/share/man/man4/tty_ioctl.4\r
-#usr/share/man/man4/urandom.4\r
-#usr/share/man/man4/vcs.4\r
-#usr/share/man/man4/vcsa.4\r
-#usr/share/man/man4/wavelan.4\r
-#usr/share/man/man4/zero.4\r
-#usr/share/man/man5/acct.5\r
-#usr/share/man/man5/charmap.5\r
-#usr/share/man/man5/complex.5\r
-#usr/share/man/man5/dir_colors.5\r
-#usr/share/man/man5/elf.5\r
-#usr/share/man/man5/environ.5\r
-#usr/share/man/man5/fs.5\r
-#usr/share/man/man5/ftpusers.5\r
-#usr/share/man/man5/group.5\r
-#usr/share/man/man5/host.conf.5\r
-#usr/share/man/man5/hosts.5\r
-#usr/share/man/man5/hosts.equiv.5\r
-#usr/share/man/man5/intro.5\r
-#usr/share/man/man5/ipc.5\r
-#usr/share/man/man5/issue.5\r
-#usr/share/man/man5/locale.5\r
-#usr/share/man/man5/motd.5\r
-#usr/share/man/man5/nologin.5\r
-#usr/share/man/man5/nscd.conf.5\r
-#usr/share/man/man5/nsswitch.conf.5\r
-#usr/share/man/man5/passwd.5\r
-#usr/share/man/man5/proc.5\r
-#usr/share/man/man5/protocols.5\r
-#usr/share/man/man5/resolv.conf.5\r
-#usr/share/man/man5/resolver.5\r
-#usr/share/man/man5/rpc.5\r
-#usr/share/man/man5/securetty.5\r
-#usr/share/man/man5/services.5\r
-#usr/share/man/man5/shells.5\r
-#usr/share/man/man5/slabinfo.5\r
-#usr/share/man/man5/termcap.5\r
-#usr/share/man/man5/ttytype.5\r
-#usr/share/man/man5/tzfile.5\r
-#usr/share/man/man5/utmp.5\r
-#usr/share/man/man5/wtmp.5\r
-#usr/share/man/man6/intro.6\r
-#usr/share/man/man7/LDP.7\r
-#usr/share/man/man7/arp.7\r
-#usr/share/man/man7/ascii.7\r
-#usr/share/man/man7/boot.7\r
-#usr/share/man/man7/bootparam.7\r
-#usr/share/man/man7/capabilities.7\r
-#usr/share/man/man7/charsets.7\r
-#usr/share/man/man7/ddp.7\r
-#usr/share/man/man7/glob.7\r
-#usr/share/man/man7/hier.7\r
-#usr/share/man/man7/icmp.7\r
-#usr/share/man/man7/intro.7\r
-#usr/share/man/man7/ip.7\r
-#usr/share/man/man7/ipv6.7\r
-#usr/share/man/man7/iso-8859-1.7\r
-#usr/share/man/man7/iso-8859-15.7\r
-#usr/share/man/man7/iso-8859-16.7\r
-#usr/share/man/man7/iso-8859-2.7\r
-#usr/share/man/man7/iso-8859-7.7\r
-#usr/share/man/man7/iso-8859-9.7\r
-#usr/share/man/man7/iso_8859-1.7\r
-#usr/share/man/man7/iso_8859-15.7\r
-#usr/share/man/man7/iso_8859-16.7\r
-#usr/share/man/man7/iso_8859-2.7\r
-#usr/share/man/man7/iso_8859-7.7\r
-#usr/share/man/man7/iso_8859-9.7\r
-#usr/share/man/man7/iso_8859_1.7\r
-#usr/share/man/man7/iso_8859_15.7\r
-#usr/share/man/man7/iso_8859_16.7\r
-#usr/share/man/man7/iso_8859_2.7\r
-#usr/share/man/man7/iso_8859_7.7\r
-#usr/share/man/man7/iso_8859_9.7\r
-#usr/share/man/man7/koi8-r.7\r
-#usr/share/man/man7/latin1.7\r
-#usr/share/man/man7/latin10.7\r
-#usr/share/man/man7/latin2.7\r
-#usr/share/man/man7/latin5.7\r
-#usr/share/man/man7/latin9.7\r
-#usr/share/man/man7/locale.7\r
-#usr/share/man/man7/mailaddr.7\r
-#usr/share/man/man7/man.7\r
-#usr/share/man/man7/mdoc.7\r
-#usr/share/man/man7/mdoc.samples.7\r
-#usr/share/man/man7/netdevice.7\r
-#usr/share/man/man7/netlink.7\r
-#usr/share/man/man7/operator.7\r
-#usr/share/man/man7/packet.7\r
-#usr/share/man/man7/posixoptions.7\r
-#usr/share/man/man7/pthreads.7\r
-#usr/share/man/man7/pty.7\r
-#usr/share/man/man7/raw.7\r
-#usr/share/man/man7/regex.7\r
-#usr/share/man/man7/rtnetlink.7\r
-#usr/share/man/man7/signal.7\r
-#usr/share/man/man7/socket.7\r
-#usr/share/man/man7/suffixes.7\r
-#usr/share/man/man7/tcp.7\r
-#usr/share/man/man7/udp.7\r
-#usr/share/man/man7/unicode.7\r
-#usr/share/man/man7/units.7\r
-#usr/share/man/man7/unix.7\r
-#usr/share/man/man7/uri.7\r
-#usr/share/man/man7/url.7\r
-#usr/share/man/man7/urn.7\r
-#usr/share/man/man7/utf-8.7\r
-#usr/share/man/man7/utf8.7\r
-#usr/share/man/man7/x25.7\r
-#usr/share/man/man8/intro.8\r
-#usr/share/man/man8/ld-linux.8\r
-#usr/share/man/man8/ld-linux.so.8\r
-#usr/share/man/man8/ld.so.8\r
-#usr/share/man/man8/ldconfig.8\r
-#usr/share/man/man8/nscd.8\r
-#usr/share/man/man8/sync.8\r
-#usr/share/man/man8/tzselect.8\r
-#usr/share/man/man8/zdump.8\r
-#usr/share/man/man8/zic.8\r
-#usr/share/man/man9\r
-#usr/share/man/man9/ksoftirqd.9\r
-##\r
-## glibc-2.3.3\r
-##\r
-etc/ld.so.cache\r
-etc/localtime\r
-#etc/rpc\r
-lib/ld-2.3.3.so\r
-lib/ld-linux.so.2\r
-#lib/libBrokenLocale-2.3.3.so\r
-#lib/libBrokenLocale.so.1\r
-#lib/libSegFault.so\r
-#lib/libanl-2.3.3.so\r
-#lib/libanl.so.1\r
-lib/libc-2.3.3.so\r
-lib/libc.so.6\r
-lib/libcrypt-2.3.3.so\r
-lib/libcrypt.so.1\r
-lib/libdl-2.3.3.so\r
-lib/libdl.so.2\r
-lib/libm-2.3.3.so\r
-lib/libm.so.6\r
-#lib/libmemusage.so\r
-lib/libnsl-2.3.3.so\r
-lib/libnsl.so.1\r
-lib/libnss_compat-2.3.3.so\r
-lib/libnss_compat.so.2\r
-lib/libnss_dns-2.3.3.so\r
-lib/libnss_dns.so.2\r
-lib/libnss_files-2.3.3.so\r
-lib/libnss_files.so.2\r
-#lib/libnss_hesiod-2.3.3.so\r
-#lib/libnss_hesiod.so.2\r
-#lib/libnss_nis-2.3.3.so\r
-#lib/libnss_nis.so.2\r
-#lib/libnss_nisplus-2.3.3.so\r
-#lib/libnss_nisplus.so.2\r
-#lib/libpcprofile.so\r
-lib/libpthread-0.10.so\r
-lib/libpthread.so.0\r
-lib/libresolv-2.3.3.so\r
-lib/libresolv.so.2\r
-lib/librt-2.3.3.so\r
-lib/librt.so.1\r
-#lib/libthread_db-1.0.so\r
-#lib/libthread_db.so.1\r
-lib/libutil-2.3.3.so\r
-lib/libutil.so.1\r
-sbin/ldconfig\r
-#sbin/sln\r
-#usr/bin/catchsegv\r
-#usr/bin/gencat\r
-#usr/bin/getconf\r
-#usr/bin/getent\r
-#usr/bin/glibcbug\r
-#usr/bin/iconv\r
-#usr/bin/ldd\r
-#usr/bin/lddlibc4\r
-#usr/bin/locale\r
-#usr/bin/localedef\r
-#usr/bin/memusage\r
-#usr/bin/memusagestat\r
-#usr/bin/mtrace\r
-#usr/bin/pcprofiledump\r
-#usr/bin/pt_chown\r
-#usr/bin/rpcgen\r
-#usr/bin/sprof\r
-#usr/bin/tzselect\r
-#usr/bin/xtrace\r
-#usr/include/_G_config.h\r
-#usr/include/a.out.h\r
-#usr/include/aio.h\r
-#usr/include/aliases.h\r
-#usr/include/alloca.h\r
-#usr/include/ar.h\r
-#usr/include/argp.h\r
-#usr/include/argz.h\r
-#usr/include/arpa\r
-#usr/include/arpa/ftp.h\r
-#usr/include/arpa/inet.h\r
-#usr/include/arpa/nameser.h\r
-#usr/include/arpa/nameser_compat.h\r
-#usr/include/arpa/telnet.h\r
-#usr/include/arpa/tftp.h\r
-#usr/include/assert.h\r
-#usr/include/bits\r
-#usr/include/bits/byteswap.h\r
-#usr/include/bits/cmathcalls.h\r
-#usr/include/bits/confname.h\r
-#usr/include/bits/dirent.h\r
-#usr/include/bits/dlfcn.h\r
-#usr/include/bits/elfclass.h\r
-#usr/include/bits/endian.h\r
-#usr/include/bits/environments.h\r
-#usr/include/bits/errno.h\r
-#usr/include/bits/fcntl.h\r
-#usr/include/bits/fenv.h\r
-#usr/include/bits/fenvinline.h\r
-#usr/include/bits/huge_val.h\r
-#usr/include/bits/in.h\r
-#usr/include/bits/initspin.h\r
-#usr/include/bits/ioctl-types.h\r
-#usr/include/bits/ioctls.h\r
-#usr/include/bits/ipc.h\r
-#usr/include/bits/ipctypes.h\r
-#usr/include/bits/libc-lock.h\r
-#usr/include/bits/local_lim.h\r
-#usr/include/bits/locale.h\r
-#usr/include/bits/mathcalls.h\r
-#usr/include/bits/mathdef.h\r
-#usr/include/bits/mathinline.h\r
-#usr/include/bits/mman.h\r
-#usr/include/bits/msq.h\r
-#usr/include/bits/nan.h\r
-#usr/include/bits/netdb.h\r
-#usr/include/bits/poll.h\r
-#usr/include/bits/posix1_lim.h\r
-#usr/include/bits/posix2_lim.h\r
-#usr/include/bits/posix_opt.h\r
-#usr/include/bits/pthreadtypes.h\r
-#usr/include/bits/resource.h\r
-#usr/include/bits/sched.h\r
-#usr/include/bits/select.h\r
-#usr/include/bits/sem.h\r
-#usr/include/bits/setjmp.h\r
-#usr/include/bits/shm.h\r
-#usr/include/bits/sigaction.h\r
-#usr/include/bits/sigcontext.h\r
-#usr/include/bits/siginfo.h\r
-#usr/include/bits/signum.h\r
-#usr/include/bits/sigset.h\r
-#usr/include/bits/sigstack.h\r
-#usr/include/bits/sigthread.h\r
-#usr/include/bits/sockaddr.h\r
-#usr/include/bits/socket.h\r
-#usr/include/bits/stab.def\r
-#usr/include/bits/stat.h\r
-#usr/include/bits/statfs.h\r
-#usr/include/bits/statvfs.h\r
-#usr/include/bits/stdio-lock.h\r
-#usr/include/bits/stdio.h\r
-#usr/include/bits/stdio_lim.h\r
-#usr/include/bits/string.h\r
-#usr/include/bits/string2.h\r
-#usr/include/bits/stropts.h\r
-#usr/include/bits/sys_errlist.h\r
-#usr/include/bits/syscall.h\r
-#usr/include/bits/termios.h\r
-#usr/include/bits/time.h\r
-#usr/include/bits/types.h\r
-#usr/include/bits/typesizes.h\r
-#usr/include/bits/uio.h\r
-#usr/include/bits/ustat.h\r
-#usr/include/bits/utmp.h\r
-#usr/include/bits/utmpx.h\r
-#usr/include/bits/utsname.h\r
-#usr/include/bits/waitflags.h\r
-#usr/include/bits/waitstatus.h\r
-#usr/include/bits/wchar.h\r
-#usr/include/bits/wordsize.h\r
-#usr/include/bits/xopen_lim.h\r
-#usr/include/bits/xtitypes.h\r
-#usr/include/byteswap.h\r
-#usr/include/complex.h\r
-#usr/include/cpio.h\r
-#usr/include/crypt.h\r
-#usr/include/ctype.h\r
-#usr/include/dirent.h\r
-#usr/include/dlfcn.h\r
-#usr/include/elf.h\r
-#usr/include/endian.h\r
-#usr/include/envz.h\r
-#usr/include/err.h\r
-#usr/include/errno.h\r
-#usr/include/error.h\r
-#usr/include/execinfo.h\r
-#usr/include/fcntl.h\r
-#usr/include/features.h\r
-#usr/include/fenv.h\r
-#usr/include/fmtmsg.h\r
-#usr/include/fnmatch.h\r
-#usr/include/fpu_control.h\r
-#usr/include/fstab.h\r
-#usr/include/fts.h\r
-#usr/include/ftw.h\r
-#usr/include/gconv.h\r
-#usr/include/getopt.h\r
-#usr/include/glob.h\r
-#usr/include/gnu\r
-#usr/include/gnu-versions.h\r
-#usr/include/gnu/lib-names.h\r
-#usr/include/gnu/libc-version.h\r
-#usr/include/gnu/stubs.h\r
-#usr/include/grp.h\r
-#usr/include/iconv.h\r
-#usr/include/ieee754.h\r
-#usr/include/ifaddrs.h\r
-#usr/include/inttypes.h\r
-#usr/include/langinfo.h\r
-#usr/include/lastlog.h\r
-#usr/include/libgen.h\r
-#usr/include/libintl.h\r
-#usr/include/libio.h\r
-#usr/include/limits.h\r
-#usr/include/link.h\r
-#usr/include/locale.h\r
-#usr/include/malloc.h\r
-#usr/include/math.h\r
-#usr/include/mcheck.h\r
-#usr/include/memory.h\r
-#usr/include/mntent.h\r
-#usr/include/monetary.h\r
-#usr/include/net\r
-#usr/include/net/ethernet.h\r
-#usr/include/net/if.h\r
-#usr/include/net/if_arp.h\r
-#usr/include/net/if_packet.h\r
-#usr/include/net/if_ppp.h\r
-#usr/include/net/if_shaper.h\r
-#usr/include/net/if_slip.h\r
-#usr/include/net/ppp-comp.h\r
-#usr/include/net/ppp_defs.h\r
-#usr/include/net/route.h\r
-#usr/include/netash\r
-#usr/include/netash/ash.h\r
-#usr/include/netatalk\r
-#usr/include/netatalk/at.h\r
-#usr/include/netax25\r
-#usr/include/netax25/ax25.h\r
-#usr/include/netdb.h\r
-#usr/include/neteconet\r
-#usr/include/neteconet/ec.h\r
-#usr/include/netinet\r
-#usr/include/netinet/ether.h\r
-#usr/include/netinet/icmp6.h\r
-#usr/include/netinet/if_ether.h\r
-#usr/include/netinet/if_fddi.h\r
-#usr/include/netinet/if_tr.h\r
-#usr/include/netinet/igmp.h\r
-#usr/include/netinet/in.h\r
-#usr/include/netinet/in_systm.h\r
-#usr/include/netinet/ip.h\r
-#usr/include/netinet/ip6.h\r
-#usr/include/netinet/ip_icmp.h\r
-#usr/include/netinet/tcp.h\r
-#usr/include/netinet/udp.h\r
-#usr/include/netipx\r
-#usr/include/netipx/ipx.h\r
-#usr/include/netpacket\r
-#usr/include/netpacket/packet.h\r
-#usr/include/netrom\r
-#usr/include/netrom/netrom.h\r
-#usr/include/netrose\r
-#usr/include/netrose/rose.h\r
-#usr/include/nfs\r
-#usr/include/nfs/nfs.h\r
-#usr/include/nl_types.h\r
-#usr/include/nss.h\r
-#usr/include/obstack.h\r
-#usr/include/paths.h\r
-#usr/include/poll.h\r
-#usr/include/printf.h\r
-#usr/include/protocols\r
-#usr/include/protocols/routed.h\r
-#usr/include/protocols/rwhod.h\r
-#usr/include/protocols/talkd.h\r
-#usr/include/protocols/timed.h\r
-#usr/include/pthread.h\r
-#usr/include/pty.h\r
-#usr/include/pwd.h\r
-#usr/include/re_comp.h\r
-#usr/include/regex.h\r
-#usr/include/regexp.h\r
-#usr/include/resolv.h\r
-#usr/include/rpc\r
-#usr/include/rpc/auth.h\r
-#usr/include/rpc/auth_des.h\r
-#usr/include/rpc/auth_unix.h\r
-#usr/include/rpc/clnt.h\r
-#usr/include/rpc/des_crypt.h\r
-#usr/include/rpc/key_prot.h\r
-#usr/include/rpc/netdb.h\r
-#usr/include/rpc/pmap_clnt.h\r
-#usr/include/rpc/pmap_prot.h\r
-#usr/include/rpc/pmap_rmt.h\r
-#usr/include/rpc/rpc.h\r
-#usr/include/rpc/rpc_des.h\r
-#usr/include/rpc/rpc_msg.h\r
-#usr/include/rpc/svc.h\r
-#usr/include/rpc/svc_auth.h\r
-#usr/include/rpc/types.h\r
-#usr/include/rpc/xdr.h\r
-#usr/include/rpcsvc\r
-#usr/include/rpcsvc/bootparam.h\r
-#usr/include/rpcsvc/bootparam_prot.h\r
-#usr/include/rpcsvc/bootparam_prot.x\r
-#usr/include/rpcsvc/key_prot.h\r
-#usr/include/rpcsvc/key_prot.x\r
-#usr/include/rpcsvc/klm_prot.h\r
-#usr/include/rpcsvc/klm_prot.x\r
-#usr/include/rpcsvc/mount.h\r
-#usr/include/rpcsvc/mount.x\r
-#usr/include/rpcsvc/nfs_prot.h\r
-#usr/include/rpcsvc/nfs_prot.x\r
-#usr/include/rpcsvc/nis.h\r
-#usr/include/rpcsvc/nis.x\r
-#usr/include/rpcsvc/nis_callback.h\r
-#usr/include/rpcsvc/nis_callback.x\r
-#usr/include/rpcsvc/nis_object.x\r
-#usr/include/rpcsvc/nis_tags.h\r
-#usr/include/rpcsvc/nislib.h\r
-#usr/include/rpcsvc/nlm_prot.h\r
-#usr/include/rpcsvc/nlm_prot.x\r
-#usr/include/rpcsvc/rex.h\r
-#usr/include/rpcsvc/rex.x\r
-#usr/include/rpcsvc/rquota.h\r
-#usr/include/rpcsvc/rquota.x\r
-#usr/include/rpcsvc/rstat.h\r
-#usr/include/rpcsvc/rstat.x\r
-#usr/include/rpcsvc/rusers.h\r
-#usr/include/rpcsvc/rusers.x\r
-#usr/include/rpcsvc/sm_inter.h\r
-#usr/include/rpcsvc/sm_inter.x\r
-#usr/include/rpcsvc/spray.h\r
-#usr/include/rpcsvc/spray.x\r
-#usr/include/rpcsvc/yp.h\r
-#usr/include/rpcsvc/yp.x\r
-#usr/include/rpcsvc/yp_prot.h\r
-#usr/include/rpcsvc/ypclnt.h\r
-#usr/include/rpcsvc/yppasswd.h\r
-#usr/include/rpcsvc/yppasswd.x\r
-#usr/include/rpcsvc/ypupd.h\r
-#usr/include/sched.h\r
-#usr/include/scsi\r
-#usr/include/scsi/scsi.h\r
-#usr/include/scsi/scsi_ioctl.h\r
-#usr/include/scsi/sg.h\r
-#usr/include/search.h\r
-#usr/include/semaphore.h\r
-#usr/include/setjmp.h\r
-#usr/include/sgtty.h\r
-#usr/include/shadow.h\r
-#usr/include/signal.h\r
-#usr/include/spawn.h\r
-#usr/include/stab.h\r
-#usr/include/stdint.h\r
-#usr/include/stdio.h\r
-#usr/include/stdio_ext.h\r
-#usr/include/stdlib.h\r
-#usr/include/string.h\r
-#usr/include/strings.h\r
-#usr/include/stropts.h\r
-#usr/include/sys\r
-#usr/include/sys/acct.h\r
-#usr/include/sys/bitypes.h\r
-#usr/include/sys/cdefs.h\r
-#usr/include/sys/debugreg.h\r
-#usr/include/sys/dir.h\r
-#usr/include/sys/elf.h\r
-#usr/include/sys/epoll.h\r
-#usr/include/sys/errno.h\r
-#usr/include/sys/fcntl.h\r
-#usr/include/sys/file.h\r
-#usr/include/sys/fsuid.h\r
-#usr/include/sys/gmon.h\r
-#usr/include/sys/gmon_out.h\r
-#usr/include/sys/io.h\r
-#usr/include/sys/ioctl.h\r
-#usr/include/sys/ipc.h\r
-#usr/include/sys/kd.h\r
-#usr/include/sys/kdaemon.h\r
-#usr/include/sys/klog.h\r
-#usr/include/sys/mman.h\r
-#usr/include/sys/mount.h\r
-#usr/include/sys/msg.h\r
-#usr/include/sys/mtio.h\r
-#usr/include/sys/param.h\r
-#usr/include/sys/pci.h\r
-#usr/include/sys/perm.h\r
-#usr/include/sys/personality.h\r
-#usr/include/sys/poll.h\r
-#usr/include/sys/prctl.h\r
-#usr/include/sys/procfs.h\r
-#usr/include/sys/profil.h\r
-#usr/include/sys/ptrace.h\r
-#usr/include/sys/queue.h\r
-#usr/include/sys/quota.h\r
-#usr/include/sys/raw.h\r
-#usr/include/sys/reboot.h\r
-#usr/include/sys/reg.h\r
-#usr/include/sys/resource.h\r
-#usr/include/sys/select.h\r
-#usr/include/sys/sem.h\r
-#usr/include/sys/sendfile.h\r
-#usr/include/sys/shm.h\r
-#usr/include/sys/signal.h\r
-#usr/include/sys/socket.h\r
-#usr/include/sys/socketvar.h\r
-#usr/include/sys/soundcard.h\r
-#usr/include/sys/stat.h\r
-#usr/include/sys/statfs.h\r
-#usr/include/sys/statvfs.h\r
-#usr/include/sys/stropts.h\r
-#usr/include/sys/swap.h\r
-#usr/include/sys/syscall.h\r
-#usr/include/sys/sysctl.h\r
-#usr/include/sys/sysinfo.h\r
-#usr/include/sys/syslog.h\r
-#usr/include/sys/sysmacros.h\r
-#usr/include/sys/termios.h\r
-#usr/include/sys/time.h\r
-#usr/include/sys/timeb.h\r
-#usr/include/sys/times.h\r
-#usr/include/sys/timex.h\r
-#usr/include/sys/ttychars.h\r
-#usr/include/sys/ttydefaults.h\r
-#usr/include/sys/types.h\r
-#usr/include/sys/ucontext.h\r
-#usr/include/sys/uio.h\r
-#usr/include/sys/ultrasound.h\r
-#usr/include/sys/un.h\r
-#usr/include/sys/unistd.h\r
-#usr/include/sys/user.h\r
-#usr/include/sys/ustat.h\r
-#usr/include/sys/utsname.h\r
-#usr/include/sys/vfs.h\r
-#usr/include/sys/vlimit.h\r
-#usr/include/sys/vm86.h\r
-#usr/include/sys/vt.h\r
-#usr/include/sys/vtimes.h\r
-#usr/include/sys/wait.h\r
-#usr/include/sys/xattr.h\r
-#usr/include/syscall.h\r
-#usr/include/sysexits.h\r
-#usr/include/syslog.h\r
-#usr/include/tar.h\r
-#usr/include/termio.h\r
-#usr/include/termios.h\r
-#usr/include/tgmath.h\r
-#usr/include/thread_db.h\r
-#usr/include/time.h\r
-#usr/include/ttyent.h\r
-#usr/include/ucontext.h\r
-#usr/include/ulimit.h\r
-#usr/include/unistd.h\r
-#usr/include/ustat.h\r
-#usr/include/utime.h\r
-#usr/include/utmp.h\r
-#usr/include/utmpx.h\r
-#usr/include/values.h\r
-#usr/include/wait.h\r
-#usr/include/wchar.h\r
-#usr/include/wctype.h\r
-#usr/include/wordexp.h\r
-#usr/include/xlocale.h\r
-#usr/lib/Mcrt1.o\r
-#usr/lib/crt1.o\r
-#usr/lib/crti.o\r
-#usr/lib/crtn.o\r
-#usr/lib/gconv\r
-#usr/lib/gconv/ANSI_X3.110.so\r
-#usr/lib/gconv/ARMSCII-8.so\r
-#usr/lib/gconv/ASMO_449.so\r
-#usr/lib/gconv/BIG5.so\r
-#usr/lib/gconv/BIG5HKSCS.so\r
-#usr/lib/gconv/CP10007.so\r
-#usr/lib/gconv/CP1125.so\r
-#usr/lib/gconv/CP1250.so\r
-#usr/lib/gconv/CP1251.so\r
-#usr/lib/gconv/CP1252.so\r
-#usr/lib/gconv/CP1253.so\r
-#usr/lib/gconv/CP1254.so\r
-#usr/lib/gconv/CP1255.so\r
-#usr/lib/gconv/CP1256.so\r
-#usr/lib/gconv/CP1257.so\r
-#usr/lib/gconv/CP1258.so\r
-#usr/lib/gconv/CP737.so\r
-#usr/lib/gconv/CP775.so\r
-#usr/lib/gconv/CSN_369103.so\r
-#usr/lib/gconv/CWI.so\r
-#usr/lib/gconv/DEC-MCS.so\r
-#usr/lib/gconv/EBCDIC-AT-DE-A.so\r
-#usr/lib/gconv/EBCDIC-AT-DE.so\r
-#usr/lib/gconv/EBCDIC-CA-FR.so\r
-#usr/lib/gconv/EBCDIC-DK-NO-A.so\r
-#usr/lib/gconv/EBCDIC-DK-NO.so\r
-#usr/lib/gconv/EBCDIC-ES-A.so\r
-#usr/lib/gconv/EBCDIC-ES-S.so\r
-#usr/lib/gconv/EBCDIC-ES.so\r
-#usr/lib/gconv/EBCDIC-FI-SE-A.so\r
-#usr/lib/gconv/EBCDIC-FI-SE.so\r
-#usr/lib/gconv/EBCDIC-FR.so\r
-#usr/lib/gconv/EBCDIC-IS-FRISS.so\r
-#usr/lib/gconv/EBCDIC-IT.so\r
-#usr/lib/gconv/EBCDIC-PT.so\r
-#usr/lib/gconv/EBCDIC-UK.so\r
-#usr/lib/gconv/EBCDIC-US.so\r
-#usr/lib/gconv/ECMA-CYRILLIC.so\r
-#usr/lib/gconv/EUC-CN.so\r
-#usr/lib/gconv/EUC-JISX0213.so\r
-#usr/lib/gconv/EUC-JP.so\r
-#usr/lib/gconv/EUC-KR.so\r
-#usr/lib/gconv/EUC-TW.so\r
-#usr/lib/gconv/GB18030.so\r
-#usr/lib/gconv/GBBIG5.so\r
-#usr/lib/gconv/GBGBK.so\r
-#usr/lib/gconv/GBK.so\r
-#usr/lib/gconv/GEORGIAN-ACADEMY.so\r
-#usr/lib/gconv/GEORGIAN-PS.so\r
-#usr/lib/gconv/GOST_19768-74.so\r
-#usr/lib/gconv/GREEK-CCITT.so\r
-#usr/lib/gconv/GREEK7-OLD.so\r
-#usr/lib/gconv/GREEK7.so\r
-#usr/lib/gconv/HP-ROMAN8.so\r
-#usr/lib/gconv/IBM037.so\r
-#usr/lib/gconv/IBM038.so\r
-#usr/lib/gconv/IBM1004.so\r
-#usr/lib/gconv/IBM1026.so\r
-#usr/lib/gconv/IBM1046.so\r
-#usr/lib/gconv/IBM1047.so\r
-#usr/lib/gconv/IBM1124.so\r
-#usr/lib/gconv/IBM1129.so\r
-#usr/lib/gconv/IBM1132.so\r
-#usr/lib/gconv/IBM1133.so\r
-#usr/lib/gconv/IBM1160.so\r
-#usr/lib/gconv/IBM1161.so\r
-#usr/lib/gconv/IBM1162.so\r
-#usr/lib/gconv/IBM1163.so\r
-#usr/lib/gconv/IBM1164.so\r
-#usr/lib/gconv/IBM256.so\r
-#usr/lib/gconv/IBM273.so\r
-#usr/lib/gconv/IBM274.so\r
-#usr/lib/gconv/IBM275.so\r
-#usr/lib/gconv/IBM277.so\r
-#usr/lib/gconv/IBM278.so\r
-#usr/lib/gconv/IBM280.so\r
-#usr/lib/gconv/IBM281.so\r
-#usr/lib/gconv/IBM284.so\r
-#usr/lib/gconv/IBM285.so\r
-#usr/lib/gconv/IBM290.so\r
-#usr/lib/gconv/IBM297.so\r
-#usr/lib/gconv/IBM420.so\r
-#usr/lib/gconv/IBM423.so\r
-#usr/lib/gconv/IBM424.so\r
-#usr/lib/gconv/IBM437.so\r
-#usr/lib/gconv/IBM500.so\r
-#usr/lib/gconv/IBM850.so\r
-#usr/lib/gconv/IBM851.so\r
-#usr/lib/gconv/IBM852.so\r
-#usr/lib/gconv/IBM855.so\r
-#usr/lib/gconv/IBM856.so\r
-#usr/lib/gconv/IBM857.so\r
-#usr/lib/gconv/IBM860.so\r
-#usr/lib/gconv/IBM861.so\r
-#usr/lib/gconv/IBM862.so\r
-#usr/lib/gconv/IBM863.so\r
-#usr/lib/gconv/IBM864.so\r
-#usr/lib/gconv/IBM865.so\r
-#usr/lib/gconv/IBM866.so\r
-#usr/lib/gconv/IBM866NAV.so\r
-#usr/lib/gconv/IBM868.so\r
-#usr/lib/gconv/IBM869.so\r
-#usr/lib/gconv/IBM870.so\r
-#usr/lib/gconv/IBM871.so\r
-#usr/lib/gconv/IBM874.so\r
-#usr/lib/gconv/IBM875.so\r
-#usr/lib/gconv/IBM880.so\r
-#usr/lib/gconv/IBM891.so\r
-#usr/lib/gconv/IBM903.so\r
-#usr/lib/gconv/IBM904.so\r
-#usr/lib/gconv/IBM905.so\r
-#usr/lib/gconv/IBM918.so\r
-#usr/lib/gconv/IBM922.so\r
-#usr/lib/gconv/IBM930.so\r
-#usr/lib/gconv/IBM932.so\r
-#usr/lib/gconv/IBM933.so\r
-#usr/lib/gconv/IBM935.so\r
-#usr/lib/gconv/IBM937.so\r
-#usr/lib/gconv/IBM939.so\r
-#usr/lib/gconv/IBM943.so\r
-#usr/lib/gconv/IEC_P27-1.so\r
-#usr/lib/gconv/INIS-8.so\r
-#usr/lib/gconv/INIS-CYRILLIC.so\r
-#usr/lib/gconv/INIS.so\r
-#usr/lib/gconv/ISIRI-3342.so\r
-#usr/lib/gconv/ISO-2022-CN-EXT.so\r
-#usr/lib/gconv/ISO-2022-CN.so\r
-#usr/lib/gconv/ISO-2022-JP-3.so\r
-#usr/lib/gconv/ISO-2022-JP.so\r
-#usr/lib/gconv/ISO-2022-KR.so\r
-#usr/lib/gconv/ISO-IR-197.so\r
-#usr/lib/gconv/ISO-IR-209.so\r
-#usr/lib/gconv/ISO646.so\r
-#usr/lib/gconv/ISO8859-1.so\r
-#usr/lib/gconv/ISO8859-10.so\r
-#usr/lib/gconv/ISO8859-11.so\r
-#usr/lib/gconv/ISO8859-13.so\r
-#usr/lib/gconv/ISO8859-14.so\r
-#usr/lib/gconv/ISO8859-15.so\r
-#usr/lib/gconv/ISO8859-16.so\r
-#usr/lib/gconv/ISO8859-2.so\r
-#usr/lib/gconv/ISO8859-3.so\r
-#usr/lib/gconv/ISO8859-4.so\r
-#usr/lib/gconv/ISO8859-5.so\r
-#usr/lib/gconv/ISO8859-6.so\r
-#usr/lib/gconv/ISO8859-7.so\r
-#usr/lib/gconv/ISO8859-8.so\r
-#usr/lib/gconv/ISO8859-9.so\r
-#usr/lib/gconv/ISO_10367-BOX.so\r
-#usr/lib/gconv/ISO_2033.so\r
-#usr/lib/gconv/ISO_5427-EXT.so\r
-#usr/lib/gconv/ISO_5427.so\r
-#usr/lib/gconv/ISO_5428.so\r
-#usr/lib/gconv/ISO_6937-2.so\r
-#usr/lib/gconv/ISO_6937.so\r
-#usr/lib/gconv/JOHAB.so\r
-#usr/lib/gconv/KOI-8.so\r
-#usr/lib/gconv/KOI8-R.so\r
-#usr/lib/gconv/KOI8-T.so\r
-#usr/lib/gconv/KOI8-U.so\r
-#usr/lib/gconv/LATIN-GREEK-1.so\r
-#usr/lib/gconv/LATIN-GREEK.so\r
-#usr/lib/gconv/MAC-IS.so\r
-#usr/lib/gconv/MAC-SAMI.so\r
-#usr/lib/gconv/MAC-UK.so\r
-#usr/lib/gconv/MACINTOSH.so\r
-#usr/lib/gconv/NATS-DANO.so\r
-#usr/lib/gconv/NATS-SEFI.so\r
-#usr/lib/gconv/SAMI-WS2.so\r
-#usr/lib/gconv/SHIFT_JISX0213.so\r
-#usr/lib/gconv/SJIS.so\r
-#usr/lib/gconv/T.61.so\r
-#usr/lib/gconv/TCVN5712-1.so\r
-#usr/lib/gconv/TIS-620.so\r
-#usr/lib/gconv/TSCII.so\r
-#usr/lib/gconv/UHC.so\r
-#usr/lib/gconv/UNICODE.so\r
-#usr/lib/gconv/UTF-16.so\r
-#usr/lib/gconv/UTF-32.so\r
-#usr/lib/gconv/UTF-7.so\r
-#usr/lib/gconv/VISCII.so\r
-#usr/lib/gconv/gconv-modules\r
-#usr/lib/gconv/libCNS.so\r
-#usr/lib/gconv/libGB.so\r
-#usr/lib/gconv/libISOIR165.so\r
-#usr/lib/gconv/libJIS.so\r
-#usr/lib/gconv/libJISX0213.so\r
-#usr/lib/gconv/libKSC.so\r
-#usr/lib/gcrt1.o\r
-#usr/lib/libBrokenLocale.a\r
-#usr/lib/libBrokenLocale.so\r
-#usr/lib/libanl.a\r
-#usr/lib/libanl.so\r
-#usr/lib/libbsd-compat.a\r
-#usr/lib/libc.a\r
-#usr/lib/libc.so\r
-#usr/lib/libc_nonshared.a\r
-#usr/lib/libcrypt.a\r
-#usr/lib/libcrypt.so\r
-#usr/lib/libdl.a\r
-#usr/lib/libdl.so\r
-#usr/lib/libg.a\r
-#usr/lib/libieee.a\r
-#usr/lib/libm.a\r
-#usr/lib/libm.so\r
-#usr/lib/libmcheck.a\r
-#usr/lib/libnsl.a\r
-#usr/lib/libnsl.so\r
-#usr/lib/libnss_compat.so\r
-#usr/lib/libnss_dns.so\r
-#usr/lib/libnss_files.so\r
-#usr/lib/libnss_hesiod.so\r
-#usr/lib/libnss_nis.so\r
-#usr/lib/libnss_nisplus.so\r
-#usr/lib/libpthread.a\r
-#usr/lib/libpthread.so\r
-#usr/lib/libpthread_nonshared.a\r
-#usr/lib/libresolv.a\r
-#usr/lib/libresolv.so\r
-#usr/lib/librpcsvc.a\r
-#usr/lib/librt.a\r
-#usr/lib/librt.so\r
-#usr/lib/libthread_db.so\r
-#usr/lib/libutil.a\r
-#usr/lib/libutil.so\r
-#usr/lib/locale\r
-usr/lib/locale/locale-archive\r
-#usr/sbin/iconvconfig\r
-#usr/sbin/nscd\r
-#usr/sbin/nscd_nischeck\r
-#usr/sbin/rpcinfo\r
-#usr/sbin/zdump\r
-#usr/sbin/zic\r
-#usr/share/i18n\r
-#usr/share/i18n/charmaps\r
-#usr/share/i18n/charmaps/ANSI_X3.110-1983.gz\r
-#usr/share/i18n/charmaps/ANSI_X3.4-1968.gz\r
-#usr/share/i18n/charmaps/ARMSCII-8.gz\r
-#usr/share/i18n/charmaps/ASMO_449.gz\r
-#usr/share/i18n/charmaps/BIG5-HKSCS.gz\r
-#usr/share/i18n/charmaps/BIG5.gz\r
-#usr/share/i18n/charmaps/BS_4730.gz\r
-#usr/share/i18n/charmaps/BS_VIEWDATA.gz\r
-#usr/share/i18n/charmaps/CP10007.gz\r
-#usr/share/i18n/charmaps/CP1125.gz\r
-#usr/share/i18n/charmaps/CP1250.gz\r
-#usr/share/i18n/charmaps/CP1251.gz\r
-#usr/share/i18n/charmaps/CP1252.gz\r
-#usr/share/i18n/charmaps/CP1253.gz\r
-#usr/share/i18n/charmaps/CP1254.gz\r
-#usr/share/i18n/charmaps/CP1255.gz\r
-#usr/share/i18n/charmaps/CP1256.gz\r
-#usr/share/i18n/charmaps/CP1257.gz\r
-#usr/share/i18n/charmaps/CP1258.gz\r
-#usr/share/i18n/charmaps/CP737.gz\r
-#usr/share/i18n/charmaps/CP775.gz\r
-#usr/share/i18n/charmaps/CP949.gz\r
-#usr/share/i18n/charmaps/CSA_Z243.4-1985-1.gz\r
-#usr/share/i18n/charmaps/CSA_Z243.4-1985-2.gz\r
-#usr/share/i18n/charmaps/CSA_Z243.4-1985-GR.gz\r
-#usr/share/i18n/charmaps/CSN_369103.gz\r
-#usr/share/i18n/charmaps/CWI.gz\r
-#usr/share/i18n/charmaps/DEC-MCS.gz\r
-#usr/share/i18n/charmaps/DIN_66003.gz\r
-#usr/share/i18n/charmaps/DS_2089.gz\r
-#usr/share/i18n/charmaps/EBCDIC-AT-DE-A.gz\r
-#usr/share/i18n/charmaps/EBCDIC-AT-DE.gz\r
-#usr/share/i18n/charmaps/EBCDIC-CA-FR.gz\r
-#usr/share/i18n/charmaps/EBCDIC-DK-NO-A.gz\r
-#usr/share/i18n/charmaps/EBCDIC-DK-NO.gz\r
-#usr/share/i18n/charmaps/EBCDIC-ES-A.gz\r
-#usr/share/i18n/charmaps/EBCDIC-ES-S.gz\r
-#usr/share/i18n/charmaps/EBCDIC-ES.gz\r
-#usr/share/i18n/charmaps/EBCDIC-FI-SE-A.gz\r
-#usr/share/i18n/charmaps/EBCDIC-FI-SE.gz\r
-#usr/share/i18n/charmaps/EBCDIC-FR.gz\r
-#usr/share/i18n/charmaps/EBCDIC-IS-FRISS.gz\r
-#usr/share/i18n/charmaps/EBCDIC-IT.gz\r
-#usr/share/i18n/charmaps/EBCDIC-PT.gz\r
-#usr/share/i18n/charmaps/EBCDIC-UK.gz\r
-#usr/share/i18n/charmaps/EBCDIC-US.gz\r
-#usr/share/i18n/charmaps/ECMA-CYRILLIC.gz\r
-#usr/share/i18n/charmaps/ES.gz\r
-#usr/share/i18n/charmaps/ES2.gz\r
-#usr/share/i18n/charmaps/EUC-JISX0213.gz\r
-#usr/share/i18n/charmaps/EUC-JP.gz\r
-#usr/share/i18n/charmaps/EUC-KR.gz\r
-#usr/share/i18n/charmaps/EUC-TW.gz\r
-#usr/share/i18n/charmaps/GB18030.gz\r
-#usr/share/i18n/charmaps/GB2312.gz\r
-#usr/share/i18n/charmaps/GBK.gz\r
-#usr/share/i18n/charmaps/GB_1988-80.gz\r
-#usr/share/i18n/charmaps/GEORGIAN-ACADEMY.gz\r
-#usr/share/i18n/charmaps/GEORGIAN-PS.gz\r
-#usr/share/i18n/charmaps/GOST_19768-74.gz\r
-#usr/share/i18n/charmaps/GREEK-CCITT.gz\r
-#usr/share/i18n/charmaps/GREEK7-OLD.gz\r
-#usr/share/i18n/charmaps/GREEK7.gz\r
-#usr/share/i18n/charmaps/HP-ROMAN8.gz\r
-#usr/share/i18n/charmaps/IBM037.gz\r
-#usr/share/i18n/charmaps/IBM038.gz\r
-#usr/share/i18n/charmaps/IBM1004.gz\r
-#usr/share/i18n/charmaps/IBM1026.gz\r
-#usr/share/i18n/charmaps/IBM1047.gz\r
-#usr/share/i18n/charmaps/IBM1124.gz\r
-#usr/share/i18n/charmaps/IBM1129.gz\r
-#usr/share/i18n/charmaps/IBM1132.gz\r
-#usr/share/i18n/charmaps/IBM1133.gz\r
-#usr/share/i18n/charmaps/IBM1160.gz\r
-#usr/share/i18n/charmaps/IBM1161.gz\r
-#usr/share/i18n/charmaps/IBM1162.gz\r
-#usr/share/i18n/charmaps/IBM1163.gz\r
-#usr/share/i18n/charmaps/IBM1164.gz\r
-#usr/share/i18n/charmaps/IBM256.gz\r
-#usr/share/i18n/charmaps/IBM273.gz\r
-#usr/share/i18n/charmaps/IBM274.gz\r
-#usr/share/i18n/charmaps/IBM275.gz\r
-#usr/share/i18n/charmaps/IBM277.gz\r
-#usr/share/i18n/charmaps/IBM278.gz\r
-#usr/share/i18n/charmaps/IBM280.gz\r
-#usr/share/i18n/charmaps/IBM281.gz\r
-#usr/share/i18n/charmaps/IBM284.gz\r
-#usr/share/i18n/charmaps/IBM285.gz\r
-#usr/share/i18n/charmaps/IBM290.gz\r
-#usr/share/i18n/charmaps/IBM297.gz\r
-#usr/share/i18n/charmaps/IBM420.gz\r
-#usr/share/i18n/charmaps/IBM423.gz\r
-#usr/share/i18n/charmaps/IBM424.gz\r
-#usr/share/i18n/charmaps/IBM437.gz\r
-#usr/share/i18n/charmaps/IBM500.gz\r
-#usr/share/i18n/charmaps/IBM850.gz\r
-#usr/share/i18n/charmaps/IBM851.gz\r
-#usr/share/i18n/charmaps/IBM852.gz\r
-#usr/share/i18n/charmaps/IBM855.gz\r
-#usr/share/i18n/charmaps/IBM856.gz\r
-#usr/share/i18n/charmaps/IBM857.gz\r
-#usr/share/i18n/charmaps/IBM860.gz\r
-#usr/share/i18n/charmaps/IBM861.gz\r
-#usr/share/i18n/charmaps/IBM862.gz\r
-#usr/share/i18n/charmaps/IBM863.gz\r
-#usr/share/i18n/charmaps/IBM864.gz\r
-#usr/share/i18n/charmaps/IBM865.gz\r
-#usr/share/i18n/charmaps/IBM866.gz\r
-#usr/share/i18n/charmaps/IBM866NAV.gz\r
-#usr/share/i18n/charmaps/IBM868.gz\r
-#usr/share/i18n/charmaps/IBM869.gz\r
-#usr/share/i18n/charmaps/IBM870.gz\r
-#usr/share/i18n/charmaps/IBM871.gz\r
-#usr/share/i18n/charmaps/IBM874.gz\r
-#usr/share/i18n/charmaps/IBM875.gz\r
-#usr/share/i18n/charmaps/IBM880.gz\r
-#usr/share/i18n/charmaps/IBM891.gz\r
-#usr/share/i18n/charmaps/IBM903.gz\r
-#usr/share/i18n/charmaps/IBM904.gz\r
-#usr/share/i18n/charmaps/IBM905.gz\r
-#usr/share/i18n/charmaps/IBM918.gz\r
-#usr/share/i18n/charmaps/IBM922.gz\r
-#usr/share/i18n/charmaps/IEC_P27-1.gz\r
-#usr/share/i18n/charmaps/INIS-8.gz\r
-#usr/share/i18n/charmaps/INIS-CYRILLIC.gz\r
-#usr/share/i18n/charmaps/INIS.gz\r
-#usr/share/i18n/charmaps/INVARIANT.gz\r
-#usr/share/i18n/charmaps/ISIRI-3342.gz\r
-#usr/share/i18n/charmaps/ISO-8859-1.gz\r
-#usr/share/i18n/charmaps/ISO-8859-10.gz\r
-#usr/share/i18n/charmaps/ISO-8859-11.gz\r
-#usr/share/i18n/charmaps/ISO-8859-13.gz\r
-#usr/share/i18n/charmaps/ISO-8859-14.gz\r
-#usr/share/i18n/charmaps/ISO-8859-15.gz\r
-#usr/share/i18n/charmaps/ISO-8859-16.gz\r
-#usr/share/i18n/charmaps/ISO-8859-2.gz\r
-#usr/share/i18n/charmaps/ISO-8859-3.gz\r
-#usr/share/i18n/charmaps/ISO-8859-4.gz\r
-#usr/share/i18n/charmaps/ISO-8859-5.gz\r
-#usr/share/i18n/charmaps/ISO-8859-6.gz\r
-#usr/share/i18n/charmaps/ISO-8859-7.gz\r
-#usr/share/i18n/charmaps/ISO-8859-8.gz\r
-#usr/share/i18n/charmaps/ISO-8859-9.gz\r
-#usr/share/i18n/charmaps/ISO-IR-197.gz\r
-#usr/share/i18n/charmaps/ISO-IR-209.gz\r
-#usr/share/i18n/charmaps/ISO-IR-90.gz\r
-#usr/share/i18n/charmaps/ISO_10367-BOX.gz\r
-#usr/share/i18n/charmaps/ISO_10646.gz\r
-#usr/share/i18n/charmaps/ISO_2033-1983.gz\r
-#usr/share/i18n/charmaps/ISO_5427-EXT.gz\r
-#usr/share/i18n/charmaps/ISO_5427.gz\r
-#usr/share/i18n/charmaps/ISO_5428.gz\r
-#usr/share/i18n/charmaps/ISO_646.BASIC.gz\r
-#usr/share/i18n/charmaps/ISO_646.IRV.gz\r
-#usr/share/i18n/charmaps/ISO_6937-2-25.gz\r
-#usr/share/i18n/charmaps/ISO_6937-2-ADD.gz\r
-#usr/share/i18n/charmaps/ISO_6937.gz\r
-#usr/share/i18n/charmaps/ISO_8859-1,GL.gz\r
-#usr/share/i18n/charmaps/ISO_8859-SUPP.gz\r
-#usr/share/i18n/charmaps/IT.gz\r
-#usr/share/i18n/charmaps/JIS_C6220-1969-JP.gz\r
-#usr/share/i18n/charmaps/JIS_C6220-1969-RO.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-A.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-B-ADD.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-B.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-HAND-ADD.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-HAND.gz\r
-#usr/share/i18n/charmaps/JIS_C6229-1984-KANA.gz\r
-#usr/share/i18n/charmaps/JIS_X0201.gz\r
-#usr/share/i18n/charmaps/JOHAB.gz\r
-#usr/share/i18n/charmaps/JUS_I.B1.002.gz\r
-#usr/share/i18n/charmaps/JUS_I.B1.003-MAC.gz\r
-#usr/share/i18n/charmaps/JUS_I.B1.003-SERB.gz\r
-#usr/share/i18n/charmaps/KOI-8.gz\r
-#usr/share/i18n/charmaps/KOI8-R.gz\r
-#usr/share/i18n/charmaps/KOI8-T.gz\r
-#usr/share/i18n/charmaps/KOI8-U.gz\r
-#usr/share/i18n/charmaps/KSC5636.gz\r
-#usr/share/i18n/charmaps/LATIN-GREEK-1.gz\r
-#usr/share/i18n/charmaps/LATIN-GREEK.gz\r
-#usr/share/i18n/charmaps/MAC-CYRILLIC.gz\r
-#usr/share/i18n/charmaps/MAC-IS.gz\r
-#usr/share/i18n/charmaps/MAC-SAMI.gz\r
-#usr/share/i18n/charmaps/MAC-UK.gz\r
-#usr/share/i18n/charmaps/MACINTOSH.gz\r
-#usr/share/i18n/charmaps/MSZ_7795.3.gz\r
-#usr/share/i18n/charmaps/NATS-DANO-ADD.gz\r
-#usr/share/i18n/charmaps/NATS-DANO.gz\r
-#usr/share/i18n/charmaps/NATS-SEFI-ADD.gz\r
-#usr/share/i18n/charmaps/NATS-SEFI.gz\r
-#usr/share/i18n/charmaps/NC_NC00-10.gz\r
-#usr/share/i18n/charmaps/NEXTSTEP.gz\r
-#usr/share/i18n/charmaps/NF_Z_62-010.gz\r
-#usr/share/i18n/charmaps/NF_Z_62-010_1973.gz\r
-#usr/share/i18n/charmaps/NS_4551-1.gz\r
-#usr/share/i18n/charmaps/NS_4551-2.gz\r
-#usr/share/i18n/charmaps/PT.gz\r
-#usr/share/i18n/charmaps/PT2.gz\r
-#usr/share/i18n/charmaps/SAMI-WS2.gz\r
-#usr/share/i18n/charmaps/SAMI.gz\r
-#usr/share/i18n/charmaps/SEN_850200_B.gz\r
-#usr/share/i18n/charmaps/SEN_850200_C.gz\r
-#usr/share/i18n/charmaps/SHIFT_JIS.gz\r
-#usr/share/i18n/charmaps/SHIFT_JISX0213.gz\r
-#usr/share/i18n/charmaps/T.101-G2.gz\r
-#usr/share/i18n/charmaps/T.61-7BIT.gz\r
-#usr/share/i18n/charmaps/T.61-8BIT.gz\r
-#usr/share/i18n/charmaps/TCVN5712-1.gz\r
-#usr/share/i18n/charmaps/TIS-620.gz\r
-#usr/share/i18n/charmaps/TSCII.gz\r
-usr/share/i18n/charmaps/UTF-8.gz\r
-#usr/share/i18n/charmaps/VIDEOTEX-SUPPL.gz\r
-#usr/share/i18n/charmaps/VISCII.gz\r
-#usr/share/i18n/locales\r
-#usr/share/i18n/locales/POSIX\r
-#usr/share/i18n/locales/af_ZA\r
-#usr/share/i18n/locales/am_ET\r
-#usr/share/i18n/locales/ar_AE\r
-#usr/share/i18n/locales/ar_BH\r
-#usr/share/i18n/locales/ar_DZ\r
-#usr/share/i18n/locales/ar_EG\r
-#usr/share/i18n/locales/ar_IN\r
-#usr/share/i18n/locales/ar_IQ\r
-#usr/share/i18n/locales/ar_JO\r
-#usr/share/i18n/locales/ar_KW\r
-#usr/share/i18n/locales/ar_LB\r
-#usr/share/i18n/locales/ar_LY\r
-#usr/share/i18n/locales/ar_MA\r
-#usr/share/i18n/locales/ar_OM\r
-#usr/share/i18n/locales/ar_QA\r
-#usr/share/i18n/locales/ar_SA\r
-#usr/share/i18n/locales/ar_SD\r
-#usr/share/i18n/locales/ar_SY\r
-#usr/share/i18n/locales/ar_TN\r
-#usr/share/i18n/locales/ar_YE\r
-#usr/share/i18n/locales/az_AZ\r
-#usr/share/i18n/locales/be_BY\r
-#usr/share/i18n/locales/bg_BG\r
-#usr/share/i18n/locales/bn_BD\r
-#usr/share/i18n/locales/bn_IN\r
-#usr/share/i18n/locales/br_FR\r
-#usr/share/i18n/locales/br_FR@euro\r
-#usr/share/i18n/locales/bs_BA\r
-#usr/share/i18n/locales/ca_ES\r
-#usr/share/i18n/locales/ca_ES@euro\r
-#usr/share/i18n/locales/cs_CZ\r
-#usr/share/i18n/locales/cy_GB\r
-#usr/share/i18n/locales/da_DK\r
-#usr/share/i18n/locales/de_AT\r
-#usr/share/i18n/locales/de_AT@euro\r
-#usr/share/i18n/locales/de_BE\r
-#usr/share/i18n/locales/de_BE@euro\r
-#usr/share/i18n/locales/de_CH\r
-#usr/share/i18n/locales/de_DE\r
-#usr/share/i18n/locales/de_DE@euro\r
-#usr/share/i18n/locales/de_LU\r
-#usr/share/i18n/locales/de_LU@euro\r
-#usr/share/i18n/locales/el_GR\r
-#usr/share/i18n/locales/el_GR@euro\r
-#usr/share/i18n/locales/en_AU\r
-#usr/share/i18n/locales/en_BW\r
-#usr/share/i18n/locales/en_CA\r
-#usr/share/i18n/locales/en_DK\r
-#usr/share/i18n/locales/en_GB\r
-#usr/share/i18n/locales/en_HK\r
-#usr/share/i18n/locales/en_IE\r
-#usr/share/i18n/locales/en_IE@euro\r
-#usr/share/i18n/locales/en_IN\r
-#usr/share/i18n/locales/en_NZ\r
-#usr/share/i18n/locales/en_PH\r
-#usr/share/i18n/locales/en_SG\r
-#usr/share/i18n/locales/en_US\r
-#usr/share/i18n/locales/en_ZA\r
-#usr/share/i18n/locales/en_ZW\r
-#usr/share/i18n/locales/es_AR\r
-#usr/share/i18n/locales/es_BO\r
-#usr/share/i18n/locales/es_CL\r
-#usr/share/i18n/locales/es_CO\r
-#usr/share/i18n/locales/es_CR\r
-#usr/share/i18n/locales/es_DO\r
-#usr/share/i18n/locales/es_EC\r
-#usr/share/i18n/locales/es_ES\r
-#usr/share/i18n/locales/es_ES@euro\r
-#usr/share/i18n/locales/es_GT\r
-#usr/share/i18n/locales/es_HN\r
-#usr/share/i18n/locales/es_MX\r
-#usr/share/i18n/locales/es_NI\r
-#usr/share/i18n/locales/es_PA\r
-#usr/share/i18n/locales/es_PE\r
-#usr/share/i18n/locales/es_PR\r
-#usr/share/i18n/locales/es_PY\r
-#usr/share/i18n/locales/es_SV\r
-#usr/share/i18n/locales/es_US\r
-#usr/share/i18n/locales/es_UY\r
-#usr/share/i18n/locales/es_VE\r
-#usr/share/i18n/locales/et_EE\r
-#usr/share/i18n/locales/eu_ES\r
-#usr/share/i18n/locales/eu_ES@euro\r
-#usr/share/i18n/locales/fa_IR\r
-#usr/share/i18n/locales/fi_FI\r
-#usr/share/i18n/locales/fi_FI@euro\r
-#usr/share/i18n/locales/fo_FO\r
-#usr/share/i18n/locales/fr_BE\r
-#usr/share/i18n/locales/fr_BE@euro\r
-#usr/share/i18n/locales/fr_CA\r
-#usr/share/i18n/locales/fr_CH\r
-#usr/share/i18n/locales/fr_FR\r
-#usr/share/i18n/locales/fr_FR@euro\r
-#usr/share/i18n/locales/fr_LU\r
-#usr/share/i18n/locales/fr_LU@euro\r
-#usr/share/i18n/locales/ga_IE\r
-#usr/share/i18n/locales/ga_IE@euro\r
-#usr/share/i18n/locales/gd_GB\r
-#usr/share/i18n/locales/gl_ES\r
-#usr/share/i18n/locales/gl_ES@euro\r
-#usr/share/i18n/locales/gv_GB\r
-#usr/share/i18n/locales/he_IL\r
-#usr/share/i18n/locales/hi_IN\r
-#usr/share/i18n/locales/hr_HR\r
-#usr/share/i18n/locales/hu_HU\r
-#usr/share/i18n/locales/hy_AM\r
-#usr/share/i18n/locales/i18n\r
-#usr/share/i18n/locales/id_ID\r
-#usr/share/i18n/locales/is_IS\r
-#usr/share/i18n/locales/iso14651_t1\r
-#usr/share/i18n/locales/it_CH\r
-#usr/share/i18n/locales/it_IT\r
-#usr/share/i18n/locales/it_IT@euro\r
-#usr/share/i18n/locales/iw_IL\r
-#usr/share/i18n/locales/ja_JP\r
-#usr/share/i18n/locales/ka_GE\r
-#usr/share/i18n/locales/kl_GL\r
-#usr/share/i18n/locales/ko_KR\r
-#usr/share/i18n/locales/kw_GB\r
-#usr/share/i18n/locales/lt_LT\r
-#usr/share/i18n/locales/lug_UG\r
-#usr/share/i18n/locales/lv_LV\r
-#usr/share/i18n/locales/mi_NZ\r
-#usr/share/i18n/locales/mk_MK\r
-#usr/share/i18n/locales/ml_IN\r
-#usr/share/i18n/locales/mr_IN\r
-#usr/share/i18n/locales/ms_MY\r
-#usr/share/i18n/locales/mt_MT\r
-#usr/share/i18n/locales/nl_BE\r
-#usr/share/i18n/locales/nl_BE@euro\r
-#usr/share/i18n/locales/nl_NL\r
-#usr/share/i18n/locales/nl_NL@euro\r
-#usr/share/i18n/locales/nn_NO\r
-#usr/share/i18n/locales/no_NO\r
-#usr/share/i18n/locales/oc_FR\r
-#usr/share/i18n/locales/pl_PL\r
-#usr/share/i18n/locales/pt_BR\r
-#usr/share/i18n/locales/pt_PT\r
-#usr/share/i18n/locales/pt_PT@euro\r
-#usr/share/i18n/locales/ro_RO\r
-#usr/share/i18n/locales/ru_RU\r
-#usr/share/i18n/locales/ru_UA\r
-#usr/share/i18n/locales/se_NO\r
-#usr/share/i18n/locales/sk_SK\r
-#usr/share/i18n/locales/sl_SI\r
-#usr/share/i18n/locales/sq_AL\r
-#usr/share/i18n/locales/sr_YU\r
-#usr/share/i18n/locales/sr_YU@cyrillic\r
-#usr/share/i18n/locales/sv_FI\r
-#usr/share/i18n/locales/sv_FI@euro\r
-#usr/share/i18n/locales/sv_SE\r
-#usr/share/i18n/locales/ta_IN\r
-#usr/share/i18n/locales/te_IN\r
-#usr/share/i18n/locales/tg_TJ\r
-#usr/share/i18n/locales/th_TH\r
-#usr/share/i18n/locales/ti_ER\r
-#usr/share/i18n/locales/ti_ET\r
-#usr/share/i18n/locales/tl_PH\r
-#usr/share/i18n/locales/tr_TR\r
-#usr/share/i18n/locales/translit_circle\r
-#usr/share/i18n/locales/translit_cjk_compat\r
-#usr/share/i18n/locales/translit_cjk_variants\r
-#usr/share/i18n/locales/translit_combining\r
-#usr/share/i18n/locales/translit_compat\r
-#usr/share/i18n/locales/translit_et\r
-#usr/share/i18n/locales/translit_font\r
-#usr/share/i18n/locales/translit_fraction\r
-#usr/share/i18n/locales/translit_hangul\r
-#usr/share/i18n/locales/translit_narrow\r
-#usr/share/i18n/locales/translit_neutral\r
-#usr/share/i18n/locales/translit_small\r
-#usr/share/i18n/locales/translit_wide\r
-#usr/share/i18n/locales/tt_RU\r
-#usr/share/i18n/locales/uk_UA\r
-#usr/share/i18n/locales/ur_PK\r
-#usr/share/i18n/locales/uz_UZ\r
-#usr/share/i18n/locales/vi_VN\r
-#usr/share/i18n/locales/wa_BE\r
-#usr/share/i18n/locales/wa_BE@euro\r
-#usr/share/i18n/locales/yi_US\r
-#usr/share/i18n/locales/zh_CN\r
-#usr/share/i18n/locales/zh_HK\r
-#usr/share/i18n/locales/zh_SG\r
-#usr/share/i18n/locales/zh_TW\r
-#usr/share/info/dir\r
-#usr/share/info/libc.info\r
-#usr/share/info/libc.info-1\r
-#usr/share/info/libc.info-10\r
-#usr/share/info/libc.info-11\r
-#usr/share/info/libc.info-12\r
-#usr/share/info/libc.info-13\r
-#usr/share/info/libc.info-14\r
-#usr/share/info/libc.info-15\r
-#usr/share/info/libc.info-16\r
-#usr/share/info/libc.info-17\r
-#usr/share/info/libc.info-18\r
-#usr/share/info/libc.info-19\r
-#usr/share/info/libc.info-2\r
-#usr/share/info/libc.info-20\r
-#usr/share/info/libc.info-21\r
-#usr/share/info/libc.info-22\r
-#usr/share/info/libc.info-23\r
-#usr/share/info/libc.info-24\r
-#usr/share/info/libc.info-25\r
-#usr/share/info/libc.info-26\r
-#usr/share/info/libc.info-27\r
-#usr/share/info/libc.info-28\r
-#usr/share/info/libc.info-29\r
-#usr/share/info/libc.info-3\r
-#usr/share/info/libc.info-30\r
-#usr/share/info/libc.info-31\r
-#usr/share/info/libc.info-32\r
-#usr/share/info/libc.info-33\r
-#usr/share/info/libc.info-34\r
-#usr/share/info/libc.info-35\r
-#usr/share/info/libc.info-36\r
-#usr/share/info/libc.info-37\r
-#usr/share/info/libc.info-38\r
-#usr/share/info/libc.info-39\r
-#usr/share/info/libc.info-4\r
-#usr/share/info/libc.info-40\r
-#usr/share/info/libc.info-41\r
-#usr/share/info/libc.info-42\r
-#usr/share/info/libc.info-43\r
-#usr/share/info/libc.info-44\r
-#usr/share/info/libc.info-45\r
-#usr/share/info/libc.info-46\r
-#usr/share/info/libc.info-47\r
-#usr/share/info/libc.info-48\r
-#usr/share/info/libc.info-49\r
-#usr/share/info/libc.info-5\r
-#usr/share/info/libc.info-50\r
-#usr/share/info/libc.info-51\r
-#usr/share/info/libc.info-52\r
-#usr/share/info/libc.info-53\r
-#usr/share/info/libc.info-54\r
-#usr/share/info/libc.info-55\r
-#usr/share/info/libc.info-56\r
-#usr/share/info/libc.info-57\r
-#usr/share/info/libc.info-58\r
-#usr/share/info/libc.info-59\r
-#usr/share/info/libc.info-6\r
-#usr/share/info/libc.info-60\r
-#usr/share/info/libc.info-61\r
-#usr/share/info/libc.info-7\r
-#usr/share/info/libc.info-8\r
-#usr/share/info/libc.info-9\r
-#usr/share/locale/be\r
-#usr/share/locale/be/LC_MESSAGES\r
-#usr/share/locale/be/LC_MESSAGES/libc.mo\r
-#usr/share/locale/ca\r
-#usr/share/locale/ca/LC_MESSAGES\r
-#usr/share/locale/ca/LC_MESSAGES/libc.mo\r
-#usr/share/locale/cs\r
-#usr/share/locale/cs/LC_MESSAGES\r
-#usr/share/locale/cs/LC_MESSAGES/libc.mo\r
-#usr/share/locale/da\r
-#usr/share/locale/da/LC_MESSAGES\r
-#usr/share/locale/da/LC_MESSAGES/libc.mo\r
-#usr/share/locale/de\r
-#usr/share/locale/de/LC_MESSAGES\r
-#usr/share/locale/de/LC_MESSAGES/libc.mo\r
-#usr/share/locale/el\r
-#usr/share/locale/el/LC_MESSAGES\r
-#usr/share/locale/el/LC_MESSAGES/libc.mo\r
-#usr/share/locale/en_GB\r
-#usr/share/locale/en_GB/LC_MESSAGES\r
-#usr/share/locale/en_GB/LC_MESSAGES/libc.mo\r
-#usr/share/locale/es\r
-#usr/share/locale/es/LC_MESSAGES\r
-#usr/share/locale/es/LC_MESSAGES/libc.mo\r
-#usr/share/locale/fi\r
-#usr/share/locale/fi/LC_MESSAGES\r
-#usr/share/locale/fi/LC_MESSAGES/libc.mo\r
-#usr/share/locale/fr\r
-#usr/share/locale/fr/LC_MESSAGES\r
-#usr/share/locale/fr/LC_MESSAGES/libc.mo\r
-#usr/share/locale/gl\r
-#usr/share/locale/gl/LC_MESSAGES\r
-#usr/share/locale/gl/LC_MESSAGES/libc.mo\r
-#usr/share/locale/hr\r
-#usr/share/locale/hr/LC_MESSAGES\r
-#usr/share/locale/hr/LC_MESSAGES/libc.mo\r
-#usr/share/locale/hu\r
-#usr/share/locale/hu/LC_MESSAGES\r
-#usr/share/locale/hu/LC_MESSAGES/libc.mo\r
-#usr/share/locale/it\r
-#usr/share/locale/it/LC_MESSAGES\r
-#usr/share/locale/it/LC_MESSAGES/libc.mo\r
-#usr/share/locale/ja\r
-#usr/share/locale/ja/LC_MESSAGES\r
-#usr/share/locale/ja/LC_MESSAGES/libc.mo\r
-#usr/share/locale/ko\r
-#usr/share/locale/ko/LC_MESSAGES\r
-#usr/share/locale/ko/LC_MESSAGES/libc.mo\r
-#usr/share/locale/locale.alias\r
-#usr/share/locale/nl\r
-#usr/share/locale/nl/LC_MESSAGES\r
-#usr/share/locale/nl/LC_MESSAGES/libc.mo\r
-#usr/share/locale/no\r
-#usr/share/locale/no/LC_MESSAGES\r
-#usr/share/locale/no/LC_MESSAGES/libc.mo\r
-#usr/share/locale/pl\r
-#usr/share/locale/pl/LC_MESSAGES\r
-#usr/share/locale/pl/LC_MESSAGES/libc.mo\r
-#usr/share/locale/pt_BR\r
-#usr/share/locale/pt_BR/LC_MESSAGES\r
-#usr/share/locale/pt_BR/LC_MESSAGES/libc.mo\r
-#usr/share/locale/sk\r
-#usr/share/locale/sk/LC_MESSAGES\r
-#usr/share/locale/sk/LC_MESSAGES/libc.mo\r
-#usr/share/locale/sv\r
-#usr/share/locale/sv/LC_MESSAGES\r
-#usr/share/locale/sv/LC_MESSAGES/libc.mo\r
-#usr/share/locale/tr\r
-#usr/share/locale/tr/LC_MESSAGES\r
-#usr/share/locale/tr/LC_MESSAGES/libc.mo\r
-#usr/share/locale/zh_CN\r
-#usr/share/locale/zh_CN/LC_MESSAGES\r
-#usr/share/locale/zh_CN/LC_MESSAGES/libc.mo\r
-#usr/share/locale/zh_TW\r
-#usr/share/locale/zh_TW/LC_MESSAGES\r
-#usr/share/locale/zh_TW/LC_MESSAGES/libc.mo\r
-#usr/share/zoneinfo/Africa\r
-#usr/share/zoneinfo/Africa/Abidjan\r
-#usr/share/zoneinfo/Africa/Accra\r
-#usr/share/zoneinfo/Africa/Addis_Ababa\r
-#usr/share/zoneinfo/Africa/Algiers\r
-#usr/share/zoneinfo/Africa/Asmera\r
-#usr/share/zoneinfo/Africa/Bamako\r
-#usr/share/zoneinfo/Africa/Bangui\r
-#usr/share/zoneinfo/Africa/Banjul\r
-#usr/share/zoneinfo/Africa/Bissau\r
-#usr/share/zoneinfo/Africa/Blantyre\r
-#usr/share/zoneinfo/Africa/Brazzaville\r
-#usr/share/zoneinfo/Africa/Bujumbura\r
-#usr/share/zoneinfo/Africa/Cairo\r
-#usr/share/zoneinfo/Africa/Casablanca\r
-#usr/share/zoneinfo/Africa/Ceuta\r
-#usr/share/zoneinfo/Africa/Conakry\r
-#usr/share/zoneinfo/Africa/Dakar\r
-#usr/share/zoneinfo/Africa/Dar_es_Salaam\r
-#usr/share/zoneinfo/Africa/Djibouti\r
-#usr/share/zoneinfo/Africa/Douala\r
-#usr/share/zoneinfo/Africa/El_Aaiun\r
-#usr/share/zoneinfo/Africa/Freetown\r
-#usr/share/zoneinfo/Africa/Gaborone\r
-#usr/share/zoneinfo/Africa/Harare\r
-#usr/share/zoneinfo/Africa/Johannesburg\r
-#usr/share/zoneinfo/Africa/Kampala\r
-#usr/share/zoneinfo/Africa/Khartoum\r
-#usr/share/zoneinfo/Africa/Kigali\r
-#usr/share/zoneinfo/Africa/Kinshasa\r
-#usr/share/zoneinfo/Africa/Lagos\r
-#usr/share/zoneinfo/Africa/Libreville\r
-#usr/share/zoneinfo/Africa/Lome\r
-#usr/share/zoneinfo/Africa/Luanda\r
-#usr/share/zoneinfo/Africa/Lubumbashi\r
-#usr/share/zoneinfo/Africa/Lusaka\r
-#usr/share/zoneinfo/Africa/Malabo\r
-#usr/share/zoneinfo/Africa/Maputo\r
-#usr/share/zoneinfo/Africa/Maseru\r
-#usr/share/zoneinfo/Africa/Mbabane\r
-#usr/share/zoneinfo/Africa/Mogadishu\r
-#usr/share/zoneinfo/Africa/Monrovia\r
-#usr/share/zoneinfo/Africa/Nairobi\r
-#usr/share/zoneinfo/Africa/Ndjamena\r
-#usr/share/zoneinfo/Africa/Niamey\r
-#usr/share/zoneinfo/Africa/Nouakchott\r
-#usr/share/zoneinfo/Africa/Ouagadougou\r
-#usr/share/zoneinfo/Africa/Porto-Novo\r
-#usr/share/zoneinfo/Africa/Sao_Tome\r
-#usr/share/zoneinfo/Africa/Timbuktu\r
-#usr/share/zoneinfo/Africa/Tripoli\r
-#usr/share/zoneinfo/Africa/Tunis\r
-#usr/share/zoneinfo/Africa/Windhoek\r
-#usr/share/zoneinfo/America\r
-#usr/share/zoneinfo/America/Adak\r
-#usr/share/zoneinfo/America/Anchorage\r
-#usr/share/zoneinfo/America/Anguilla\r
-#usr/share/zoneinfo/America/Antigua\r
-#usr/share/zoneinfo/America/Araguaina\r
-#usr/share/zoneinfo/America/Aruba\r
-#usr/share/zoneinfo/America/Asuncion\r
-#usr/share/zoneinfo/America/Atka\r
-#usr/share/zoneinfo/America/Barbados\r
-#usr/share/zoneinfo/America/Belem\r
-#usr/share/zoneinfo/America/Belize\r
-#usr/share/zoneinfo/America/Boa_Vista\r
-#usr/share/zoneinfo/America/Bogota\r
-#usr/share/zoneinfo/America/Boise\r
-#usr/share/zoneinfo/America/Buenos_Aires\r
-#usr/share/zoneinfo/America/Cambridge_Bay\r
-#usr/share/zoneinfo/America/Cancun\r
-#usr/share/zoneinfo/America/Caracas\r
-#usr/share/zoneinfo/America/Catamarca\r
-#usr/share/zoneinfo/America/Cayenne\r
-#usr/share/zoneinfo/America/Cayman\r
-#usr/share/zoneinfo/America/Chicago\r
-#usr/share/zoneinfo/America/Chihuahua\r
-#usr/share/zoneinfo/America/Cordoba\r
-#usr/share/zoneinfo/America/Costa_Rica\r
-#usr/share/zoneinfo/America/Cuiaba\r
-#usr/share/zoneinfo/America/Curacao\r
-#usr/share/zoneinfo/America/Danmarkshavn\r
-#usr/share/zoneinfo/America/Dawson\r
-#usr/share/zoneinfo/America/Dawson_Creek\r
-#usr/share/zoneinfo/America/Denver\r
-#usr/share/zoneinfo/America/Detroit\r
-#usr/share/zoneinfo/America/Dominica\r
-#usr/share/zoneinfo/America/Edmonton\r
-#usr/share/zoneinfo/America/Eirunepe\r
-#usr/share/zoneinfo/America/El_Salvador\r
-#usr/share/zoneinfo/America/Ensenada\r
-#usr/share/zoneinfo/America/Fort_Wayne\r
-#usr/share/zoneinfo/America/Fortaleza\r
-#usr/share/zoneinfo/America/Glace_Bay\r
-#usr/share/zoneinfo/America/Godthab\r
-#usr/share/zoneinfo/America/Goose_Bay\r
-#usr/share/zoneinfo/America/Grand_Turk\r
-#usr/share/zoneinfo/America/Grenada\r
-#usr/share/zoneinfo/America/Guadeloupe\r
-#usr/share/zoneinfo/America/Guatemala\r
-#usr/share/zoneinfo/America/Guayaquil\r
-#usr/share/zoneinfo/America/Guyana\r
-#usr/share/zoneinfo/America/Halifax\r
-#usr/share/zoneinfo/America/Havana\r
-#usr/share/zoneinfo/America/Hermosillo\r
-#usr/share/zoneinfo/America/Indiana\r
-#usr/share/zoneinfo/America/Indiana/Indianapolis\r
-#usr/share/zoneinfo/America/Indiana/Knox\r
-#usr/share/zoneinfo/America/Indiana/Marengo\r
-#usr/share/zoneinfo/America/Indiana/Vevay\r
-#usr/share/zoneinfo/America/Indianapolis\r
-#usr/share/zoneinfo/America/Inuvik\r
-#usr/share/zoneinfo/America/Iqaluit\r
-#usr/share/zoneinfo/America/Jamaica\r
-#usr/share/zoneinfo/America/Jujuy\r
-#usr/share/zoneinfo/America/Juneau\r
-#usr/share/zoneinfo/America/Kentucky\r
-#usr/share/zoneinfo/America/Kentucky/Louisville\r
-#usr/share/zoneinfo/America/Kentucky/Monticello\r
-#usr/share/zoneinfo/America/Knox_IN\r
-#usr/share/zoneinfo/America/La_Paz\r
-#usr/share/zoneinfo/America/Lima\r
-#usr/share/zoneinfo/America/Los_Angeles\r
-#usr/share/zoneinfo/America/Louisville\r
-#usr/share/zoneinfo/America/Maceio\r
-#usr/share/zoneinfo/America/Managua\r
-#usr/share/zoneinfo/America/Manaus\r
-#usr/share/zoneinfo/America/Martinique\r
-#usr/share/zoneinfo/America/Mazatlan\r
-#usr/share/zoneinfo/America/Mendoza\r
-#usr/share/zoneinfo/America/Menominee\r
-#usr/share/zoneinfo/America/Merida\r
-#usr/share/zoneinfo/America/Mexico_City\r
-#usr/share/zoneinfo/America/Miquelon\r
-#usr/share/zoneinfo/America/Monterrey\r
-#usr/share/zoneinfo/America/Montevideo\r
-#usr/share/zoneinfo/America/Montreal\r
-#usr/share/zoneinfo/America/Montserrat\r
-#usr/share/zoneinfo/America/Nassau\r
-#usr/share/zoneinfo/America/New_York\r
-#usr/share/zoneinfo/America/Nipigon\r
-#usr/share/zoneinfo/America/Nome\r
-#usr/share/zoneinfo/America/Noronha\r
-#usr/share/zoneinfo/America/North_Dakota\r
-#usr/share/zoneinfo/America/North_Dakota/Center\r
-#usr/share/zoneinfo/America/Panama\r
-#usr/share/zoneinfo/America/Pangnirtung\r
-#usr/share/zoneinfo/America/Paramaribo\r
-#usr/share/zoneinfo/America/Phoenix\r
-#usr/share/zoneinfo/America/Port-au-Prince\r
-#usr/share/zoneinfo/America/Port_of_Spain\r
-#usr/share/zoneinfo/America/Porto_Acre\r
-#usr/share/zoneinfo/America/Porto_Velho\r
-#usr/share/zoneinfo/America/Puerto_Rico\r
-#usr/share/zoneinfo/America/Rainy_River\r
-#usr/share/zoneinfo/America/Rankin_Inlet\r
-#usr/share/zoneinfo/America/Recife\r
-#usr/share/zoneinfo/America/Regina\r
-#usr/share/zoneinfo/America/Rio_Branco\r
-#usr/share/zoneinfo/America/Rosario\r
-#usr/share/zoneinfo/America/Santiago\r
-#usr/share/zoneinfo/America/Santo_Domingo\r
-#usr/share/zoneinfo/America/Sao_Paulo\r
-#usr/share/zoneinfo/America/Scoresbysund\r
-#usr/share/zoneinfo/America/Shiprock\r
-#usr/share/zoneinfo/America/St_Johns\r
-#usr/share/zoneinfo/America/St_Kitts\r
-#usr/share/zoneinfo/America/St_Lucia\r
-#usr/share/zoneinfo/America/St_Thomas\r
-#usr/share/zoneinfo/America/St_Vincent\r
-#usr/share/zoneinfo/America/Swift_Current\r
-#usr/share/zoneinfo/America/Tegucigalpa\r
-#usr/share/zoneinfo/America/Thule\r
-#usr/share/zoneinfo/America/Thunder_Bay\r
-#usr/share/zoneinfo/America/Tijuana\r
-#usr/share/zoneinfo/America/Tortola\r
-#usr/share/zoneinfo/America/Vancouver\r
-#usr/share/zoneinfo/America/Virgin\r
-#usr/share/zoneinfo/America/Whitehorse\r
-#usr/share/zoneinfo/America/Winnipeg\r
-#usr/share/zoneinfo/America/Yakutat\r
-#usr/share/zoneinfo/America/Yellowknife\r
-#usr/share/zoneinfo/Antarctica\r
-#usr/share/zoneinfo/Antarctica/Casey\r
-#usr/share/zoneinfo/Antarctica/Davis\r
-#usr/share/zoneinfo/Antarctica/DumontDUrville\r
-#usr/share/zoneinfo/Antarctica/Mawson\r
-#usr/share/zoneinfo/Antarctica/McMurdo\r
-#usr/share/zoneinfo/Antarctica/Palmer\r
-#usr/share/zoneinfo/Antarctica/South_Pole\r
-#usr/share/zoneinfo/Antarctica/Syowa\r
-#usr/share/zoneinfo/Antarctica/Vostok\r
-#usr/share/zoneinfo/Arctic\r
-#usr/share/zoneinfo/Arctic/Longyearbyen\r
-#usr/share/zoneinfo/Asia\r
-#usr/share/zoneinfo/Asia/Aden\r
-#usr/share/zoneinfo/Asia/Almaty\r
-#usr/share/zoneinfo/Asia/Amman\r
-#usr/share/zoneinfo/Asia/Anadyr\r
-#usr/share/zoneinfo/Asia/Aqtau\r
-#usr/share/zoneinfo/Asia/Aqtobe\r
-#usr/share/zoneinfo/Asia/Ashgabat\r
-#usr/share/zoneinfo/Asia/Ashkhabad\r
-#usr/share/zoneinfo/Asia/Baghdad\r
-#usr/share/zoneinfo/Asia/Bahrain\r
-#usr/share/zoneinfo/Asia/Baku\r
-#usr/share/zoneinfo/Asia/Bangkok\r
-#usr/share/zoneinfo/Asia/Beirut\r
-#usr/share/zoneinfo/Asia/Bishkek\r
-#usr/share/zoneinfo/Asia/Brunei\r
-#usr/share/zoneinfo/Asia/Calcutta\r
-#usr/share/zoneinfo/Asia/Choibalsan\r
-#usr/share/zoneinfo/Asia/Chongqing\r
-#usr/share/zoneinfo/Asia/Chungking\r
-#usr/share/zoneinfo/Asia/Colombo\r
-#usr/share/zoneinfo/Asia/Dacca\r
-#usr/share/zoneinfo/Asia/Damascus\r
-#usr/share/zoneinfo/Asia/Dhaka\r
-#usr/share/zoneinfo/Asia/Dili\r
-#usr/share/zoneinfo/Asia/Dubai\r
-#usr/share/zoneinfo/Asia/Dushanbe\r
-#usr/share/zoneinfo/Asia/Gaza\r
-#usr/share/zoneinfo/Asia/Harbin\r
-#usr/share/zoneinfo/Asia/Hong_Kong\r
-#usr/share/zoneinfo/Asia/Hovd\r
-#usr/share/zoneinfo/Asia/Irkutsk\r
-#usr/share/zoneinfo/Asia/Istanbul\r
-#usr/share/zoneinfo/Asia/Jakarta\r
-#usr/share/zoneinfo/Asia/Jayapura\r
-#usr/share/zoneinfo/Asia/Jerusalem\r
-#usr/share/zoneinfo/Asia/Kabul\r
-#usr/share/zoneinfo/Asia/Kamchatka\r
-#usr/share/zoneinfo/Asia/Karachi\r
-#usr/share/zoneinfo/Asia/Kashgar\r
-#usr/share/zoneinfo/Asia/Katmandu\r
-#usr/share/zoneinfo/Asia/Krasnoyarsk\r
-#usr/share/zoneinfo/Asia/Kuala_Lumpur\r
-#usr/share/zoneinfo/Asia/Kuching\r
-#usr/share/zoneinfo/Asia/Kuwait\r
-#usr/share/zoneinfo/Asia/Macao\r
-#usr/share/zoneinfo/Asia/Macau\r
-#usr/share/zoneinfo/Asia/Magadan\r
-#usr/share/zoneinfo/Asia/Makassar\r
-#usr/share/zoneinfo/Asia/Manila\r
-#usr/share/zoneinfo/Asia/Muscat\r
-#usr/share/zoneinfo/Asia/Nicosia\r
-#usr/share/zoneinfo/Asia/Novosibirsk\r
-#usr/share/zoneinfo/Asia/Omsk\r
-#usr/share/zoneinfo/Asia/Oral\r
-#usr/share/zoneinfo/Asia/Phnom_Penh\r
-#usr/share/zoneinfo/Asia/Pontianak\r
-#usr/share/zoneinfo/Asia/Pyongyang\r
-#usr/share/zoneinfo/Asia/Qatar\r
-#usr/share/zoneinfo/Asia/Qyzylorda\r
-#usr/share/zoneinfo/Asia/Rangoon\r
-#usr/share/zoneinfo/Asia/Riyadh\r
-#usr/share/zoneinfo/Asia/Riyadh87\r
-#usr/share/zoneinfo/Asia/Riyadh88\r
-#usr/share/zoneinfo/Asia/Riyadh89\r
-#usr/share/zoneinfo/Asia/Saigon\r
-#usr/share/zoneinfo/Asia/Sakhalin\r
-#usr/share/zoneinfo/Asia/Samarkand\r
-#usr/share/zoneinfo/Asia/Seoul\r
-#usr/share/zoneinfo/Asia/Shanghai\r
-#usr/share/zoneinfo/Asia/Singapore\r
-#usr/share/zoneinfo/Asia/Taipei\r
-#usr/share/zoneinfo/Asia/Tashkent\r
-#usr/share/zoneinfo/Asia/Tbilisi\r
-#usr/share/zoneinfo/Asia/Tehran\r
-#usr/share/zoneinfo/Asia/Tel_Aviv\r
-#usr/share/zoneinfo/Asia/Thimbu\r
-#usr/share/zoneinfo/Asia/Thimphu\r
-#usr/share/zoneinfo/Asia/Tokyo\r
-#usr/share/zoneinfo/Asia/Ujung_Pandang\r
-#usr/share/zoneinfo/Asia/Ulaanbaatar\r
-#usr/share/zoneinfo/Asia/Ulan_Bator\r
-#usr/share/zoneinfo/Asia/Urumqi\r
-#usr/share/zoneinfo/Asia/Vientiane\r
-#usr/share/zoneinfo/Asia/Vladivostok\r
-#usr/share/zoneinfo/Asia/Yakutsk\r
-#usr/share/zoneinfo/Asia/Yekaterinburg\r
-#usr/share/zoneinfo/Asia/Yerevan\r
-#usr/share/zoneinfo/Atlantic\r
-#usr/share/zoneinfo/Atlantic/Azores\r
-#usr/share/zoneinfo/Atlantic/Bermuda\r
-#usr/share/zoneinfo/Atlantic/Canary\r
-#usr/share/zoneinfo/Atlantic/Cape_Verde\r
-#usr/share/zoneinfo/Atlantic/Faeroe\r
-#usr/share/zoneinfo/Atlantic/Jan_Mayen\r
-#usr/share/zoneinfo/Atlantic/Madeira\r
-#usr/share/zoneinfo/Atlantic/Reykjavik\r
-#usr/share/zoneinfo/Atlantic/South_Georgia\r
-#usr/share/zoneinfo/Atlantic/St_Helena\r
-#usr/share/zoneinfo/Atlantic/Stanley\r
-#usr/share/zoneinfo/Australia\r
-#usr/share/zoneinfo/Australia/ACT\r
-#usr/share/zoneinfo/Australia/Adelaide\r
-#usr/share/zoneinfo/Australia/Brisbane\r
-#usr/share/zoneinfo/Australia/Broken_Hill\r
-#usr/share/zoneinfo/Australia/Canberra\r
-#usr/share/zoneinfo/Australia/Darwin\r
-#usr/share/zoneinfo/Australia/Hobart\r
-#usr/share/zoneinfo/Australia/LHI\r
-#usr/share/zoneinfo/Australia/Lindeman\r
-#usr/share/zoneinfo/Australia/Lord_Howe\r
-#usr/share/zoneinfo/Australia/Melbourne\r
-#usr/share/zoneinfo/Australia/NSW\r
-#usr/share/zoneinfo/Australia/North\r
-#usr/share/zoneinfo/Australia/Perth\r
-#usr/share/zoneinfo/Australia/Queensland\r
-#usr/share/zoneinfo/Australia/South\r
-#usr/share/zoneinfo/Australia/Sydney\r
-#usr/share/zoneinfo/Australia/Tasmania\r
-#usr/share/zoneinfo/Australia/Victoria\r
-#usr/share/zoneinfo/Australia/West\r
-#usr/share/zoneinfo/Australia/Yancowinna\r
-#usr/share/zoneinfo/Brazil\r
-#usr/share/zoneinfo/Brazil/Acre\r
-#usr/share/zoneinfo/Brazil/DeNoronha\r
-#usr/share/zoneinfo/Brazil/East\r
-#usr/share/zoneinfo/Brazil/West\r
-#usr/share/zoneinfo/CET\r
-#usr/share/zoneinfo/CST6CDT\r
-#usr/share/zoneinfo/Canada\r
-#usr/share/zoneinfo/Canada/Atlantic\r
-#usr/share/zoneinfo/Canada/Central\r
-#usr/share/zoneinfo/Canada/East-Saskatchewan\r
-#usr/share/zoneinfo/Canada/Eastern\r
-#usr/share/zoneinfo/Canada/Mountain\r
-#usr/share/zoneinfo/Canada/Newfoundland\r
-#usr/share/zoneinfo/Canada/Pacific\r
-#usr/share/zoneinfo/Canada/Saskatchewan\r
-#usr/share/zoneinfo/Canada/Yukon\r
-#usr/share/zoneinfo/Chile\r
-#usr/share/zoneinfo/Chile/Continental\r
-#usr/share/zoneinfo/Chile/EasterIsland\r
-#usr/share/zoneinfo/Cuba\r
-#usr/share/zoneinfo/EET\r
-#usr/share/zoneinfo/EST\r
-#usr/share/zoneinfo/EST5EDT\r
-#usr/share/zoneinfo/Egypt\r
-#usr/share/zoneinfo/Eire\r
-#usr/share/zoneinfo/Etc\r
-#usr/share/zoneinfo/Etc/GMT\r
-#usr/share/zoneinfo/Etc/GMT+0\r
-#usr/share/zoneinfo/Etc/GMT+1\r
-#usr/share/zoneinfo/Etc/GMT+10\r
-#usr/share/zoneinfo/Etc/GMT+11\r
-#usr/share/zoneinfo/Etc/GMT+12\r
-#usr/share/zoneinfo/Etc/GMT+2\r
-#usr/share/zoneinfo/Etc/GMT+3\r
-#usr/share/zoneinfo/Etc/GMT+4\r
-#usr/share/zoneinfo/Etc/GMT+5\r
-#usr/share/zoneinfo/Etc/GMT+6\r
-#usr/share/zoneinfo/Etc/GMT+7\r
-#usr/share/zoneinfo/Etc/GMT+8\r
-#usr/share/zoneinfo/Etc/GMT+9\r
-#usr/share/zoneinfo/Etc/GMT-0\r
-#usr/share/zoneinfo/Etc/GMT-1\r
-#usr/share/zoneinfo/Etc/GMT-10\r
-#usr/share/zoneinfo/Etc/GMT-11\r
-#usr/share/zoneinfo/Etc/GMT-12\r
-#usr/share/zoneinfo/Etc/GMT-13\r
-#usr/share/zoneinfo/Etc/GMT-14\r
-#usr/share/zoneinfo/Etc/GMT-2\r
-#usr/share/zoneinfo/Etc/GMT-3\r
-#usr/share/zoneinfo/Etc/GMT-4\r
-#usr/share/zoneinfo/Etc/GMT-5\r
-#usr/share/zoneinfo/Etc/GMT-6\r
-#usr/share/zoneinfo/Etc/GMT-7\r
-#usr/share/zoneinfo/Etc/GMT-8\r
-#usr/share/zoneinfo/Etc/GMT-9\r
-#usr/share/zoneinfo/Etc/GMT0\r
-#usr/share/zoneinfo/Etc/Greenwich\r
-#usr/share/zoneinfo/Etc/UCT\r
-#usr/share/zoneinfo/Etc/UTC\r
-#usr/share/zoneinfo/Etc/Universal\r
-#usr/share/zoneinfo/Etc/Zulu\r
-#usr/share/zoneinfo/Europe\r
-#usr/share/zoneinfo/Europe/Amsterdam\r
-#usr/share/zoneinfo/Europe/Andorra\r
-#usr/share/zoneinfo/Europe/Athens\r
-#usr/share/zoneinfo/Europe/Belfast\r
-#usr/share/zoneinfo/Europe/Belgrade\r
-#usr/share/zoneinfo/Europe/Berlin\r
-#usr/share/zoneinfo/Europe/Bratislava\r
-#usr/share/zoneinfo/Europe/Brussels\r
-#usr/share/zoneinfo/Europe/Bucharest\r
-#usr/share/zoneinfo/Europe/Budapest\r
-#usr/share/zoneinfo/Europe/Chisinau\r
-#usr/share/zoneinfo/Europe/Copenhagen\r
-#usr/share/zoneinfo/Europe/Dublin\r
-#usr/share/zoneinfo/Europe/Gibraltar\r
-#usr/share/zoneinfo/Europe/Helsinki\r
-#usr/share/zoneinfo/Europe/Istanbul\r
-#usr/share/zoneinfo/Europe/Kaliningrad\r
-#usr/share/zoneinfo/Europe/Kiev\r
-#usr/share/zoneinfo/Europe/Lisbon\r
-#usr/share/zoneinfo/Europe/Ljubljana\r
-#usr/share/zoneinfo/Europe/London\r
-#usr/share/zoneinfo/Europe/Luxembourg\r
-#usr/share/zoneinfo/Europe/Madrid\r
-#usr/share/zoneinfo/Europe/Malta\r
-#usr/share/zoneinfo/Europe/Minsk\r
-#usr/share/zoneinfo/Europe/Monaco\r
-#usr/share/zoneinfo/Europe/Moscow\r
-#usr/share/zoneinfo/Europe/Nicosia\r
-#usr/share/zoneinfo/Europe/Oslo\r
-#usr/share/zoneinfo/Europe/Paris\r
-#usr/share/zoneinfo/Europe/Prague\r
-#usr/share/zoneinfo/Europe/Riga\r
-#usr/share/zoneinfo/Europe/Rome\r
-#usr/share/zoneinfo/Europe/Samara\r
-#usr/share/zoneinfo/Europe/San_Marino\r
-#usr/share/zoneinfo/Europe/Sarajevo\r
-#usr/share/zoneinfo/Europe/Simferopol\r
-#usr/share/zoneinfo/Europe/Skopje\r
-#usr/share/zoneinfo/Europe/Sofia\r
-#usr/share/zoneinfo/Europe/Stockholm\r
-#usr/share/zoneinfo/Europe/Tallinn\r
-#usr/share/zoneinfo/Europe/Tirane\r
-#usr/share/zoneinfo/Europe/Tiraspol\r
-#usr/share/zoneinfo/Europe/Uzhgorod\r
-#usr/share/zoneinfo/Europe/Vaduz\r
-#usr/share/zoneinfo/Europe/Vatican\r
-#usr/share/zoneinfo/Europe/Vienna\r
-#usr/share/zoneinfo/Europe/Vilnius\r
-#usr/share/zoneinfo/Europe/Warsaw\r
-#usr/share/zoneinfo/Europe/Zagreb\r
-#usr/share/zoneinfo/Europe/Zaporozhye\r
-#usr/share/zoneinfo/Europe/Zurich\r
-#usr/share/zoneinfo/Factory\r
-#usr/share/zoneinfo/GB\r
-#usr/share/zoneinfo/GB-Eire\r
-#usr/share/zoneinfo/GMT\r
-#usr/share/zoneinfo/GMT+0\r
-#usr/share/zoneinfo/GMT-0\r
-#usr/share/zoneinfo/GMT0\r
-#usr/share/zoneinfo/Greenwich\r
-#usr/share/zoneinfo/HST\r
-#usr/share/zoneinfo/Hongkong\r
-#usr/share/zoneinfo/Iceland\r
-#usr/share/zoneinfo/Indian\r
-#usr/share/zoneinfo/Indian/Antananarivo\r
-#usr/share/zoneinfo/Indian/Chagos\r
-#usr/share/zoneinfo/Indian/Christmas\r
-#usr/share/zoneinfo/Indian/Cocos\r
-#usr/share/zoneinfo/Indian/Comoro\r
-#usr/share/zoneinfo/Indian/Kerguelen\r
-#usr/share/zoneinfo/Indian/Mahe\r
-#usr/share/zoneinfo/Indian/Maldives\r
-#usr/share/zoneinfo/Indian/Mauritius\r
-#usr/share/zoneinfo/Indian/Mayotte\r
-#usr/share/zoneinfo/Indian/Reunion\r
-#usr/share/zoneinfo/Iran\r
-#usr/share/zoneinfo/Israel\r
-#usr/share/zoneinfo/Jamaica\r
-#usr/share/zoneinfo/Japan\r
-#usr/share/zoneinfo/Kwajalein\r
-#usr/share/zoneinfo/Libya\r
-#usr/share/zoneinfo/MET\r
-#usr/share/zoneinfo/MST\r
-#usr/share/zoneinfo/MST7MDT\r
-#usr/share/zoneinfo/Mexico\r
-#usr/share/zoneinfo/Mexico/BajaNorte\r
-#usr/share/zoneinfo/Mexico/BajaSur\r
-#usr/share/zoneinfo/Mexico/General\r
-#usr/share/zoneinfo/Mideast\r
-#usr/share/zoneinfo/Mideast/Riyadh87\r
-#usr/share/zoneinfo/Mideast/Riyadh88\r
-#usr/share/zoneinfo/Mideast/Riyadh89\r
-#usr/share/zoneinfo/NZ\r
-#usr/share/zoneinfo/NZ-CHAT\r
-#usr/share/zoneinfo/Navajo\r
-#usr/share/zoneinfo/PRC\r
-#usr/share/zoneinfo/PST8PDT\r
-#usr/share/zoneinfo/Pacific\r
-#usr/share/zoneinfo/Pacific/Apia\r
-#usr/share/zoneinfo/Pacific/Auckland\r
-#usr/share/zoneinfo/Pacific/Chatham\r
-#usr/share/zoneinfo/Pacific/Easter\r
-#usr/share/zoneinfo/Pacific/Efate\r
-#usr/share/zoneinfo/Pacific/Enderbury\r
-#usr/share/zoneinfo/Pacific/Fakaofo\r
-#usr/share/zoneinfo/Pacific/Fiji\r
-#usr/share/zoneinfo/Pacific/Funafuti\r
-#usr/share/zoneinfo/Pacific/Galapagos\r
-#usr/share/zoneinfo/Pacific/Gambier\r
-#usr/share/zoneinfo/Pacific/Guadalcanal\r
-#usr/share/zoneinfo/Pacific/Guam\r
-#usr/share/zoneinfo/Pacific/Honolulu\r
-#usr/share/zoneinfo/Pacific/Johnston\r
-#usr/share/zoneinfo/Pacific/Kiritimati\r
-#usr/share/zoneinfo/Pacific/Kosrae\r
-#usr/share/zoneinfo/Pacific/Kwajalein\r
-#usr/share/zoneinfo/Pacific/Majuro\r
-#usr/share/zoneinfo/Pacific/Marquesas\r
-#usr/share/zoneinfo/Pacific/Midway\r
-#usr/share/zoneinfo/Pacific/Nauru\r
-#usr/share/zoneinfo/Pacific/Niue\r
-#usr/share/zoneinfo/Pacific/Norfolk\r
-#usr/share/zoneinfo/Pacific/Noumea\r
-#usr/share/zoneinfo/Pacific/Pago_Pago\r
-#usr/share/zoneinfo/Pacific/Palau\r
-#usr/share/zoneinfo/Pacific/Pitcairn\r
-#usr/share/zoneinfo/Pacific/Ponape\r
-#usr/share/zoneinfo/Pacific/Port_Moresby\r
-#usr/share/zoneinfo/Pacific/Rarotonga\r
-#usr/share/zoneinfo/Pacific/Saipan\r
-#usr/share/zoneinfo/Pacific/Samoa\r
-#usr/share/zoneinfo/Pacific/Tahiti\r
-#usr/share/zoneinfo/Pacific/Tarawa\r
-#usr/share/zoneinfo/Pacific/Tongatapu\r
-#usr/share/zoneinfo/Pacific/Truk\r
-#usr/share/zoneinfo/Pacific/Wake\r
-#usr/share/zoneinfo/Pacific/Wallis\r
-#usr/share/zoneinfo/Pacific/Yap\r
-#usr/share/zoneinfo/Poland\r
-#usr/share/zoneinfo/Portugal\r
-#usr/share/zoneinfo/ROC\r
-#usr/share/zoneinfo/ROK\r
-#usr/share/zoneinfo/Singapore\r
-#usr/share/zoneinfo/SystemV\r
-#usr/share/zoneinfo/SystemV/AST4\r
-#usr/share/zoneinfo/SystemV/AST4ADT\r
-#usr/share/zoneinfo/SystemV/CST6\r
-#usr/share/zoneinfo/SystemV/CST6CDT\r
-#usr/share/zoneinfo/SystemV/EST5\r
-#usr/share/zoneinfo/SystemV/EST5EDT\r
-#usr/share/zoneinfo/SystemV/HST10\r
-#usr/share/zoneinfo/SystemV/MST7\r
-#usr/share/zoneinfo/SystemV/MST7MDT\r
-#usr/share/zoneinfo/SystemV/PST8\r
-#usr/share/zoneinfo/SystemV/PST8PDT\r
-#usr/share/zoneinfo/SystemV/YST9\r
-#usr/share/zoneinfo/SystemV/YST9YDT\r
-#usr/share/zoneinfo/Turkey\r
-#usr/share/zoneinfo/UCT\r
-#usr/share/zoneinfo/US\r
-#usr/share/zoneinfo/US/Alaska\r
-#usr/share/zoneinfo/US/Aleutian\r
-#usr/share/zoneinfo/US/Arizona\r
-#usr/share/zoneinfo/US/Central\r
-#usr/share/zoneinfo/US/East-Indiana\r
-#usr/share/zoneinfo/US/Eastern\r
-#usr/share/zoneinfo/US/Hawaii\r
-#usr/share/zoneinfo/US/Indiana-Starke\r
-#usr/share/zoneinfo/US/Michigan\r
-#usr/share/zoneinfo/US/Mountain\r
-#usr/share/zoneinfo/US/Pacific\r
-#usr/share/zoneinfo/US/Samoa\r
-#usr/share/zoneinfo/UTC\r
-#usr/share/zoneinfo/Universal\r
-#usr/share/zoneinfo/W-SU\r
-#usr/share/zoneinfo/WET\r
-#usr/share/zoneinfo/Zulu\r
-#usr/share/zoneinfo/iso3166.tab\r
-usr/share/zoneinfo/posix\r
-#usr/share/zoneinfo/posix/Africa\r
-#usr/share/zoneinfo/posix/Africa/Abidjan\r
-#usr/share/zoneinfo/posix/Africa/Accra\r
-#usr/share/zoneinfo/posix/Africa/Addis_Ababa\r
-#usr/share/zoneinfo/posix/Africa/Algiers\r
-#usr/share/zoneinfo/posix/Africa/Asmera\r
-#usr/share/zoneinfo/posix/Africa/Bamako\r
-#usr/share/zoneinfo/posix/Africa/Bangui\r
-#usr/share/zoneinfo/posix/Africa/Banjul\r
-#usr/share/zoneinfo/posix/Africa/Bissau\r
-#usr/share/zoneinfo/posix/Africa/Blantyre\r
-#usr/share/zoneinfo/posix/Africa/Brazzaville\r
-#usr/share/zoneinfo/posix/Africa/Bujumbura\r
-#usr/share/zoneinfo/posix/Africa/Cairo\r
-#usr/share/zoneinfo/posix/Africa/Casablanca\r
-#usr/share/zoneinfo/posix/Africa/Ceuta\r
-#usr/share/zoneinfo/posix/Africa/Conakry\r
-#usr/share/zoneinfo/posix/Africa/Dakar\r
-#usr/share/zoneinfo/posix/Africa/Dar_es_Salaam\r
-#usr/share/zoneinfo/posix/Africa/Djibouti\r
-#usr/share/zoneinfo/posix/Africa/Douala\r
-#usr/share/zoneinfo/posix/Africa/El_Aaiun\r
-#usr/share/zoneinfo/posix/Africa/Freetown\r
-#usr/share/zoneinfo/posix/Africa/Gaborone\r
-#usr/share/zoneinfo/posix/Africa/Harare\r
-#usr/share/zoneinfo/posix/Africa/Johannesburg\r
-#usr/share/zoneinfo/posix/Africa/Kampala\r
-#usr/share/zoneinfo/posix/Africa/Khartoum\r
-#usr/share/zoneinfo/posix/Africa/Kigali\r
-#usr/share/zoneinfo/posix/Africa/Kinshasa\r
-#usr/share/zoneinfo/posix/Africa/Lagos\r
-#usr/share/zoneinfo/posix/Africa/Libreville\r
-#usr/share/zoneinfo/posix/Africa/Lome\r
-#usr/share/zoneinfo/posix/Africa/Luanda\r
-#usr/share/zoneinfo/posix/Africa/Lubumbashi\r
-#usr/share/zoneinfo/posix/Africa/Lusaka\r
-#usr/share/zoneinfo/posix/Africa/Malabo\r
-#usr/share/zoneinfo/posix/Africa/Maputo\r
-#usr/share/zoneinfo/posix/Africa/Maseru\r
-#usr/share/zoneinfo/posix/Africa/Mbabane\r
-#usr/share/zoneinfo/posix/Africa/Mogadishu\r
-#usr/share/zoneinfo/posix/Africa/Monrovia\r
-#usr/share/zoneinfo/posix/Africa/Nairobi\r
-#usr/share/zoneinfo/posix/Africa/Ndjamena\r
-#usr/share/zoneinfo/posix/Africa/Niamey\r
-#usr/share/zoneinfo/posix/Africa/Nouakchott\r
-#usr/share/zoneinfo/posix/Africa/Ouagadougou\r
-#usr/share/zoneinfo/posix/Africa/Porto-Novo\r
-#usr/share/zoneinfo/posix/Africa/Sao_Tome\r
-#usr/share/zoneinfo/posix/Africa/Timbuktu\r
-#usr/share/zoneinfo/posix/Africa/Tripoli\r
-#usr/share/zoneinfo/posix/Africa/Tunis\r
-#usr/share/zoneinfo/posix/Africa/Windhoek\r
-#usr/share/zoneinfo/posix/America\r
-#usr/share/zoneinfo/posix/America/Adak\r
-#usr/share/zoneinfo/posix/America/Anchorage\r
-#usr/share/zoneinfo/posix/America/Anguilla\r
-#usr/share/zoneinfo/posix/America/Antigua\r
-#usr/share/zoneinfo/posix/America/Araguaina\r
-#usr/share/zoneinfo/posix/America/Aruba\r
-#usr/share/zoneinfo/posix/America/Asuncion\r
-#usr/share/zoneinfo/posix/America/Atka\r
-#usr/share/zoneinfo/posix/America/Barbados\r
-#usr/share/zoneinfo/posix/America/Belem\r
-#usr/share/zoneinfo/posix/America/Belize\r
-#usr/share/zoneinfo/posix/America/Boa_Vista\r
-#usr/share/zoneinfo/posix/America/Bogota\r
-#usr/share/zoneinfo/posix/America/Boise\r
-#usr/share/zoneinfo/posix/America/Buenos_Aires\r
-#usr/share/zoneinfo/posix/America/Cambridge_Bay\r
-#usr/share/zoneinfo/posix/America/Cancun\r
-#usr/share/zoneinfo/posix/America/Caracas\r
-#usr/share/zoneinfo/posix/America/Catamarca\r
-#usr/share/zoneinfo/posix/America/Cayenne\r
-#usr/share/zoneinfo/posix/America/Cayman\r
-#usr/share/zoneinfo/posix/America/Chicago\r
-#usr/share/zoneinfo/posix/America/Chihuahua\r
-#usr/share/zoneinfo/posix/America/Cordoba\r
-#usr/share/zoneinfo/posix/America/Costa_Rica\r
-#usr/share/zoneinfo/posix/America/Cuiaba\r
-#usr/share/zoneinfo/posix/America/Curacao\r
-#usr/share/zoneinfo/posix/America/Danmarkshavn\r
-#usr/share/zoneinfo/posix/America/Dawson\r
-#usr/share/zoneinfo/posix/America/Dawson_Creek\r
-#usr/share/zoneinfo/posix/America/Denver\r
-#usr/share/zoneinfo/posix/America/Detroit\r
-#usr/share/zoneinfo/posix/America/Dominica\r
-#usr/share/zoneinfo/posix/America/Edmonton\r
-#usr/share/zoneinfo/posix/America/Eirunepe\r
-#usr/share/zoneinfo/posix/America/El_Salvador\r
-#usr/share/zoneinfo/posix/America/Ensenada\r
-#usr/share/zoneinfo/posix/America/Fort_Wayne\r
-#usr/share/zoneinfo/posix/America/Fortaleza\r
-#usr/share/zoneinfo/posix/America/Glace_Bay\r
-#usr/share/zoneinfo/posix/America/Godthab\r
-#usr/share/zoneinfo/posix/America/Goose_Bay\r
-#usr/share/zoneinfo/posix/America/Grand_Turk\r
-#usr/share/zoneinfo/posix/America/Grenada\r
-#usr/share/zoneinfo/posix/America/Guadeloupe\r
-#usr/share/zoneinfo/posix/America/Guatemala\r
-#usr/share/zoneinfo/posix/America/Guayaquil\r
-#usr/share/zoneinfo/posix/America/Guyana\r
-#usr/share/zoneinfo/posix/America/Halifax\r
-#usr/share/zoneinfo/posix/America/Havana\r
-#usr/share/zoneinfo/posix/America/Hermosillo\r
-#usr/share/zoneinfo/posix/America/Indiana\r
-#usr/share/zoneinfo/posix/America/Indiana/Indianapolis\r
-#usr/share/zoneinfo/posix/America/Indiana/Knox\r
-#usr/share/zoneinfo/posix/America/Indiana/Marengo\r
-#usr/share/zoneinfo/posix/America/Indiana/Vevay\r
-#usr/share/zoneinfo/posix/America/Indianapolis\r
-#usr/share/zoneinfo/posix/America/Inuvik\r
-#usr/share/zoneinfo/posix/America/Iqaluit\r
-#usr/share/zoneinfo/posix/America/Jamaica\r
-#usr/share/zoneinfo/posix/America/Jujuy\r
-#usr/share/zoneinfo/posix/America/Juneau\r
-#usr/share/zoneinfo/posix/America/Kentucky\r
-#usr/share/zoneinfo/posix/America/Kentucky/Louisville\r
-#usr/share/zoneinfo/posix/America/Kentucky/Monticello\r
-#usr/share/zoneinfo/posix/America/Knox_IN\r
-#usr/share/zoneinfo/posix/America/La_Paz\r
-#usr/share/zoneinfo/posix/America/Lima\r
-#usr/share/zoneinfo/posix/America/Los_Angeles\r
-#usr/share/zoneinfo/posix/America/Louisville\r
-#usr/share/zoneinfo/posix/America/Maceio\r
-#usr/share/zoneinfo/posix/America/Managua\r
-#usr/share/zoneinfo/posix/America/Manaus\r
-#usr/share/zoneinfo/posix/America/Martinique\r
-#usr/share/zoneinfo/posix/America/Mazatlan\r
-#usr/share/zoneinfo/posix/America/Mendoza\r
-#usr/share/zoneinfo/posix/America/Menominee\r
-#usr/share/zoneinfo/posix/America/Merida\r
-#usr/share/zoneinfo/posix/America/Mexico_City\r
-#usr/share/zoneinfo/posix/America/Miquelon\r
-#usr/share/zoneinfo/posix/America/Monterrey\r
-#usr/share/zoneinfo/posix/America/Montevideo\r
-#usr/share/zoneinfo/posix/America/Montreal\r
-#usr/share/zoneinfo/posix/America/Montserrat\r
-#usr/share/zoneinfo/posix/America/Nassau\r
-#usr/share/zoneinfo/posix/America/New_York\r
-#usr/share/zoneinfo/posix/America/Nipigon\r
-#usr/share/zoneinfo/posix/America/Nome\r
-#usr/share/zoneinfo/posix/America/Noronha\r
-#usr/share/zoneinfo/posix/America/North_Dakota\r
-#usr/share/zoneinfo/posix/America/North_Dakota/Center\r
-#usr/share/zoneinfo/posix/America/Panama\r
-#usr/share/zoneinfo/posix/America/Pangnirtung\r
-#usr/share/zoneinfo/posix/America/Paramaribo\r
-#usr/share/zoneinfo/posix/America/Phoenix\r
-#usr/share/zoneinfo/posix/America/Port-au-Prince\r
-#usr/share/zoneinfo/posix/America/Port_of_Spain\r
-#usr/share/zoneinfo/posix/America/Porto_Acre\r
-#usr/share/zoneinfo/posix/America/Porto_Velho\r
-#usr/share/zoneinfo/posix/America/Puerto_Rico\r
-#usr/share/zoneinfo/posix/America/Rainy_River\r
-#usr/share/zoneinfo/posix/America/Rankin_Inlet\r
-#usr/share/zoneinfo/posix/America/Recife\r
-#usr/share/zoneinfo/posix/America/Regina\r
-#usr/share/zoneinfo/posix/America/Rio_Branco\r
-#usr/share/zoneinfo/posix/America/Rosario\r
-#usr/share/zoneinfo/posix/America/Santiago\r
-#usr/share/zoneinfo/posix/America/Santo_Domingo\r
-#usr/share/zoneinfo/posix/America/Sao_Paulo\r
-#usr/share/zoneinfo/posix/America/Scoresbysund\r
-#usr/share/zoneinfo/posix/America/Shiprock\r
-#usr/share/zoneinfo/posix/America/St_Johns\r
-#usr/share/zoneinfo/posix/America/St_Kitts\r
-#usr/share/zoneinfo/posix/America/St_Lucia\r
-#usr/share/zoneinfo/posix/America/St_Thomas\r
-#usr/share/zoneinfo/posix/America/St_Vincent\r
-#usr/share/zoneinfo/posix/America/Swift_Current\r
-#usr/share/zoneinfo/posix/America/Tegucigalpa\r
-#usr/share/zoneinfo/posix/America/Thule\r
-#usr/share/zoneinfo/posix/America/Thunder_Bay\r
-#usr/share/zoneinfo/posix/America/Tijuana\r
-#usr/share/zoneinfo/posix/America/Tortola\r
-#usr/share/zoneinfo/posix/America/Vancouver\r
-#usr/share/zoneinfo/posix/America/Virgin\r
-#usr/share/zoneinfo/posix/America/Whitehorse\r
-#usr/share/zoneinfo/posix/America/Winnipeg\r
-#usr/share/zoneinfo/posix/America/Yakutat\r
-#usr/share/zoneinfo/posix/America/Yellowknife\r
-#usr/share/zoneinfo/posix/Antarctica\r
-#usr/share/zoneinfo/posix/Antarctica/Casey\r
-#usr/share/zoneinfo/posix/Antarctica/Davis\r
-#usr/share/zoneinfo/posix/Antarctica/DumontDUrville\r
-#usr/share/zoneinfo/posix/Antarctica/Mawson\r
-#usr/share/zoneinfo/posix/Antarctica/McMurdo\r
-#usr/share/zoneinfo/posix/Antarctica/Palmer\r
-#usr/share/zoneinfo/posix/Antarctica/South_Pole\r
-#usr/share/zoneinfo/posix/Antarctica/Syowa\r
-#usr/share/zoneinfo/posix/Antarctica/Vostok\r
-#usr/share/zoneinfo/posix/Arctic\r
-#usr/share/zoneinfo/posix/Arctic/Longyearbyen\r
-#usr/share/zoneinfo/posix/Asia\r
-#usr/share/zoneinfo/posix/Asia/Aden\r
-#usr/share/zoneinfo/posix/Asia/Almaty\r
-#usr/share/zoneinfo/posix/Asia/Amman\r
-#usr/share/zoneinfo/posix/Asia/Anadyr\r
-#usr/share/zoneinfo/posix/Asia/Aqtau\r
-#usr/share/zoneinfo/posix/Asia/Aqtobe\r
-#usr/share/zoneinfo/posix/Asia/Ashgabat\r
-#usr/share/zoneinfo/posix/Asia/Ashkhabad\r
-#usr/share/zoneinfo/posix/Asia/Baghdad\r
-#usr/share/zoneinfo/posix/Asia/Bahrain\r
-#usr/share/zoneinfo/posix/Asia/Baku\r
-#usr/share/zoneinfo/posix/Asia/Bangkok\r
-#usr/share/zoneinfo/posix/Asia/Beirut\r
-#usr/share/zoneinfo/posix/Asia/Bishkek\r
-#usr/share/zoneinfo/posix/Asia/Brunei\r
-#usr/share/zoneinfo/posix/Asia/Calcutta\r
-#usr/share/zoneinfo/posix/Asia/Choibalsan\r
-#usr/share/zoneinfo/posix/Asia/Chongqing\r
-#usr/share/zoneinfo/posix/Asia/Chungking\r
-#usr/share/zoneinfo/posix/Asia/Colombo\r
-#usr/share/zoneinfo/posix/Asia/Dacca\r
-#usr/share/zoneinfo/posix/Asia/Damascus\r
-#usr/share/zoneinfo/posix/Asia/Dhaka\r
-#usr/share/zoneinfo/posix/Asia/Dili\r
-#usr/share/zoneinfo/posix/Asia/Dubai\r
-#usr/share/zoneinfo/posix/Asia/Dushanbe\r
-#usr/share/zoneinfo/posix/Asia/Gaza\r
-#usr/share/zoneinfo/posix/Asia/Harbin\r
-#usr/share/zoneinfo/posix/Asia/Hong_Kong\r
-#usr/share/zoneinfo/posix/Asia/Hovd\r
-#usr/share/zoneinfo/posix/Asia/Irkutsk\r
-#usr/share/zoneinfo/posix/Asia/Istanbul\r
-#usr/share/zoneinfo/posix/Asia/Jakarta\r
-#usr/share/zoneinfo/posix/Asia/Jayapura\r
-#usr/share/zoneinfo/posix/Asia/Jerusalem\r
-#usr/share/zoneinfo/posix/Asia/Kabul\r
-#usr/share/zoneinfo/posix/Asia/Kamchatka\r
-#usr/share/zoneinfo/posix/Asia/Karachi\r
-#usr/share/zoneinfo/posix/Asia/Kashgar\r
-#usr/share/zoneinfo/posix/Asia/Katmandu\r
-#usr/share/zoneinfo/posix/Asia/Krasnoyarsk\r
-#usr/share/zoneinfo/posix/Asia/Kuala_Lumpur\r
-#usr/share/zoneinfo/posix/Asia/Kuching\r
-#usr/share/zoneinfo/posix/Asia/Kuwait\r
-#usr/share/zoneinfo/posix/Asia/Macao\r
-#usr/share/zoneinfo/posix/Asia/Macau\r
-#usr/share/zoneinfo/posix/Asia/Magadan\r
-#usr/share/zoneinfo/posix/Asia/Makassar\r
-#usr/share/zoneinfo/posix/Asia/Manila\r
-#usr/share/zoneinfo/posix/Asia/Muscat\r
-#usr/share/zoneinfo/posix/Asia/Nicosia\r
-#usr/share/zoneinfo/posix/Asia/Novosibirsk\r
-#usr/share/zoneinfo/posix/Asia/Omsk\r
-#usr/share/zoneinfo/posix/Asia/Oral\r
-#usr/share/zoneinfo/posix/Asia/Phnom_Penh\r
-#usr/share/zoneinfo/posix/Asia/Pontianak\r
-#usr/share/zoneinfo/posix/Asia/Pyongyang\r
-#usr/share/zoneinfo/posix/Asia/Qatar\r
-#usr/share/zoneinfo/posix/Asia/Qyzylorda\r
-#usr/share/zoneinfo/posix/Asia/Rangoon\r
-#usr/share/zoneinfo/posix/Asia/Riyadh\r
-#usr/share/zoneinfo/posix/Asia/Riyadh87\r
-#usr/share/zoneinfo/posix/Asia/Riyadh88\r
-#usr/share/zoneinfo/posix/Asia/Riyadh89\r
-#usr/share/zoneinfo/posix/Asia/Saigon\r
-#usr/share/zoneinfo/posix/Asia/Sakhalin\r
-#usr/share/zoneinfo/posix/Asia/Samarkand\r
-#usr/share/zoneinfo/posix/Asia/Seoul\r
-#usr/share/zoneinfo/posix/Asia/Shanghai\r
-#usr/share/zoneinfo/posix/Asia/Singapore\r
-#usr/share/zoneinfo/posix/Asia/Taipei\r
-#usr/share/zoneinfo/posix/Asia/Tashkent\r
-#usr/share/zoneinfo/posix/Asia/Tbilisi\r
-#usr/share/zoneinfo/posix/Asia/Tehran\r
-#usr/share/zoneinfo/posix/Asia/Tel_Aviv\r
-#usr/share/zoneinfo/posix/Asia/Thimbu\r
-#usr/share/zoneinfo/posix/Asia/Thimphu\r
-#usr/share/zoneinfo/posix/Asia/Tokyo\r
-#usr/share/zoneinfo/posix/Asia/Ujung_Pandang\r
-#usr/share/zoneinfo/posix/Asia/Ulaanbaatar\r
-#usr/share/zoneinfo/posix/Asia/Ulan_Bator\r
-#usr/share/zoneinfo/posix/Asia/Urumqi\r
-#usr/share/zoneinfo/posix/Asia/Vientiane\r
-#usr/share/zoneinfo/posix/Asia/Vladivostok\r
-#usr/share/zoneinfo/posix/Asia/Yakutsk\r
-#usr/share/zoneinfo/posix/Asia/Yekaterinburg\r
-#usr/share/zoneinfo/posix/Asia/Yerevan\r
-#usr/share/zoneinfo/posix/Atlantic\r
-#usr/share/zoneinfo/posix/Atlantic/Azores\r
-#usr/share/zoneinfo/posix/Atlantic/Bermuda\r
-#usr/share/zoneinfo/posix/Atlantic/Canary\r
-#usr/share/zoneinfo/posix/Atlantic/Cape_Verde\r
-#usr/share/zoneinfo/posix/Atlantic/Faeroe\r
-#usr/share/zoneinfo/posix/Atlantic/Jan_Mayen\r
-#usr/share/zoneinfo/posix/Atlantic/Madeira\r
-#usr/share/zoneinfo/posix/Atlantic/Reykjavik\r
-#usr/share/zoneinfo/posix/Atlantic/South_Georgia\r
-#usr/share/zoneinfo/posix/Atlantic/St_Helena\r
-#usr/share/zoneinfo/posix/Atlantic/Stanley\r
-#usr/share/zoneinfo/posix/Australia\r
-#usr/share/zoneinfo/posix/Australia/ACT\r
-#usr/share/zoneinfo/posix/Australia/Adelaide\r
-#usr/share/zoneinfo/posix/Australia/Brisbane\r
-#usr/share/zoneinfo/posix/Australia/Broken_Hill\r
-#usr/share/zoneinfo/posix/Australia/Canberra\r
-#usr/share/zoneinfo/posix/Australia/Darwin\r
-#usr/share/zoneinfo/posix/Australia/Hobart\r
-#usr/share/zoneinfo/posix/Australia/LHI\r
-#usr/share/zoneinfo/posix/Australia/Lindeman\r
-#usr/share/zoneinfo/posix/Australia/Lord_Howe\r
-#usr/share/zoneinfo/posix/Australia/Melbourne\r
-#usr/share/zoneinfo/posix/Australia/NSW\r
-#usr/share/zoneinfo/posix/Australia/North\r
-#usr/share/zoneinfo/posix/Australia/Perth\r
-#usr/share/zoneinfo/posix/Australia/Queensland\r
-#usr/share/zoneinfo/posix/Australia/South\r
-#usr/share/zoneinfo/posix/Australia/Sydney\r
-#usr/share/zoneinfo/posix/Australia/Tasmania\r
-#usr/share/zoneinfo/posix/Australia/Victoria\r
-#usr/share/zoneinfo/posix/Australia/West\r
-#usr/share/zoneinfo/posix/Australia/Yancowinna\r
-#usr/share/zoneinfo/posix/Brazil\r
-#usr/share/zoneinfo/posix/Brazil/Acre\r
-#usr/share/zoneinfo/posix/Brazil/DeNoronha\r
-#usr/share/zoneinfo/posix/Brazil/East\r
-#usr/share/zoneinfo/posix/Brazil/West\r
-#usr/share/zoneinfo/posix/CET\r
-#usr/share/zoneinfo/posix/CST6CDT\r
-#usr/share/zoneinfo/posix/Canada\r
-#usr/share/zoneinfo/posix/Canada/Atlantic\r
-#usr/share/zoneinfo/posix/Canada/Central\r
-#usr/share/zoneinfo/posix/Canada/East-Saskatchewan\r
-#usr/share/zoneinfo/posix/Canada/Eastern\r
-#usr/share/zoneinfo/posix/Canada/Mountain\r
-#usr/share/zoneinfo/posix/Canada/Newfoundland\r
-#usr/share/zoneinfo/posix/Canada/Pacific\r
-#usr/share/zoneinfo/posix/Canada/Saskatchewan\r
-#usr/share/zoneinfo/posix/Canada/Yukon\r
-#usr/share/zoneinfo/posix/Chile\r
-#usr/share/zoneinfo/posix/Chile/Continental\r
-#usr/share/zoneinfo/posix/Chile/EasterIsland\r
-#usr/share/zoneinfo/posix/Cuba\r
-#usr/share/zoneinfo/posix/EET\r
-#usr/share/zoneinfo/posix/EST\r
-#usr/share/zoneinfo/posix/EST5EDT\r
-#usr/share/zoneinfo/posix/Egypt\r
-#usr/share/zoneinfo/posix/Eire\r
-#usr/share/zoneinfo/posix/Etc\r
-#usr/share/zoneinfo/posix/Etc/GMT\r
-#usr/share/zoneinfo/posix/Etc/GMT+0\r
-#usr/share/zoneinfo/posix/Etc/GMT+1\r
-#usr/share/zoneinfo/posix/Etc/GMT+10\r
-#usr/share/zoneinfo/posix/Etc/GMT+11\r
-#usr/share/zoneinfo/posix/Etc/GMT+12\r
-#usr/share/zoneinfo/posix/Etc/GMT+2\r
-#usr/share/zoneinfo/posix/Etc/GMT+3\r
-#usr/share/zoneinfo/posix/Etc/GMT+4\r
-#usr/share/zoneinfo/posix/Etc/GMT+5\r
-#usr/share/zoneinfo/posix/Etc/GMT+6\r
-#usr/share/zoneinfo/posix/Etc/GMT+7\r
-#usr/share/zoneinfo/posix/Etc/GMT+8\r
-#usr/share/zoneinfo/posix/Etc/GMT+9\r
-#usr/share/zoneinfo/posix/Etc/GMT-0\r
-#usr/share/zoneinfo/posix/Etc/GMT-1\r
-#usr/share/zoneinfo/posix/Etc/GMT-10\r
-#usr/share/zoneinfo/posix/Etc/GMT-11\r
-#usr/share/zoneinfo/posix/Etc/GMT-12\r
-#usr/share/zoneinfo/posix/Etc/GMT-13\r
-#usr/share/zoneinfo/posix/Etc/GMT-14\r
-#usr/share/zoneinfo/posix/Etc/GMT-2\r
-#usr/share/zoneinfo/posix/Etc/GMT-3\r
-#usr/share/zoneinfo/posix/Etc/GMT-4\r
-#usr/share/zoneinfo/posix/Etc/GMT-5\r
-#usr/share/zoneinfo/posix/Etc/GMT-6\r
-#usr/share/zoneinfo/posix/Etc/GMT-7\r
-#usr/share/zoneinfo/posix/Etc/GMT-8\r
-#usr/share/zoneinfo/posix/Etc/GMT-9\r
-#usr/share/zoneinfo/posix/Etc/GMT0\r
-#usr/share/zoneinfo/posix/Etc/Greenwich\r
-#usr/share/zoneinfo/posix/Etc/UCT\r
-#usr/share/zoneinfo/posix/Etc/UTC\r
-#usr/share/zoneinfo/posix/Etc/Universal\r
-#usr/share/zoneinfo/posix/Etc/Zulu\r
-#usr/share/zoneinfo/posix/Europe\r
-#usr/share/zoneinfo/posix/Europe/Amsterdam\r
-#usr/share/zoneinfo/posix/Europe/Andorra\r
-#usr/share/zoneinfo/posix/Europe/Athens\r
-#usr/share/zoneinfo/posix/Europe/Belfast\r
-#usr/share/zoneinfo/posix/Europe/Belgrade\r
-#usr/share/zoneinfo/posix/Europe/Berlin\r
-#usr/share/zoneinfo/posix/Europe/Bratislava\r
-#usr/share/zoneinfo/posix/Europe/Brussels\r
-#usr/share/zoneinfo/posix/Europe/Bucharest\r
-#usr/share/zoneinfo/posix/Europe/Budapest\r
-#usr/share/zoneinfo/posix/Europe/Chisinau\r
-#usr/share/zoneinfo/posix/Europe/Copenhagen\r
-#usr/share/zoneinfo/posix/Europe/Dublin\r
-#usr/share/zoneinfo/posix/Europe/Gibraltar\r
-#usr/share/zoneinfo/posix/Europe/Helsinki\r
-#usr/share/zoneinfo/posix/Europe/Istanbul\r
-#usr/share/zoneinfo/posix/Europe/Kaliningrad\r
-#usr/share/zoneinfo/posix/Europe/Kiev\r
-#usr/share/zoneinfo/posix/Europe/Lisbon\r
-#usr/share/zoneinfo/posix/Europe/Ljubljana\r
-#usr/share/zoneinfo/posix/Europe/London\r
-#usr/share/zoneinfo/posix/Europe/Luxembourg\r
-#usr/share/zoneinfo/posix/Europe/Madrid\r
-#usr/share/zoneinfo/posix/Europe/Malta\r
-#usr/share/zoneinfo/posix/Europe/Minsk\r
-#usr/share/zoneinfo/posix/Europe/Monaco\r
-#usr/share/zoneinfo/posix/Europe/Moscow\r
-#usr/share/zoneinfo/posix/Europe/Nicosia\r
-#usr/share/zoneinfo/posix/Europe/Oslo\r
-#usr/share/zoneinfo/posix/Europe/Paris\r
-#usr/share/zoneinfo/posix/Europe/Prague\r
-#usr/share/zoneinfo/posix/Europe/Riga\r
-#usr/share/zoneinfo/posix/Europe/Rome\r
-#usr/share/zoneinfo/posix/Europe/Samara\r
-#usr/share/zoneinfo/posix/Europe/San_Marino\r
-#usr/share/zoneinfo/posix/Europe/Sarajevo\r
-#usr/share/zoneinfo/posix/Europe/Simferopol\r
-#usr/share/zoneinfo/posix/Europe/Skopje\r
-#usr/share/zoneinfo/posix/Europe/Sofia\r
-#usr/share/zoneinfo/posix/Europe/Stockholm\r
-#usr/share/zoneinfo/posix/Europe/Tallinn\r
-#usr/share/zoneinfo/posix/Europe/Tirane\r
-#usr/share/zoneinfo/posix/Europe/Tiraspol\r
-#usr/share/zoneinfo/posix/Europe/Uzhgorod\r
-#usr/share/zoneinfo/posix/Europe/Vaduz\r
-#usr/share/zoneinfo/posix/Europe/Vatican\r
-#usr/share/zoneinfo/posix/Europe/Vienna\r
-#usr/share/zoneinfo/posix/Europe/Vilnius\r
-#usr/share/zoneinfo/posix/Europe/Warsaw\r
-#usr/share/zoneinfo/posix/Europe/Zagreb\r
-#usr/share/zoneinfo/posix/Europe/Zaporozhye\r
-#usr/share/zoneinfo/posix/Europe/Zurich\r
-#usr/share/zoneinfo/posix/Factory\r
-#usr/share/zoneinfo/posix/GB\r
-#usr/share/zoneinfo/posix/GB-Eire\r
-#usr/share/zoneinfo/posix/GMT\r
-#usr/share/zoneinfo/posix/GMT+0\r
-#usr/share/zoneinfo/posix/GMT-0\r
-#usr/share/zoneinfo/posix/GMT0\r
-#usr/share/zoneinfo/posix/Greenwich\r
-#usr/share/zoneinfo/posix/HST\r
-#usr/share/zoneinfo/posix/Hongkong\r
-#usr/share/zoneinfo/posix/Iceland\r
-#usr/share/zoneinfo/posix/Indian\r
-#usr/share/zoneinfo/posix/Indian/Antananarivo\r
-#usr/share/zoneinfo/posix/Indian/Chagos\r
-#usr/share/zoneinfo/posix/Indian/Christmas\r
-#usr/share/zoneinfo/posix/Indian/Cocos\r
-#usr/share/zoneinfo/posix/Indian/Comoro\r
-#usr/share/zoneinfo/posix/Indian/Kerguelen\r
-#usr/share/zoneinfo/posix/Indian/Mahe\r
-#usr/share/zoneinfo/posix/Indian/Maldives\r
-#usr/share/zoneinfo/posix/Indian/Mauritius\r
-#usr/share/zoneinfo/posix/Indian/Mayotte\r
-#usr/share/zoneinfo/posix/Indian/Reunion\r
-#usr/share/zoneinfo/posix/Iran\r
-#usr/share/zoneinfo/posix/Israel\r
-#usr/share/zoneinfo/posix/Jamaica\r
-#usr/share/zoneinfo/posix/Japan\r
-#usr/share/zoneinfo/posix/Kwajalein\r
-#usr/share/zoneinfo/posix/Libya\r
-#usr/share/zoneinfo/posix/MET\r
-#usr/share/zoneinfo/posix/MST\r
-#usr/share/zoneinfo/posix/MST7MDT\r
-#usr/share/zoneinfo/posix/Mexico\r
-#usr/share/zoneinfo/posix/Mexico/BajaNorte\r
-#usr/share/zoneinfo/posix/Mexico/BajaSur\r
-#usr/share/zoneinfo/posix/Mexico/General\r
-#usr/share/zoneinfo/posix/Mideast\r
-#usr/share/zoneinfo/posix/Mideast/Riyadh87\r
-#usr/share/zoneinfo/posix/Mideast/Riyadh88\r
-#usr/share/zoneinfo/posix/Mideast/Riyadh89\r
-#usr/share/zoneinfo/posix/NZ\r
-#usr/share/zoneinfo/posix/NZ-CHAT\r
-#usr/share/zoneinfo/posix/Navajo\r
-#usr/share/zoneinfo/posix/PRC\r
-#usr/share/zoneinfo/posix/PST8PDT\r
-#usr/share/zoneinfo/posix/Pacific\r
-#usr/share/zoneinfo/posix/Pacific/Apia\r
-#usr/share/zoneinfo/posix/Pacific/Auckland\r
-#usr/share/zoneinfo/posix/Pacific/Chatham\r
-#usr/share/zoneinfo/posix/Pacific/Easter\r
-#usr/share/zoneinfo/posix/Pacific/Efate\r
-#usr/share/zoneinfo/posix/Pacific/Enderbury\r
-#usr/share/zoneinfo/posix/Pacific/Fakaofo\r
-#usr/share/zoneinfo/posix/Pacific/Fiji\r
-#usr/share/zoneinfo/posix/Pacific/Funafuti\r
-#usr/share/zoneinfo/posix/Pacific/Galapagos\r
-#usr/share/zoneinfo/posix/Pacific/Gambier\r
-#usr/share/zoneinfo/posix/Pacific/Guadalcanal\r
-#usr/share/zoneinfo/posix/Pacific/Guam\r
-#usr/share/zoneinfo/posix/Pacific/Honolulu\r
-#usr/share/zoneinfo/posix/Pacific/Johnston\r
-#usr/share/zoneinfo/posix/Pacific/Kiritimati\r
-#usr/share/zoneinfo/posix/Pacific/Kosrae\r
-#usr/share/zoneinfo/posix/Pacific/Kwajalein\r
-#usr/share/zoneinfo/posix/Pacific/Majuro\r
-#usr/share/zoneinfo/posix/Pacific/Marquesas\r
-#usr/share/zoneinfo/posix/Pacific/Midway\r
-#usr/share/zoneinfo/posix/Pacific/Nauru\r
-#usr/share/zoneinfo/posix/Pacific/Niue\r
-#usr/share/zoneinfo/posix/Pacific/Norfolk\r
-#usr/share/zoneinfo/posix/Pacific/Noumea\r
-#usr/share/zoneinfo/posix/Pacific/Pago_Pago\r
-#usr/share/zoneinfo/posix/Pacific/Palau\r
-#usr/share/zoneinfo/posix/Pacific/Pitcairn\r
-#usr/share/zoneinfo/posix/Pacific/Ponape\r
-#usr/share/zoneinfo/posix/Pacific/Port_Moresby\r
-#usr/share/zoneinfo/posix/Pacific/Rarotonga\r
-#usr/share/zoneinfo/posix/Pacific/Saipan\r
-#usr/share/zoneinfo/posix/Pacific/Samoa\r
-#usr/share/zoneinfo/posix/Pacific/Tahiti\r
-#usr/share/zoneinfo/posix/Pacific/Tarawa\r
-#usr/share/zoneinfo/posix/Pacific/Tongatapu\r
-#usr/share/zoneinfo/posix/Pacific/Truk\r
-#usr/share/zoneinfo/posix/Pacific/Wake\r
-#usr/share/zoneinfo/posix/Pacific/Wallis\r
-#usr/share/zoneinfo/posix/Pacific/Yap\r
-#usr/share/zoneinfo/posix/Poland\r
-#usr/share/zoneinfo/posix/Portugal\r
-#usr/share/zoneinfo/posix/ROC\r
-#usr/share/zoneinfo/posix/ROK\r
-#usr/share/zoneinfo/posix/Singapore\r
-#usr/share/zoneinfo/posix/SystemV\r
-#usr/share/zoneinfo/posix/SystemV/AST4\r
-#usr/share/zoneinfo/posix/SystemV/AST4ADT\r
-#usr/share/zoneinfo/posix/SystemV/CST6\r
-#usr/share/zoneinfo/posix/SystemV/CST6CDT\r
-#usr/share/zoneinfo/posix/SystemV/EST5\r
-#usr/share/zoneinfo/posix/SystemV/EST5EDT\r
-#usr/share/zoneinfo/posix/SystemV/HST10\r
-#usr/share/zoneinfo/posix/SystemV/MST7\r
-#usr/share/zoneinfo/posix/SystemV/MST7MDT\r
-#usr/share/zoneinfo/posix/SystemV/PST8\r
-#usr/share/zoneinfo/posix/SystemV/PST8PDT\r
-#usr/share/zoneinfo/posix/SystemV/YST9\r
-#usr/share/zoneinfo/posix/SystemV/YST9YDT\r
-#usr/share/zoneinfo/posix/Turkey\r
-#usr/share/zoneinfo/posix/UCT\r
-#usr/share/zoneinfo/posix/US\r
-#usr/share/zoneinfo/posix/US/Alaska\r
-#usr/share/zoneinfo/posix/US/Aleutian\r
-#usr/share/zoneinfo/posix/US/Arizona\r
-#usr/share/zoneinfo/posix/US/Central\r
-#usr/share/zoneinfo/posix/US/East-Indiana\r
-#usr/share/zoneinfo/posix/US/Eastern\r
-#usr/share/zoneinfo/posix/US/Hawaii\r
-#usr/share/zoneinfo/posix/US/Indiana-Starke\r
-#usr/share/zoneinfo/posix/US/Michigan\r
-#usr/share/zoneinfo/posix/US/Mountain\r
-#usr/share/zoneinfo/posix/US/Pacific\r
-#usr/share/zoneinfo/posix/US/Samoa\r
-#usr/share/zoneinfo/posix/UTC\r
-#usr/share/zoneinfo/posix/Universal\r
-#usr/share/zoneinfo/posix/W-SU\r
-#usr/share/zoneinfo/posix/WET\r
-#usr/share/zoneinfo/posix/Zulu\r
-#usr/share/zoneinfo/posixrules\r
-#usr/share/zoneinfo/right\r
-#usr/share/zoneinfo/right/Africa\r
-#usr/share/zoneinfo/right/Africa/Abidjan\r
-#usr/share/zoneinfo/right/Africa/Accra\r
-#usr/share/zoneinfo/right/Africa/Addis_Ababa\r
-#usr/share/zoneinfo/right/Africa/Algiers\r
-#usr/share/zoneinfo/right/Africa/Asmera\r
-#usr/share/zoneinfo/right/Africa/Bamako\r
-#usr/share/zoneinfo/right/Africa/Bangui\r
-#usr/share/zoneinfo/right/Africa/Banjul\r
-#usr/share/zoneinfo/right/Africa/Bissau\r
-#usr/share/zoneinfo/right/Africa/Blantyre\r
-#usr/share/zoneinfo/right/Africa/Brazzaville\r
-#usr/share/zoneinfo/right/Africa/Bujumbura\r
-#usr/share/zoneinfo/right/Africa/Cairo\r
-#usr/share/zoneinfo/right/Africa/Casablanca\r
-#usr/share/zoneinfo/right/Africa/Ceuta\r
-#usr/share/zoneinfo/right/Africa/Conakry\r
-#usr/share/zoneinfo/right/Africa/Dakar\r
-#usr/share/zoneinfo/right/Africa/Dar_es_Salaam\r
-#usr/share/zoneinfo/right/Africa/Djibouti\r
-#usr/share/zoneinfo/right/Africa/Douala\r
-#usr/share/zoneinfo/right/Africa/El_Aaiun\r
-#usr/share/zoneinfo/right/Africa/Freetown\r
-#usr/share/zoneinfo/right/Africa/Gaborone\r
-#usr/share/zoneinfo/right/Africa/Harare\r
-#usr/share/zoneinfo/right/Africa/Johannesburg\r
-#usr/share/zoneinfo/right/Africa/Kampala\r
-#usr/share/zoneinfo/right/Africa/Khartoum\r
-#usr/share/zoneinfo/right/Africa/Kigali\r
-#usr/share/zoneinfo/right/Africa/Kinshasa\r
-#usr/share/zoneinfo/right/Africa/Lagos\r
-#usr/share/zoneinfo/right/Africa/Libreville\r
-#usr/share/zoneinfo/right/Africa/Lome\r
-#usr/share/zoneinfo/right/Africa/Luanda\r
-#usr/share/zoneinfo/right/Africa/Lubumbashi\r
-#usr/share/zoneinfo/right/Africa/Lusaka\r
-#usr/share/zoneinfo/right/Africa/Malabo\r
-#usr/share/zoneinfo/right/Africa/Maputo\r
-#usr/share/zoneinfo/right/Africa/Maseru\r
-#usr/share/zoneinfo/right/Africa/Mbabane\r
-#usr/share/zoneinfo/right/Africa/Mogadishu\r
-#usr/share/zoneinfo/right/Africa/Monrovia\r
-#usr/share/zoneinfo/right/Africa/Nairobi\r
-#usr/share/zoneinfo/right/Africa/Ndjamena\r
-#usr/share/zoneinfo/right/Africa/Niamey\r
-#usr/share/zoneinfo/right/Africa/Nouakchott\r
-#usr/share/zoneinfo/right/Africa/Ouagadougou\r
-#usr/share/zoneinfo/right/Africa/Porto-Novo\r
-#usr/share/zoneinfo/right/Africa/Sao_Tome\r
-#usr/share/zoneinfo/right/Africa/Timbuktu\r
-#usr/share/zoneinfo/right/Africa/Tripoli\r
-#usr/share/zoneinfo/right/Africa/Tunis\r
-#usr/share/zoneinfo/right/Africa/Windhoek\r
-#usr/share/zoneinfo/right/America\r
-#usr/share/zoneinfo/right/America/Adak\r
-#usr/share/zoneinfo/right/America/Anchorage\r
-#usr/share/zoneinfo/right/America/Anguilla\r
-#usr/share/zoneinfo/right/America/Antigua\r
-#usr/share/zoneinfo/right/America/Araguaina\r
-#usr/share/zoneinfo/right/America/Aruba\r
-#usr/share/zoneinfo/right/America/Asuncion\r
-#usr/share/zoneinfo/right/America/Atka\r
-#usr/share/zoneinfo/right/America/Barbados\r
-#usr/share/zoneinfo/right/America/Belem\r
-#usr/share/zoneinfo/right/America/Belize\r
-#usr/share/zoneinfo/right/America/Boa_Vista\r
-#usr/share/zoneinfo/right/America/Bogota\r
-#usr/share/zoneinfo/right/America/Boise\r
-#usr/share/zoneinfo/right/America/Buenos_Aires\r
-#usr/share/zoneinfo/right/America/Cambridge_Bay\r
-#usr/share/zoneinfo/right/America/Cancun\r
-#usr/share/zoneinfo/right/America/Caracas\r
-#usr/share/zoneinfo/right/America/Catamarca\r
-#usr/share/zoneinfo/right/America/Cayenne\r
-#usr/share/zoneinfo/right/America/Cayman\r
-#usr/share/zoneinfo/right/America/Chicago\r
-#usr/share/zoneinfo/right/America/Chihuahua\r
-#usr/share/zoneinfo/right/America/Cordoba\r
-#usr/share/zoneinfo/right/America/Costa_Rica\r
-#usr/share/zoneinfo/right/America/Cuiaba\r
-#usr/share/zoneinfo/right/America/Curacao\r
-#usr/share/zoneinfo/right/America/Danmarkshavn\r
-#usr/share/zoneinfo/right/America/Dawson\r
-#usr/share/zoneinfo/right/America/Dawson_Creek\r
-#usr/share/zoneinfo/right/America/Denver\r
-#usr/share/zoneinfo/right/America/Detroit\r
-#usr/share/zoneinfo/right/America/Dominica\r
-#usr/share/zoneinfo/right/America/Edmonton\r
-#usr/share/zoneinfo/right/America/Eirunepe\r
-#usr/share/zoneinfo/right/America/El_Salvador\r
-#usr/share/zoneinfo/right/America/Ensenada\r
-#usr/share/zoneinfo/right/America/Fort_Wayne\r
-#usr/share/zoneinfo/right/America/Fortaleza\r
-#usr/share/zoneinfo/right/America/Glace_Bay\r
-#usr/share/zoneinfo/right/America/Godthab\r
-#usr/share/zoneinfo/right/America/Goose_Bay\r
-#usr/share/zoneinfo/right/America/Grand_Turk\r
-#usr/share/zoneinfo/right/America/Grenada\r
-#usr/share/zoneinfo/right/America/Guadeloupe\r
-#usr/share/zoneinfo/right/America/Guatemala\r
-#usr/share/zoneinfo/right/America/Guayaquil\r
-#usr/share/zoneinfo/right/America/Guyana\r
-#usr/share/zoneinfo/right/America/Halifax\r
-#usr/share/zoneinfo/right/America/Havana\r
-#usr/share/zoneinfo/right/America/Hermosillo\r
-#usr/share/zoneinfo/right/America/Indiana\r
-#usr/share/zoneinfo/right/America/Indiana/Indianapolis\r
-#usr/share/zoneinfo/right/America/Indiana/Knox\r
-#usr/share/zoneinfo/right/America/Indiana/Marengo\r
-#usr/share/zoneinfo/right/America/Indiana/Vevay\r
-#usr/share/zoneinfo/right/America/Indianapolis\r
-#usr/share/zoneinfo/right/America/Inuvik\r
-#usr/share/zoneinfo/right/America/Iqaluit\r
-#usr/share/zoneinfo/right/America/Jamaica\r
-#usr/share/zoneinfo/right/America/Jujuy\r
-#usr/share/zoneinfo/right/America/Juneau\r
-#usr/share/zoneinfo/right/America/Kentucky\r
-#usr/share/zoneinfo/right/America/Kentucky/Louisville\r
-#usr/share/zoneinfo/right/America/Kentucky/Monticello\r
-#usr/share/zoneinfo/right/America/Knox_IN\r
-#usr/share/zoneinfo/right/America/La_Paz\r
-#usr/share/zoneinfo/right/America/Lima\r
-#usr/share/zoneinfo/right/America/Los_Angeles\r
-#usr/share/zoneinfo/right/America/Louisville\r
-#usr/share/zoneinfo/right/America/Maceio\r
-#usr/share/zoneinfo/right/America/Managua\r
-#usr/share/zoneinfo/right/America/Manaus\r
-#usr/share/zoneinfo/right/America/Martinique\r
-#usr/share/zoneinfo/right/America/Mazatlan\r
-#usr/share/zoneinfo/right/America/Mendoza\r
-#usr/share/zoneinfo/right/America/Menominee\r
-#usr/share/zoneinfo/right/America/Merida\r
-#usr/share/zoneinfo/right/America/Mexico_City\r
-#usr/share/zoneinfo/right/America/Miquelon\r
-#usr/share/zoneinfo/right/America/Monterrey\r
-#usr/share/zoneinfo/right/America/Montevideo\r
-#usr/share/zoneinfo/right/America/Montreal\r
-#usr/share/zoneinfo/right/America/Montserrat\r
-#usr/share/zoneinfo/right/America/Nassau\r
-#usr/share/zoneinfo/right/America/New_York\r
-#usr/share/zoneinfo/right/America/Nipigon\r
-#usr/share/zoneinfo/right/America/Nome\r
-#usr/share/zoneinfo/right/America/Noronha\r
-#usr/share/zoneinfo/right/America/North_Dakota\r
-#usr/share/zoneinfo/right/America/North_Dakota/Center\r
-#usr/share/zoneinfo/right/America/Panama\r
-#usr/share/zoneinfo/right/America/Pangnirtung\r
-#usr/share/zoneinfo/right/America/Paramaribo\r
-#usr/share/zoneinfo/right/America/Phoenix\r
-#usr/share/zoneinfo/right/America/Port-au-Prince\r
-#usr/share/zoneinfo/right/America/Port_of_Spain\r
-#usr/share/zoneinfo/right/America/Porto_Acre\r
-#usr/share/zoneinfo/right/America/Porto_Velho\r
-#usr/share/zoneinfo/right/America/Puerto_Rico\r
-#usr/share/zoneinfo/right/America/Rainy_River\r
-#usr/share/zoneinfo/right/America/Rankin_Inlet\r
-#usr/share/zoneinfo/right/America/Recife\r
-#usr/share/zoneinfo/right/America/Regina\r
-#usr/share/zoneinfo/right/America/Rio_Branco\r
-#usr/share/zoneinfo/right/America/Rosario\r
-#usr/share/zoneinfo/right/America/Santiago\r
-#usr/share/zoneinfo/right/America/Santo_Domingo\r
-#usr/share/zoneinfo/right/America/Sao_Paulo\r
-#usr/share/zoneinfo/right/America/Scoresbysund\r
-#usr/share/zoneinfo/right/America/Shiprock\r
-#usr/share/zoneinfo/right/America/St_Johns\r
-#usr/share/zoneinfo/right/America/St_Kitts\r
-#usr/share/zoneinfo/right/America/St_Lucia\r
-#usr/share/zoneinfo/right/America/St_Thomas\r
-#usr/share/zoneinfo/right/America/St_Vincent\r
-#usr/share/zoneinfo/right/America/Swift_Current\r
-#usr/share/zoneinfo/right/America/Tegucigalpa\r
-#usr/share/zoneinfo/right/America/Thule\r
-#usr/share/zoneinfo/right/America/Thunder_Bay\r
-#usr/share/zoneinfo/right/America/Tijuana\r
-#usr/share/zoneinfo/right/America/Tortola\r
-#usr/share/zoneinfo/right/America/Vancouver\r
-#usr/share/zoneinfo/right/America/Virgin\r
-#usr/share/zoneinfo/right/America/Whitehorse\r
-#usr/share/zoneinfo/right/America/Winnipeg\r
-#usr/share/zoneinfo/right/America/Yakutat\r
-#usr/share/zoneinfo/right/America/Yellowknife\r
-#usr/share/zoneinfo/right/Antarctica\r
-#usr/share/zoneinfo/right/Antarctica/Casey\r
-#usr/share/zoneinfo/right/Antarctica/Davis\r
-#usr/share/zoneinfo/right/Antarctica/DumontDUrville\r
-#usr/share/zoneinfo/right/Antarctica/Mawson\r
-#usr/share/zoneinfo/right/Antarctica/McMurdo\r
-#usr/share/zoneinfo/right/Antarctica/Palmer\r
-#usr/share/zoneinfo/right/Antarctica/South_Pole\r
-#usr/share/zoneinfo/right/Antarctica/Syowa\r
-#usr/share/zoneinfo/right/Antarctica/Vostok\r
-#usr/share/zoneinfo/right/Arctic\r
-#usr/share/zoneinfo/right/Arctic/Longyearbyen\r
-#usr/share/zoneinfo/right/Asia\r
-#usr/share/zoneinfo/right/Asia/Aden\r
-#usr/share/zoneinfo/right/Asia/Almaty\r
-#usr/share/zoneinfo/right/Asia/Amman\r
-#usr/share/zoneinfo/right/Asia/Anadyr\r
-#usr/share/zoneinfo/right/Asia/Aqtau\r
-#usr/share/zoneinfo/right/Asia/Aqtobe\r
-#usr/share/zoneinfo/right/Asia/Ashgabat\r
-#usr/share/zoneinfo/right/Asia/Ashkhabad\r
-#usr/share/zoneinfo/right/Asia/Baghdad\r
-#usr/share/zoneinfo/right/Asia/Bahrain\r
-#usr/share/zoneinfo/right/Asia/Baku\r
-#usr/share/zoneinfo/right/Asia/Bangkok\r
-#usr/share/zoneinfo/right/Asia/Beirut\r
-#usr/share/zoneinfo/right/Asia/Bishkek\r
-#usr/share/zoneinfo/right/Asia/Brunei\r
-#usr/share/zoneinfo/right/Asia/Calcutta\r
-#usr/share/zoneinfo/right/Asia/Choibalsan\r
-#usr/share/zoneinfo/right/Asia/Chongqing\r
-#usr/share/zoneinfo/right/Asia/Chungking\r
-#usr/share/zoneinfo/right/Asia/Colombo\r
-#usr/share/zoneinfo/right/Asia/Dacca\r
-#usr/share/zoneinfo/right/Asia/Damascus\r
-#usr/share/zoneinfo/right/Asia/Dhaka\r
-#usr/share/zoneinfo/right/Asia/Dili\r
-#usr/share/zoneinfo/right/Asia/Dubai\r
-#usr/share/zoneinfo/right/Asia/Dushanbe\r
-#usr/share/zoneinfo/right/Asia/Gaza\r
-#usr/share/zoneinfo/right/Asia/Harbin\r
-#usr/share/zoneinfo/right/Asia/Hong_Kong\r
-#usr/share/zoneinfo/right/Asia/Hovd\r
-#usr/share/zoneinfo/right/Asia/Irkutsk\r
-#usr/share/zoneinfo/right/Asia/Istanbul\r
-#usr/share/zoneinfo/right/Asia/Jakarta\r
-#usr/share/zoneinfo/right/Asia/Jayapura\r
-#usr/share/zoneinfo/right/Asia/Jerusalem\r
-#usr/share/zoneinfo/right/Asia/Kabul\r
-#usr/share/zoneinfo/right/Asia/Kamchatka\r
-#usr/share/zoneinfo/right/Asia/Karachi\r
-#usr/share/zoneinfo/right/Asia/Kashgar\r
-#usr/share/zoneinfo/right/Asia/Katmandu\r
-#usr/share/zoneinfo/right/Asia/Krasnoyarsk\r
-#usr/share/zoneinfo/right/Asia/Kuala_Lumpur\r
-#usr/share/zoneinfo/right/Asia/Kuching\r
-#usr/share/zoneinfo/right/Asia/Kuwait\r
-#usr/share/zoneinfo/right/Asia/Macao\r
-#usr/share/zoneinfo/right/Asia/Macau\r
-#usr/share/zoneinfo/right/Asia/Magadan\r
-#usr/share/zoneinfo/right/Asia/Makassar\r
-#usr/share/zoneinfo/right/Asia/Manila\r
-#usr/share/zoneinfo/right/Asia/Muscat\r
-#usr/share/zoneinfo/right/Asia/Nicosia\r
-#usr/share/zoneinfo/right/Asia/Novosibirsk\r
-#usr/share/zoneinfo/right/Asia/Omsk\r
-#usr/share/zoneinfo/right/Asia/Oral\r
-#usr/share/zoneinfo/right/Asia/Phnom_Penh\r
-#usr/share/zoneinfo/right/Asia/Pontianak\r
-#usr/share/zoneinfo/right/Asia/Pyongyang\r
-#usr/share/zoneinfo/right/Asia/Qatar\r
-#usr/share/zoneinfo/right/Asia/Qyzylorda\r
-#usr/share/zoneinfo/right/Asia/Rangoon\r
-#usr/share/zoneinfo/right/Asia/Riyadh\r
-#usr/share/zoneinfo/right/Asia/Riyadh87\r
-#usr/share/zoneinfo/right/Asia/Riyadh88\r
-#usr/share/zoneinfo/right/Asia/Riyadh89\r
-#usr/share/zoneinfo/right/Asia/Saigon\r
-#usr/share/zoneinfo/right/Asia/Sakhalin\r
-#usr/share/zoneinfo/right/Asia/Samarkand\r
-#usr/share/zoneinfo/right/Asia/Seoul\r
-#usr/share/zoneinfo/right/Asia/Shanghai\r
-#usr/share/zoneinfo/right/Asia/Singapore\r
-#usr/share/zoneinfo/right/Asia/Taipei\r
-#usr/share/zoneinfo/right/Asia/Tashkent\r
-#usr/share/zoneinfo/right/Asia/Tbilisi\r
-#usr/share/zoneinfo/right/Asia/Tehran\r
-#usr/share/zoneinfo/right/Asia/Tel_Aviv\r
-#usr/share/zoneinfo/right/Asia/Thimbu\r
-#usr/share/zoneinfo/right/Asia/Thimphu\r
-#usr/share/zoneinfo/right/Asia/Tokyo\r
-#usr/share/zoneinfo/right/Asia/Ujung_Pandang\r
-#usr/share/zoneinfo/right/Asia/Ulaanbaatar\r
-#usr/share/zoneinfo/right/Asia/Ulan_Bator\r
-#usr/share/zoneinfo/right/Asia/Urumqi\r
-#usr/share/zoneinfo/right/Asia/Vientiane\r
-#usr/share/zoneinfo/right/Asia/Vladivostok\r
-#usr/share/zoneinfo/right/Asia/Yakutsk\r
-#usr/share/zoneinfo/right/Asia/Yekaterinburg\r
-#usr/share/zoneinfo/right/Asia/Yerevan\r
-#usr/share/zoneinfo/right/Atlantic\r
-#usr/share/zoneinfo/right/Atlantic/Azores\r
-#usr/share/zoneinfo/right/Atlantic/Bermuda\r
-#usr/share/zoneinfo/right/Atlantic/Canary\r
-#usr/share/zoneinfo/right/Atlantic/Cape_Verde\r
-#usr/share/zoneinfo/right/Atlantic/Faeroe\r
-#usr/share/zoneinfo/right/Atlantic/Jan_Mayen\r
-#usr/share/zoneinfo/right/Atlantic/Madeira\r
-#usr/share/zoneinfo/right/Atlantic/Reykjavik\r
-#usr/share/zoneinfo/right/Atlantic/South_Georgia\r
-#usr/share/zoneinfo/right/Atlantic/St_Helena\r
-#usr/share/zoneinfo/right/Atlantic/Stanley\r
-#usr/share/zoneinfo/right/Australia\r
-#usr/share/zoneinfo/right/Australia/ACT\r
-#usr/share/zoneinfo/right/Australia/Adelaide\r
-#usr/share/zoneinfo/right/Australia/Brisbane\r
-#usr/share/zoneinfo/right/Australia/Broken_Hill\r
-#usr/share/zoneinfo/right/Australia/Canberra\r
-#usr/share/zoneinfo/right/Australia/Darwin\r
-#usr/share/zoneinfo/right/Australia/Hobart\r
-#usr/share/zoneinfo/right/Australia/LHI\r
-#usr/share/zoneinfo/right/Australia/Lindeman\r
-#usr/share/zoneinfo/right/Australia/Lord_Howe\r
-#usr/share/zoneinfo/right/Australia/Melbourne\r
-#usr/share/zoneinfo/right/Australia/NSW\r
-#usr/share/zoneinfo/right/Australia/North\r
-#usr/share/zoneinfo/right/Australia/Perth\r
-#usr/share/zoneinfo/right/Australia/Queensland\r
-#usr/share/zoneinfo/right/Australia/South\r
-#usr/share/zoneinfo/right/Australia/Sydney\r
-#usr/share/zoneinfo/right/Australia/Tasmania\r
-#usr/share/zoneinfo/right/Australia/Victoria\r
-#usr/share/zoneinfo/right/Australia/West\r
-#usr/share/zoneinfo/right/Australia/Yancowinna\r
-#usr/share/zoneinfo/right/Brazil\r
-#usr/share/zoneinfo/right/Brazil/Acre\r
-#usr/share/zoneinfo/right/Brazil/DeNoronha\r
-#usr/share/zoneinfo/right/Brazil/East\r
-#usr/share/zoneinfo/right/Brazil/West\r
-#usr/share/zoneinfo/right/CET\r
-#usr/share/zoneinfo/right/CST6CDT\r
-#usr/share/zoneinfo/right/Canada\r
-#usr/share/zoneinfo/right/Canada/Atlantic\r
-#usr/share/zoneinfo/right/Canada/Central\r
-#usr/share/zoneinfo/right/Canada/East-Saskatchewan\r
-#usr/share/zoneinfo/right/Canada/Eastern\r
-#usr/share/zoneinfo/right/Canada/Mountain\r
-#usr/share/zoneinfo/right/Canada/Newfoundland\r
-#usr/share/zoneinfo/right/Canada/Pacific\r
-#usr/share/zoneinfo/right/Canada/Saskatchewan\r
-#usr/share/zoneinfo/right/Canada/Yukon\r
-#usr/share/zoneinfo/right/Chile\r
-#usr/share/zoneinfo/right/Chile/Continental\r
-#usr/share/zoneinfo/right/Chile/EasterIsland\r
-#usr/share/zoneinfo/right/Cuba\r
-#usr/share/zoneinfo/right/EET\r
-#usr/share/zoneinfo/right/EST\r
-#usr/share/zoneinfo/right/EST5EDT\r
-#usr/share/zoneinfo/right/Egypt\r
-#usr/share/zoneinfo/right/Eire\r
-#usr/share/zoneinfo/right/Etc\r
-#usr/share/zoneinfo/right/Etc/GMT\r
-#usr/share/zoneinfo/right/Etc/GMT+0\r
-#usr/share/zoneinfo/right/Etc/GMT+1\r
-#usr/share/zoneinfo/right/Etc/GMT+10\r
-#usr/share/zoneinfo/right/Etc/GMT+11\r
-#usr/share/zoneinfo/right/Etc/GMT+12\r
-#usr/share/zoneinfo/right/Etc/GMT+2\r
-#usr/share/zoneinfo/right/Etc/GMT+3\r
-#usr/share/zoneinfo/right/Etc/GMT+4\r
-#usr/share/zoneinfo/right/Etc/GMT+5\r
-#usr/share/zoneinfo/right/Etc/GMT+6\r
-#usr/share/zoneinfo/right/Etc/GMT+7\r
-#usr/share/zoneinfo/right/Etc/GMT+8\r
-#usr/share/zoneinfo/right/Etc/GMT+9\r
-#usr/share/zoneinfo/right/Etc/GMT-0\r
-#usr/share/zoneinfo/right/Etc/GMT-1\r
-#usr/share/zoneinfo/right/Etc/GMT-10\r
-#usr/share/zoneinfo/right/Etc/GMT-11\r
-#usr/share/zoneinfo/right/Etc/GMT-12\r
-#usr/share/zoneinfo/right/Etc/GMT-13\r
-#usr/share/zoneinfo/right/Etc/GMT-14\r
-#usr/share/zoneinfo/right/Etc/GMT-2\r
-#usr/share/zoneinfo/right/Etc/GMT-3\r
-#usr/share/zoneinfo/right/Etc/GMT-4\r
-#usr/share/zoneinfo/right/Etc/GMT-5\r
-#usr/share/zoneinfo/right/Etc/GMT-6\r
-#usr/share/zoneinfo/right/Etc/GMT-7\r
-#usr/share/zoneinfo/right/Etc/GMT-8\r
-#usr/share/zoneinfo/right/Etc/GMT-9\r
-#usr/share/zoneinfo/right/Etc/GMT0\r
-#usr/share/zoneinfo/right/Etc/Greenwich\r
-#usr/share/zoneinfo/right/Etc/UCT\r
-#usr/share/zoneinfo/right/Etc/UTC\r
-#usr/share/zoneinfo/right/Etc/Universal\r
-#usr/share/zoneinfo/right/Etc/Zulu\r
-#usr/share/zoneinfo/right/Europe\r
-#usr/share/zoneinfo/right/Europe/Amsterdam\r
-#usr/share/zoneinfo/right/Europe/Andorra\r
-#usr/share/zoneinfo/right/Europe/Athens\r
-#usr/share/zoneinfo/right/Europe/Belfast\r
-#usr/share/zoneinfo/right/Europe/Belgrade\r
-#usr/share/zoneinfo/right/Europe/Berlin\r
-#usr/share/zoneinfo/right/Europe/Bratislava\r
-#usr/share/zoneinfo/right/Europe/Brussels\r
-#usr/share/zoneinfo/right/Europe/Bucharest\r
-#usr/share/zoneinfo/right/Europe/Budapest\r
-#usr/share/zoneinfo/right/Europe/Chisinau\r
-#usr/share/zoneinfo/right/Europe/Copenhagen\r
-#usr/share/zoneinfo/right/Europe/Dublin\r
-#usr/share/zoneinfo/right/Europe/Gibraltar\r
-#usr/share/zoneinfo/right/Europe/Helsinki\r
-#usr/share/zoneinfo/right/Europe/Istanbul\r
-#usr/share/zoneinfo/right/Europe/Kaliningrad\r
-#usr/share/zoneinfo/right/Europe/Kiev\r
-#usr/share/zoneinfo/right/Europe/Lisbon\r
-#usr/share/zoneinfo/right/Europe/Ljubljana\r
-#usr/share/zoneinfo/right/Europe/London\r
-#usr/share/zoneinfo/right/Europe/Luxembourg\r
-#usr/share/zoneinfo/right/Europe/Madrid\r
-#usr/share/zoneinfo/right/Europe/Malta\r
-#usr/share/zoneinfo/right/Europe/Minsk\r
-#usr/share/zoneinfo/right/Europe/Monaco\r
-#usr/share/zoneinfo/right/Europe/Moscow\r
-#usr/share/zoneinfo/right/Europe/Nicosia\r
-#usr/share/zoneinfo/right/Europe/Oslo\r
-#usr/share/zoneinfo/right/Europe/Paris\r
-#usr/share/zoneinfo/right/Europe/Prague\r
-#usr/share/zoneinfo/right/Europe/Riga\r
-#usr/share/zoneinfo/right/Europe/Rome\r
-#usr/share/zoneinfo/right/Europe/Samara\r
-#usr/share/zoneinfo/right/Europe/San_Marino\r
-#usr/share/zoneinfo/right/Europe/Sarajevo\r
-#usr/share/zoneinfo/right/Europe/Simferopol\r
-#usr/share/zoneinfo/right/Europe/Skopje\r
-#usr/share/zoneinfo/right/Europe/Sofia\r
-#usr/share/zoneinfo/right/Europe/Stockholm\r
-#usr/share/zoneinfo/right/Europe/Tallinn\r
-#usr/share/zoneinfo/right/Europe/Tirane\r
-#usr/share/zoneinfo/right/Europe/Tiraspol\r
-#usr/share/zoneinfo/right/Europe/Uzhgorod\r
-#usr/share/zoneinfo/right/Europe/Vaduz\r
-#usr/share/zoneinfo/right/Europe/Vatican\r
-#usr/share/zoneinfo/right/Europe/Vienna\r
-#usr/share/zoneinfo/right/Europe/Vilnius\r
-#usr/share/zoneinfo/right/Europe/Warsaw\r
-#usr/share/zoneinfo/right/Europe/Zagreb\r
-#usr/share/zoneinfo/right/Europe/Zaporozhye\r
-#usr/share/zoneinfo/right/Europe/Zurich\r
-#usr/share/zoneinfo/right/Factory\r
-#usr/share/zoneinfo/right/GB\r
-#usr/share/zoneinfo/right/GB-Eire\r
-#usr/share/zoneinfo/right/GMT\r
-#usr/share/zoneinfo/right/GMT+0\r
-#usr/share/zoneinfo/right/GMT-0\r
-#usr/share/zoneinfo/right/GMT0\r
-#usr/share/zoneinfo/right/Greenwich\r
-#usr/share/zoneinfo/right/HST\r
-#usr/share/zoneinfo/right/Hongkong\r
-#usr/share/zoneinfo/right/Iceland\r
-#usr/share/zoneinfo/right/Indian\r
-#usr/share/zoneinfo/right/Indian/Antananarivo\r
-#usr/share/zoneinfo/right/Indian/Chagos\r
-#usr/share/zoneinfo/right/Indian/Christmas\r
-#usr/share/zoneinfo/right/Indian/Cocos\r
-#usr/share/zoneinfo/right/Indian/Comoro\r
-#usr/share/zoneinfo/right/Indian/Kerguelen\r
-#usr/share/zoneinfo/right/Indian/Mahe\r
-#usr/share/zoneinfo/right/Indian/Maldives\r
-#usr/share/zoneinfo/right/Indian/Mauritius\r
-#usr/share/zoneinfo/right/Indian/Mayotte\r
-#usr/share/zoneinfo/right/Indian/Reunion\r
-#usr/share/zoneinfo/right/Iran\r
-#usr/share/zoneinfo/right/Israel\r
-#usr/share/zoneinfo/right/Jamaica\r
-#usr/share/zoneinfo/right/Japan\r
-#usr/share/zoneinfo/right/Kwajalein\r
-#usr/share/zoneinfo/right/Libya\r
-#usr/share/zoneinfo/right/MET\r
-#usr/share/zoneinfo/right/MST\r
-#usr/share/zoneinfo/right/MST7MDT\r
-#usr/share/zoneinfo/right/Mexico\r
-#usr/share/zoneinfo/right/Mexico/BajaNorte\r
-#usr/share/zoneinfo/right/Mexico/BajaSur\r
-#usr/share/zoneinfo/right/Mexico/General\r
-#usr/share/zoneinfo/right/Mideast\r
-#usr/share/zoneinfo/right/Mideast/Riyadh87\r
-#usr/share/zoneinfo/right/Mideast/Riyadh88\r
-#usr/share/zoneinfo/right/Mideast/Riyadh89\r
-#usr/share/zoneinfo/right/NZ\r
-#usr/share/zoneinfo/right/NZ-CHAT\r
-#usr/share/zoneinfo/right/Navajo\r
-#usr/share/zoneinfo/right/PRC\r
-#usr/share/zoneinfo/right/PST8PDT\r
-#usr/share/zoneinfo/right/Pacific\r
-#usr/share/zoneinfo/right/Pacific/Apia\r
-#usr/share/zoneinfo/right/Pacific/Auckland\r
-#usr/share/zoneinfo/right/Pacific/Chatham\r
-#usr/share/zoneinfo/right/Pacific/Easter\r
-#usr/share/zoneinfo/right/Pacific/Efate\r
-#usr/share/zoneinfo/right/Pacific/Enderbury\r
-#usr/share/zoneinfo/right/Pacific/Fakaofo\r
-#usr/share/zoneinfo/right/Pacific/Fiji\r
-#usr/share/zoneinfo/right/Pacific/Funafuti\r
-#usr/share/zoneinfo/right/Pacific/Galapagos\r
-#usr/share/zoneinfo/right/Pacific/Gambier\r
-#usr/share/zoneinfo/right/Pacific/Guadalcanal\r
-#usr/share/zoneinfo/right/Pacific/Guam\r
-#usr/share/zoneinfo/right/Pacific/Honolulu\r
-#usr/share/zoneinfo/right/Pacific/Johnston\r
-#usr/share/zoneinfo/right/Pacific/Kiritimati\r
-#usr/share/zoneinfo/right/Pacific/Kosrae\r
-#usr/share/zoneinfo/right/Pacific/Kwajalein\r
-#usr/share/zoneinfo/right/Pacific/Majuro\r
-#usr/share/zoneinfo/right/Pacific/Marquesas\r
-#usr/share/zoneinfo/right/Pacific/Midway\r
-#usr/share/zoneinfo/right/Pacific/Nauru\r
-#usr/share/zoneinfo/right/Pacific/Niue\r
-#usr/share/zoneinfo/right/Pacific/Norfolk\r
-#usr/share/zoneinfo/right/Pacific/Noumea\r
-#usr/share/zoneinfo/right/Pacific/Pago_Pago\r
-#usr/share/zoneinfo/right/Pacific/Palau\r
-#usr/share/zoneinfo/right/Pacific/Pitcairn\r
-#usr/share/zoneinfo/right/Pacific/Ponape\r
-#usr/share/zoneinfo/right/Pacific/Port_Moresby\r
-#usr/share/zoneinfo/right/Pacific/Rarotonga\r
-#usr/share/zoneinfo/right/Pacific/Saipan\r
-#usr/share/zoneinfo/right/Pacific/Samoa\r
-#usr/share/zoneinfo/right/Pacific/Tahiti\r
-#usr/share/zoneinfo/right/Pacific/Tarawa\r
-#usr/share/zoneinfo/right/Pacific/Tongatapu\r
-#usr/share/zoneinfo/right/Pacific/Truk\r
-#usr/share/zoneinfo/right/Pacific/Wake\r
-#usr/share/zoneinfo/right/Pacific/Wallis\r
-#usr/share/zoneinfo/right/Pacific/Yap\r
-#usr/share/zoneinfo/right/Poland\r
-#usr/share/zoneinfo/right/Portugal\r
-#usr/share/zoneinfo/right/ROC\r
-#usr/share/zoneinfo/right/ROK\r
-#usr/share/zoneinfo/right/Singapore\r
-#usr/share/zoneinfo/right/SystemV\r
-#usr/share/zoneinfo/right/SystemV/AST4\r
-#usr/share/zoneinfo/right/SystemV/AST4ADT\r
-#usr/share/zoneinfo/right/SystemV/CST6\r
-#usr/share/zoneinfo/right/SystemV/CST6CDT\r
-#usr/share/zoneinfo/right/SystemV/EST5\r
-#usr/share/zoneinfo/right/SystemV/EST5EDT\r
-#usr/share/zoneinfo/right/SystemV/HST10\r
-#usr/share/zoneinfo/right/SystemV/MST7\r
-#usr/share/zoneinfo/right/SystemV/MST7MDT\r
-#usr/share/zoneinfo/right/SystemV/PST8\r
-#usr/share/zoneinfo/right/SystemV/PST8PDT\r
-#usr/share/zoneinfo/right/SystemV/YST9\r
-#usr/share/zoneinfo/right/SystemV/YST9YDT\r
-#usr/share/zoneinfo/right/Turkey\r
-#usr/share/zoneinfo/right/UCT\r
-#usr/share/zoneinfo/right/US\r
-#usr/share/zoneinfo/right/US/Alaska\r
-#usr/share/zoneinfo/right/US/Aleutian\r
-#usr/share/zoneinfo/right/US/Arizona\r
-#usr/share/zoneinfo/right/US/Central\r
-#usr/share/zoneinfo/right/US/East-Indiana\r
-#usr/share/zoneinfo/right/US/Eastern\r
-#usr/share/zoneinfo/right/US/Hawaii\r
-#usr/share/zoneinfo/right/US/Indiana-Starke\r
-#usr/share/zoneinfo/right/US/Michigan\r
-#usr/share/zoneinfo/right/US/Mountain\r
-#usr/share/zoneinfo/right/US/Pacific\r
-#usr/share/zoneinfo/right/US/Samoa\r
-#usr/share/zoneinfo/right/UTC\r
-#usr/share/zoneinfo/right/Universal\r
-#usr/share/zoneinfo/right/W-SU\r
-#usr/share/zoneinfo/right/WET\r
-#usr/share/zoneinfo/right/Zulu\r
-#usr/share/zoneinfo/zone.tab\r
-##\r
-## binutils-2.14\r
-##\r
-#usr/bin/addr2line\r
-#usr/bin/ar\r
-#usr/bin/as\r
-#usr/bin/c++filt\r
-#usr/bin/gprof\r
-#usr/bin/ld\r
-#usr/bin/nm\r
-#usr/bin/objcopy\r
-#usr/bin/objdump\r
-#usr/bin/ranlib\r
-#usr/bin/readelf\r
-#usr/bin/size\r
-#usr/bin/strings\r
-#usr/bin/strip\r
-#usr/i386-pc-linux-gnu\r
-#usr/i386-pc-linux-gnu/bin\r
-#usr/i386-pc-linux-gnu/bin/ar\r
-#usr/i386-pc-linux-gnu/bin/as\r
-#usr/i386-pc-linux-gnu/bin/ld\r
-#usr/i386-pc-linux-gnu/bin/nm\r
-#usr/i386-pc-linux-gnu/bin/ranlib\r
-#usr/i386-pc-linux-gnu/bin/strip\r
-#usr/i386-pc-linux-gnu/lib\r
-#usr/i386-pc-linux-gnu/lib/ldscripts\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.x\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xbn\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xc\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xn\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xr\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xs\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xsc\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xu\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.x\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xbn\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xn\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xr\r
-#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xu\r
-#usr/include/ansidecl.h\r
-#usr/include/bfd.h\r
-#usr/include/bfdlink.h\r
-#usr/include/dis-asm.h\r
-#usr/include/symcat.h\r
-#usr/lib/libbfd-2.14.so\r
-#usr/lib/libbfd.a\r
-#usr/lib/libbfd.la\r
-#usr/lib/libbfd.so\r
-#usr/lib/libiberty.a\r
-#usr/lib/libopcodes-2.14.so\r
-#usr/lib/libopcodes.a\r
-#usr/lib/libopcodes.la\r
-#usr/lib/libopcodes.so\r
-#usr/share/info/as.info\r
-#usr/share/info/bfd.info\r
-#usr/share/info/bfd.info-1\r
-#usr/share/info/bfd.info-2\r
-#usr/share/info/bfd.info-3\r
-#usr/share/info/bfd.info-4\r
-#usr/share/info/bfd.info-5\r
-#usr/share/info/bfd.info-6\r
-#usr/share/info/bfd.info-7\r
-#usr/share/info/bfd.info-8\r
-#usr/share/info/bfd.info-9\r
-#usr/share/info/binutils.info\r
-#usr/share/info/configure.info\r
-#usr/share/info/configure.info-1\r
-#usr/share/info/configure.info-2\r
-#usr/share/info/configure.info-3\r
-#usr/share/info/gprof.info\r
-#usr/share/info/gprof.info-1\r
-#usr/share/info/gprof.info-2\r
-#usr/share/info/gprof.info-3\r
-#usr/share/info/ld.info\r
-#usr/share/info/standards.info\r
-#usr/share/man/man1/addr2line.1\r
-#usr/share/man/man1/ar.1\r
-#usr/share/man/man1/as.1\r
-#usr/share/man/man1/c++filt.1\r
-#usr/share/man/man1/dlltool.1\r
-#usr/share/man/man1/gprof.1\r
-#usr/share/man/man1/ld.1\r
-#usr/share/man/man1/nlmconv.1\r
-#usr/share/man/man1/nm.1\r
-#usr/share/man/man1/objcopy.1\r
-#usr/share/man/man1/objdump.1\r
-#usr/share/man/man1/ranlib.1\r
-#usr/share/man/man1/readelf.1\r
-#usr/share/man/man1/size.1\r
-#usr/share/man/man1/strings.1\r
-#usr/share/man/man1/strip.1\r
-#usr/share/man/man1/windres.1\r
-##\r
-## gcc-3.3.3\r
-##\r
-#usr/bin/c++\r
-#usr/bin/g++\r
-#usr/bin/i386-pc-linux-gnu-g++\r
-#usr/bin/i386-pc-linux-gnu-c++\r
-#usr/bin/cc\r
-#usr/bin/gcov\r
-#usr/bin/gccbug\r
-#usr/bin/cpp\r
-#usr/bin/gcc\r
-#usr/bin/i386-pc-linux-gnu-gcc-3.3.3\r
-#usr/bin/i386-pc-linux-gnu-gcc\r
-#usr/include/c++\r
-#usr/include/c++/3.3.3\r
-#usr/include/c++/3.3.3/bits\r
-#usr/include/c++/3.3.3/bits/basic_ios.h\r
-#usr/include/c++/3.3.3/bits/basic_ios.tcc\r
-#usr/include/c++/3.3.3/bits/basic_string.h\r
-#usr/include/c++/3.3.3/bits/basic_string.tcc\r
-#usr/include/c++/3.3.3/bits/boost_concept_check.h\r
-#usr/include/c++/3.3.3/bits/char_traits.h\r
-#usr/include/c++/3.3.3/bits/codecvt.h\r
-#usr/include/c++/3.3.3/bits/concept_check.h\r
-#usr/include/c++/3.3.3/bits/cpp_type_traits.h\r
-#usr/include/c++/3.3.3/bits/deque.tcc\r
-#usr/include/c++/3.3.3/bits/fpos.h\r
-#usr/include/c++/3.3.3/bits/fstream.tcc\r
-#usr/include/c++/3.3.3/bits/functexcept.h\r
-#usr/include/c++/3.3.3/bits/gslice.h\r
-#usr/include/c++/3.3.3/bits/gslice_array.h\r
-#usr/include/c++/3.3.3/bits/indirect_array.h\r
-#usr/include/c++/3.3.3/bits/ios_base.h\r
-#usr/include/c++/3.3.3/bits/istream.tcc\r
-#usr/include/c++/3.3.3/bits/list.tcc\r
-#usr/include/c++/3.3.3/bits/locale_classes.h\r
-#usr/include/c++/3.3.3/bits/locale_facets.h\r
-#usr/include/c++/3.3.3/bits/locale_facets.tcc\r
-#usr/include/c++/3.3.3/bits/localefwd.h\r
-#usr/include/c++/3.3.3/bits/mask_array.h\r
-#usr/include/c++/3.3.3/bits/ostream.tcc\r
-#usr/include/c++/3.3.3/bits/pthread_allocimpl.h\r
-#usr/include/c++/3.3.3/bits/stream_iterator.h\r
-#usr/include/c++/3.3.3/bits/streambuf_iterator.h\r
-#usr/include/c++/3.3.3/bits/slice_array.h\r
-#usr/include/c++/3.3.3/bits/sstream.tcc\r
-#usr/include/c++/3.3.3/bits/stl_algo.h\r
-#usr/include/c++/3.3.3/bits/stl_algobase.h\r
-#usr/include/c++/3.3.3/bits/stl_alloc.h\r
-#usr/include/c++/3.3.3/bits/stl_bvector.h\r
-#usr/include/c++/3.3.3/bits/stl_construct.h\r
-#usr/include/c++/3.3.3/bits/stl_deque.h\r
-#usr/include/c++/3.3.3/bits/stl_function.h\r
-#usr/include/c++/3.3.3/bits/stl_heap.h\r
-#usr/include/c++/3.3.3/bits/stl_iterator.h\r
-#usr/include/c++/3.3.3/bits/stl_iterator_base_funcs.h\r
-#usr/include/c++/3.3.3/bits/stl_iterator_base_types.h\r
-#usr/include/c++/3.3.3/bits/stl_list.h\r
-#usr/include/c++/3.3.3/bits/stl_map.h\r
-#usr/include/c++/3.3.3/bits/stl_multimap.h\r
-#usr/include/c++/3.3.3/bits/stl_multiset.h\r
-#usr/include/c++/3.3.3/bits/stl_numeric.h\r
-#usr/include/c++/3.3.3/bits/stl_pair.h\r
-#usr/include/c++/3.3.3/bits/stl_pthread_alloc.h\r
-#usr/include/c++/3.3.3/bits/stl_queue.h\r
-#usr/include/c++/3.3.3/bits/stl_raw_storage_iter.h\r
-#usr/include/c++/3.3.3/bits/stl_relops.h\r
-#usr/include/c++/3.3.3/bits/stl_set.h\r
-#usr/include/c++/3.3.3/bits/stl_stack.h\r
-#usr/include/c++/3.3.3/bits/stl_tempbuf.h\r
-#usr/include/c++/3.3.3/bits/stl_threads.h\r
-#usr/include/c++/3.3.3/bits/stl_tree.h\r
-#usr/include/c++/3.3.3/bits/stl_uninitialized.h\r
-#usr/include/c++/3.3.3/bits/stl_vector.h\r
-#usr/include/c++/3.3.3/bits/streambuf.tcc\r
-#usr/include/c++/3.3.3/bits/stringfwd.h\r
-#usr/include/c++/3.3.3/bits/type_traits.h\r
-#usr/include/c++/3.3.3/bits/valarray_array.h\r
-#usr/include/c++/3.3.3/bits/valarray_array.tcc\r
-#usr/include/c++/3.3.3/bits/valarray_meta.h\r
-#usr/include/c++/3.3.3/bits/vector.tcc\r
-#usr/include/c++/3.3.3/bits/cmath.tcc\r
-#usr/include/c++/3.3.3/backward\r
-#usr/include/c++/3.3.3/backward/complex.h\r
-#usr/include/c++/3.3.3/backward/iomanip.h\r
-#usr/include/c++/3.3.3/backward/istream.h\r
-#usr/include/c++/3.3.3/backward/ostream.h\r
-#usr/include/c++/3.3.3/backward/stream.h\r
-#usr/include/c++/3.3.3/backward/streambuf.h\r
-#usr/include/c++/3.3.3/backward/algo.h\r
-#usr/include/c++/3.3.3/backward/algobase.h\r
-#usr/include/c++/3.3.3/backward/alloc.h\r
-#usr/include/c++/3.3.3/backward/bvector.h\r
-#usr/include/c++/3.3.3/backward/defalloc.h\r
-#usr/include/c++/3.3.3/backward/deque.h\r
-#usr/include/c++/3.3.3/backward/function.h\r
-#usr/include/c++/3.3.3/backward/hash_map.h\r
-#usr/include/c++/3.3.3/backward/hash_set.h\r
-#usr/include/c++/3.3.3/backward/hashtable.h\r
-#usr/include/c++/3.3.3/backward/heap.h\r
-#usr/include/c++/3.3.3/backward/iostream.h\r
-#usr/include/c++/3.3.3/backward/iterator.h\r
-#usr/include/c++/3.3.3/backward/list.h\r
-#usr/include/c++/3.3.3/backward/map.h\r
-#usr/include/c++/3.3.3/backward/multimap.h\r
-#usr/include/c++/3.3.3/backward/new.h\r
-#usr/include/c++/3.3.3/backward/multiset.h\r
-#usr/include/c++/3.3.3/backward/pair.h\r
-#usr/include/c++/3.3.3/backward/queue.h\r
-#usr/include/c++/3.3.3/backward/rope.h\r
-#usr/include/c++/3.3.3/backward/set.h\r
-#usr/include/c++/3.3.3/backward/slist.h\r
-#usr/include/c++/3.3.3/backward/stack.h\r
-#usr/include/c++/3.3.3/backward/tempbuf.h\r
-#usr/include/c++/3.3.3/backward/tree.h\r
-#usr/include/c++/3.3.3/backward/vector.h\r
-#usr/include/c++/3.3.3/backward/fstream.h\r
-#usr/include/c++/3.3.3/backward/strstream\r
-#usr/include/c++/3.3.3/backward/backward_warning.h\r
-#usr/include/c++/3.3.3/ext\r
-#usr/include/c++/3.3.3/ext/algorithm\r
-#usr/include/c++/3.3.3/ext/enc_filebuf.h\r
-#usr/include/c++/3.3.3/ext/stdio_filebuf.h\r
-#usr/include/c++/3.3.3/ext/functional\r
-#usr/include/c++/3.3.3/ext/hash_map\r
-#usr/include/c++/3.3.3/ext/hash_set\r
-#usr/include/c++/3.3.3/ext/iterator\r
-#usr/include/c++/3.3.3/ext/memory\r
-#usr/include/c++/3.3.3/ext/numeric\r
-#usr/include/c++/3.3.3/ext/rb_tree\r
-#usr/include/c++/3.3.3/ext/rope\r
-#usr/include/c++/3.3.3/ext/ropeimpl.h\r
-#usr/include/c++/3.3.3/ext/slist\r
-#usr/include/c++/3.3.3/ext/stl_hash_fun.h\r
-#usr/include/c++/3.3.3/ext/stl_hashtable.h\r
-#usr/include/c++/3.3.3/ext/stl_rope.h\r
-#usr/include/c++/3.3.3/cassert\r
-#usr/include/c++/3.3.3/cctype\r
-#usr/include/c++/3.3.3/cerrno\r
-#usr/include/c++/3.3.3/cfloat\r
-#usr/include/c++/3.3.3/ciso646\r
-#usr/include/c++/3.3.3/climits\r
-#usr/include/c++/3.3.3/clocale\r
-#usr/include/c++/3.3.3/cmath\r
-#usr/include/c++/3.3.3/csetjmp\r
-#usr/include/c++/3.3.3/csignal\r
-#usr/include/c++/3.3.3/cstdarg\r
-#usr/include/c++/3.3.3/cstddef\r
-#usr/include/c++/3.3.3/cstdio\r
-#usr/include/c++/3.3.3/cstdlib\r
-#usr/include/c++/3.3.3/cstring\r
-#usr/include/c++/3.3.3/ctime\r
-#usr/include/c++/3.3.3/cwchar\r
-#usr/include/c++/3.3.3/cwctype\r
-#usr/include/c++/3.3.3/algorithm\r
-#usr/include/c++/3.3.3/bitset\r
-#usr/include/c++/3.3.3/complex\r
-#usr/include/c++/3.3.3/deque\r
-#usr/include/c++/3.3.3/fstream\r
-#usr/include/c++/3.3.3/functional\r
-#usr/include/c++/3.3.3/iomanip\r
-#usr/include/c++/3.3.3/ios\r
-#usr/include/c++/3.3.3/iosfwd\r
-#usr/include/c++/3.3.3/iostream\r
-#usr/include/c++/3.3.3/istream\r
-#usr/include/c++/3.3.3/iterator\r
-#usr/include/c++/3.3.3/limits\r
-#usr/include/c++/3.3.3/list\r
-#usr/include/c++/3.3.3/locale\r
-#usr/include/c++/3.3.3/map\r
-#usr/include/c++/3.3.3/memory\r
-#usr/include/c++/3.3.3/numeric\r
-#usr/include/c++/3.3.3/ostream\r
-#usr/include/c++/3.3.3/queue\r
-#usr/include/c++/3.3.3/set\r
-#usr/include/c++/3.3.3/sstream\r
-#usr/include/c++/3.3.3/stack\r
-#usr/include/c++/3.3.3/stdexcept\r
-#usr/include/c++/3.3.3/streambuf\r
-#usr/include/c++/3.3.3/string\r
-#usr/include/c++/3.3.3/utility\r
-#usr/include/c++/3.3.3/valarray\r
-#usr/include/c++/3.3.3/vector\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_base.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_inline.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_noninline.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/os_defines.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/atomicity.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/basic_file.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++config.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++io.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++locale.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/messages_members.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/time_members.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/codecvt_specializations.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-single.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-posix.h\r
-#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-default.h\r
-#usr/include/c++/3.3.3/exception\r
-#usr/include/c++/3.3.3/new\r
-#usr/include/c++/3.3.3/typeinfo\r
-#usr/include/c++/3.3.3/cxxabi.h\r
-#usr/include/c++/3.3.3/exception_defines.h\r
-#usr/lib/gcc-lib\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/syslimits.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/float.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/iso646.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stdarg.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stdbool.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stddef.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/varargs.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/unwind.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/mmintrin.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/xmmintrin.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/limits.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/cc1\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/cc1plus\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/collect2\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbegin.o\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbeginS.o\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbeginT.o\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtend.o\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtendS.o\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/specs\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/float.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/iso646.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stdarg.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stdbool.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stddef.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/varargs.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/unwind.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/mmintrin.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/xmmintrin.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/limits.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/README\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/fixinc.sh\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/fixincl\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/gsyslimits.h\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/mkheaders\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/mkheaders.conf\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/libgcc.a\r
-#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/libgcc_eh.a\r
-usr/lib/libgcc_s.so\r
-usr/lib/libgcc_s.so.1\r
-usr/lib/libstdc++.so\r
-usr/lib/libstdc++.so.5\r
-usr/lib/libstdc++.so.5.0.5\r
-#usr/lib/libstdc++.la\r
-#usr/lib/libstdc++.a\r
-#usr/lib/libsupc++.la\r
-#usr/lib/libsupc++.a\r
-#usr/share/info/cpp.info\r
-#usr/share/info/gcc.info\r
-#usr/share/info/cppinternals.info\r
-#usr/share/info/gccint.info\r
-#usr/share/man/man1/g++.1\r
-#usr/share/man/man1/gcc.1\r
-#usr/share/man/man1/cpp.1\r
-#usr/share/man/man1/gcov.1\r
-#usr/share/man/man7/fsf-funding.7\r
-#usr/share/man/man7/gfdl.7\r
-#usr/share/man/man7/gpl.7\r
-#lib/cpp\r
-##\r
-## coreutils-5.2.1\r
-##\r
-bin/[\r
-bin/basename\r
-bin/chgrp\r
-bin/chmod\r
-bin/chown\r
-bin/cp\r
-bin/date\r
-bin/dd\r
-bin/df\r
-#bin/dir\r
-#bin/dircolors\r
-bin/du\r
-bin/echo\r
-bin/false\r
-bin/head\r
-bin/install\r
-bin/ln\r
-bin/ls\r
-bin/mkdir\r
-bin/mkfifo\r
-bin/mknod\r
-bin/mv\r
-bin/rm\r
-bin/rmdir\r
-#bin/shred\r
-bin/sleep\r
-bin/su\r
-bin/sync\r
-bin/test\r
-bin/touch\r
-bin/true\r
-#bin/uname\r
-bin/uname.bak\r
-#bin/vdir\r
-#usr/bin/cksum\r
-#usr/bin/comm\r
-#usr/bin/csplit\r
-usr/bin/cut\r
-usr/bin/dirname\r
-usr/bin/env\r
-#usr/bin/expand\r
-usr/bin/expr\r
-#usr/bin/factor\r
-#usr/bin/fmt\r
-#usr/bin/fold\r
-usr/bin/groups\r
-usr/bin/hostid\r
-usr/bin/id\r
-#usr/bin/install\r
-usr/bin/join\r
-#usr/bin/kill\r
-#usr/bin/link\r
-#usr/bin/logname\r
-usr/bin/md5sum\r
-usr/bin/nice\r
-#usr/bin/nl\r
-usr/bin/nohup\r
-#usr/bin/od\r
-usr/bin/paste\r
-#usr/bin/pathchk\r
-#usr/bin/pinky\r
-#usr/bin/pr\r
-#usr/bin/printenv\r
-#usr/bin/printf\r
-#usr/bin/ptx\r
-#usr/bin/readlink\r
-usr/bin/seq\r
-#usr/bin/sha1sum\r
-usr/bin/sort\r
-usr/bin/split\r
-usr/bin/stat\r
-#usr/bin/sum\r
-#usr/bin/tac\r
-usr/bin/tail\r
-usr/bin/tee\r
-usr/bin/tr\r
-#usr/bin/tsort\r
-#usr/bin/tty\r
-#usr/bin/unexpand\r
-usr/bin/uniq\r
-#usr/bin/unlink\r
-usr/bin/uptime\r
-#usr/bin/users\r
-usr/bin/wc\r
-usr/bin/who\r
-usr/bin/whoami\r
-usr/bin/yes\r
-usr/sbin/chroot\r
-#usr/share/info/coreutils.info\r
-#usr/share/man/man1/basename.1\r
-#usr/share/man/man1/cat.1\r
-#usr/share/man/man1/chroot.1\r
-#usr/share/man/man1/cksum.1\r
-#usr/share/man/man1/comm.1\r
-#usr/share/man/man1/csplit.1\r
-#usr/share/man/man1/cut.1\r
-#usr/share/man/man1/date.1\r
-#usr/share/man/man1/dirname.1\r
-#usr/share/man/man1/echo.1\r
-#usr/share/man/man1/env.1\r
-#usr/share/man/man1/expand.1\r
-#usr/share/man/man1/expr.1\r
-#usr/share/man/man1/factor.1\r
-#usr/share/man/man1/false.1\r
-#usr/share/man/man1/fmt.1\r
-#usr/share/man/man1/fold.1\r
-#usr/share/man/man1/groups.1\r
-#usr/share/man/man1/head.1\r
-#usr/share/man/man1/hostid.1\r
-#usr/share/man/man1/id.1\r
-#usr/share/man/man1/join.1\r
-#usr/share/man/man1/link.1\r
-#usr/share/man/man1/logname.1\r
-#usr/share/man/man1/md5sum.1\r
-#usr/share/man/man1/nice.1\r
-#usr/share/man/man1/nl.1\r
-#usr/share/man/man1/nohup.1\r
-#usr/share/man/man1/od.1\r
-#usr/share/man/man1/paste.1\r
-#usr/share/man/man1/pathchk.1\r
-#usr/share/man/man1/pinky.1\r
-#usr/share/man/man1/pr.1\r
-#usr/share/man/man1/printenv.1\r
-#usr/share/man/man1/printf.1\r
-#usr/share/man/man1/ptx.1\r
-#usr/share/man/man1/pwd.1\r
-#usr/share/man/man1/readlink.1\r
-#usr/share/man/man1/seq.1\r
-#usr/share/man/man1/sha1sum.1\r
-#usr/share/man/man1/shred.1\r
-#usr/share/man/man1/sleep.1\r
-#usr/share/man/man1/sort.1\r
-#usr/share/man/man1/split.1\r
-#usr/share/man/man1/stat.1\r
-#usr/share/man/man1/stty.1\r
-#usr/share/man/man1/su.1\r
-#usr/share/man/man1/sum.1\r
-#usr/share/man/man1/sync.1\r
-#usr/share/man/man1/tac.1\r
-#usr/share/man/man1/tail.1\r
-#usr/share/man/man1/tee.1\r
-#usr/share/man/man1/test.1\r
-#usr/share/man/man1/tr.1\r
-#usr/share/man/man1/true.1\r
-#usr/share/man/man1/tsort.1\r
-#usr/share/man/man1/tty.1\r
-#usr/share/man/man1/uname.1\r
-#usr/share/man/man1/unexpand.1\r
-#usr/share/man/man1/uniq.1\r
-#usr/share/man/man1/unlink.1\r
-#usr/share/man/man1/uptime.1\r
-#usr/share/man/man1/users.1\r
-#usr/share/man/man1/wc.1\r
-#usr/share/man/man1/who.1\r
-#usr/share/man/man1/whoami.1\r
-#usr/share/man/man1/yes.1\r
-##\r
-## zlib-1.2.3\r
-##\r
-lib/libz.so.1\r
-lib/libz.so.1.2.3\r
-#usr/include/zconf.h\r
-#usr/include/zlib.h\r
-#usr/lib/libz.a\r
-#usr/share/man/man3/zlib.3\r
-##\r
-## mktemp-1.5\r
-##\r
-usr/bin/mktemp\r
-#usr/share/man/man1/mktemp.1\r
-##\r
-## Iana-Etc-2.00\r
-##\r
-etc/protocols\r
-etc/services\r
-##\r
-## findutils-4.1.20\r
-##\r
-#usr/bin/bigram\r
-#usr/bin/code\r
-usr/bin/find\r
-#usr/bin/frcode\r
-#usr/bin/locate\r
-#usr/bin/updatedb\r
-#usr/bin/xargs\r
-#usr/share/info/find.info\r
-#usr/share/info/find.info-1\r
-#usr/share/info/find.info-2\r
-#usr/share/man/man1/find.1\r
-#usr/share/man/man1/locate.1\r
-#usr/share/man/man1/updatedb.1\r
-#usr/share/man/man1/xargs.1\r
-#usr/share/man/man5/locatedb.5\r
-#usr/var\r
-##\r
-## gawk-3.1.3\r
-##\r
-usr/bin/awk\r
-usr/bin/gawk\r
-#usr/bin/gawk-3.1.3\r
-#usr/bin/grcat\r
-#usr/bin/igawk\r
-#usr/bin/pgawk\r
-#usr/bin/pgawk-3.1.3\r
-#usr/bin/pwcat\r
-#usr/share/gawk-3.1.3\r
-#usr/share/gawk-3.1.3/assert.awk\r
-#usr/share/gawk-3.1.3/bits2str.awk\r
-#usr/share/gawk-3.1.3/cliff_rand.awk\r
-#usr/share/gawk-3.1.3/ctime.awk\r
-#usr/share/gawk-3.1.3/ftrans.awk\r
-#usr/share/gawk-3.1.3/getopt.awk\r
-#usr/share/gawk-3.1.3/gettime.awk\r
-#usr/share/gawk-3.1.3/group.awk\r
-#usr/share/gawk-3.1.3/join.awk\r
-#usr/share/gawk-3.1.3/libintl.awk\r
-#usr/share/gawk-3.1.3/nextfile.awk\r
-#usr/share/gawk-3.1.3/noassign.awk\r
-#usr/share/gawk-3.1.3/ord.awk\r
-#usr/share/gawk-3.1.3/passwd.awk\r
-#usr/share/gawk-3.1.3/readable.awk\r
-#usr/share/gawk-3.1.3/rewind.awk\r
-#usr/share/gawk-3.1.3/round.awk\r
-#usr/share/gawk-3.1.3/zerofile.awk\r
-#usr/share/info/gawk.info\r
-#usr/share/info/gawkinet.info\r
-#usr/share/man/man1/gawk.1\r
-#usr/share/man/man1/igawk.1\r
-#usr/share/man/man1/pgawk.1\r
-##\r
-## ncurses-5.4\r
-##\r
-lib/libncurses.so.5\r
-lib/libncurses.so.5.4\r
-#usr/bin/captoinfo\r
-#usr/bin/clear\r
-#usr/bin/infocmp\r
-#usr/bin/infotocap\r
-#usr/bin/reset\r
-#usr/bin/tack\r
-#usr/bin/tic\r
-#usr/bin/toe\r
-usr/bin/tput\r
-#usr/bin/tset\r
-#usr/include/curses.h\r
-#usr/include/cursesapp.h\r
-#usr/include/cursesf.h\r
-#usr/include/cursesm.h\r
-#usr/include/cursesp.h\r
-#usr/include/cursesw.h\r
-#usr/include/cursslk.h\r
-#usr/include/eti.h\r
-#usr/include/etip.h\r
-#usr/include/form.h\r
-#usr/include/menu.h\r
-#usr/include/ncurses.h\r
-#usr/include/ncurses_dll.h\r
-#usr/include/panel.h\r
-#usr/include/term.h\r
-#usr/include/termcap.h\r
-#usr/include/unctrl.h\r
-#usr/lib/libcurses.a\r
-#usr/lib/libcurses.so\r
-#usr/lib/libform.a\r
-#usr/lib/libform.so\r
-#usr/lib/libform.so.5\r
-#usr/lib/libform.so.5.4\r
-#usr/lib/libmenu.a\r
-#usr/lib/libmenu.so\r
-#usr/lib/libmenu.so.5\r
-#usr/lib/libmenu.so.5.4\r
-#usr/lib/libncurses++.a\r
-#usr/lib/libncurses.a\r
-usr/lib/libncurses.so\r
-#usr/lib/libpanel.a\r
-usr/lib/libpanel.so\r
-usr/lib/libpanel.so.5\r
-usr/lib/libpanel.so.5.4\r
-#usr/lib/terminfo\r
-#usr/share/man/man1/captoinfo.1m\r
-#usr/share/man/man1/clear.1\r
-#usr/share/man/man1/infocmp.1m\r
-#usr/share/man/man1/infotocap.1m\r
-#usr/share/man/man1/reset.1\r
-#usr/share/man/man1/tack.1\r
-#usr/share/man/man1/tic.1m\r
-#usr/share/man/man1/toe.1m\r
-#usr/share/man/man1/tput.1\r
-#usr/share/man/man1/tset.1\r
-#usr/share/man/man3/COLOR_PAIR.3x\r
-#usr/share/man/man3/PAIR_NUMBER.3x\r
-#usr/share/man/man3/_nc_tracebits.3x\r
-#usr/share/man/man3/_traceattr.3x\r
-#usr/share/man/man3/_traceattr2.3x\r
-#usr/share/man/man3/_tracechar.3x\r
-#usr/share/man/man3/_tracechtype.3x\r
-#usr/share/man/man3/_tracechtype2.3x\r
-#usr/share/man/man3/_tracedump.3x\r
-#usr/share/man/man3/_tracef.3x\r
-#usr/share/man/man3/_tracemouse.3x\r
-#usr/share/man/man3/add_wch.3x\r
-#usr/share/man/man3/add_wchnstr.3x\r
-#usr/share/man/man3/add_wchstr.3x\r
-#usr/share/man/man3/addch.3x\r
-#usr/share/man/man3/addchnstr.3x\r
-#usr/share/man/man3/addchstr.3x\r
-#usr/share/man/man3/addnstr.3x\r
-#usr/share/man/man3/addnwstr.3x\r
-#usr/share/man/man3/addstr.3x\r
-#usr/share/man/man3/addwstr.3x\r
-#usr/share/man/man3/assume_default_colors.3x\r
-#usr/share/man/man3/attr_get.3x\r
-#usr/share/man/man3/attr_off.3x\r
-#usr/share/man/man3/attr_on.3x\r
-#usr/share/man/man3/attr_set.3x\r
-#usr/share/man/man3/attroff.3x\r
-#usr/share/man/man3/attron.3x\r
-#usr/share/man/man3/attrset.3x\r
-#usr/share/man/man3/baudrate.3x\r
-#usr/share/man/man3/beep.3x\r
-#usr/share/man/man3/bkgd.3x\r
-#usr/share/man/man3/bkgdset.3x\r
-#usr/share/man/man3/bkgrnd.3x\r
-#usr/share/man/man3/bkgrndset.3x\r
-#usr/share/man/man3/border.3x\r
-#usr/share/man/man3/border_set.3x\r
-#usr/share/man/man3/bottom_panel.3x\r
-#usr/share/man/man3/box.3x\r
-#usr/share/man/man3/box_set.3x\r
-#usr/share/man/man3/can_change_color.3x\r
-#usr/share/man/man3/cbreak.3x\r
-#usr/share/man/man3/chgat.3x\r
-#usr/share/man/man3/clear.3x\r
-#usr/share/man/man3/clearok.3x\r
-#usr/share/man/man3/clrtobot.3x\r
-#usr/share/man/man3/clrtoeol.3x\r
-#usr/share/man/man3/color_content.3x\r
-#usr/share/man/man3/color_set.3x\r
-#usr/share/man/man3/copywin.3x\r
-#usr/share/man/man3/current_field.3x\r
-#usr/share/man/man3/current_item.3x\r
-#usr/share/man/man3/curs_add_wch.3x\r
-#usr/share/man/man3/curs_add_wchstr.3x\r
-#usr/share/man/man3/curs_addch.3x\r
-#usr/share/man/man3/curs_addchstr.3x\r
-#usr/share/man/man3/curs_addstr.3x\r
-#usr/share/man/man3/curs_addwstr.3x\r
-#usr/share/man/man3/curs_attr.3x\r
-#usr/share/man/man3/curs_beep.3x\r
-#usr/share/man/man3/curs_bkgd.3x\r
-#usr/share/man/man3/curs_bkgrnd.3x\r
-#usr/share/man/man3/curs_border.3x\r
-#usr/share/man/man3/curs_border_set.3x\r
-#usr/share/man/man3/curs_clear.3x\r
-#usr/share/man/man3/curs_color.3x\r
-#usr/share/man/man3/curs_delch.3x\r
-#usr/share/man/man3/curs_deleteln.3x\r
-#usr/share/man/man3/curs_extend.3x\r
-#usr/share/man/man3/curs_get_wch.3x\r
-#usr/share/man/man3/curs_get_wstr.3x\r
-#usr/share/man/man3/curs_getcchar.3x\r
-#usr/share/man/man3/curs_getch.3x\r
-#usr/share/man/man3/curs_getstr.3x\r
-#usr/share/man/man3/curs_getyx.3x\r
-#usr/share/man/man3/curs_in_wch.3x\r
-#usr/share/man/man3/curs_in_wchstr.3x\r
-#usr/share/man/man3/curs_inch.3x\r
-#usr/share/man/man3/curs_inchstr.3x\r
-#usr/share/man/man3/curs_initscr.3x\r
-#usr/share/man/man3/curs_inopts.3x\r
-#usr/share/man/man3/curs_ins_wch.3x\r
-#usr/share/man/man3/curs_ins_wstr.3x\r
-#usr/share/man/man3/curs_insch.3x\r
-#usr/share/man/man3/curs_insstr.3x\r
-#usr/share/man/man3/curs_instr.3x\r
-#usr/share/man/man3/curs_inwstr.3x\r
-#usr/share/man/man3/curs_kernel.3x\r
-#usr/share/man/man3/curs_mouse.3x\r
-#usr/share/man/man3/curs_move.3x\r
-#usr/share/man/man3/curs_outopts.3x\r
-#usr/share/man/man3/curs_overlay.3x\r
-#usr/share/man/man3/curs_pad.3x\r
-#usr/share/man/man3/curs_print.3x\r
-#usr/share/man/man3/curs_printw.3x\r
-#usr/share/man/man3/curs_refresh.3x\r
-#usr/share/man/man3/curs_scanw.3x\r
-#usr/share/man/man3/curs_scr_dump.3x\r
-#usr/share/man/man3/curs_scroll.3x\r
-#usr/share/man/man3/curs_set.3x\r
-#usr/share/man/man3/curs_slk.3x\r
-#usr/share/man/man3/curs_termattrs.3x\r
-#usr/share/man/man3/curs_termcap.3x\r
-#usr/share/man/man3/curs_terminfo.3x\r
-#usr/share/man/man3/curs_touch.3x\r
-#usr/share/man/man3/curs_trace.3x\r
-#usr/share/man/man3/curs_util.3x\r
-#usr/share/man/man3/curs_window.3x\r
-#usr/share/man/man3/curses_version.3x\r
-#usr/share/man/man3/data_ahead.3x\r
-#usr/share/man/man3/data_behind.3x\r
-#usr/share/man/man3/def_prog_mode.3x\r
-#usr/share/man/man3/def_shell_mode.3x\r
-#usr/share/man/man3/default_colors.3x\r
-#usr/share/man/man3/define_key.3x\r
-#usr/share/man/man3/del_curterm.3x\r
-#usr/share/man/man3/del_panel.3x\r
-#usr/share/man/man3/delay_output.3x\r
-#usr/share/man/man3/delch.3x\r
-#usr/share/man/man3/deleteln.3x\r
-#usr/share/man/man3/delscreen.3x\r
-#usr/share/man/man3/delwin.3x\r
-#usr/share/man/man3/derwin.3x\r
-#usr/share/man/man3/doupdate.3x\r
-#usr/share/man/man3/dup_field.3x\r
-#usr/share/man/man3/dupwin.3x\r
-#usr/share/man/man3/dynamic_field_info.3x\r
-#usr/share/man/man3/echo.3x\r
-#usr/share/man/man3/echo_wchar.3x\r
-#usr/share/man/man3/echochar.3x\r
-#usr/share/man/man3/endwin.3x\r
-#usr/share/man/man3/erase.3x\r
-#usr/share/man/man3/erasechar.3x\r
-#usr/share/man/man3/erasewchar.3x\r
-#usr/share/man/man3/field_arg.3x\r
-#usr/share/man/man3/field_back.3x\r
-#usr/share/man/man3/field_buffer.3x\r
-#usr/share/man/man3/field_count.3x\r
-#usr/share/man/man3/field_fore.3x\r
-#usr/share/man/man3/field_index.3x\r
-#usr/share/man/man3/field_info.3x\r
-#usr/share/man/man3/field_just.3x\r
-#usr/share/man/man3/field_opts.3x\r
-#usr/share/man/man3/field_opts_off.3x\r
-#usr/share/man/man3/field_opts_on.3x\r
-#usr/share/man/man3/field_pad.3x\r
-#usr/share/man/man3/field_status.3x\r
-#usr/share/man/man3/field_type.3x\r
-#usr/share/man/man3/field_userptr.3x\r
-#usr/share/man/man3/filter.3x\r
-#usr/share/man/man3/flash.3x\r
-#usr/share/man/man3/flushinp.3x\r
-#usr/share/man/man3/form.3x\r
-#usr/share/man/man3/form_cursor.3x\r
-#usr/share/man/man3/form_data.3x\r
-#usr/share/man/man3/form_driver.3x\r
-#usr/share/man/man3/form_field.3x\r
-#usr/share/man/man3/form_field_attributes.3x\r
-#usr/share/man/man3/form_field_buffer.3x\r
-#usr/share/man/man3/form_field_info.3x\r
-#usr/share/man/man3/form_field_just.3x\r
-#usr/share/man/man3/form_field_new.3x\r
-#usr/share/man/man3/form_field_opts.3x\r
-#usr/share/man/man3/form_field_userptr.3x\r
-#usr/share/man/man3/form_field_validation.3x\r
-#usr/share/man/man3/form_fields.3x\r
-#usr/share/man/man3/form_fieldtype.3x\r
-#usr/share/man/man3/form_hook.3x\r
-#usr/share/man/man3/form_new.3x\r
-#usr/share/man/man3/form_new_page.3x\r
-#usr/share/man/man3/form_opts.3x\r
-#usr/share/man/man3/form_opts_off.3x\r
-#usr/share/man/man3/form_opts_on.3x\r
-#usr/share/man/man3/form_page.3x\r
-#usr/share/man/man3/form_post.3x\r
-#usr/share/man/man3/form_request_by_name.3x\r
-#usr/share/man/man3/form_request_name.3x\r
-#usr/share/man/man3/form_requestname.3x\r
-#usr/share/man/man3/form_sub.3x\r
-#usr/share/man/man3/form_userptr.3x\r
-#usr/share/man/man3/form_win.3x\r
-#usr/share/man/man3/free_field.3x\r
-#usr/share/man/man3/free_fieldtype.3x\r
-#usr/share/man/man3/free_form.3x\r
-#usr/share/man/man3/free_item.3x\r
-#usr/share/man/man3/free_menu.3x\r
-#usr/share/man/man3/get_wch.3x\r
-#usr/share/man/man3/get_wstr.3x\r
-#usr/share/man/man3/getbegx.3x\r
-#usr/share/man/man3/getbegy.3x\r
-#usr/share/man/man3/getbegyx.3x\r
-#usr/share/man/man3/getbkgd.3x\r
-#usr/share/man/man3/getbkgrnd.3x\r
-#usr/share/man/man3/getcchar.3x\r
-#usr/share/man/man3/getch.3x\r
-#usr/share/man/man3/getcurx.3x\r
-#usr/share/man/man3/getcury.3x\r
-#usr/share/man/man3/getmaxx.3x\r
-#usr/share/man/man3/getmaxy.3x\r
-#usr/share/man/man3/getmaxyx.3x\r
-#usr/share/man/man3/getmouse.3x\r
-#usr/share/man/man3/getn_wstr.3x\r
-#usr/share/man/man3/getnstr.3x\r
-#usr/share/man/man3/getparx.3x\r
-#usr/share/man/man3/getpary.3x\r
-#usr/share/man/man3/getparyx.3x\r
-#usr/share/man/man3/getstr.3x\r
-#usr/share/man/man3/getsyx.3x\r
-#usr/share/man/man3/getwin.3x\r
-#usr/share/man/man3/getyx.3x\r
-#usr/share/man/man3/halfdelay.3x\r
-#usr/share/man/man3/has_colors.3x\r
-#usr/share/man/man3/has_ic.3x\r
-#usr/share/man/man3/has_il.3x\r
-#usr/share/man/man3/has_key.3x\r
-#usr/share/man/man3/hide_panel.3x\r
-#usr/share/man/man3/hline.3x\r
-#usr/share/man/man3/hline_set.3x\r
-#usr/share/man/man3/idcok.3x\r
-#usr/share/man/man3/idlok.3x\r
-#usr/share/man/man3/immedok.3x\r
-#usr/share/man/man3/in_wch.3x\r
-#usr/share/man/man3/in_wchnstr.3x\r
-#usr/share/man/man3/in_wchstr.3x\r
-#usr/share/man/man3/inch.3x\r
-#usr/share/man/man3/inchnstr.3x\r
-#usr/share/man/man3/inchstr.3x\r
-#usr/share/man/man3/init_color.3x\r
-#usr/share/man/man3/init_pair.3x\r
-#usr/share/man/man3/initscr.3x\r
-#usr/share/man/man3/innstr.3x\r
-#usr/share/man/man3/innwstr.3x\r
-#usr/share/man/man3/ins_nwstr.3x\r
-#usr/share/man/man3/ins_wch.3x\r
-#usr/share/man/man3/ins_wstr.3x\r
-#usr/share/man/man3/insch.3x\r
-#usr/share/man/man3/insdelln.3x\r
-#usr/share/man/man3/insertln.3x\r
-#usr/share/man/man3/insnstr.3x\r
-#usr/share/man/man3/insstr.3x\r
-#usr/share/man/man3/instr.3x\r
-#usr/share/man/man3/intrflush.3x\r
-#usr/share/man/man3/inwstr.3x\r
-#usr/share/man/man3/is_linetouched.3x\r
-#usr/share/man/man3/is_term_resized.3x\r
-#usr/share/man/man3/is_wintouched.3x\r
-#usr/share/man/man3/isendwin.3x\r
-#usr/share/man/man3/item_count.3x\r
-#usr/share/man/man3/item_description.3x\r
-#usr/share/man/man3/item_index.3x\r
-#usr/share/man/man3/item_name.3x\r
-#usr/share/man/man3/item_opts.3x\r
-#usr/share/man/man3/item_opts_off.3x\r
-#usr/share/man/man3/item_opts_on.3x\r
-#usr/share/man/man3/item_userptr.3x\r
-#usr/share/man/man3/item_value.3x\r
-#usr/share/man/man3/item_visible.3x\r
-#usr/share/man/man3/key_name.3x\r
-#usr/share/man/man3/keybound.3x\r
-#usr/share/man/man3/keyname.3x\r
-#usr/share/man/man3/keyok.3x\r
-#usr/share/man/man3/keypad.3x\r
-#usr/share/man/man3/killchar.3x\r
-#usr/share/man/man3/killwchar.3x\r
-#usr/share/man/man3/leaveok.3x\r
-#usr/share/man/man3/link_field.3x\r
-#usr/share/man/man3/link_fieldtype.3x\r
-#usr/share/man/man3/longname.3x\r
-#usr/share/man/man3/mcprint.3x\r
-#usr/share/man/man3/menu.3x\r
-#usr/share/man/man3/menu_attributes.3x\r
-#usr/share/man/man3/menu_back.3x\r
-#usr/share/man/man3/menu_cursor.3x\r
-#usr/share/man/man3/menu_driver.3x\r
-#usr/share/man/man3/menu_fore.3x\r
-#usr/share/man/man3/menu_format.3x\r
-#usr/share/man/man3/menu_grey.3x\r
-#usr/share/man/man3/menu_hook.3x\r
-#usr/share/man/man3/menu_items.3x\r
-#usr/share/man/man3/menu_mark.3x\r
-#usr/share/man/man3/menu_new.3x\r
-#usr/share/man/man3/menu_opts.3x\r
-#usr/share/man/man3/menu_opts_off.3x\r
-#usr/share/man/man3/menu_opts_on.3x\r
-#usr/share/man/man3/menu_pad.3x\r
-#usr/share/man/man3/menu_pattern.3x\r
-#usr/share/man/man3/menu_post.3x\r
-#usr/share/man/man3/menu_request_by_name.3x\r
-#usr/share/man/man3/menu_request_name.3x\r
-#usr/share/man/man3/menu_requestname.3x\r
-#usr/share/man/man3/menu_spacing.3x\r
-#usr/share/man/man3/menu_sub.3x\r
-#usr/share/man/man3/menu_userptr.3x\r
-#usr/share/man/man3/menu_win.3x\r
-#usr/share/man/man3/meta.3x\r
-#usr/share/man/man3/mitem_current.3x\r
-#usr/share/man/man3/mitem_name.3x\r
-#usr/share/man/man3/mitem_new.3x\r
-#usr/share/man/man3/mitem_opts.3x\r
-#usr/share/man/man3/mitem_userptr.3x\r
-#usr/share/man/man3/mitem_value.3x\r
-#usr/share/man/man3/mitem_visible.3x\r
-#usr/share/man/man3/mouse_trafo.3x\r
-#usr/share/man/man3/mouseinterval.3x\r
-#usr/share/man/man3/mousemask.3x\r
-#usr/share/man/man3/move.3x\r
-#usr/share/man/man3/move_field.3x\r
-#usr/share/man/man3/move_panel.3x\r
-#usr/share/man/man3/mvadd_wch.3x\r
-#usr/share/man/man3/mvadd_wchnstr.3x\r
-#usr/share/man/man3/mvadd_wchstr.3x\r
-#usr/share/man/man3/mvaddch.3x\r
-#usr/share/man/man3/mvaddchnstr.3x\r
-#usr/share/man/man3/mvaddchstr.3x\r
-#usr/share/man/man3/mvaddnstr.3x\r
-#usr/share/man/man3/mvaddnwstr.3x\r
-#usr/share/man/man3/mvaddstr.3x\r
-#usr/share/man/man3/mvaddwstr.3x\r
-#usr/share/man/man3/mvchgat.3x\r
-#usr/share/man/man3/mvcur.3x\r
-#usr/share/man/man3/mvdelch.3x\r
-#usr/share/man/man3/mvderwin.3x\r
-#usr/share/man/man3/mvget_wch.3x\r
-#usr/share/man/man3/mvget_wstr.3x\r
-#usr/share/man/man3/mvgetch.3x\r
-#usr/share/man/man3/mvgetn_wstr.3x\r
-#usr/share/man/man3/mvgetnstr.3x\r
-#usr/share/man/man3/mvgetstr.3x\r
-#usr/share/man/man3/mvhline.3x\r
-#usr/share/man/man3/mvhline_set.3x\r
-#usr/share/man/man3/mvin_wch.3x\r
-#usr/share/man/man3/mvin_wchnstr.3x\r
-#usr/share/man/man3/mvin_wchstr.3x\r
-#usr/share/man/man3/mvinch.3x\r
-#usr/share/man/man3/mvinchnstr.3x\r
-#usr/share/man/man3/mvinchstr.3x\r
-#usr/share/man/man3/mvinnstr.3x\r
-#usr/share/man/man3/mvinnwstr.3x\r
-#usr/share/man/man3/mvins_nwstr.3x\r
-#usr/share/man/man3/mvins_wch.3x\r
-#usr/share/man/man3/mvins_wstr.3x\r
-#usr/share/man/man3/mvinsch.3x\r
-#usr/share/man/man3/mvinsnstr.3x\r
-#usr/share/man/man3/mvinsstr.3x\r
-#usr/share/man/man3/mvinstr.3x\r
-#usr/share/man/man3/mvinwstr.3x\r
-#usr/share/man/man3/mvprintw.3x\r
-#usr/share/man/man3/mvscanw.3x\r
-#usr/share/man/man3/mvvline.3x\r
-#usr/share/man/man3/mvvline_set.3x\r
-#usr/share/man/man3/mvwadd_wch.3x\r
-#usr/share/man/man3/mvwadd_wchnstr.3x\r
-#usr/share/man/man3/mvwadd_wchstr.3x\r
-#usr/share/man/man3/mvwaddch.3x\r
-#usr/share/man/man3/mvwaddchnstr.3x\r
-#usr/share/man/man3/mvwaddchstr.3x\r
-#usr/share/man/man3/mvwaddnstr.3x\r
-#usr/share/man/man3/mvwaddnwstr.3x\r
-#usr/share/man/man3/mvwaddstr.3x\r
-#usr/share/man/man3/mvwaddwstr.3x\r
-#usr/share/man/man3/mvwchgat.3x\r
-#usr/share/man/man3/mvwdelch.3x\r
-#usr/share/man/man3/mvwget_wch.3x\r
-#usr/share/man/man3/mvwget_wstr.3x\r
-#usr/share/man/man3/mvwgetch.3x\r
-#usr/share/man/man3/mvwgetn_wstr.3x\r
-#usr/share/man/man3/mvwgetnstr.3x\r
-#usr/share/man/man3/mvwgetstr.3x\r
-#usr/share/man/man3/mvwhline.3x\r
-#usr/share/man/man3/mvwhline_set.3x\r
-#usr/share/man/man3/mvwin.3x\r
-#usr/share/man/man3/mvwin_wch.3x\r
-#usr/share/man/man3/mvwin_wchnstr.3x\r
-#usr/share/man/man3/mvwin_wchstr.3x\r
-#usr/share/man/man3/mvwinch.3x\r
-#usr/share/man/man3/mvwinchnstr.3x\r
-#usr/share/man/man3/mvwinchstr.3x\r
-#usr/share/man/man3/mvwinnstr.3x\r
-#usr/share/man/man3/mvwinnwstr.3x\r
-#usr/share/man/man3/mvwins_nwstr.3x\r
-#usr/share/man/man3/mvwins_wch.3x\r
-#usr/share/man/man3/mvwins_wstr.3x\r
-#usr/share/man/man3/mvwinsch.3x\r
-#usr/share/man/man3/mvwinsnstr.3x\r
-#usr/share/man/man3/mvwinsstr.3x\r
-#usr/share/man/man3/mvwinstr.3x\r
-#usr/share/man/man3/mvwinwstr.3x\r
-#usr/share/man/man3/mvwprintw.3x\r
-#usr/share/man/man3/mvwscanw.3x\r
-#usr/share/man/man3/mvwvline.3x\r
-#usr/share/man/man3/mvwvline_set.3x\r
-#usr/share/man/man3/napms.3x\r
-#usr/share/man/man3/ncurses.3x\r
-#usr/share/man/man3/new_field.3x\r
-#usr/share/man/man3/new_fieldtype.3x\r
-#usr/share/man/man3/new_form.3x\r
-#usr/share/man/man3/new_item.3x\r
-#usr/share/man/man3/new_menu.3x\r
-#usr/share/man/man3/new_page.3x\r
-#usr/share/man/man3/new_panel.3x\r
-#usr/share/man/man3/newpad.3x\r
-#usr/share/man/man3/newterm.3x\r
-#usr/share/man/man3/newwin.3x\r
-#usr/share/man/man3/nl.3x\r
-#usr/share/man/man3/nocbreak.3x\r
-#usr/share/man/man3/nodelay.3x\r
-#usr/share/man/man3/noecho.3x\r
-#usr/share/man/man3/nonl.3x\r
-#usr/share/man/man3/noqiflush.3x\r
-#usr/share/man/man3/noraw.3x\r
-#usr/share/man/man3/notimeout.3x\r
-#usr/share/man/man3/overlay.3x\r
-#usr/share/man/man3/overwrite.3x\r
-#usr/share/man/man3/pair_content.3x\r
-#usr/share/man/man3/panel.3x\r
-#usr/share/man/man3/panel_above.3x\r
-#usr/share/man/man3/panel_below.3x\r
-#usr/share/man/man3/panel_hidden.3x\r
-#usr/share/man/man3/panel_userptr.3x\r
-#usr/share/man/man3/panel_window.3x\r
-#usr/share/man/man3/pechochar.3x\r
-#usr/share/man/man3/pnoutrefresh.3x\r
-#usr/share/man/man3/pos_form_cursor.3x\r
-#usr/share/man/man3/pos_menu_cursor.3x\r
-#usr/share/man/man3/post_form.3x\r
-#usr/share/man/man3/post_menu.3x\r
-#usr/share/man/man3/prefresh.3x\r
-#usr/share/man/man3/printw.3x\r
-#usr/share/man/man3/putp.3x\r
-#usr/share/man/man3/putwin.3x\r
-#usr/share/man/man3/qiflush.3x\r
-#usr/share/man/man3/raw.3x\r
-#usr/share/man/man3/redrawwin.3x\r
-#usr/share/man/man3/refresh.3x\r
-#usr/share/man/man3/replace_panel.3x\r
-#usr/share/man/man3/reset_prog_mode.3x\r
-#usr/share/man/man3/reset_shell_mode.3x\r
-#usr/share/man/man3/resetty.3x\r
-#usr/share/man/man3/resize_term.3x\r
-#usr/share/man/man3/resizeterm.3x\r
-#usr/share/man/man3/restartterm.3x\r
-#usr/share/man/man3/ripoffline.3x\r
-#usr/share/man/man3/savetty.3x\r
-#usr/share/man/man3/scale_form.3x\r
-#usr/share/man/man3/scale_menu.3x\r
-#usr/share/man/man3/scanw.3x\r
-#usr/share/man/man3/scr_dump.3x\r
-#usr/share/man/man3/scr_init.3x\r
-#usr/share/man/man3/scr_restore.3x\r
-#usr/share/man/man3/scr_set.3x\r
-#usr/share/man/man3/scrl.3x\r
-#usr/share/man/man3/scroll.3x\r
-#usr/share/man/man3/scrollok.3x\r
-#usr/share/man/man3/set_current_field.3x\r
-#usr/share/man/man3/set_current_item.3x\r
-#usr/share/man/man3/set_curterm.3x\r
-#usr/share/man/man3/set_field_back.3x\r
-#usr/share/man/man3/set_field_buffer.3x\r
-#usr/share/man/man3/set_field_fore.3x\r
-#usr/share/man/man3/set_field_init.3x\r
-#usr/share/man/man3/set_field_just.3x\r
-#usr/share/man/man3/set_field_opts.3x\r
-#usr/share/man/man3/set_field_pad.3x\r
-#usr/share/man/man3/set_field_status.3x\r
-#usr/share/man/man3/set_field_term.3x\r
-#usr/share/man/man3/set_field_type.3x\r
-#usr/share/man/man3/set_field_userptr.3x\r
-#usr/share/man/man3/set_fieldtype_arg.3x\r
-#usr/share/man/man3/set_fieldtype_choice.3x\r
-#usr/share/man/man3/set_form_fields.3x\r
-#usr/share/man/man3/set_form_init.3x\r
-#usr/share/man/man3/set_form_opts.3x\r
-#usr/share/man/man3/set_form_page.3x\r
-#usr/share/man/man3/set_form_sub.3x\r
-#usr/share/man/man3/set_form_term.3x\r
-#usr/share/man/man3/set_form_userptr.3x\r
-#usr/share/man/man3/set_form_win.3x\r
-#usr/share/man/man3/set_item_init.3x\r
-#usr/share/man/man3/set_item_opts.3x\r
-#usr/share/man/man3/set_item_term.3x\r
-#usr/share/man/man3/set_item_userptr.3x\r
-#usr/share/man/man3/set_item_value.3x\r
-#usr/share/man/man3/set_max_field.3x\r
-#usr/share/man/man3/set_menu_back.3x\r
-#usr/share/man/man3/set_menu_fore.3x\r
-#usr/share/man/man3/set_menu_format.3x\r
-#usr/share/man/man3/set_menu_grey.3x\r
-#usr/share/man/man3/set_menu_init.3x\r
-#usr/share/man/man3/set_menu_items.3x\r
-#usr/share/man/man3/set_menu_mark.3x\r
-#usr/share/man/man3/set_menu_opts.3x\r
-#usr/share/man/man3/set_menu_pad.3x\r
-#usr/share/man/man3/set_menu_pattern.3x\r
-#usr/share/man/man3/set_menu_spacing.3x\r
-#usr/share/man/man3/set_menu_sub.3x\r
-#usr/share/man/man3/set_menu_term.3x\r
-#usr/share/man/man3/set_menu_userptr.3x\r
-#usr/share/man/man3/set_menu_win.3x\r
-#usr/share/man/man3/set_new_page.3x\r
-#usr/share/man/man3/set_panel_userptr.3x\r
-#usr/share/man/man3/set_term.3x\r
-#usr/share/man/man3/set_top_row.3x\r
-#usr/share/man/man3/setcchar.3x\r
-#usr/share/man/man3/setscrreg.3x\r
-#usr/share/man/man3/setsyx.3x\r
-#usr/share/man/man3/setterm.3x\r
-#usr/share/man/man3/setupterm.3x\r
-#usr/share/man/man3/show_panel.3x\r
-#usr/share/man/man3/slk_attr.3x\r
-#usr/share/man/man3/slk_attr_off.3x\r
-#usr/share/man/man3/slk_attr_on.3x\r
-#usr/share/man/man3/slk_attr_set.3x\r
-#usr/share/man/man3/slk_attroff.3x\r
-#usr/share/man/man3/slk_attron.3x\r
-#usr/share/man/man3/slk_attrset.3x\r
-#usr/share/man/man3/slk_clear.3x\r
-#usr/share/man/man3/slk_color.3x\r
-#usr/share/man/man3/slk_init.3x\r
-#usr/share/man/man3/slk_label.3x\r
-#usr/share/man/man3/slk_noutrefresh.3x\r
-#usr/share/man/man3/slk_refresh.3x\r
-#usr/share/man/man3/slk_restore.3x\r
-#usr/share/man/man3/slk_set.3x\r
-#usr/share/man/man3/slk_touch.3x\r
-#usr/share/man/man3/standend.3x\r
-#usr/share/man/man3/standout.3x\r
-#usr/share/man/man3/start_color.3x\r
-#usr/share/man/man3/subpad.3x\r
-#usr/share/man/man3/subwin.3x\r
-#usr/share/man/man3/syncok.3x\r
-#usr/share/man/man3/term_attrs.3x\r
-#usr/share/man/man3/termattrs.3x\r
-#usr/share/man/man3/termname.3x\r
-#usr/share/man/man3/tgetent.3x\r
-#usr/share/man/man3/tgetflag.3x\r
-#usr/share/man/man3/tgetnum.3x\r
-#usr/share/man/man3/tgetstr.3x\r
-#usr/share/man/man3/tgoto.3x\r
-#usr/share/man/man3/tigetflag.3x\r
-#usr/share/man/man3/tigetnum.3x\r
-#usr/share/man/man3/tigetstr.3x\r
-#usr/share/man/man3/timeout.3x\r
-#usr/share/man/man3/top_panel.3x\r
-#usr/share/man/man3/top_row.3x\r
-#usr/share/man/man3/touchline.3x\r
-#usr/share/man/man3/touchwin.3x\r
-#usr/share/man/man3/tparm.3x\r
-#usr/share/man/man3/tputs.3x\r
-#usr/share/man/man3/trace.3x\r
-#usr/share/man/man3/typeahead.3x\r
-#usr/share/man/man3/unctrl.3x\r
-#usr/share/man/man3/unget_wch.3x\r
-#usr/share/man/man3/ungetch.3x\r
-#usr/share/man/man3/ungetmouse.3x\r
-#usr/share/man/man3/unpost_form.3x\r
-#usr/share/man/man3/unpost_menu.3x\r
-#usr/share/man/man3/untouchwin.3x\r
-#usr/share/man/man3/update_panels.3x\r
-#usr/share/man/man3/use_default_colors.3x\r
-#usr/share/man/man3/use_env.3x\r
-#usr/share/man/man3/use_extended_names.3x\r
-#usr/share/man/man3/vid_attr.3x\r
-#usr/share/man/man3/vid_puts.3x\r
-#usr/share/man/man3/vidattr.3x\r
-#usr/share/man/man3/vidputs.3x\r
-#usr/share/man/man3/vline.3x\r
-#usr/share/man/man3/vline_set.3x\r
-#usr/share/man/man3/vw_printw.3x\r
-#usr/share/man/man3/vw_scanw.3x\r
-#usr/share/man/man3/vwprintw.3x\r
-#usr/share/man/man3/vwscanw.3x\r
-#usr/share/man/man3/wadd_wch.3x\r
-#usr/share/man/man3/wadd_wchnstr.3x\r
-#usr/share/man/man3/wadd_wchstr.3x\r
-#usr/share/man/man3/waddch.3x\r
-#usr/share/man/man3/waddchnstr.3x\r
-#usr/share/man/man3/waddchstr.3x\r
-#usr/share/man/man3/waddnstr.3x\r
-#usr/share/man/man3/waddnwstr.3x\r
-#usr/share/man/man3/waddstr.3x\r
-#usr/share/man/man3/waddwstr.3x\r
-#usr/share/man/man3/wattr_get.3x\r
-#usr/share/man/man3/wattr_off.3x\r
-#usr/share/man/man3/wattr_on.3x\r
-#usr/share/man/man3/wattr_set.3x\r
-#usr/share/man/man3/wattroff.3x\r
-#usr/share/man/man3/wattron.3x\r
-#usr/share/man/man3/wattrset.3x\r
-#usr/share/man/man3/wbkgd.3x\r
-#usr/share/man/man3/wbkgdset.3x\r
-#usr/share/man/man3/wbkgrnd.3x\r
-#usr/share/man/man3/wbkgrndset.3x\r
-#usr/share/man/man3/wborder.3x\r
-#usr/share/man/man3/wborder_set.3x\r
-#usr/share/man/man3/wchgat.3x\r
-#usr/share/man/man3/wclear.3x\r
-#usr/share/man/man3/wclrtobot.3x\r
-#usr/share/man/man3/wclrtoeol.3x\r
-#usr/share/man/man3/wcolor_set.3x\r
-#usr/share/man/man3/wcursyncup.3x\r
-#usr/share/man/man3/wdelch.3x\r
-#usr/share/man/man3/wdeleteln.3x\r
-#usr/share/man/man3/wecho_wchar.3x\r
-#usr/share/man/man3/wechochar.3x\r
-#usr/share/man/man3/wenclose.3x\r
-#usr/share/man/man3/werase.3x\r
-#usr/share/man/man3/wget_wch.3x\r
-#usr/share/man/man3/wget_wstr.3x\r
-#usr/share/man/man3/wgetbkgrnd.3x\r
-#usr/share/man/man3/wgetch.3x\r
-#usr/share/man/man3/wgetn_wstr.3x\r
-#usr/share/man/man3/wgetnstr.3x\r
-#usr/share/man/man3/wgetstr.3x\r
-#usr/share/man/man3/whline.3x\r
-#usr/share/man/man3/whline_set.3x\r
-#usr/share/man/man3/win_wch.3x\r
-#usr/share/man/man3/win_wchnstr.3x\r
-#usr/share/man/man3/win_wchstr.3x\r
-#usr/share/man/man3/winch.3x\r
-#usr/share/man/man3/winchnstr.3x\r
-#usr/share/man/man3/winchstr.3x\r
-#usr/share/man/man3/winnstr.3x\r
-#usr/share/man/man3/winnwstr.3x\r
-#usr/share/man/man3/wins_nwstr.3x\r
-#usr/share/man/man3/wins_wch.3x\r
-#usr/share/man/man3/wins_wstr.3x\r
-#usr/share/man/man3/winsch.3x\r
-#usr/share/man/man3/winsdelln.3x\r
-#usr/share/man/man3/winsertln.3x\r
-#usr/share/man/man3/winsnstr.3x\r
-#usr/share/man/man3/winsstr.3x\r
-#usr/share/man/man3/winstr.3x\r
-#usr/share/man/man3/winwstr.3x\r
-#usr/share/man/man3/wmouse_trafo.3x\r
-#usr/share/man/man3/wmove.3x\r
-#usr/share/man/man3/wnoutrefresh.3x\r
-#usr/share/man/man3/wprintw.3x\r
-#usr/share/man/man3/wredrawln.3x\r
-#usr/share/man/man3/wrefresh.3x\r
-#usr/share/man/man3/wresize.3x\r
-#usr/share/man/man3/wscanw.3x\r
-#usr/share/man/man3/wscrl.3x\r
-#usr/share/man/man3/wsetscrreg.3x\r
-#usr/share/man/man3/wstandend.3x\r
-#usr/share/man/man3/wstandout.3x\r
-#usr/share/man/man3/wsyncdown.3x\r
-#usr/share/man/man3/wsyncup.3x\r
-#usr/share/man/man3/wtimeout.3x\r
-#usr/share/man/man3/wtouchln.3x\r
-#usr/share/man/man3/wunctrl.3x\r
-#usr/share/man/man3/wvline.3x\r
-#usr/share/man/man3/wvline_set.3x\r
-#usr/share/man/man5/term.5\r
-#usr/share/man/man5/terminfo.5\r
-#usr/share/man/man7/term.7\r
-#usr/share/tabset\r
-#usr/share/tabset/std\r
-#usr/share/tabset/stdcrt\r
-#usr/share/tabset/vt100\r
-#usr/share/tabset/vt300\r
-#usr/share/terminfo/1\r
-#usr/share/terminfo/1/1178\r
-#usr/share/terminfo/1/1730-lm\r
-#usr/share/terminfo/2\r
-#usr/share/terminfo/2/2621\r
-#usr/share/terminfo/2/2621-wl\r
-#usr/share/terminfo/2/2621A\r
-#usr/share/terminfo/2/2621a\r
-#usr/share/terminfo/3\r
-#usr/share/terminfo/3/386at\r
-#usr/share/terminfo/3/3b1\r
-#usr/share/terminfo/4\r
-#usr/share/terminfo/4/4025ex\r
-#usr/share/terminfo/4/4027ex\r
-#usr/share/terminfo/4/4410-w\r
-#usr/share/terminfo/5\r
-#usr/share/terminfo/5/5051\r
-#usr/share/terminfo/5/5410-w\r
-#usr/share/terminfo/5/5620\r
-#usr/share/terminfo/5/5630-24\r
-#usr/share/terminfo/5/5630DMD-24\r
-#usr/share/terminfo/6\r
-#usr/share/terminfo/6/6053\r
-#usr/share/terminfo/6/6053-dg\r
-#usr/share/terminfo/6/605x\r
-#usr/share/terminfo/6/605x-dg\r
-#usr/share/terminfo/6/630-lm\r
-#usr/share/terminfo/6/630MTG-24\r
-#usr/share/terminfo/7\r
-#usr/share/terminfo/7/730MTG-24\r
-#usr/share/terminfo/7/730MTG-41\r
-#usr/share/terminfo/7/730MTG-41r\r
-#usr/share/terminfo/7/730MTGr\r
-#usr/share/terminfo/7/730MTGr-24\r
-#usr/share/terminfo/8\r
-#usr/share/terminfo/8/8510\r
-#usr/share/terminfo/9\r
-#usr/share/terminfo/9/955-hb\r
-#usr/share/terminfo/9/955-w\r
-#usr/share/terminfo/A\r
-#usr/share/terminfo/A/Apple_Terminal\r
-#usr/share/terminfo/E\r
-#usr/share/terminfo/E/Eterm\r
-#usr/share/terminfo/E/Eterm-color\r
-#usr/share/terminfo/L\r
-#usr/share/terminfo/L/LFT-PC850\r
-#usr/share/terminfo/M\r
-#usr/share/terminfo/M/MtxOrb\r
-#usr/share/terminfo/M/MtxOrb162\r
-#usr/share/terminfo/M/MtxOrb204\r
-#usr/share/terminfo/N\r
-#usr/share/terminfo/N/NCR260VT300WPP\r
-#usr/share/terminfo/N/NCRVT100WPP\r
-#usr/share/terminfo/P\r
-#usr/share/terminfo/P/P12\r
-#usr/share/terminfo/P/P12-M\r
-#usr/share/terminfo/P/P12-M-W\r
-#usr/share/terminfo/P/P12-W\r
-#usr/share/terminfo/P/P14\r
-#usr/share/terminfo/P/P14-M\r
-#usr/share/terminfo/P/P14-M-W\r
-#usr/share/terminfo/P/P14-W\r
-#usr/share/terminfo/P/P4\r
-#usr/share/terminfo/P/P5\r
-#usr/share/terminfo/P/P7\r
-#usr/share/terminfo/P/P8\r
-#usr/share/terminfo/P/P8-W\r
-#usr/share/terminfo/P/P9\r
-#usr/share/terminfo/P/P9-8\r
-#usr/share/terminfo/P/P9-8-W\r
-#usr/share/terminfo/P/P9-W\r
-#usr/share/terminfo/Q\r
-#usr/share/terminfo/Q/Q306-8-pc\r
-#usr/share/terminfo/Q/Q310-vip-H\r
-#usr/share/terminfo/Q/Q310-vip-H-am\r
-#usr/share/terminfo/Q/Q310-vip-Hw\r
-#usr/share/terminfo/Q/Q310-vip-w\r
-#usr/share/terminfo/Q/Q310-vip-w-am\r
-#usr/share/terminfo/X\r
-#usr/share/terminfo/X/X-hpterm\r
-#usr/share/terminfo/a\r
-#usr/share/terminfo/a/a210\r
-#usr/share/terminfo/a/a80\r
-#usr/share/terminfo/a/a980\r
-#usr/share/terminfo/a/aa4080\r
-#usr/share/terminfo/a/aaa\r
-#usr/share/terminfo/a/aaa+dec\r
-#usr/share/terminfo/a/aaa+rv\r
-#usr/share/terminfo/a/aaa+unk\r
-#usr/share/terminfo/a/aaa-18\r
-#usr/share/terminfo/a/aaa-18-rv\r
-#usr/share/terminfo/a/aaa-20\r
-#usr/share/terminfo/a/aaa-22\r
-#usr/share/terminfo/a/aaa-24\r
-#usr/share/terminfo/a/aaa-24-rv\r
-#usr/share/terminfo/a/aaa-26\r
-#usr/share/terminfo/a/aaa-28\r
-#usr/share/terminfo/a/aaa-30\r
-#usr/share/terminfo/a/aaa-30-ctxt\r
-#usr/share/terminfo/a/aaa-30-rv\r
-#usr/share/terminfo/a/aaa-30-rv-ctxt\r
-#usr/share/terminfo/a/aaa-30-s\r
-#usr/share/terminfo/a/aaa-30-s-ctxt\r
-#usr/share/terminfo/a/aaa-30-s-rv\r
-#usr/share/terminfo/a/aaa-30-s-rv-ct\r
-#usr/share/terminfo/a/aaa-36\r
-#usr/share/terminfo/a/aaa-36-rv\r
-#usr/share/terminfo/a/aaa-40\r
-#usr/share/terminfo/a/aaa-40-rv\r
-#usr/share/terminfo/a/aaa-48\r
-#usr/share/terminfo/a/aaa-48-rv\r
-#usr/share/terminfo/a/aaa-60\r
-#usr/share/terminfo/a/aaa-60-dec-rv\r
-#usr/share/terminfo/a/aaa-60-rv\r
-#usr/share/terminfo/a/aaa-60-s\r
-#usr/share/terminfo/a/aaa-60-s-rv\r
-#usr/share/terminfo/a/aaa-ctxt\r
-#usr/share/terminfo/a/aaa-db\r
-#usr/share/terminfo/a/aaa-rv\r
-#usr/share/terminfo/a/aaa-rv-ctxt\r
-#usr/share/terminfo/a/aaa-rv-unk\r
-#usr/share/terminfo/a/aaa-s\r
-#usr/share/terminfo/a/aaa-s-ctxt\r
-#usr/share/terminfo/a/aaa-s-rv\r
-#usr/share/terminfo/a/aaa-s-rv-ctxt\r
-#usr/share/terminfo/a/aaa-unk\r
-#usr/share/terminfo/a/aas1901\r
-#usr/share/terminfo/a/abm80\r
-#usr/share/terminfo/a/abm85\r
-#usr/share/terminfo/a/abm85e\r
-#usr/share/terminfo/a/abm85h\r
-#usr/share/terminfo/a/abm85h-old\r
-#usr/share/terminfo/a/act4\r
-#usr/share/terminfo/a/act5\r
-#usr/share/terminfo/a/addrinfo\r
-#usr/share/terminfo/a/adds980\r
-#usr/share/terminfo/a/addsviewpoint\r
-#usr/share/terminfo/a/addsvp60\r
-#usr/share/terminfo/a/adm+sgr\r
-#usr/share/terminfo/a/adm1\r
-#usr/share/terminfo/a/adm11\r
-#usr/share/terminfo/a/adm1178\r
-#usr/share/terminfo/a/adm12\r
-#usr/share/terminfo/a/adm1a\r
-#usr/share/terminfo/a/adm2\r
-#usr/share/terminfo/a/adm20\r
-#usr/share/terminfo/a/adm21\r
-#usr/share/terminfo/a/adm22\r
-#usr/share/terminfo/a/adm3\r
-#usr/share/terminfo/a/adm31\r
-#usr/share/terminfo/a/adm31-old\r
-#usr/share/terminfo/a/adm36\r
-#usr/share/terminfo/a/adm3a\r
-#usr/share/terminfo/a/adm3a+\r
-#usr/share/terminfo/a/adm42\r
-#usr/share/terminfo/a/adm42-ns\r
-#usr/share/terminfo/a/adm5\r
-#usr/share/terminfo/a/aepro\r
-#usr/share/terminfo/a/aixterm\r
-#usr/share/terminfo/a/aixterm-m\r
-#usr/share/terminfo/a/aixterm-m-old\r
-#usr/share/terminfo/a/aj\r
-#usr/share/terminfo/a/aj510\r
-#usr/share/terminfo/a/aj830\r
-#usr/share/terminfo/a/aj832\r
-#usr/share/terminfo/a/alt2\r
-#usr/share/terminfo/a/alt3\r
-#usr/share/terminfo/a/alt4\r
-#usr/share/terminfo/a/alt5\r
-#usr/share/terminfo/a/alt7\r
-#usr/share/terminfo/a/alt7pc\r
-#usr/share/terminfo/a/alto-h19\r
-#usr/share/terminfo/a/alto-heath\r
-#usr/share/terminfo/a/altoh19\r
-#usr/share/terminfo/a/altoheath\r
-#usr/share/terminfo/a/altos-2\r
-#usr/share/terminfo/a/altos-3\r
-#usr/share/terminfo/a/altos-4\r
-#usr/share/terminfo/a/altos-5\r
-#usr/share/terminfo/a/altos2\r
-#usr/share/terminfo/a/altos3\r
-#usr/share/terminfo/a/altos4\r
-#usr/share/terminfo/a/altos5\r
-#usr/share/terminfo/a/altos7\r
-#usr/share/terminfo/a/altos7pc\r
-#usr/share/terminfo/a/ambas\r
-#usr/share/terminfo/a/ambassador\r
-#usr/share/terminfo/a/amiga\r
-#usr/share/terminfo/a/amiga-8bit\r
-#usr/share/terminfo/a/amiga-h\r
-#usr/share/terminfo/a/amiga-vnc\r
-#usr/share/terminfo/a/amp219\r
-#usr/share/terminfo/a/amp219w\r
-#usr/share/terminfo/a/ampex-219\r
-#usr/share/terminfo/a/ampex-219w\r
-#usr/share/terminfo/a/ampex-232\r
-#usr/share/terminfo/a/ampex175\r
-#usr/share/terminfo/a/ampex175-b\r
-#usr/share/terminfo/a/ampex210\r
-#usr/share/terminfo/a/ampex219\r
-#usr/share/terminfo/a/ampex219w\r
-#usr/share/terminfo/a/ampex232\r
-#usr/share/terminfo/a/ampex232w\r
-#usr/share/terminfo/a/ampex80\r
-#usr/share/terminfo/a/annarbor4080\r
-#usr/share/terminfo/a/ansi\r
-#usr/share/terminfo/a/ansi+arrows\r
-#usr/share/terminfo/a/ansi+csr\r
-#usr/share/terminfo/a/ansi+cup\r
-#usr/share/terminfo/a/ansi+erase\r
-#usr/share/terminfo/a/ansi+idc\r
-#usr/share/terminfo/a/ansi+idl\r
-#usr/share/terminfo/a/ansi+idl1\r
-#usr/share/terminfo/a/ansi+inittabs\r
-#usr/share/terminfo/a/ansi+local\r
-#usr/share/terminfo/a/ansi+local1\r
-#usr/share/terminfo/a/ansi+pp\r
-#usr/share/terminfo/a/ansi+rca\r
-#usr/share/terminfo/a/ansi+rep\r
-#usr/share/terminfo/a/ansi+sgr\r
-#usr/share/terminfo/a/ansi+sgrbold\r
-#usr/share/terminfo/a/ansi+sgrdim\r
-#usr/share/terminfo/a/ansi+sgrso\r
-#usr/share/terminfo/a/ansi+sgrul\r
-#usr/share/terminfo/a/ansi+tabs\r
-#usr/share/terminfo/a/ansi-color-2-emx\r
-#usr/share/terminfo/a/ansi-color-3-emx\r
-#usr/share/terminfo/a/ansi-emx\r
-#usr/share/terminfo/a/ansi-generic\r
-#usr/share/terminfo/a/ansi-m\r
-#usr/share/terminfo/a/ansi-mini\r
-#usr/share/terminfo/a/ansi-mono\r
-#usr/share/terminfo/a/ansi-mr\r
-#usr/share/terminfo/a/ansi-mtabs\r
-#usr/share/terminfo/a/ansi-nt\r
-#usr/share/terminfo/a/ansi.sys\r
-#usr/share/terminfo/a/ansi.sys-old\r
-#usr/share/terminfo/a/ansi.sysk\r
-#usr/share/terminfo/a/ansi43m\r
-#usr/share/terminfo/a/ansi77\r
-#usr/share/terminfo/a/ansi80x25\r
-#usr/share/terminfo/a/ansi80x25-mono\r
-#usr/share/terminfo/a/ansi80x25-raw\r
-#usr/share/terminfo/a/ansi80x30\r
-#usr/share/terminfo/a/ansi80x30-mono\r
-#usr/share/terminfo/a/ansi80x43\r
-#usr/share/terminfo/a/ansi80x43-mono\r
-#usr/share/terminfo/a/ansi80x50\r
-#usr/share/terminfo/a/ansi80x50-mono\r
-#usr/share/terminfo/a/ansi80x60\r
-#usr/share/terminfo/a/ansi80x60-mono\r
-#usr/share/terminfo/a/ansil\r
-#usr/share/terminfo/a/ansil-mono\r
-#usr/share/terminfo/a/ansis\r
-#usr/share/terminfo/a/ansis-mono\r
-#usr/share/terminfo/a/ansisysk\r
-#usr/share/terminfo/a/ansiw\r
-#usr/share/terminfo/a/ap-vm80\r
-#usr/share/terminfo/a/apl\r
-#usr/share/terminfo/a/apollo\r
-#usr/share/terminfo/a/apollo_15P\r
-#usr/share/terminfo/a/apollo_19L\r
-#usr/share/terminfo/a/apollo_color\r
-#usr/share/terminfo/a/apple-80\r
-#usr/share/terminfo/a/apple-ae\r
-#usr/share/terminfo/a/apple-soroc\r
-#usr/share/terminfo/a/apple-uterm\r
-#usr/share/terminfo/a/apple-uterm-vb\r
-#usr/share/terminfo/a/apple-videx\r
-#usr/share/terminfo/a/apple-videx2\r
-#usr/share/terminfo/a/apple-videx3\r
-#usr/share/terminfo/a/apple-vm80\r
-#usr/share/terminfo/a/apple2e\r
-#usr/share/terminfo/a/apple2e-p\r
-#usr/share/terminfo/a/apple80p\r
-#usr/share/terminfo/a/appleII\r
-#usr/share/terminfo/a/appleIIc\r
-#usr/share/terminfo/a/appleIIe\r
-#usr/share/terminfo/a/appleIIgs\r
-#usr/share/terminfo/a/arm100\r
-#usr/share/terminfo/a/arm100-am\r
-#usr/share/terminfo/a/arm100-w\r
-#usr/share/terminfo/a/arm100-wam\r
-#usr/share/terminfo/a/at386\r
-#usr/share/terminfo/a/atari\r
-#usr/share/terminfo/a/att2300\r
-#usr/share/terminfo/a/att2350\r
-#usr/share/terminfo/a/att4410\r
-#usr/share/terminfo/a/att4410-w\r
-#usr/share/terminfo/a/att4410v1\r
-#usr/share/terminfo/a/att4410v1-w\r
-#usr/share/terminfo/a/att4415\r
-#usr/share/terminfo/a/att4415+nl\r
-#usr/share/terminfo/a/att4415-nl\r
-#usr/share/terminfo/a/att4415-rv\r
-#usr/share/terminfo/a/att4415-rv-nl\r
-#usr/share/terminfo/a/att4415-w\r
-#usr/share/terminfo/a/att4415-w-nl\r
-#usr/share/terminfo/a/att4415-w-rv\r
-#usr/share/terminfo/a/att4415-w-rv-n\r
-#usr/share/terminfo/a/att4418\r
-#usr/share/terminfo/a/att4418-w\r
-#usr/share/terminfo/a/att4420\r
-#usr/share/terminfo/a/att4424\r
-#usr/share/terminfo/a/att4424-1\r
-#usr/share/terminfo/a/att4424m\r
-#usr/share/terminfo/a/att4425\r
-#usr/share/terminfo/a/att4425-nl\r
-#usr/share/terminfo/a/att4425-w\r
-#usr/share/terminfo/a/att4426\r
-#usr/share/terminfo/a/att500\r
-#usr/share/terminfo/a/att505\r
-#usr/share/terminfo/a/att505-24\r
-#usr/share/terminfo/a/att510a\r
-#usr/share/terminfo/a/att510d\r
-#usr/share/terminfo/a/att513\r
-#usr/share/terminfo/a/att5310\r
-#usr/share/terminfo/a/att5320\r
-#usr/share/terminfo/a/att5410\r
-#usr/share/terminfo/a/att5410-w\r
-#usr/share/terminfo/a/att5410v1\r
-#usr/share/terminfo/a/att5410v1-w\r
-#usr/share/terminfo/a/att5418\r
-#usr/share/terminfo/a/att5418-w\r
-#usr/share/terminfo/a/att5420\r
-#usr/share/terminfo/a/att5420+nl\r
-#usr/share/terminfo/a/att5420-nl\r
-#usr/share/terminfo/a/att5420-rv\r
-#usr/share/terminfo/a/att5420-rv-nl\r
-#usr/share/terminfo/a/att5420-w\r
-#usr/share/terminfo/a/att5420-w-nl\r
-#usr/share/terminfo/a/att5420-w-rv\r
-#usr/share/terminfo/a/att5420-w-rv-n\r
-#usr/share/terminfo/a/att5420_2\r
-#usr/share/terminfo/a/att5420_2-w\r
-#usr/share/terminfo/a/att5425\r
-#usr/share/terminfo/a/att5425-nl\r
-#usr/share/terminfo/a/att5425-w\r
-#usr/share/terminfo/a/att5430\r
-#usr/share/terminfo/a/att5620\r
-#usr/share/terminfo/a/att5620-1\r
-#usr/share/terminfo/a/att5620-24\r
-#usr/share/terminfo/a/att5620-34\r
-#usr/share/terminfo/a/att5620-s\r
-#usr/share/terminfo/a/att605\r
-#usr/share/terminfo/a/att605-pc\r
-#usr/share/terminfo/a/att605-w\r
-#usr/share/terminfo/a/att610\r
-#usr/share/terminfo/a/att610-103k\r
-#usr/share/terminfo/a/att610-103k-w\r
-#usr/share/terminfo/a/att610-w\r
-#usr/share/terminfo/a/att615\r
-#usr/share/terminfo/a/att615-103k\r
-#usr/share/terminfo/a/att615-103k-w\r
-#usr/share/terminfo/a/att615-w\r
-#usr/share/terminfo/a/att620\r
-#usr/share/terminfo/a/att620-103k\r
-#usr/share/terminfo/a/att620-103k-w\r
-#usr/share/terminfo/a/att620-w\r
-#usr/share/terminfo/a/att630\r
-#usr/share/terminfo/a/att630-24\r
-#usr/share/terminfo/a/att6386\r
-#usr/share/terminfo/a/att700\r
-#usr/share/terminfo/a/att730\r
-#usr/share/terminfo/a/att730-24\r
-#usr/share/terminfo/a/att730-41\r
-#usr/share/terminfo/a/att7300\r
-#usr/share/terminfo/a/att730r\r
-#usr/share/terminfo/a/att730r-24\r
-#usr/share/terminfo/a/att730r-41\r
-#usr/share/terminfo/a/avatar\r
-#usr/share/terminfo/a/avatar0\r
-#usr/share/terminfo/a/avatar0+\r
-#usr/share/terminfo/a/avatar1\r
-#usr/share/terminfo/a/avt\r
-#usr/share/terminfo/a/avt+s\r
-#usr/share/terminfo/a/avt-ns\r
-#usr/share/terminfo/a/avt-rv\r
-#usr/share/terminfo/a/avt-rv-ns\r
-#usr/share/terminfo/a/avt-rv-s\r
-#usr/share/terminfo/a/avt-s\r
-#usr/share/terminfo/a/avt-w\r
-#usr/share/terminfo/a/avt-w-ns\r
-#usr/share/terminfo/a/avt-w-rv\r
-#usr/share/terminfo/a/avt-w-rv-ns\r
-#usr/share/terminfo/a/avt-w-rv-s\r
-#usr/share/terminfo/a/avt-w-s\r
-#usr/share/terminfo/a/aws\r
-#usr/share/terminfo/a/awsc\r
-#usr/share/terminfo/b\r
-#usr/share/terminfo/b/b-128\r
-#usr/share/terminfo/b/bantam\r
-#usr/share/terminfo/b/basic4\r
-#usr/share/terminfo/b/basis\r
-#usr/share/terminfo/b/bct510a\r
-#usr/share/terminfo/b/bct510d\r
-#usr/share/terminfo/b/beacon\r
-#usr/share/terminfo/b/bee\r
-#usr/share/terminfo/b/beehive\r
-#usr/share/terminfo/b/beehive3\r
-#usr/share/terminfo/b/beehive4\r
-#usr/share/terminfo/b/beehiveIIIm\r
-#usr/share/terminfo/b/beterm\r
-#usr/share/terminfo/b/bg1.25\r
-#usr/share/terminfo/b/bg1.25nv\r
-#usr/share/terminfo/b/bg1.25rv\r
-#usr/share/terminfo/b/bg2.0\r
-#usr/share/terminfo/b/bg2.0nv\r
-#usr/share/terminfo/b/bg2.0rv\r
-#usr/share/terminfo/b/bg3.10\r
-#usr/share/terminfo/b/bg3.10nv\r
-#usr/share/terminfo/b/bg3.10rv\r
-#usr/share/terminfo/b/bh3m\r
-#usr/share/terminfo/b/bh4\r
-#usr/share/terminfo/b/bitgraph\r
-#usr/share/terminfo/b/blit\r
-#usr/share/terminfo/b/bobcat\r
-#usr/share/terminfo/b/bq300\r
-#usr/share/terminfo/b/bq300-8\r
-#usr/share/terminfo/b/bq300-8-pc\r
-#usr/share/terminfo/b/bq300-8-pc-rv\r
-#usr/share/terminfo/b/bq300-8-pc-w\r
-#usr/share/terminfo/b/bq300-8-pc-w-rv\r
-#usr/share/terminfo/b/bq300-8rv\r
-#usr/share/terminfo/b/bq300-8w\r
-#usr/share/terminfo/b/bq300-pc\r
-#usr/share/terminfo/b/bq300-pc-rv\r
-#usr/share/terminfo/b/bq300-pc-w\r
-#usr/share/terminfo/b/bq300-pc-w-rv\r
-#usr/share/terminfo/b/bq300-rv\r
-#usr/share/terminfo/b/bq300-w\r
-#usr/share/terminfo/b/bq300-w-8rv\r
-#usr/share/terminfo/b/bq300-w-rv\r
-#usr/share/terminfo/b/bsdos-pc\r
-#usr/share/terminfo/b/bsdos-pc-m\r
-#usr/share/terminfo/b/bsdos-pc-mono\r
-#usr/share/terminfo/b/bsdos-pc-nobold\r
-#usr/share/terminfo/b/bsdos-ppc\r
-#usr/share/terminfo/b/bsdos-sparc\r
-#usr/share/terminfo/c\r
-#usr/share/terminfo/c/c100\r
-#usr/share/terminfo/c/c100-1p\r
-#usr/share/terminfo/c/c100-4p\r
-#usr/share/terminfo/c/c100-rv\r
-#usr/share/terminfo/c/c100-rv-4p\r
-#usr/share/terminfo/c/c104\r
-#usr/share/terminfo/c/c108\r
-#usr/share/terminfo/c/c108-4p\r
-#usr/share/terminfo/c/c108-8p\r
-#usr/share/terminfo/c/c108-rv\r
-#usr/share/terminfo/c/c108-rv-4p\r
-#usr/share/terminfo/c/c108-rv-8p\r
-#usr/share/terminfo/c/c108-w\r
-#usr/share/terminfo/c/c108-w-8p\r
-#usr/share/terminfo/c/c300\r
-#usr/share/terminfo/c/c301\r
-#usr/share/terminfo/c/c321\r
-#usr/share/terminfo/c/ca22851\r
-#usr/share/terminfo/c/cad68-2\r
-#usr/share/terminfo/c/cad68-3\r
-#usr/share/terminfo/c/cbblit\r
-#usr/share/terminfo/c/cbunix\r
-#usr/share/terminfo/c/cci\r
-#usr/share/terminfo/c/cci1\r
-#usr/share/terminfo/c/cdc456\r
-#usr/share/terminfo/c/cdc721\r
-#usr/share/terminfo/c/cdc721-esc\r
-#usr/share/terminfo/c/cdc721ll\r
-#usr/share/terminfo/c/cdc752\r
-#usr/share/terminfo/c/cdc756\r
-#usr/share/terminfo/c/cg7900\r
-#usr/share/terminfo/c/cgc2\r
-#usr/share/terminfo/c/cgc3\r
-#usr/share/terminfo/c/chromatics\r
-#usr/share/terminfo/c/ci8510\r
-#usr/share/terminfo/c/cit-80\r
-#usr/share/terminfo/c/cit101\r
-#usr/share/terminfo/c/cit101e\r
-#usr/share/terminfo/c/cit101e-132\r
-#usr/share/terminfo/c/cit101e-n\r
-#usr/share/terminfo/c/cit101e-n132\r
-#usr/share/terminfo/c/cit101e-rv\r
-#usr/share/terminfo/c/cit500\r
-#usr/share/terminfo/c/cit80\r
-#usr/share/terminfo/c/citc\r
-#usr/share/terminfo/c/citoh\r
-#usr/share/terminfo/c/citoh-6lpi\r
-#usr/share/terminfo/c/citoh-8lpi\r
-#usr/share/terminfo/c/citoh-comp\r
-#usr/share/terminfo/c/citoh-elite\r
-#usr/share/terminfo/c/citoh-pica\r
-#usr/share/terminfo/c/citoh-prop\r
-#usr/share/terminfo/c/citoh-ps\r
-#usr/share/terminfo/c/coco3\r
-#usr/share/terminfo/c/coherent\r
-#usr/share/terminfo/c/color_xterm\r
-#usr/share/terminfo/c/colorscan\r
-#usr/share/terminfo/c/commodore\r
-#usr/share/terminfo/c/concept\r
-#usr/share/terminfo/c/concept-avt\r
-#usr/share/terminfo/c/concept100\r
-#usr/share/terminfo/c/concept100-rv\r
-#usr/share/terminfo/c/concept108\r
-#usr/share/terminfo/c/concept108-4p\r
-#usr/share/terminfo/c/concept108-8p\r
-#usr/share/terminfo/c/concept108-w-8\r
-#usr/share/terminfo/c/concept108-w8p\r
-#usr/share/terminfo/c/concept108rv4p\r
-#usr/share/terminfo/c/cons25\r
-#usr/share/terminfo/c/cons25-iso-m\r
-#usr/share/terminfo/c/cons25-iso8859\r
-#usr/share/terminfo/c/cons25-koi8-r\r
-#usr/share/terminfo/c/cons25-koi8r-m\r
-#usr/share/terminfo/c/cons25-m\r
-#usr/share/terminfo/c/cons25l1\r
-#usr/share/terminfo/c/cons25l1-m\r
-#usr/share/terminfo/c/cons25r\r
-#usr/share/terminfo/c/cons25r-m\r
-#usr/share/terminfo/c/cons25w\r
-#usr/share/terminfo/c/cons30\r
-#usr/share/terminfo/c/cons30-m\r
-#usr/share/terminfo/c/cons43\r
-#usr/share/terminfo/c/cons43-m\r
-#usr/share/terminfo/c/cons50\r
-#usr/share/terminfo/c/cons50-iso-m\r
-#usr/share/terminfo/c/cons50-iso8859\r
-#usr/share/terminfo/c/cons50-koi8r\r
-#usr/share/terminfo/c/cons50-koi8r-m\r
-#usr/share/terminfo/c/cons50-m\r
-#usr/share/terminfo/c/cons50l1\r
-#usr/share/terminfo/c/cons50l1-m\r
-#usr/share/terminfo/c/cons50r\r
-#usr/share/terminfo/c/cons50r-m\r
-#usr/share/terminfo/c/cons60\r
-#usr/share/terminfo/c/cons60-iso\r
-#usr/share/terminfo/c/cons60-iso-m\r
-#usr/share/terminfo/c/cons60-koi8r\r
-#usr/share/terminfo/c/cons60-koi8r-m\r
-#usr/share/terminfo/c/cons60-m\r
-#usr/share/terminfo/c/cons60l1\r
-#usr/share/terminfo/c/cons60l1-m\r
-#usr/share/terminfo/c/cons60r\r
-#usr/share/terminfo/c/cons60r-m\r
-#usr/share/terminfo/c/contel300\r
-#usr/share/terminfo/c/contel301\r
-#usr/share/terminfo/c/contel320\r
-#usr/share/terminfo/c/contel321\r
-#usr/share/terminfo/c/cops\r
-#usr/share/terminfo/c/cops-10\r
-#usr/share/terminfo/c/cops10\r
-#usr/share/terminfo/c/crt\r
-#usr/share/terminfo/c/crt-vt220\r
-#usr/share/terminfo/c/cs10\r
-#usr/share/terminfo/c/cs10-w\r
-#usr/share/terminfo/c/ct82\r
-#usr/share/terminfo/c/ct8500\r
-#usr/share/terminfo/c/ctrm\r
-#usr/share/terminfo/c/cx\r
-#usr/share/terminfo/c/cx100\r
-#usr/share/terminfo/c/cyb110\r
-#usr/share/terminfo/c/cyb83\r
-#usr/share/terminfo/c/cygwin\r
-#usr/share/terminfo/c/cygwinB19\r
-#usr/share/terminfo/d\r
-#usr/share/terminfo/d/d132\r
-#usr/share/terminfo/d/d2\r
-#usr/share/terminfo/d/d2-dg\r
-#usr/share/terminfo/d/d200\r
-#usr/share/terminfo/d/d200-dg\r
-#usr/share/terminfo/d/d210\r
-#usr/share/terminfo/d/d210-dg\r
-#usr/share/terminfo/d/d211\r
-#usr/share/terminfo/d/d211-7b\r
-#usr/share/terminfo/d/d211-dg\r
-#usr/share/terminfo/d/d214\r
-#usr/share/terminfo/d/d214-dg\r
-#usr/share/terminfo/d/d215\r
-#usr/share/terminfo/d/d215-7b\r
-#usr/share/terminfo/d/d215-dg\r
-#usr/share/terminfo/d/d216+\r
-#usr/share/terminfo/d/d216+25\r
-#usr/share/terminfo/d/d216+dg\r
-#usr/share/terminfo/d/d216-dg\r
-#usr/share/terminfo/d/d216-unix\r
-#usr/share/terminfo/d/d216-unix-25\r
-#usr/share/terminfo/d/d216e+\r
-#usr/share/terminfo/d/d216e+dg\r
-#usr/share/terminfo/d/d216e-dg\r
-#usr/share/terminfo/d/d216e-unix\r
-#usr/share/terminfo/d/d217-dg\r
-#usr/share/terminfo/d/d217-unix\r
-#usr/share/terminfo/d/d217-unix-25\r
-#usr/share/terminfo/d/d220\r
-#usr/share/terminfo/d/d220-7b\r
-#usr/share/terminfo/d/d220-dg\r
-#usr/share/terminfo/d/d230\r
-#usr/share/terminfo/d/d230-dg\r
-#usr/share/terminfo/d/d230c\r
-#usr/share/terminfo/d/d230c-dg\r
-#usr/share/terminfo/d/d400\r
-#usr/share/terminfo/d/d400-dg\r
-#usr/share/terminfo/d/d410\r
-#usr/share/terminfo/d/d410-7b\r
-#usr/share/terminfo/d/d410-7b-w\r
-#usr/share/terminfo/d/d410-dg\r
-#usr/share/terminfo/d/d410-w\r
-#usr/share/terminfo/d/d411\r
-#usr/share/terminfo/d/d411-7b\r
-#usr/share/terminfo/d/d411-7b-w\r
-#usr/share/terminfo/d/d411-dg\r
-#usr/share/terminfo/d/d411-w\r
-#usr/share/terminfo/d/d412+\r
-#usr/share/terminfo/d/d412+25\r
-#usr/share/terminfo/d/d412+dg\r
-#usr/share/terminfo/d/d412+s\r
-#usr/share/terminfo/d/d412+sr\r
-#usr/share/terminfo/d/d412+w\r
-#usr/share/terminfo/d/d412-dg\r
-#usr/share/terminfo/d/d412-unix\r
-#usr/share/terminfo/d/d412-unix-25\r
-#usr/share/terminfo/d/d412-unix-s\r
-#usr/share/terminfo/d/d412-unix-sr\r
-#usr/share/terminfo/d/d412-unix-w\r
-#usr/share/terminfo/d/d413-dg\r
-#usr/share/terminfo/d/d413-unix\r
-#usr/share/terminfo/d/d413-unix-25\r
-#usr/share/terminfo/d/d413-unix-s\r
-#usr/share/terminfo/d/d413-unix-sr\r
-#usr/share/terminfo/d/d413-unix-w\r
-#usr/share/terminfo/d/d414-unix\r
-#usr/share/terminfo/d/d414-unix-25\r
-#usr/share/terminfo/d/d414-unix-s\r
-#usr/share/terminfo/d/d414-unix-sr\r
-#usr/share/terminfo/d/d414-unix-w\r
-#usr/share/terminfo/d/d430-dg\r
-#usr/share/terminfo/d/d430-dg-ccc\r
-#usr/share/terminfo/d/d430-unix\r
-#usr/share/terminfo/d/d430-unix-25\r
-#usr/share/terminfo/d/d430-unix-25-ccc\r
-#usr/share/terminfo/d/d430-unix-ccc\r
-#usr/share/terminfo/d/d430-unix-s\r
-#usr/share/terminfo/d/d430-unix-s-ccc\r
-#usr/share/terminfo/d/d430-unix-sr\r
-#usr/share/terminfo/d/d430-unix-sr-ccc\r
-#usr/share/terminfo/d/d430-unix-w\r
-#usr/share/terminfo/d/d430-unix-w-ccc\r
-#usr/share/terminfo/d/d430c-dg\r
-#usr/share/terminfo/d/d430c-dg-ccc\r
-#usr/share/terminfo/d/d430c-unix\r
-#usr/share/terminfo/d/d430c-unix-25\r
-#usr/share/terminfo/d/d430c-unix-25-ccc\r
-#usr/share/terminfo/d/d430c-unix-ccc\r
-#usr/share/terminfo/d/d430c-unix-s\r
-#usr/share/terminfo/d/d430c-unix-s-ccc\r
-#usr/share/terminfo/d/d430c-unix-sr\r
-#usr/share/terminfo/d/d430c-unix-sr-ccc\r
-#usr/share/terminfo/d/d430c-unix-w\r
-#usr/share/terminfo/d/d430c-unix-w-ccc\r
-#usr/share/terminfo/d/d450\r
-#usr/share/terminfo/d/d450-dg\r
-#usr/share/terminfo/d/d460\r
-#usr/share/terminfo/d/d460-7b\r
-#usr/share/terminfo/d/d460-7b-w\r
-#usr/share/terminfo/d/d460-dg\r
-#usr/share/terminfo/d/d460-w\r
-#usr/share/terminfo/d/d461\r
-#usr/share/terminfo/d/d461-7b\r
-#usr/share/terminfo/d/d461-7b-w\r
-#usr/share/terminfo/d/d461-dg\r
-#usr/share/terminfo/d/d461-w\r
-#usr/share/terminfo/d/d462+\r
-#usr/share/terminfo/d/d462+25\r
-#usr/share/terminfo/d/d462+dg\r
-#usr/share/terminfo/d/d462+s\r
-#usr/share/terminfo/d/d462+sr\r
-#usr/share/terminfo/d/d462+w\r
-#usr/share/terminfo/d/d462-dg\r
-#usr/share/terminfo/d/d462-unix\r
-#usr/share/terminfo/d/d462-unix-25\r
-#usr/share/terminfo/d/d462-unix-s\r
-#usr/share/terminfo/d/d462-unix-sr\r
-#usr/share/terminfo/d/d462-unix-w\r
-#usr/share/terminfo/d/d462e-dg\r
-#usr/share/terminfo/d/d463-dg\r
-#usr/share/terminfo/d/d463-unix\r
-#usr/share/terminfo/d/d463-unix-25\r
-#usr/share/terminfo/d/d463-unix-s\r
-#usr/share/terminfo/d/d463-unix-sr\r
-#usr/share/terminfo/d/d463-unix-w\r
-#usr/share/terminfo/d/d464-unix\r
-#usr/share/terminfo/d/d464-unix-25\r
-#usr/share/terminfo/d/d464-unix-s\r
-#usr/share/terminfo/d/d464-unix-sr\r
-#usr/share/terminfo/d/d464-unix-w\r
-#usr/share/terminfo/d/d470\r
-#usr/share/terminfo/d/d470-7b\r
-#usr/share/terminfo/d/d470-dg\r
-#usr/share/terminfo/d/d470c\r
-#usr/share/terminfo/d/d470c-7b\r
-#usr/share/terminfo/d/d470c-dg\r
-#usr/share/terminfo/d/d555\r
-#usr/share/terminfo/d/d555-7b\r
-#usr/share/terminfo/d/d555-7b-w\r
-#usr/share/terminfo/d/d555-dg\r
-#usr/share/terminfo/d/d555-w\r
-#usr/share/terminfo/d/d577\r
-#usr/share/terminfo/d/d577-7b\r
-#usr/share/terminfo/d/d577-7b-w\r
-#usr/share/terminfo/d/d577-dg\r
-#usr/share/terminfo/d/d577-w\r
-#usr/share/terminfo/d/d578\r
-#usr/share/terminfo/d/d578-7b\r
-#usr/share/terminfo/d/d578-dg\r
-#usr/share/terminfo/d/d80\r
-#usr/share/terminfo/d/d800\r
-#usr/share/terminfo/d/darwin\r
-#usr/share/terminfo/d/darwin-100x37\r
-#usr/share/terminfo/d/darwin-100x37-m\r
-#usr/share/terminfo/d/darwin-112x37\r
-#usr/share/terminfo/d/darwin-112x37-m\r
-#usr/share/terminfo/d/darwin-128x40\r
-#usr/share/terminfo/d/darwin-128x40-m\r
-#usr/share/terminfo/d/darwin-128x48\r
-#usr/share/terminfo/d/darwin-128x48-m\r
-#usr/share/terminfo/d/darwin-144x48\r
-#usr/share/terminfo/d/darwin-144x48-m\r
-#usr/share/terminfo/d/darwin-160x64\r
-#usr/share/terminfo/d/darwin-160x64-m\r
-#usr/share/terminfo/d/darwin-200x64\r
-#usr/share/terminfo/d/darwin-200x64-m\r
-#usr/share/terminfo/d/darwin-200x75\r
-#usr/share/terminfo/d/darwin-200x75-m\r
-#usr/share/terminfo/d/darwin-256x96\r
-#usr/share/terminfo/d/darwin-256x96-m\r
-#usr/share/terminfo/d/darwin-80x25\r
-#usr/share/terminfo/d/darwin-80x25-m\r
-#usr/share/terminfo/d/darwin-80x30\r
-#usr/share/terminfo/d/darwin-80x30-m\r
-#usr/share/terminfo/d/darwin-90x30\r
-#usr/share/terminfo/d/darwin-90x30-m\r
-#usr/share/terminfo/d/darwin-b\r
-#usr/share/terminfo/d/darwin-f\r
-#usr/share/terminfo/d/darwin-f2\r
-#usr/share/terminfo/d/darwin-m\r
-#usr/share/terminfo/d/darwin-m-b\r
-#usr/share/terminfo/d/darwin-m-f\r
-#usr/share/terminfo/d/darwin-m-f2\r
-#usr/share/terminfo/d/datagraphix\r
-#usr/share/terminfo/d/datamedia2500\r
-#usr/share/terminfo/d/datapoint\r
-#usr/share/terminfo/d/dataspeed40\r
-#usr/share/terminfo/d/dd5000\r
-#usr/share/terminfo/d/ddr\r
-#usr/share/terminfo/d/ddr3180\r
-#usr/share/terminfo/d/dec-vt100\r
-#usr/share/terminfo/d/dec-vt220\r
-#usr/share/terminfo/d/dec-vt330\r
-#usr/share/terminfo/d/dec-vt340\r
-#usr/share/terminfo/d/dec-vt400\r
-#usr/share/terminfo/d/decpro\r
-#usr/share/terminfo/d/decwriter\r
-#usr/share/terminfo/d/delta\r
-#usr/share/terminfo/d/dg+ccc\r
-#usr/share/terminfo/d/dg+color\r
-#usr/share/terminfo/d/dg+color8\r
-#usr/share/terminfo/d/dg+fixed\r
-#usr/share/terminfo/d/dg-ansi\r
-#usr/share/terminfo/d/dg-generic\r
-#usr/share/terminfo/d/dg100\r
-#usr/share/terminfo/d/dg200\r
-#usr/share/terminfo/d/dg210\r
-#usr/share/terminfo/d/dg211\r
-#usr/share/terminfo/d/dg450\r
-#usr/share/terminfo/d/dg460-ansi\r
-#usr/share/terminfo/d/dg6053\r
-#usr/share/terminfo/d/dg6053-old\r
-#usr/share/terminfo/d/dg605x\r
-#usr/share/terminfo/d/dg6134\r
-#usr/share/terminfo/d/dgkeys+11\r
-#usr/share/terminfo/d/dgkeys+15\r
-#usr/share/terminfo/d/dgkeys+7b\r
-#usr/share/terminfo/d/dgkeys+8b\r
-#usr/share/terminfo/d/dgmode+color\r
-#usr/share/terminfo/d/dgmode+color8\r
-#usr/share/terminfo/d/dgunix+ccc\r
-#usr/share/terminfo/d/dgunix+fixed\r
-#usr/share/terminfo/d/diablo\r
-#usr/share/terminfo/d/diablo-lm\r
-#usr/share/terminfo/d/diablo1620\r
-#usr/share/terminfo/d/diablo1620-m8\r
-#usr/share/terminfo/d/diablo1640\r
-#usr/share/terminfo/d/diablo1640-lm\r
-#usr/share/terminfo/d/diablo1640-m8\r
-#usr/share/terminfo/d/diablo1720\r
-#usr/share/terminfo/d/diablo1730\r
-#usr/share/terminfo/d/diablo1740\r
-#usr/share/terminfo/d/diablo1740-lm\r
-#usr/share/terminfo/d/diablo450\r
-#usr/share/terminfo/d/diablo630\r
-#usr/share/terminfo/d/dialogue\r
-#usr/share/terminfo/d/dialogue80\r
-#usr/share/terminfo/d/digilog\r
-#usr/share/terminfo/d/dku7003\r
-#usr/share/terminfo/d/dku7003-dumb\r
-#usr/share/terminfo/d/dku7102\r
-#usr/share/terminfo/d/dku7102-old\r
-#usr/share/terminfo/d/dku7102-sna\r
-#usr/share/terminfo/d/dku7103-sna\r
-#usr/share/terminfo/d/dku7202\r
-#usr/share/terminfo/d/dm1520\r
-#usr/share/terminfo/d/dm1521\r
-#usr/share/terminfo/d/dm2500\r
-#usr/share/terminfo/d/dm3025\r
-#usr/share/terminfo/d/dm3045\r
-#usr/share/terminfo/d/dm80\r
-#usr/share/terminfo/d/dm80w\r
-#usr/share/terminfo/d/dmchat\r
-#usr/share/terminfo/d/dmd\r
-#usr/share/terminfo/d/dmd-24\r
-#usr/share/terminfo/d/dmd-34\r
-#usr/share/terminfo/d/dmd1\r
-#usr/share/terminfo/d/dmdt80\r
-#usr/share/terminfo/d/dmdt80w\r
-#usr/share/terminfo/d/dmterm\r
-#usr/share/terminfo/d/dp3360\r
-#usr/share/terminfo/d/dp8242\r
-#usr/share/terminfo/d/ds40\r
-#usr/share/terminfo/d/ds40-2\r
-#usr/share/terminfo/d/dt-100\r
-#usr/share/terminfo/d/dt-100w\r
-#usr/share/terminfo/d/dt100\r
-#usr/share/terminfo/d/dt100w\r
-#usr/share/terminfo/d/dt110\r
-#usr/share/terminfo/d/dt80\r
-#usr/share/terminfo/d/dt80-sas\r
-#usr/share/terminfo/d/dt80w\r
-#usr/share/terminfo/d/dtc300s\r
-#usr/share/terminfo/d/dtc382\r
-#usr/share/terminfo/d/dtterm\r
-#usr/share/terminfo/d/dumb\r
-#usr/share/terminfo/d/dw\r
-#usr/share/terminfo/d/dw1\r
-#usr/share/terminfo/d/dw2\r
-#usr/share/terminfo/d/dw3\r
-#usr/share/terminfo/d/dw4\r
-#usr/share/terminfo/d/dwk\r
-#usr/share/terminfo/d/dwk-vt\r
-#usr/share/terminfo/e\r
-#usr/share/terminfo/e/ecma+color\r
-#usr/share/terminfo/e/ecma+sgr\r
-#usr/share/terminfo/e/elks\r
-#usr/share/terminfo/e/elks-ansi\r
-#usr/share/terminfo/e/elks-glasstty\r
-#usr/share/terminfo/e/elks-vt52\r
-#usr/share/terminfo/e/emots\r
-#usr/share/terminfo/e/emu\r
-#usr/share/terminfo/e/env230\r
-#usr/share/terminfo/e/envision230\r
-#usr/share/terminfo/e/ep40\r
-#usr/share/terminfo/e/ep4000\r
-#usr/share/terminfo/e/ep4080\r
-#usr/share/terminfo/e/ep48\r
-#usr/share/terminfo/e/ergo4000\r
-#usr/share/terminfo/e/esprit\r
-#usr/share/terminfo/e/esprit-am\r
-#usr/share/terminfo/e/eterm\r
-#usr/share/terminfo/e/ex155\r
-#usr/share/terminfo/e/excel62\r
-#usr/share/terminfo/e/excel62-rv\r
-#usr/share/terminfo/e/excel62-w\r
-#usr/share/terminfo/e/excel64\r
-#usr/share/terminfo/e/excel64-rv\r
-#usr/share/terminfo/e/excel64-w\r
-#usr/share/terminfo/e/exec80\r
-#usr/share/terminfo/f\r
-#usr/share/terminfo/f/f100\r
-#usr/share/terminfo/f/f100-rv\r
-#usr/share/terminfo/f/f110\r
-#usr/share/terminfo/f/f110-14\r
-#usr/share/terminfo/f/f110-14w\r
-#usr/share/terminfo/f/f110-w\r
-#usr/share/terminfo/f/f1720\r
-#usr/share/terminfo/f/f1720a\r
-#usr/share/terminfo/f/f200\r
-#usr/share/terminfo/f/f200-w\r
-#usr/share/terminfo/f/f200vi\r
-#usr/share/terminfo/f/f200vi-w\r
-#usr/share/terminfo/f/falco\r
-#usr/share/terminfo/f/falco-p\r
-#usr/share/terminfo/f/fenix\r
-#usr/share/terminfo/f/fenixw\r
-#usr/share/terminfo/f/fixterm\r
-#usr/share/terminfo/f/fortune\r
-#usr/share/terminfo/f/fos\r
-#usr/share/terminfo/f/fox\r
-#usr/share/terminfo/f/freedom\r
-#usr/share/terminfo/f/freedom-rv\r
-#usr/share/terminfo/f/freedom100\r
-#usr/share/terminfo/f/freedom110\r
-#usr/share/terminfo/f/freedom200\r
-#usr/share/terminfo/g\r
-#usr/share/terminfo/g/gator\r
-#usr/share/terminfo/g/gator-52\r
-#usr/share/terminfo/g/gator-52t\r
-#usr/share/terminfo/g/gator-t\r
-#usr/share/terminfo/g/gigi\r
-#usr/share/terminfo/g/glasstty\r
-#usr/share/terminfo/g/gnome\r
-#usr/share/terminfo/g/gnome-rh62\r
-#usr/share/terminfo/g/gnome-rh72\r
-#usr/share/terminfo/g/go-225\r
-#usr/share/terminfo/g/go140\r
-#usr/share/terminfo/g/go140w\r
-#usr/share/terminfo/g/go225\r
-#usr/share/terminfo/g/graphos\r
-#usr/share/terminfo/g/graphos-30\r
-#usr/share/terminfo/g/gs5430\r
-#usr/share/terminfo/g/gs5430-22\r
-#usr/share/terminfo/g/gs5430-24\r
-#usr/share/terminfo/g/gs6300\r
-#usr/share/terminfo/g/gsi\r
-#usr/share/terminfo/g/gt100\r
-#usr/share/terminfo/g/gt100a\r
-#usr/share/terminfo/g/gt40\r
-#usr/share/terminfo/g/gt42\r
-#usr/share/terminfo/g/guru\r
-#usr/share/terminfo/g/guru+rv\r
-#usr/share/terminfo/g/guru+s\r
-#usr/share/terminfo/g/guru+unk\r
-#usr/share/terminfo/g/guru-24\r
-#usr/share/terminfo/g/guru-33\r
-#usr/share/terminfo/g/guru-33-rv\r
-#usr/share/terminfo/g/guru-33-s\r
-#usr/share/terminfo/g/guru-44\r
-#usr/share/terminfo/g/guru-44-s\r
-#usr/share/terminfo/g/guru-76\r
-#usr/share/terminfo/g/guru-76-lp\r
-#usr/share/terminfo/g/guru-76-s\r
-#usr/share/terminfo/g/guru-76-w\r
-#usr/share/terminfo/g/guru-76-w-s\r
-#usr/share/terminfo/g/guru-76-wm\r
-#usr/share/terminfo/g/guru-lp\r
-#usr/share/terminfo/g/guru-nctxt\r
-#usr/share/terminfo/g/guru-rv\r
-#usr/share/terminfo/g/guru-s\r
-#usr/share/terminfo/h\r
-#usr/share/terminfo/h/h-100\r
-#usr/share/terminfo/h/h-100bw\r
-#usr/share/terminfo/h/h100\r
-#usr/share/terminfo/h/h100bw\r
-#usr/share/terminfo/h/h19\r
-#usr/share/terminfo/h/h19-a\r
-#usr/share/terminfo/h/h19-b\r
-#usr/share/terminfo/h/h19-bs\r
-#usr/share/terminfo/h/h19-g\r
-#usr/share/terminfo/h/h19-smul\r
-#usr/share/terminfo/h/h19-u\r
-#usr/share/terminfo/h/h19-us\r
-#usr/share/terminfo/h/h19a\r
-#usr/share/terminfo/h/h19g\r
-#usr/share/terminfo/h/h19k\r
-#usr/share/terminfo/h/h19kermit\r
-#usr/share/terminfo/h/h19us\r
-#usr/share/terminfo/h/h29a-kc-bc\r
-#usr/share/terminfo/h/h29a-kc-uc\r
-#usr/share/terminfo/h/h29a-nkc-bc\r
-#usr/share/terminfo/h/h29a-nkc-uc\r
-#usr/share/terminfo/h/h80\r
-#usr/share/terminfo/h/ha8675\r
-#usr/share/terminfo/h/ha8686\r
-#usr/share/terminfo/h/hazel\r
-#usr/share/terminfo/h/hds200\r
-#usr/share/terminfo/h/he80\r
-#usr/share/terminfo/h/heath\r
-#usr/share/terminfo/h/heath-19\r
-#usr/share/terminfo/h/heath-ansi\r
-#usr/share/terminfo/h/heathkit\r
-#usr/share/terminfo/h/heathkit-a\r
-#usr/share/terminfo/h/hft\r
-#usr/share/terminfo/h/hft-c\r
-#usr/share/terminfo/h/hft-c-old\r
-#usr/share/terminfo/h/hft-old\r
-#usr/share/terminfo/h/hirez100\r
-#usr/share/terminfo/h/hirez100-w\r
-#usr/share/terminfo/h/hmod1\r
-#usr/share/terminfo/h/hp\r
-#usr/share/terminfo/h/hp+arrows\r
-#usr/share/terminfo/h/hp+color\r
-#usr/share/terminfo/h/hp+labels\r
-#usr/share/terminfo/h/hp+pfk+arrows\r
-#usr/share/terminfo/h/hp+pfk+cr\r
-#usr/share/terminfo/h/hp+pfk-cr\r
-#usr/share/terminfo/h/hp+printer\r
-#usr/share/terminfo/h/hp110\r
-#usr/share/terminfo/h/hp150\r
-#usr/share/terminfo/h/hp2\r
-#usr/share/terminfo/h/hp236\r
-#usr/share/terminfo/h/hp2382\r
-#usr/share/terminfo/h/hp2382a\r
-#usr/share/terminfo/h/hp2392\r
-#usr/share/terminfo/h/hp2397\r
-#usr/share/terminfo/h/hp2397a\r
-#usr/share/terminfo/h/hp2621\r
-#usr/share/terminfo/h/hp2621-48\r
-#usr/share/terminfo/h/hp2621-a\r
-#usr/share/terminfo/h/hp2621-ba\r
-#usr/share/terminfo/h/hp2621-fl\r
-#usr/share/terminfo/h/hp2621-k45\r
-#usr/share/terminfo/h/hp2621-nl\r
-#usr/share/terminfo/h/hp2621-nt\r
-#usr/share/terminfo/h/hp2621-wl\r
-#usr/share/terminfo/h/hp2621A\r
-#usr/share/terminfo/h/hp2621a\r
-#usr/share/terminfo/h/hp2621a-a\r
-#usr/share/terminfo/h/hp2621b\r
-#usr/share/terminfo/h/hp2621b-kx\r
-#usr/share/terminfo/h/hp2621b-kx-p\r
-#usr/share/terminfo/h/hp2621b-p\r
-#usr/share/terminfo/h/hp2621k45\r
-#usr/share/terminfo/h/hp2621p\r
-#usr/share/terminfo/h/hp2621p-a\r
-#usr/share/terminfo/h/hp2622\r
-#usr/share/terminfo/h/hp2622a\r
-#usr/share/terminfo/h/hp2623\r
-#usr/share/terminfo/h/hp2623a\r
-#usr/share/terminfo/h/hp2624\r
-#usr/share/terminfo/h/hp2624-10p\r
-#usr/share/terminfo/h/hp2624a\r
-#usr/share/terminfo/h/hp2624a-10p\r
-#usr/share/terminfo/h/hp2624b\r
-#usr/share/terminfo/h/hp2624b-10p\r
-#usr/share/terminfo/h/hp2624b-10p-p\r
-#usr/share/terminfo/h/hp2624b-4p\r
-#usr/share/terminfo/h/hp2624b-4p-p\r
-#usr/share/terminfo/h/hp2624b-p\r
-#usr/share/terminfo/h/hp2626\r
-#usr/share/terminfo/h/hp2626-12\r
-#usr/share/terminfo/h/hp2626-12-s\r
-#usr/share/terminfo/h/hp2626-12x40\r
-#usr/share/terminfo/h/hp2626-ns\r
-#usr/share/terminfo/h/hp2626-s\r
-#usr/share/terminfo/h/hp2626-x40\r
-#usr/share/terminfo/h/hp2626a\r
-#usr/share/terminfo/h/hp2626p\r
-#usr/share/terminfo/h/hp2627a\r
-#usr/share/terminfo/h/hp2627a-rev\r
-#usr/share/terminfo/h/hp2627c\r
-#usr/share/terminfo/h/hp262x\r
-#usr/share/terminfo/h/hp2640a\r
-#usr/share/terminfo/h/hp2640b\r
-#usr/share/terminfo/h/hp2641a\r
-#usr/share/terminfo/h/hp2644a\r
-#usr/share/terminfo/h/hp2645\r
-#usr/share/terminfo/h/hp2645a\r
-#usr/share/terminfo/h/hp2647a\r
-#usr/share/terminfo/h/hp2648\r
-#usr/share/terminfo/h/hp2648a\r
-#usr/share/terminfo/h/hp300h\r
-#usr/share/terminfo/h/hp45\r
-#usr/share/terminfo/h/hp700\r
-#usr/share/terminfo/h/hp700-wy\r
-#usr/share/terminfo/h/hp70092\r
-#usr/share/terminfo/h/hp70092A\r
-#usr/share/terminfo/h/hp70092a\r
-#usr/share/terminfo/h/hp9837\r
-#usr/share/terminfo/h/hp9845\r
-#usr/share/terminfo/h/hp98550\r
-#usr/share/terminfo/h/hp98550a\r
-#usr/share/terminfo/h/hp98720\r
-#usr/share/terminfo/h/hp98721\r
-#usr/share/terminfo/h/hpansi\r
-#usr/share/terminfo/h/hpex\r
-#usr/share/terminfo/h/hpex2\r
-#usr/share/terminfo/h/hpgeneric\r
-#usr/share/terminfo/h/hpsub\r
-#usr/share/terminfo/h/hpterm\r
-#usr/share/terminfo/h/htx11\r
-#usr/share/terminfo/h/hz1000\r
-#usr/share/terminfo/h/hz1420\r
-#usr/share/terminfo/h/hz1500\r
-#usr/share/terminfo/h/hz1510\r
-#usr/share/terminfo/h/hz1520\r
-#usr/share/terminfo/h/hz1520-noesc\r
-#usr/share/terminfo/h/hz1552\r
-#usr/share/terminfo/h/hz1552-rv\r
-#usr/share/terminfo/h/hz2000\r
-#usr/share/terminfo/i\r
-#usr/share/terminfo/i/i100\r
-#usr/share/terminfo/i/i3101\r
-#usr/share/terminfo/i/i3164\r
-#usr/share/terminfo/i/i400\r
-#usr/share/terminfo/i/ibcs2\r
-#usr/share/terminfo/i/ibm+16color\r
-#usr/share/terminfo/i/ibm+color\r
-#usr/share/terminfo/i/ibm-apl\r
-#usr/share/terminfo/i/ibm-pc\r
-#usr/share/terminfo/i/ibm-system1\r
-#usr/share/terminfo/i/ibm3101\r
-#usr/share/terminfo/i/ibm3151\r
-#usr/share/terminfo/i/ibm3161\r
-#usr/share/terminfo/i/ibm3161-C\r
-#usr/share/terminfo/i/ibm3162\r
-#usr/share/terminfo/i/ibm3163\r
-#usr/share/terminfo/i/ibm3164\r
-#usr/share/terminfo/i/ibm327x\r
-#usr/share/terminfo/i/ibm5051\r
-#usr/share/terminfo/i/ibm5081\r
-#usr/share/terminfo/i/ibm5081-c\r
-#usr/share/terminfo/i/ibm5151\r
-#usr/share/terminfo/i/ibm5154\r
-#usr/share/terminfo/i/ibm5154-c\r
-#usr/share/terminfo/i/ibm6153\r
-#usr/share/terminfo/i/ibm6153-40\r
-#usr/share/terminfo/i/ibm6153-90\r
-#usr/share/terminfo/i/ibm6154\r
-#usr/share/terminfo/i/ibm6154-c\r
-#usr/share/terminfo/i/ibm6155\r
-#usr/share/terminfo/i/ibm8503\r
-#usr/share/terminfo/i/ibm8507\r
-#usr/share/terminfo/i/ibm8512\r
-#usr/share/terminfo/i/ibm8513\r
-#usr/share/terminfo/i/ibm8514\r
-#usr/share/terminfo/i/ibm8514-c\r
-#usr/share/terminfo/i/ibm8604\r
-#usr/share/terminfo/i/ibmaed\r
-#usr/share/terminfo/i/ibmapa16\r
-#usr/share/terminfo/i/ibmapa8\r
-#usr/share/terminfo/i/ibmapa8c\r
-#usr/share/terminfo/i/ibmapa8c-c\r
-#usr/share/terminfo/i/ibmega\r
-#usr/share/terminfo/i/ibmega-c\r
-#usr/share/terminfo/i/ibmmono\r
-#usr/share/terminfo/i/ibmmpel-c\r
-#usr/share/terminfo/i/ibmpc\r
-#usr/share/terminfo/i/ibmpc3\r
-#usr/share/terminfo/i/ibmpc3r\r
-#usr/share/terminfo/i/ibmpc3r-mono\r
-#usr/share/terminfo/i/ibmpcx\r
-#usr/share/terminfo/i/ibmvga\r
-#usr/share/terminfo/i/ibmvga-c\r
-#usr/share/terminfo/i/ibmx\r
-#usr/share/terminfo/i/icl6402\r
-#usr/share/terminfo/i/icl6404\r
-#usr/share/terminfo/i/icl6404-w\r
-#usr/share/terminfo/i/ifmr\r
-#usr/share/terminfo/i/ims-ansi\r
-#usr/share/terminfo/i/ims950\r
-#usr/share/terminfo/i/ims950-b\r
-#usr/share/terminfo/i/ims950-rv\r
-#usr/share/terminfo/i/infoton\r
-#usr/share/terminfo/i/intertec\r
-#usr/share/terminfo/i/intertube\r
-#usr/share/terminfo/i/intertube2\r
-#usr/share/terminfo/i/intext\r
-#usr/share/terminfo/i/intext2\r
-#usr/share/terminfo/i/intextii\r
-#usr/share/terminfo/i/ips\r
-#usr/share/terminfo/i/ipsi\r
-#usr/share/terminfo/i/iq120\r
-#usr/share/terminfo/i/iq140\r
-#usr/share/terminfo/i/iris-ansi\r
-#usr/share/terminfo/i/iris-ansi-ap\r
-#usr/share/terminfo/i/iris-ansi-net\r
-#usr/share/terminfo/i/iris-color\r
-#usr/share/terminfo/i/iris40\r
-#usr/share/terminfo/j\r
-#usr/share/terminfo/j/jaixterm\r
-#usr/share/terminfo/j/jaixterm-m\r
-#usr/share/terminfo/j/jerq\r
-#usr/share/terminfo/k\r
-#usr/share/terminfo/k/k45\r
-#usr/share/terminfo/k/kaypro\r
-#usr/share/terminfo/k/kaypro2\r
-#usr/share/terminfo/k/kds6402\r
-#usr/share/terminfo/k/kds7372\r
-#usr/share/terminfo/k/kds7372-w\r
-#usr/share/terminfo/k/kermit\r
-#usr/share/terminfo/k/kermit-am\r
-#usr/share/terminfo/k/klone+acs\r
-#usr/share/terminfo/k/klone+color\r
-#usr/share/terminfo/k/klone+koi8acs\r
-#usr/share/terminfo/k/klone+sgr\r
-#usr/share/terminfo/k/klone+sgr-dumb\r
-#usr/share/terminfo/k/konsole\r
-#usr/share/terminfo/k/konsole-16color\r
-#usr/share/terminfo/k/konsole-base\r
-#usr/share/terminfo/k/konsole-linux\r
-#usr/share/terminfo/k/konsole-vt100\r
-#usr/share/terminfo/k/konsole-vt420pc\r
-#usr/share/terminfo/k/konsole-xf3x\r
-#usr/share/terminfo/k/konsole-xf4x\r
-#usr/share/terminfo/k/kt7\r
-#usr/share/terminfo/k/kt7ix\r
-#usr/share/terminfo/k/kterm\r
-#usr/share/terminfo/k/kterm-co\r
-#usr/share/terminfo/k/kterm-color\r
-#usr/share/terminfo/k/ktm\r
-#usr/share/terminfo/k/kvt\r
-#usr/share/terminfo/l\r
-#usr/share/terminfo/l/la120\r
-#usr/share/terminfo/l/layer\r
-#usr/share/terminfo/l/lft\r
-#usr/share/terminfo/l/lft-pc850\r
-usr/share/terminfo/l/linux\r
-usr/share/terminfo/l/linux-basic\r
-usr/share/terminfo/l/linux-c\r
-usr/share/terminfo/l/linux-c-nc\r
-usr/share/terminfo/l/linux-koi8\r
-usr/share/terminfo/l/linux-koi8r\r
-usr/share/terminfo/l/linux-lat\r
-usr/share/terminfo/l/linux-m\r
-usr/share/terminfo/l/linux-nic\r
-#usr/share/terminfo/l/lisa\r
-#usr/share/terminfo/l/lisaterm\r
-#usr/share/terminfo/l/lisaterm-w\r
-#usr/share/terminfo/l/liswb\r
-#usr/share/terminfo/l/ln03\r
-#usr/share/terminfo/l/ln03-w\r
-#usr/share/terminfo/l/lpr\r
-#usr/share/terminfo/l/luna\r
-#usr/share/terminfo/l/luna68k\r
-#usr/share/terminfo/m\r
-#usr/share/terminfo/m/m2-nam\r
-#usr/share/terminfo/m/mac\r
-#usr/share/terminfo/m/mac-w\r
-#usr/share/terminfo/m/mach\r
-#usr/share/terminfo/m/mach-bold\r
-#usr/share/terminfo/m/mach-color\r
-#usr/share/terminfo/m/macintosh\r
-#usr/share/terminfo/m/macterminal-w\r
-#usr/share/terminfo/m/mai\r
-#usr/share/terminfo/m/masscomp\r
-#usr/share/terminfo/m/masscomp1\r
-#usr/share/terminfo/m/masscomp2\r
-#usr/share/terminfo/m/mdl110\r
-#usr/share/terminfo/m/megatek\r
-#usr/share/terminfo/m/memhp\r
-#usr/share/terminfo/m/mgr\r
-#usr/share/terminfo/m/mgr-linux\r
-#usr/share/terminfo/m/mgr-sun\r
-#usr/share/terminfo/m/mgterm\r
-#usr/share/terminfo/m/microb\r
-#usr/share/terminfo/m/microbee\r
-#usr/share/terminfo/m/microterm\r
-#usr/share/terminfo/m/microterm5\r
-#usr/share/terminfo/m/mime\r
-#usr/share/terminfo/m/mime-3ax\r
-#usr/share/terminfo/m/mime-fb\r
-#usr/share/terminfo/m/mime-hb\r
-#usr/share/terminfo/m/mime1\r
-#usr/share/terminfo/m/mime2\r
-#usr/share/terminfo/m/mime2a\r
-#usr/share/terminfo/m/mime2a-s\r
-#usr/share/terminfo/m/mime2a-v\r
-#usr/share/terminfo/m/mime314\r
-#usr/share/terminfo/m/mime340\r
-#usr/share/terminfo/m/mime3a\r
-#usr/share/terminfo/m/mime3ax\r
-#usr/share/terminfo/m/mimei\r
-#usr/share/terminfo/m/mimeii\r
-#usr/share/terminfo/m/minitel\r
-#usr/share/terminfo/m/minitel-2\r
-#usr/share/terminfo/m/minitel-2-nam\r
-#usr/share/terminfo/m/minitel1\r
-#usr/share/terminfo/m/minitel1b\r
-#usr/share/terminfo/m/minitel1b-80\r
-#usr/share/terminfo/m/minix\r
-#usr/share/terminfo/m/minix-old\r
-#usr/share/terminfo/m/minix-old-am\r
-#usr/share/terminfo/m/mm314\r
-#usr/share/terminfo/m/mm340\r
-#usr/share/terminfo/m/mod\r
-#usr/share/terminfo/m/mod24\r
-#usr/share/terminfo/m/modgraph\r
-#usr/share/terminfo/m/modgraph2\r
-#usr/share/terminfo/m/modgraph48\r
-#usr/share/terminfo/m/mono-emx\r
-#usr/share/terminfo/m/ms-vt100\r
-#usr/share/terminfo/m/ms-vt100-color\r
-#usr/share/terminfo/m/msk227\r
-#usr/share/terminfo/m/msk22714\r
-#usr/share/terminfo/m/msk227am\r
-#usr/share/terminfo/m/mskermit227\r
-#usr/share/terminfo/m/mskermit22714\r
-#usr/share/terminfo/m/mskermit227am\r
-#usr/share/terminfo/m/mt-70\r
-#usr/share/terminfo/m/mt4520-rv\r
-#usr/share/terminfo/m/mt70\r
-#usr/share/terminfo/m/mvterm\r
-#usr/share/terminfo/n\r
-#usr/share/terminfo/n/nansi.sys\r
-#usr/share/terminfo/n/nansi.sysk\r
-#usr/share/terminfo/n/nansisys\r
-#usr/share/terminfo/n/nansisysk\r
-#usr/share/terminfo/n/ncr160vppp\r
-#usr/share/terminfo/n/ncr160vpwpp\r
-#usr/share/terminfo/n/ncr160vt100an\r
-#usr/share/terminfo/n/ncr160vt100pp\r
-#usr/share/terminfo/n/ncr160vt100wan\r
-#usr/share/terminfo/n/ncr160vt100wpp\r
-#usr/share/terminfo/n/ncr160vt200an\r
-#usr/share/terminfo/n/ncr160vt200pp\r
-#usr/share/terminfo/n/ncr160vt200wan\r
-#usr/share/terminfo/n/ncr160vt200wpp\r
-#usr/share/terminfo/n/ncr160vt300an\r
-#usr/share/terminfo/n/ncr160vt300pp\r
-#usr/share/terminfo/n/ncr160vt300wan\r
-#usr/share/terminfo/n/ncr160vt300wpp\r
-#usr/share/terminfo/n/ncr160wy50+pp\r
-#usr/share/terminfo/n/ncr160wy50+wpp\r
-#usr/share/terminfo/n/ncr160wy60pp\r
-#usr/share/terminfo/n/ncr160wy60wpp\r
-#usr/share/terminfo/n/ncr260intan\r
-#usr/share/terminfo/n/ncr260intpp\r
-#usr/share/terminfo/n/ncr260intwan\r
-#usr/share/terminfo/n/ncr260intwpp\r
-#usr/share/terminfo/n/ncr260vppp\r
-#usr/share/terminfo/n/ncr260vpwpp\r
-#usr/share/terminfo/n/ncr260vt100an\r
-#usr/share/terminfo/n/ncr260vt100pp\r
-#usr/share/terminfo/n/ncr260vt100wan\r
-#usr/share/terminfo/n/ncr260vt100wpp\r
-#usr/share/terminfo/n/ncr260vt200an\r
-#usr/share/terminfo/n/ncr260vt200pp\r
-#usr/share/terminfo/n/ncr260vt200wan\r
-#usr/share/terminfo/n/ncr260vt200wpp\r
-#usr/share/terminfo/n/ncr260vt300an\r
-#usr/share/terminfo/n/ncr260vt300pp\r
-#usr/share/terminfo/n/ncr260vt300wan\r
-#usr/share/terminfo/n/ncr260vt300wpp\r
-#usr/share/terminfo/n/ncr260wy325pp\r
-#usr/share/terminfo/n/ncr260wy325wpp\r
-#usr/share/terminfo/n/ncr260wy350pp\r
-#usr/share/terminfo/n/ncr260wy350wpp\r
-#usr/share/terminfo/n/ncr260wy50+pp\r
-#usr/share/terminfo/n/ncr260wy50+wpp\r
-#usr/share/terminfo/n/ncr260wy60pp\r
-#usr/share/terminfo/n/ncr260wy60wpp\r
-#usr/share/terminfo/n/ncr7900\r
-#usr/share/terminfo/n/ncr7900i\r
-#usr/share/terminfo/n/ncr7900iv\r
-#usr/share/terminfo/n/ncr7901\r
-#usr/share/terminfo/n/ncrvt100an\r
-#usr/share/terminfo/n/ncrvt100pp\r
-#usr/share/terminfo/n/ncrvt100wan\r
-#usr/share/terminfo/n/ncrvt100wpp\r
-#usr/share/terminfo/n/ncsa\r
-#usr/share/terminfo/n/ncsa-m\r
-#usr/share/terminfo/n/ncsa-m-ns\r
-#usr/share/terminfo/n/ncsa-ns\r
-#usr/share/terminfo/n/ncsa-vt220\r
-#usr/share/terminfo/n/ncsa-vt220-8\r
-#usr/share/terminfo/n/nec\r
-#usr/share/terminfo/n/nec5520\r
-#usr/share/terminfo/n/newhp\r
-#usr/share/terminfo/n/newhpkeyboard\r
-#usr/share/terminfo/n/news\r
-#usr/share/terminfo/n/news-29\r
-#usr/share/terminfo/n/news-29-euc\r
-#usr/share/terminfo/n/news-29-sjis\r
-#usr/share/terminfo/n/news-33\r
-#usr/share/terminfo/n/news-33-euc\r
-#usr/share/terminfo/n/news-33-sjis\r
-#usr/share/terminfo/n/news-42\r
-#usr/share/terminfo/n/news-42-euc\r
-#usr/share/terminfo/n/news-42-sjis\r
-#usr/share/terminfo/n/news-a\r
-#usr/share/terminfo/n/news-o\r
-#usr/share/terminfo/n/news-old-unk\r
-#usr/share/terminfo/n/news-unk\r
-#usr/share/terminfo/n/news28\r
-#usr/share/terminfo/n/news28-a\r
-#usr/share/terminfo/n/news29\r
-#usr/share/terminfo/n/news31\r
-#usr/share/terminfo/n/news31-a\r
-#usr/share/terminfo/n/news31-o\r
-#usr/share/terminfo/n/news33\r
-#usr/share/terminfo/n/news40\r
-#usr/share/terminfo/n/news40-a\r
-#usr/share/terminfo/n/news40-o\r
-#usr/share/terminfo/n/news42\r
-#usr/share/terminfo/n/newscbm\r
-#usr/share/terminfo/n/newscbm-a\r
-#usr/share/terminfo/n/newscbm-o\r
-#usr/share/terminfo/n/newscbm33\r
-#usr/share/terminfo/n/next\r
-#usr/share/terminfo/n/nextshell\r
-#usr/share/terminfo/n/northstar\r
-#usr/share/terminfo/n/nsterm\r
-#usr/share/terminfo/n/nsterm+7\r
-#usr/share/terminfo/n/nsterm+acs\r
-#usr/share/terminfo/n/nsterm+c\r
-#usr/share/terminfo/n/nsterm+c41\r
-#usr/share/terminfo/n/nsterm+mac\r
-#usr/share/terminfo/n/nsterm+s\r
-#usr/share/terminfo/n/nsterm-7\r
-#usr/share/terminfo/n/nsterm-7-c\r
-#usr/share/terminfo/n/nsterm-7-c-s\r
-#usr/share/terminfo/n/nsterm-7-m\r
-#usr/share/terminfo/n/nsterm-7-m-s\r
-#usr/share/terminfo/n/nsterm-7-s\r
-#usr/share/terminfo/n/nsterm-acs\r
-#usr/share/terminfo/n/nsterm-acs-c\r
-#usr/share/terminfo/n/nsterm-acs-c-s\r
-#usr/share/terminfo/n/nsterm-acs-m\r
-#usr/share/terminfo/n/nsterm-acs-m-s\r
-#usr/share/terminfo/n/nsterm-acs-s\r
-#usr/share/terminfo/n/nsterm-c\r
-#usr/share/terminfo/n/nsterm-c-7\r
-#usr/share/terminfo/n/nsterm-c-acs\r
-#usr/share/terminfo/n/nsterm-c-s\r
-#usr/share/terminfo/n/nsterm-c-s-7\r
-#usr/share/terminfo/n/nsterm-c-s-acs\r
-#usr/share/terminfo/n/nsterm-m\r
-#usr/share/terminfo/n/nsterm-m-7\r
-#usr/share/terminfo/n/nsterm-m-acs\r
-#usr/share/terminfo/n/nsterm-m-s\r
-#usr/share/terminfo/n/nsterm-m-s-7\r
-#usr/share/terminfo/n/nsterm-m-s-acs\r
-#usr/share/terminfo/n/nsterm-s\r
-#usr/share/terminfo/n/nsterm-s-7\r
-#usr/share/terminfo/n/nsterm-s-acs\r
-#usr/share/terminfo/n/nwe501\r
-#usr/share/terminfo/n/nwe501-a\r
-#usr/share/terminfo/n/nwe501-o\r
-#usr/share/terminfo/n/nwp-511\r
-#usr/share/terminfo/n/nwp-517\r
-#usr/share/terminfo/n/nwp-517-w\r
-#usr/share/terminfo/n/nwp251-a\r
-#usr/share/terminfo/n/nwp251-o\r
-#usr/share/terminfo/n/nwp511\r
-#usr/share/terminfo/n/nwp512\r
-#usr/share/terminfo/n/nwp512-a\r
-#usr/share/terminfo/n/nwp512-o\r
-#usr/share/terminfo/n/nwp513\r
-#usr/share/terminfo/n/nwp513-a\r
-#usr/share/terminfo/n/nwp513-o\r
-#usr/share/terminfo/n/nwp514\r
-#usr/share/terminfo/n/nwp514-a\r
-#usr/share/terminfo/n/nwp514-o\r
-#usr/share/terminfo/n/nwp517\r
-#usr/share/terminfo/n/nwp517-w\r
-#usr/share/terminfo/n/nwp518\r
-#usr/share/terminfo/n/nwp518-a\r
-#usr/share/terminfo/n/nwp518-o\r
-#usr/share/terminfo/n/nxterm\r
-#usr/share/terminfo/o\r
-#usr/share/terminfo/o/o31\r
-#usr/share/terminfo/o/o4112-nd\r
-#usr/share/terminfo/o/o85h\r
-#usr/share/terminfo/o/oabm85h\r
-#usr/share/terminfo/o/oblit\r
-#usr/share/terminfo/o/oc100\r
-#usr/share/terminfo/o/oconcept\r
-#usr/share/terminfo/o/ofcons\r
-#usr/share/terminfo/o/ojerq\r
-#usr/share/terminfo/o/oldibmpc3\r
-#usr/share/terminfo/o/oldpc3\r
-#usr/share/terminfo/o/oldsun\r
-#usr/share/terminfo/o/omron\r
-#usr/share/terminfo/o/opus3n1+\r
-#usr/share/terminfo/o/origibmpc3\r
-#usr/share/terminfo/o/origpc3\r
-#usr/share/terminfo/o/os9LII\r
-#usr/share/terminfo/o/osborne\r
-#usr/share/terminfo/o/osborne-w\r
-#usr/share/terminfo/o/osborne1\r
-#usr/share/terminfo/o/osborne1-w\r
-#usr/share/terminfo/o/osexec\r
-#usr/share/terminfo/o/otek4112\r
-#usr/share/terminfo/o/otek4113\r
-#usr/share/terminfo/o/otek4114\r
-#usr/share/terminfo/o/otek4115\r
-#usr/share/terminfo/o/owl\r
-#usr/share/terminfo/p\r
-#usr/share/terminfo/p/p12\r
-#usr/share/terminfo/p/p12-m\r
-#usr/share/terminfo/p/p12-m-w\r
-#usr/share/terminfo/p/p12-w\r
-#usr/share/terminfo/p/p14\r
-#usr/share/terminfo/p/p14-m\r
-#usr/share/terminfo/p/p14-m-w\r
-#usr/share/terminfo/p/p14-w\r
-#usr/share/terminfo/p/p19\r
-#usr/share/terminfo/p/p4\r
-#usr/share/terminfo/p/p5\r
-#usr/share/terminfo/p/p7\r
-#usr/share/terminfo/p/p8\r
-#usr/share/terminfo/p/p8-w\r
-#usr/share/terminfo/p/p8gl\r
-#usr/share/terminfo/p/p9\r
-#usr/share/terminfo/p/p9-8\r
-#usr/share/terminfo/p/p9-8-w\r
-#usr/share/terminfo/p/p9-w\r
-#usr/share/terminfo/p/pc-coherent\r
-#usr/share/terminfo/p/pc-minix\r
-#usr/share/terminfo/p/pc-venix\r
-#usr/share/terminfo/p/pc3\r
-#usr/share/terminfo/p/pc3-bold\r
-#usr/share/terminfo/p/pc3r\r
-#usr/share/terminfo/p/pc3r-m\r
-#usr/share/terminfo/p/pc6300plus\r
-#usr/share/terminfo/p/pc7300\r
-#usr/share/terminfo/p/pcansi\r
-#usr/share/terminfo/p/pcansi-25\r
-#usr/share/terminfo/p/pcansi-25-m\r
-#usr/share/terminfo/p/pcansi-33\r
-#usr/share/terminfo/p/pcansi-33-m\r
-#usr/share/terminfo/p/pcansi-43\r
-#usr/share/terminfo/p/pcansi-43-m\r
-#usr/share/terminfo/p/pcansi-m\r
-#usr/share/terminfo/p/pcansi-mono\r
-#usr/share/terminfo/p/pcansi25\r
-#usr/share/terminfo/p/pcansi25m\r
-#usr/share/terminfo/p/pcansi33\r
-#usr/share/terminfo/p/pcansi33m\r
-#usr/share/terminfo/p/pcansi43\r
-#usr/share/terminfo/p/pccons\r
-#usr/share/terminfo/p/pcconsole\r
-#usr/share/terminfo/p/pcix\r
-#usr/share/terminfo/p/pckermit\r
-#usr/share/terminfo/p/pckermit12\r
-#usr/share/terminfo/p/pckermit120\r
-#usr/share/terminfo/p/pcmw\r
-#usr/share/terminfo/p/pcplot\r
-#usr/share/terminfo/p/pcvt25\r
-#usr/share/terminfo/p/pcvt25-color\r
-#usr/share/terminfo/p/pcvt25w\r
-#usr/share/terminfo/p/pcvt28\r
-#usr/share/terminfo/p/pcvt28w\r
-#usr/share/terminfo/p/pcvt35\r
-#usr/share/terminfo/p/pcvt35w\r
-#usr/share/terminfo/p/pcvt40\r
-#usr/share/terminfo/p/pcvt40w\r
-#usr/share/terminfo/p/pcvt43\r
-#usr/share/terminfo/p/pcvt43w\r
-#usr/share/terminfo/p/pcvt50\r
-#usr/share/terminfo/p/pcvt50w\r
-#usr/share/terminfo/p/pcvtXX\r
-#usr/share/terminfo/p/pcz19\r
-#usr/share/terminfo/p/pe1100\r
-#usr/share/terminfo/p/pe1200\r
-#usr/share/terminfo/p/pe1251\r
-#usr/share/terminfo/p/pe550\r
-#usr/share/terminfo/p/pe6100\r
-#usr/share/terminfo/p/pe6300\r
-#usr/share/terminfo/p/pe6312\r
-#usr/share/terminfo/p/pe7000c\r
-#usr/share/terminfo/p/pe7000m\r
-#usr/share/terminfo/p/pilot\r
-#usr/share/terminfo/p/pmcons\r
-#usr/share/terminfo/p/pmconsole\r
-#usr/share/terminfo/p/printer\r
-#usr/share/terminfo/p/prism12\r
-#usr/share/terminfo/p/prism12-m\r
-#usr/share/terminfo/p/prism12-m-w\r
-#usr/share/terminfo/p/prism12-w\r
-#usr/share/terminfo/p/prism14\r
-#usr/share/terminfo/p/prism14-m\r
-#usr/share/terminfo/p/prism14-m-w\r
-#usr/share/terminfo/p/prism14-w\r
-#usr/share/terminfo/p/prism2\r
-#usr/share/terminfo/p/prism4\r
-#usr/share/terminfo/p/prism5\r
-#usr/share/terminfo/p/prism7\r
-#usr/share/terminfo/p/prism8\r
-#usr/share/terminfo/p/prism8-w\r
-#usr/share/terminfo/p/prism8gl\r
-#usr/share/terminfo/p/prism9\r
-#usr/share/terminfo/p/prism9-8\r
-#usr/share/terminfo/p/prism9-8-w\r
-#usr/share/terminfo/p/prism9-w\r
-#usr/share/terminfo/p/pro350\r
-#usr/share/terminfo/p/ps300\r
-#usr/share/terminfo/p/psterm\r
-#usr/share/terminfo/p/psterm-80x24\r
-#usr/share/terminfo/p/psterm-90x28\r
-#usr/share/terminfo/p/psterm-96x48\r
-#usr/share/terminfo/p/psterm-basic\r
-#usr/share/terminfo/p/psterm-fast\r
-#usr/share/terminfo/p/psx_ansi\r
-#usr/share/terminfo/p/pt100\r
-#usr/share/terminfo/p/pt100w\r
-#usr/share/terminfo/p/pt200\r
-#usr/share/terminfo/p/pt200w\r
-#usr/share/terminfo/p/pt210\r
-#usr/share/terminfo/p/pt250\r
-#usr/share/terminfo/p/pt250w\r
-#usr/share/terminfo/p/pt505\r
-#usr/share/terminfo/p/pt505-22\r
-#usr/share/terminfo/p/pt505-24\r
-#usr/share/terminfo/p/pty\r
-#usr/share/terminfo/p/putty\r
-#usr/share/terminfo/q\r
-#usr/share/terminfo/q/qansi\r
-#usr/share/terminfo/q/qansi-g\r
-#usr/share/terminfo/q/qansi-m\r
-#usr/share/terminfo/q/qansi-t\r
-#usr/share/terminfo/q/qansi-w\r
-#usr/share/terminfo/q/qdcons\r
-#usr/share/terminfo/q/qdss\r
-#usr/share/terminfo/q/qnx\r
-#usr/share/terminfo/q/qnx4\r
-#usr/share/terminfo/q/qnxm\r
-#usr/share/terminfo/q/qnxt\r
-#usr/share/terminfo/q/qnxt2\r
-#usr/share/terminfo/q/qnxt4\r
-#usr/share/terminfo/q/qnxtmono\r
-#usr/share/terminfo/q/qnxw\r
-#usr/share/terminfo/q/qume\r
-#usr/share/terminfo/q/qume5\r
-#usr/share/terminfo/q/qvt101\r
-#usr/share/terminfo/q/qvt101+\r
-#usr/share/terminfo/q/qvt101p\r
-#usr/share/terminfo/q/qvt102\r
-#usr/share/terminfo/q/qvt103\r
-#usr/share/terminfo/q/qvt103-w\r
-#usr/share/terminfo/q/qvt108\r
-#usr/share/terminfo/q/qvt119\r
-#usr/share/terminfo/q/qvt119+\r
-#usr/share/terminfo/q/qvt119+-25\r
-#usr/share/terminfo/q/qvt119+-25-w\r
-#usr/share/terminfo/q/qvt119+-w\r
-#usr/share/terminfo/q/qvt119-25-w\r
-#usr/share/terminfo/q/qvt119-w\r
-#usr/share/terminfo/q/qvt119p\r
-#usr/share/terminfo/q/qvt119p-25\r
-#usr/share/terminfo/q/qvt119p-25-w\r
-#usr/share/terminfo/q/qvt119p-w\r
-#usr/share/terminfo/q/qvt203\r
-#usr/share/terminfo/q/qvt203+\r
-#usr/share/terminfo/q/qvt203-25\r
-#usr/share/terminfo/q/qvt203-25-w\r
-#usr/share/terminfo/q/qvt203-w\r
-#usr/share/terminfo/q/qvt203-w-am\r
-#usr/share/terminfo/r\r
-#usr/share/terminfo/r/rbcomm\r
-#usr/share/terminfo/r/rbcomm-nam\r
-#usr/share/terminfo/r/rbcomm-w\r
-#usr/share/terminfo/r/rca\r
-#usr/share/terminfo/r/rcons\r
-#usr/share/terminfo/r/rcons-color\r
-#usr/share/terminfo/r/rebus3180\r
-#usr/share/terminfo/r/regent\r
-#usr/share/terminfo/r/regent100\r
-#usr/share/terminfo/r/regent20\r
-#usr/share/terminfo/r/regent200\r
-#usr/share/terminfo/r/regent25\r
-#usr/share/terminfo/r/regent40\r
-#usr/share/terminfo/r/regent40+\r
-#usr/share/terminfo/r/regent60\r
-#usr/share/terminfo/r/rt6221\r
-#usr/share/terminfo/r/rt6221-w\r
-#usr/share/terminfo/r/rtpc\r
-#usr/share/terminfo/r/rxvt\r
-#usr/share/terminfo/r/rxvt-16color\r
-#usr/share/terminfo/r/rxvt-basic\r
-#usr/share/terminfo/s\r
-#usr/share/terminfo/s/s4\r
-#usr/share/terminfo/s/sb1\r
-#usr/share/terminfo/s/sb2\r
-#usr/share/terminfo/s/sb3\r
-#usr/share/terminfo/s/sbi\r
-#usr/share/terminfo/s/sbobcat\r
-#usr/share/terminfo/s/sc410\r
-#usr/share/terminfo/s/sc415\r
-#usr/share/terminfo/s/scanset\r
-#usr/share/terminfo/s/scoansi\r
-#usr/share/terminfo/s/scoansi-new\r
-#usr/share/terminfo/s/scoansi-old\r
-#usr/share/terminfo/s/screen\r
-#usr/share/terminfo/s/screen-w\r
-#usr/share/terminfo/s/screen.teraterm\r
-#usr/share/terminfo/s/screen.xterm-r6\r
-#usr/share/terminfo/s/screen.xterm-xfree86\r
-#usr/share/terminfo/s/screen2\r
-#usr/share/terminfo/s/screen3\r
-#usr/share/terminfo/s/screwpoint\r
-#usr/share/terminfo/s/scrhp\r
-#usr/share/terminfo/s/sibo\r
-#usr/share/terminfo/s/simterm\r
-#usr/share/terminfo/s/soroc\r
-#usr/share/terminfo/s/soroc120\r
-#usr/share/terminfo/s/soroc140\r
-#usr/share/terminfo/s/spinwriter\r
-#usr/share/terminfo/s/st52\r
-#usr/share/terminfo/s/sun\r
-#usr/share/terminfo/s/sun-1\r
-#usr/share/terminfo/s/sun-12\r
-#usr/share/terminfo/s/sun-17\r
-#usr/share/terminfo/s/sun-24\r
-#usr/share/terminfo/s/sun-34\r
-#usr/share/terminfo/s/sun-48\r
-#usr/share/terminfo/s/sun-c\r
-#usr/share/terminfo/s/sun-cgsix\r
-#usr/share/terminfo/s/sun-cmd\r
-#usr/share/terminfo/s/sun-e\r
-#usr/share/terminfo/s/sun-e-s\r
-#usr/share/terminfo/s/sun-il\r
-#usr/share/terminfo/s/sun-nic\r
-#usr/share/terminfo/s/sun-s\r
-#usr/share/terminfo/s/sun-s-e\r
-#usr/share/terminfo/s/sun-ss5\r
-#usr/share/terminfo/s/sun1\r
-#usr/share/terminfo/s/sun2\r
-#usr/share/terminfo/s/sune\r
-#usr/share/terminfo/s/superbee\r
-#usr/share/terminfo/s/superbee-xsb\r
-#usr/share/terminfo/s/superbeeic\r
-#usr/share/terminfo/s/superbrain\r
-#usr/share/terminfo/s/sv80\r
-#usr/share/terminfo/s/swtp\r
-#usr/share/terminfo/s/synertek\r
-#usr/share/terminfo/s/synertek380\r
-#usr/share/terminfo/s/system1\r
-#usr/share/terminfo/t\r
-#usr/share/terminfo/t/t10\r
-#usr/share/terminfo/t/t1061\r
-#usr/share/terminfo/t/t1061f\r
-#usr/share/terminfo/t/t16\r
-#usr/share/terminfo/t/t3700\r
-#usr/share/terminfo/t/t3800\r
-#usr/share/terminfo/t/t653x\r
-#usr/share/terminfo/t/tab\r
-#usr/share/terminfo/t/tab132\r
-#usr/share/terminfo/t/tab132-15\r
-#usr/share/terminfo/t/tab132-rv\r
-#usr/share/terminfo/t/tab132-w\r
-#usr/share/terminfo/t/tab132-w-rv\r
-#usr/share/terminfo/t/tandem6510\r
-#usr/share/terminfo/t/tandem653\r
-#usr/share/terminfo/t/tek\r
-#usr/share/terminfo/t/tek4012\r
-#usr/share/terminfo/t/tek4013\r
-#usr/share/terminfo/t/tek4014\r
-#usr/share/terminfo/t/tek4014-sm\r
-#usr/share/terminfo/t/tek4015\r
-#usr/share/terminfo/t/tek4015-sm\r
-#usr/share/terminfo/t/tek4023\r
-#usr/share/terminfo/t/tek4024\r
-#usr/share/terminfo/t/tek4025\r
-#usr/share/terminfo/t/tek4025-17\r
-#usr/share/terminfo/t/tek4025-17-ws\r
-#usr/share/terminfo/t/tek4025-cr\r
-#usr/share/terminfo/t/tek4025-ex\r
-#usr/share/terminfo/t/tek4025a\r
-#usr/share/terminfo/t/tek4025ex\r
-#usr/share/terminfo/t/tek4027\r
-#usr/share/terminfo/t/tek4027-ex\r
-#usr/share/terminfo/t/tek4105\r
-#usr/share/terminfo/t/tek4105-30\r
-#usr/share/terminfo/t/tek4105a\r
-#usr/share/terminfo/t/tek4106brl\r
-#usr/share/terminfo/t/tek4107\r
-#usr/share/terminfo/t/tek4107brl\r
-#usr/share/terminfo/t/tek4109\r
-#usr/share/terminfo/t/tek4109brl\r
-#usr/share/terminfo/t/tek4112\r
-#usr/share/terminfo/t/tek4112-5\r
-#usr/share/terminfo/t/tek4112-nd\r
-#usr/share/terminfo/t/tek4113\r
-#usr/share/terminfo/t/tek4113-34\r
-#usr/share/terminfo/t/tek4113-nd\r
-#usr/share/terminfo/t/tek4114\r
-#usr/share/terminfo/t/tek4115\r
-#usr/share/terminfo/t/tek4125\r
-#usr/share/terminfo/t/tek4205\r
-#usr/share/terminfo/t/tek4207\r
-#usr/share/terminfo/t/tek4207-s\r
-#usr/share/terminfo/t/tek4404\r
-#usr/share/terminfo/t/teleray\r
-#usr/share/terminfo/t/teletec\r
-#usr/share/terminfo/t/teraterm\r
-#usr/share/terminfo/t/terminet\r
-#usr/share/terminfo/t/terminet1200\r
-#usr/share/terminfo/t/terminet300\r
-#usr/share/terminfo/t/tgtelnet\r
-#usr/share/terminfo/t/ti700\r
-#usr/share/terminfo/t/ti733\r
-#usr/share/terminfo/t/ti735\r
-#usr/share/terminfo/t/ti745\r
-#usr/share/terminfo/t/ti800\r
-#usr/share/terminfo/t/ti916\r
-#usr/share/terminfo/t/ti916-132\r
-#usr/share/terminfo/t/ti916-220-7\r
-#usr/share/terminfo/t/ti916-220-8\r
-#usr/share/terminfo/t/ti916-8\r
-#usr/share/terminfo/t/ti916-8-132\r
-#usr/share/terminfo/t/ti924\r
-#usr/share/terminfo/t/ti924-8\r
-#usr/share/terminfo/t/ti924-8w\r
-#usr/share/terminfo/t/ti924w\r
-#usr/share/terminfo/t/ti926\r
-#usr/share/terminfo/t/ti926-8\r
-#usr/share/terminfo/t/ti928\r
-#usr/share/terminfo/t/ti928-8\r
-#usr/share/terminfo/t/ti931\r
-#usr/share/terminfo/t/ti_ansi\r
-#usr/share/terminfo/t/tn1200\r
-#usr/share/terminfo/t/tn300\r
-#usr/share/terminfo/t/trs16\r
-#usr/share/terminfo/t/trs2\r
-#usr/share/terminfo/t/trs80II\r
-#usr/share/terminfo/t/trsII\r
-#usr/share/terminfo/t/ts-1\r
-#usr/share/terminfo/t/ts-1p\r
-#usr/share/terminfo/t/ts1\r
-#usr/share/terminfo/t/ts100\r
-#usr/share/terminfo/t/ts100-ctxt\r
-#usr/share/terminfo/t/ts100-sp\r
-#usr/share/terminfo/t/ts1p\r
-#usr/share/terminfo/t/tt505-22\r
-#usr/share/terminfo/t/tty33\r
-#usr/share/terminfo/t/tty35\r
-#usr/share/terminfo/t/tty37\r
-#usr/share/terminfo/t/tty40\r
-#usr/share/terminfo/t/tty43\r
-#usr/share/terminfo/t/tty4420\r
-#usr/share/terminfo/t/tty4424\r
-#usr/share/terminfo/t/tty4424-1\r
-#usr/share/terminfo/t/tty4424m\r
-#usr/share/terminfo/t/tty4426\r
-#usr/share/terminfo/t/tty5410\r
-#usr/share/terminfo/t/tty5410-w\r
-#usr/share/terminfo/t/tty5410v1\r
-#usr/share/terminfo/t/tty5410v1-w\r
-#usr/share/terminfo/t/tty5420\r
-#usr/share/terminfo/t/tty5420+nl\r
-#usr/share/terminfo/t/tty5420-nl\r
-#usr/share/terminfo/t/tty5420-rv\r
-#usr/share/terminfo/t/tty5420-rv-nl\r
-#usr/share/terminfo/t/tty5420-w\r
-#usr/share/terminfo/t/tty5420-w-nl\r
-#usr/share/terminfo/t/tty5420-w-rv\r
-#usr/share/terminfo/t/tty5420-w-rv-n\r
-#usr/share/terminfo/t/tty5425\r
-#usr/share/terminfo/t/tty5425-nl\r
-#usr/share/terminfo/t/tty5425-w\r
-#usr/share/terminfo/t/tty5620\r
-#usr/share/terminfo/t/tty5620-1\r
-#usr/share/terminfo/t/tty5620-24\r
-#usr/share/terminfo/t/tty5620-34\r
-#usr/share/terminfo/t/tty5620-s\r
-#usr/share/terminfo/t/ttydmd\r
-#usr/share/terminfo/t/tvi-2p\r
-#usr/share/terminfo/t/tvi803\r
-#usr/share/terminfo/t/tvi9065\r
-#usr/share/terminfo/t/tvi910\r
-#usr/share/terminfo/t/tvi910+\r
-#usr/share/terminfo/t/tvi912\r
-#usr/share/terminfo/t/tvi912-2p\r
-#usr/share/terminfo/t/tvi912b\r
-#usr/share/terminfo/t/tvi912c\r
-#usr/share/terminfo/t/tvi912cc\r
-#usr/share/terminfo/t/tvi914\r
-#usr/share/terminfo/t/tvi920\r
-#usr/share/terminfo/t/tvi920-2p\r
-#usr/share/terminfo/t/tvi920b\r
-#usr/share/terminfo/t/tvi920c\r
-#usr/share/terminfo/t/tvi921\r
-#usr/share/terminfo/t/tvi924\r
-#usr/share/terminfo/t/tvi925\r
-#usr/share/terminfo/t/tvi925-hi\r
-#usr/share/terminfo/t/tvi92B\r
-#usr/share/terminfo/t/tvi92D\r
-#usr/share/terminfo/t/tvi950\r
-#usr/share/terminfo/t/tvi950-2p\r
-#usr/share/terminfo/t/tvi950-4p\r
-#usr/share/terminfo/t/tvi950-rv\r
-#usr/share/terminfo/t/tvi950-rv-2p\r
-#usr/share/terminfo/t/tvi950-rv-4p\r
-#usr/share/terminfo/t/tvi955\r
-#usr/share/terminfo/t/tvi955-hb\r
-#usr/share/terminfo/t/tvi955-w\r
-#usr/share/terminfo/t/tvi970\r
-#usr/share/terminfo/t/tvi970-2p\r
-#usr/share/terminfo/t/tvi970-vb\r
-#usr/share/terminfo/t/tvipt\r
-#usr/share/terminfo/t/tws-generic\r
-#usr/share/terminfo/t/tws2102-sna\r
-#usr/share/terminfo/t/tws2103\r
-#usr/share/terminfo/t/tws2103-sna\r
-#usr/share/terminfo/u\r
-#usr/share/terminfo/u/ultima2\r
-#usr/share/terminfo/u/ultimaII\r
-#usr/share/terminfo/u/uniterm\r
-#usr/share/terminfo/u/uniterm49\r
-#usr/share/terminfo/u/unixpc\r
-#usr/share/terminfo/u/unknown\r
-#usr/share/terminfo/u/uts30\r
-#usr/share/terminfo/v\r
-#usr/share/terminfo/v/v200-nam\r
-#usr/share/terminfo/v/v320n\r
-#usr/share/terminfo/v/v3220\r
-#usr/share/terminfo/v/v5410\r
-#usr/share/terminfo/v/vanilla\r
-#usr/share/terminfo/v/vapple\r
-#usr/share/terminfo/v/vc103\r
-#usr/share/terminfo/v/vc203\r
-#usr/share/terminfo/v/vc303\r
-#usr/share/terminfo/v/vc303a\r
-#usr/share/terminfo/v/vc403a\r
-#usr/share/terminfo/v/vc404\r
-#usr/share/terminfo/v/vc404-s\r
-#usr/share/terminfo/v/vc414\r
-#usr/share/terminfo/v/vc414h\r
-#usr/share/terminfo/v/vc415\r
-#usr/share/terminfo/v/venix\r
-#usr/share/terminfo/v/versaterm\r
-#usr/share/terminfo/v/vi200\r
-#usr/share/terminfo/v/vi200-f\r
-#usr/share/terminfo/v/vi200-rv\r
-#usr/share/terminfo/v/vi300\r
-#usr/share/terminfo/v/vi300-old\r
-#usr/share/terminfo/v/vi50\r
-#usr/share/terminfo/v/vi500\r
-#usr/share/terminfo/v/vi50adm\r
-#usr/share/terminfo/v/vi55\r
-#usr/share/terminfo/v/vi550\r
-#usr/share/terminfo/v/vi603\r
-#usr/share/terminfo/v/viewpoint\r
-#usr/share/terminfo/v/viewpoint3a+\r
-#usr/share/terminfo/v/viewpoint60\r
-#usr/share/terminfo/v/viewpoint90\r
-#usr/share/terminfo/v/vip\r
-#usr/share/terminfo/v/vip-H\r
-#usr/share/terminfo/v/vip-Hw\r
-#usr/share/terminfo/v/vip-w\r
-#usr/share/terminfo/v/vip7800-H\r
-#usr/share/terminfo/v/vip7800-Hw\r
-#usr/share/terminfo/v/vip7800-w\r
-#usr/share/terminfo/v/visa50\r
-#usr/share/terminfo/v/visual603\r
-#usr/share/terminfo/v/vitty\r
-#usr/share/terminfo/v/vk100\r
-#usr/share/terminfo/v/vp3a+\r
-#usr/share/terminfo/v/vp60\r
-#usr/share/terminfo/v/vp90\r
-#usr/share/terminfo/v/vremote\r
-#usr/share/terminfo/v/vs100\r
-#usr/share/terminfo/v/vs100-x10\r
-#usr/share/terminfo/v/vsc\r
-#usr/share/terminfo/v/vt-61\r
-usr/share/terminfo/v/vt100\r
-usr/share/terminfo/v/vt100-am\r
-usr/share/terminfo/v/vt100-bm\r
-usr/share/terminfo/v/vt100-bm-o\r
-usr/share/terminfo/v/vt100-bot-s\r
-usr/share/terminfo/v/vt100-nam\r
-usr/share/terminfo/v/vt100-nam-w\r
-usr/share/terminfo/v/vt100-nav\r
-usr/share/terminfo/v/vt100-nav-w\r
-usr/share/terminfo/v/vt100-s\r
-usr/share/terminfo/v/vt100-s-bot\r
-usr/share/terminfo/v/vt100-s-top\r
-usr/share/terminfo/v/vt100-top-s\r
-usr/share/terminfo/v/vt100-vb\r
-usr/share/terminfo/v/vt100-w\r
-usr/share/terminfo/v/vt100-w-am\r
-usr/share/terminfo/v/vt100-w-nam\r
-usr/share/terminfo/v/vt100-w-nav\r
-usr/share/terminfo/v/vt100nam\r
-usr/share/terminfo/v/vt102\r
-usr/share/terminfo/v/vt102-nsgr\r
-usr/share/terminfo/v/vt102-w\r
-#usr/share/terminfo/v/vt125\r
-#usr/share/terminfo/v/vt131\r
-#usr/share/terminfo/v/vt132\r
-usr/share/terminfo/v/vt200\r
-usr/share/terminfo/v/vt200-8\r
-usr/share/terminfo/v/vt200-8bit\r
-usr/share/terminfo/v/vt200-js\r
-usr/share/terminfo/v/vt200-old\r
-usr/share/terminfo/v/vt200-w\r
-usr/share/terminfo/v/vt220\r
-usr/share/terminfo/v/vt220-8\r
-usr/share/terminfo/v/vt220-8bit\r
-usr/share/terminfo/v/vt220-js\r
-usr/share/terminfo/v/vt220-nam\r
-#usr/share/terminfo/v/vt220-old\r
-usr/share/terminfo/v/vt220-w\r
-usr/share/terminfo/v/vt220d\r
-#usr/share/terminfo/v/vt300\r
-#usr/share/terminfo/v/vt300-nam\r
-#usr/share/terminfo/v/vt300-w\r
-#usr/share/terminfo/v/vt300-w-nam\r
-#usr/share/terminfo/v/vt320\r
-#usr/share/terminfo/v/vt320-k3\r
-#usr/share/terminfo/v/vt320-k311\r
-#usr/share/terminfo/v/vt320-nam\r
-#usr/share/terminfo/v/vt320-w\r
-#usr/share/terminfo/v/vt320-w-nam\r
-#usr/share/terminfo/v/vt320nam\r
-#usr/share/terminfo/v/vt330\r
-#usr/share/terminfo/v/vt340\r
-#usr/share/terminfo/v/vt400\r
-#usr/share/terminfo/v/vt400-24\r
-#usr/share/terminfo/v/vt420\r
-#usr/share/terminfo/v/vt420f\r
-#usr/share/terminfo/v/vt420pc\r
-#usr/share/terminfo/v/vt420pcdos\r
-#usr/share/terminfo/v/vt50\r
-#usr/share/terminfo/v/vt50h\r
-#usr/share/terminfo/v/vt510\r
-#usr/share/terminfo/v/vt510pc\r
-#usr/share/terminfo/v/vt510pcdos\r
-#usr/share/terminfo/v/vt52\r
-#usr/share/terminfo/v/vt520\r
-#usr/share/terminfo/v/vt525\r
-#usr/share/terminfo/v/vt61\r
-#usr/share/terminfo/v/vt61.5\r
-#usr/share/terminfo/v/vv100\r
-#usr/share/terminfo/w\r
-#usr/share/terminfo/w/wren\r
-#usr/share/terminfo/w/wrenw\r
-#usr/share/terminfo/w/wsiris\r
-#usr/share/terminfo/w/wsvt25\r
-#usr/share/terminfo/w/wsvt25m\r
-#usr/share/terminfo/w/wy-75ap\r
-#usr/share/terminfo/w/wy-99fgt\r
-#usr/share/terminfo/w/wy-99fgta\r
-#usr/share/terminfo/w/wy100\r
-#usr/share/terminfo/w/wy100q\r
-#usr/share/terminfo/w/wy120\r
-#usr/share/terminfo/w/wy120-25\r
-#usr/share/terminfo/w/wy120-25-w\r
-#usr/share/terminfo/w/wy120-vb\r
-#usr/share/terminfo/w/wy120-w\r
-#usr/share/terminfo/w/wy120-w-vb\r
-#usr/share/terminfo/w/wy120-wvb\r
-#usr/share/terminfo/w/wy150\r
-#usr/share/terminfo/w/wy150-25\r
-#usr/share/terminfo/w/wy150-25-w\r
-#usr/share/terminfo/w/wy150-vb\r
-#usr/share/terminfo/w/wy150-w\r
-#usr/share/terminfo/w/wy150-w-vb\r
-#usr/share/terminfo/w/wy160\r
-#usr/share/terminfo/w/wy160-25\r
-#usr/share/terminfo/w/wy160-25-w\r
-#usr/share/terminfo/w/wy160-42\r
-#usr/share/terminfo/w/wy160-42-w\r
-#usr/share/terminfo/w/wy160-43\r
-#usr/share/terminfo/w/wy160-43-w\r
-#usr/share/terminfo/w/wy160-tek\r
-#usr/share/terminfo/w/wy160-vb\r
-#usr/share/terminfo/w/wy160-w\r
-#usr/share/terminfo/w/wy160-w-vb\r
-#usr/share/terminfo/w/wy160-wvb\r
-#usr/share/terminfo/w/wy185\r
-#usr/share/terminfo/w/wy185-24\r
-#usr/share/terminfo/w/wy185-vb\r
-#usr/share/terminfo/w/wy185-w\r
-#usr/share/terminfo/w/wy185-wvb\r
-#usr/share/terminfo/w/wy30\r
-#usr/share/terminfo/w/wy30-mc\r
-#usr/share/terminfo/w/wy30-vb\r
-#usr/share/terminfo/w/wy325\r
-#usr/share/terminfo/w/wy325-25\r
-#usr/share/terminfo/w/wy325-25w\r
-#usr/share/terminfo/w/wy325-42\r
-#usr/share/terminfo/w/wy325-42w\r
-#usr/share/terminfo/w/wy325-42w-vb\r
-#usr/share/terminfo/w/wy325-42wvb\r
-#usr/share/terminfo/w/wy325-43\r
-#usr/share/terminfo/w/wy325-43w\r
-#usr/share/terminfo/w/wy325-43w-vb\r
-#usr/share/terminfo/w/wy325-43wvb\r
-#usr/share/terminfo/w/wy325-80\r
-#usr/share/terminfo/w/wy325-vb\r
-#usr/share/terminfo/w/wy325-w\r
-#usr/share/terminfo/w/wy325-w-vb\r
-#usr/share/terminfo/w/wy325-wvb\r
-#usr/share/terminfo/w/wy325w-24\r
-#usr/share/terminfo/w/wy350\r
-#usr/share/terminfo/w/wy350-vb\r
-#usr/share/terminfo/w/wy350-w\r
-#usr/share/terminfo/w/wy350-wvb\r
-#usr/share/terminfo/w/wy370\r
-#usr/share/terminfo/w/wy370-101k\r
-#usr/share/terminfo/w/wy370-105k\r
-#usr/share/terminfo/w/wy370-EPC\r
-#usr/share/terminfo/w/wy370-nk\r
-#usr/share/terminfo/w/wy370-rv\r
-#usr/share/terminfo/w/wy370-tek\r
-#usr/share/terminfo/w/wy370-vb\r
-#usr/share/terminfo/w/wy370-w\r
-#usr/share/terminfo/w/wy370-wvb\r
-#usr/share/terminfo/w/wy50\r
-#usr/share/terminfo/w/wy50-mc\r
-#usr/share/terminfo/w/wy50-vb\r
-#usr/share/terminfo/w/wy50-w\r
-#usr/share/terminfo/w/wy50-wvb\r
-#usr/share/terminfo/w/wy520\r
-#usr/share/terminfo/w/wy520-24\r
-#usr/share/terminfo/w/wy520-36\r
-#usr/share/terminfo/w/wy520-36pc\r
-#usr/share/terminfo/w/wy520-36w\r
-#usr/share/terminfo/w/wy520-36wpc\r
-#usr/share/terminfo/w/wy520-48\r
-#usr/share/terminfo/w/wy520-48pc\r
-#usr/share/terminfo/w/wy520-48w\r
-#usr/share/terminfo/w/wy520-48wpc\r
-#usr/share/terminfo/w/wy520-epc\r
-#usr/share/terminfo/w/wy520-epc-24\r
-#usr/share/terminfo/w/wy520-epc-vb\r
-#usr/share/terminfo/w/wy520-epc-w\r
-#usr/share/terminfo/w/wy520-epc-wvb\r
-#usr/share/terminfo/w/wy520-vb\r
-#usr/share/terminfo/w/wy520-w\r
-#usr/share/terminfo/w/wy520-wvb\r
-#usr/share/terminfo/w/wy60\r
-#usr/share/terminfo/w/wy60-25\r
-#usr/share/terminfo/w/wy60-25-w\r
-#usr/share/terminfo/w/wy60-316X\r
-#usr/share/terminfo/w/wy60-42\r
-#usr/share/terminfo/w/wy60-42-w\r
-#usr/share/terminfo/w/wy60-43\r
-#usr/share/terminfo/w/wy60-43-w\r
-#usr/share/terminfo/w/wy60-AT\r
-#usr/share/terminfo/w/wy60-PC\r
-#usr/share/terminfo/w/wy60-vb\r
-#usr/share/terminfo/w/wy60-w\r
-#usr/share/terminfo/w/wy60-w-vb\r
-#usr/share/terminfo/w/wy60-wvb\r
-#usr/share/terminfo/w/wy75\r
-#usr/share/terminfo/w/wy75-mc\r
-#usr/share/terminfo/w/wy75-vb\r
-#usr/share/terminfo/w/wy75-w\r
-#usr/share/terminfo/w/wy75-wvb\r
-#usr/share/terminfo/w/wy75ap\r
-#usr/share/terminfo/w/wy85\r
-#usr/share/terminfo/w/wy85-8bit\r
-#usr/share/terminfo/w/wy85-vb\r
-#usr/share/terminfo/w/wy85-w\r
-#usr/share/terminfo/w/wy85-wvb\r
-#usr/share/terminfo/w/wy99-ansi\r
-#usr/share/terminfo/w/wy99a-ansi\r
-#usr/share/terminfo/w/wy99f\r
-#usr/share/terminfo/w/wy99fa\r
-#usr/share/terminfo/w/wy99fgt\r
-#usr/share/terminfo/w/wy99fgta\r
-#usr/share/terminfo/w/wy99gt\r
-#usr/share/terminfo/w/wy99gt-25\r
-#usr/share/terminfo/w/wy99gt-25-w\r
-#usr/share/terminfo/w/wy99gt-tek\r
-#usr/share/terminfo/w/wy99gt-vb\r
-#usr/share/terminfo/w/wy99gt-w\r
-#usr/share/terminfo/w/wy99gt-w-vb\r
-#usr/share/terminfo/w/wy99gt-wvb\r
-#usr/share/terminfo/w/wyse-325\r
-#usr/share/terminfo/w/wyse-75ap\r
-#usr/share/terminfo/w/wyse-vp\r
-#usr/share/terminfo/w/wyse120\r
-#usr/share/terminfo/w/wyse120-25\r
-#usr/share/terminfo/w/wyse120-25-w\r
-#usr/share/terminfo/w/wyse120-vb\r
-#usr/share/terminfo/w/wyse120-w\r
-#usr/share/terminfo/w/wyse120-wvb\r
-#usr/share/terminfo/w/wyse150\r
-#usr/share/terminfo/w/wyse150-25\r
-#usr/share/terminfo/w/wyse150-25-w\r
-#usr/share/terminfo/w/wyse150-vb\r
-#usr/share/terminfo/w/wyse150-w\r
-#usr/share/terminfo/w/wyse150-w-vb\r
-#usr/share/terminfo/w/wyse160\r
-#usr/share/terminfo/w/wyse160-25\r
-#usr/share/terminfo/w/wyse160-25-w\r
-#usr/share/terminfo/w/wyse160-42\r
-#usr/share/terminfo/w/wyse160-42-w\r
-#usr/share/terminfo/w/wyse160-43\r
-#usr/share/terminfo/w/wyse160-43-w\r
-#usr/share/terminfo/w/wyse160-vb\r
-#usr/share/terminfo/w/wyse160-w\r
-#usr/share/terminfo/w/wyse160-wvb\r
-#usr/share/terminfo/w/wyse185\r
-#usr/share/terminfo/w/wyse185-24\r
-#usr/share/terminfo/w/wyse185-vb\r
-#usr/share/terminfo/w/wyse185-w\r
-#usr/share/terminfo/w/wyse185-wvb\r
-#usr/share/terminfo/w/wyse30\r
-#usr/share/terminfo/w/wyse30-mc\r
-#usr/share/terminfo/w/wyse30-vb\r
-#usr/share/terminfo/w/wyse325\r
-#usr/share/terminfo/w/wyse325-25\r
-#usr/share/terminfo/w/wyse325-25w\r
-#usr/share/terminfo/w/wyse325-42\r
-#usr/share/terminfo/w/wyse325-42w\r
-#usr/share/terminfo/w/wyse325-43\r
-#usr/share/terminfo/w/wyse325-43w\r
-#usr/share/terminfo/w/wyse325-vb\r
-#usr/share/terminfo/w/wyse325-w\r
-#usr/share/terminfo/w/wyse325-wvb\r
-#usr/share/terminfo/w/wyse350\r
-#usr/share/terminfo/w/wyse350-vb\r
-#usr/share/terminfo/w/wyse350-w\r
-#usr/share/terminfo/w/wyse350-wvb\r
-#usr/share/terminfo/w/wyse370\r
-#usr/share/terminfo/w/wyse50\r
-#usr/share/terminfo/w/wyse50-mc\r
-#usr/share/terminfo/w/wyse50-vb\r
-#usr/share/terminfo/w/wyse50-w\r
-#usr/share/terminfo/w/wyse50-wvb\r
-#usr/share/terminfo/w/wyse520\r
-#usr/share/terminfo/w/wyse520-24\r
-#usr/share/terminfo/w/wyse520-36\r
-#usr/share/terminfo/w/wyse520-36pc\r
-#usr/share/terminfo/w/wyse520-36w\r
-#usr/share/terminfo/w/wyse520-36wpc\r
-#usr/share/terminfo/w/wyse520-48\r
-#usr/share/terminfo/w/wyse520-48pc\r
-#usr/share/terminfo/w/wyse520-48w\r
-#usr/share/terminfo/w/wyse520-48wpc\r
-#usr/share/terminfo/w/wyse520-epc\r
-#usr/share/terminfo/w/wyse520-epc-w\r
-#usr/share/terminfo/w/wyse520-p-wvb\r
-#usr/share/terminfo/w/wyse520-pc-24\r
-#usr/share/terminfo/w/wyse520-pc-vb\r
-#usr/share/terminfo/w/wyse520-vb\r
-#usr/share/terminfo/w/wyse520-w\r
-#usr/share/terminfo/w/wyse520-wvb\r
-#usr/share/terminfo/w/wyse60\r
-#usr/share/terminfo/w/wyse60-25\r
-#usr/share/terminfo/w/wyse60-25-w\r
-#usr/share/terminfo/w/wyse60-316X\r
-#usr/share/terminfo/w/wyse60-42\r
-#usr/share/terminfo/w/wyse60-42-w\r
-#usr/share/terminfo/w/wyse60-43\r
-#usr/share/terminfo/w/wyse60-43-w\r
-#usr/share/terminfo/w/wyse60-AT\r
-#usr/share/terminfo/w/wyse60-PC\r
-#usr/share/terminfo/w/wyse60-vb\r
-#usr/share/terminfo/w/wyse60-w\r
-#usr/share/terminfo/w/wyse60-wvb\r
-#usr/share/terminfo/w/wyse75\r
-#usr/share/terminfo/w/wyse75-mc\r
-#usr/share/terminfo/w/wyse75-vb\r
-#usr/share/terminfo/w/wyse75-w\r
-#usr/share/terminfo/w/wyse75-wvb\r
-#usr/share/terminfo/w/wyse75ap\r
-#usr/share/terminfo/w/wyse85\r
-#usr/share/terminfo/w/wyse85-8bit\r
-#usr/share/terminfo/w/wyse85-vb\r
-#usr/share/terminfo/w/wyse85-w\r
-#usr/share/terminfo/w/wyse85-wvb\r
-#usr/share/terminfo/w/wyse99gt\r
-#usr/share/terminfo/w/wyse99gt-25\r
-#usr/share/terminfo/w/wyse99gt-25-w\r
-#usr/share/terminfo/w/wyse99gt-vb\r
-#usr/share/terminfo/w/wyse99gt-w\r
-#usr/share/terminfo/w/wyse99gt-wvb\r
-#usr/share/terminfo/x\r
-#usr/share/terminfo/x/x10term\r
-#usr/share/terminfo/x/x1700\r
-#usr/share/terminfo/x/x1700-lm\r
-#usr/share/terminfo/x/x1720\r
-#usr/share/terminfo/x/x1750\r
-#usr/share/terminfo/x/x68k\r
-#usr/share/terminfo/x/x68k-ite\r
-#usr/share/terminfo/x/x820\r
-#usr/share/terminfo/x/xdku\r
-#usr/share/terminfo/x/xenix\r
-#usr/share/terminfo/x/xerox\r
-#usr/share/terminfo/x/xerox-lm\r
-#usr/share/terminfo/x/xerox1720\r
-#usr/share/terminfo/x/xerox820\r
-#usr/share/terminfo/x/xl83\r
-#usr/share/terminfo/x/xnuppc\r
-#usr/share/terminfo/x/xnuppc+100x37\r
-#usr/share/terminfo/x/xnuppc+112x37\r
-#usr/share/terminfo/x/xnuppc+128x40\r
-#usr/share/terminfo/x/xnuppc+128x48\r
-#usr/share/terminfo/x/xnuppc+144x48\r
-#usr/share/terminfo/x/xnuppc+160x64\r
-#usr/share/terminfo/x/xnuppc+200x64\r
-#usr/share/terminfo/x/xnuppc+200x75\r
-#usr/share/terminfo/x/xnuppc+256x96\r
-#usr/share/terminfo/x/xnuppc+80x25\r
-#usr/share/terminfo/x/xnuppc+80x30\r
-#usr/share/terminfo/x/xnuppc+90x30\r
-#usr/share/terminfo/x/xnuppc+b\r
-#usr/share/terminfo/x/xnuppc+basic\r
-#usr/share/terminfo/x/xnuppc+c\r
-#usr/share/terminfo/x/xnuppc+f\r
-#usr/share/terminfo/x/xnuppc+f2\r
-#usr/share/terminfo/x/xnuppc-100x37\r
-#usr/share/terminfo/x/xnuppc-100x37-m\r
-#usr/share/terminfo/x/xnuppc-112x37\r
-#usr/share/terminfo/x/xnuppc-112x37-m\r
-#usr/share/terminfo/x/xnuppc-128x40\r
-#usr/share/terminfo/x/xnuppc-128x40-m\r
-#usr/share/terminfo/x/xnuppc-128x48\r
-#usr/share/terminfo/x/xnuppc-128x48-m\r
-#usr/share/terminfo/x/xnuppc-144x48\r
-#usr/share/terminfo/x/xnuppc-144x48-m\r
-#usr/share/terminfo/x/xnuppc-160x64\r
-#usr/share/terminfo/x/xnuppc-160x64-m\r
-#usr/share/terminfo/x/xnuppc-200x64\r
-#usr/share/terminfo/x/xnuppc-200x64-m\r
-#usr/share/terminfo/x/xnuppc-200x75\r
-#usr/share/terminfo/x/xnuppc-200x75-m\r
-#usr/share/terminfo/x/xnuppc-256x96\r
-#usr/share/terminfo/x/xnuppc-256x96-m\r
-#usr/share/terminfo/x/xnuppc-80x25\r
-#usr/share/terminfo/x/xnuppc-80x25-m\r
-#usr/share/terminfo/x/xnuppc-80x30\r
-#usr/share/terminfo/x/xnuppc-80x30-m\r
-#usr/share/terminfo/x/xnuppc-90x30\r
-#usr/share/terminfo/x/xnuppc-90x30-m\r
-#usr/share/terminfo/x/xnuppc-b\r
-#usr/share/terminfo/x/xnuppc-f\r
-#usr/share/terminfo/x/xnuppc-f2\r
-#usr/share/terminfo/x/xnuppc-m\r
-#usr/share/terminfo/x/xnuppc-m-b\r
-#usr/share/terminfo/x/xnuppc-m-f\r
-#usr/share/terminfo/x/xnuppc-m-f2\r
-#usr/share/terminfo/x/xtalk\r
-usr/share/terminfo/x/xterm\r
-usr/share/terminfo/x/xterm+sl\r
-usr/share/terminfo/x/xterm+sl-twm\r
-usr/share/terminfo/x/xterm-16color\r
-usr/share/terminfo/x/xterm-24\r
-usr/share/terminfo/x/xterm-256color\r
-usr/share/terminfo/x/xterm-88color\r
-usr/share/terminfo/x/xterm-8bit\r
-usr/share/terminfo/x/xterm-basic\r
-usr/share/terminfo/x/xterm-bold\r
-usr/share/terminfo/x/xterm-color\r
-usr/share/terminfo/x/xterm-hp\r
-usr/share/terminfo/x/xterm-new\r
-usr/share/terminfo/x/xterm-nic\r
-usr/share/terminfo/x/xterm-noapp\r
-usr/share/terminfo/x/xterm-old\r
-usr/share/terminfo/x/xterm-pcolor\r
-usr/share/terminfo/x/xterm-r5\r
-usr/share/terminfo/x/xterm-r6\r
-usr/share/terminfo/x/xterm-sco\r
-usr/share/terminfo/x/xterm-sun\r
-usr/share/terminfo/x/xterm-vt220\r
-usr/share/terminfo/x/xterm-vt52\r
-usr/share/terminfo/x/xterm-xf86-v32\r
-usr/share/terminfo/x/xterm-xf86-v33\r
-usr/share/terminfo/x/xterm-xf86-v333\r
-usr/share/terminfo/x/xterm-xf86-v40\r
-usr/share/terminfo/x/xterm-xfree86\r
-usr/share/terminfo/x/xterm-xi\r
-usr/share/terminfo/x/xterm1\r
-usr/share/terminfo/x/xtermc\r
-usr/share/terminfo/x/xtermm\r
-usr/share/terminfo/x/xterms\r
-usr/share/terminfo/x/xterms-sun\r
-#usr/share/terminfo/x/xwsh\r
-#usr/share/terminfo/z\r
-#usr/share/terminfo/z/z-100\r
-#usr/share/terminfo/z/z-100bw\r
-#usr/share/terminfo/z/z100\r
-#usr/share/terminfo/z/z100bw\r
-#usr/share/terminfo/z/z110\r
-#usr/share/terminfo/z/z110bw\r
-#usr/share/terminfo/z/z19\r
-#usr/share/terminfo/z/z29\r
-#usr/share/terminfo/z/z29a\r
-#usr/share/terminfo/z/z29a-kc-bc\r
-#usr/share/terminfo/z/z29a-kc-uc\r
-#usr/share/terminfo/z/z29a-nkc-bc\r
-#usr/share/terminfo/z/z29a-nkc-uc\r
-#usr/share/terminfo/z/z29b\r
-#usr/share/terminfo/z/z30\r
-#usr/share/terminfo/z/z340\r
-#usr/share/terminfo/z/z340-nam\r
-#usr/share/terminfo/z/z39-a\r
-#usr/share/terminfo/z/z39a\r
-#usr/share/terminfo/z/z50\r
-#usr/share/terminfo/z/z8001\r
-#usr/share/terminfo/z/zen30\r
-#usr/share/terminfo/z/zen50\r
-#usr/share/terminfo/z/zen8001\r
-#usr/share/terminfo/z/zenith\r
-#usr/share/terminfo/z/zenith29\r
-#usr/share/terminfo/z/zenith39-a\r
-#usr/share/terminfo/z/zenith39-ansi\r
-#usr/share/terminfo/z/zt-1\r
-#usr/share/terminfo/z/ztx\r
-#usr/share/terminfo/z/ztx-1-a\r
-#usr/share/terminfo/z/ztx11\r
-##\r
-## vim-6.3\r
-##\r
-#root/.vimrc\r
-#usr/bin/ex\r
-#usr/bin/rview\r
-#usr/bin/rvim\r
-usr/bin/vi\r
-#usr/bin/view\r
-usr/bin/vim\r
-#usr/bin/vimtutor\r
-#usr/bin/xxd\r
-#usr/share/man/man1/evim.1\r
-#usr/share/man/man1/ex.1\r
-#usr/share/man/man1/rview.1\r
-#usr/share/man/man1/rvim.1\r
-#usr/share/man/man1/view.1\r
-#usr/share/man/man1/vim.1\r
-#usr/share/man/man1/vimdiff.1\r
-#usr/share/man/man1/vimtutor.1\r
-#usr/share/man/man1/xxd.1\r
-#usr/share/vim\r
-#usr/share/vim/vim63\r
-#usr/share/vim/vim63/bugreport.vim\r
-#usr/share/vim/vim63/colors\r
-#usr/share/vim/vim63/colors/README.txt\r
-#usr/share/vim/vim63/colors/blue.vim\r
-#usr/share/vim/vim63/colors/darkblue.vim\r
-#usr/share/vim/vim63/colors/default.vim\r
-#usr/share/vim/vim63/colors/delek.vim\r
-#usr/share/vim/vim63/colors/desert.vim\r
-#usr/share/vim/vim63/colors/elflord.vim\r
-#usr/share/vim/vim63/colors/evening.vim\r
-#usr/share/vim/vim63/colors/koehler.vim\r
-#usr/share/vim/vim63/colors/morning.vim\r
-#usr/share/vim/vim63/colors/murphy.vim\r
-#usr/share/vim/vim63/colors/pablo.vim\r
-#usr/share/vim/vim63/colors/peachpuff.vim\r
-#usr/share/vim/vim63/colors/ron.vim\r
-#usr/share/vim/vim63/colors/shine.vim\r
-#usr/share/vim/vim63/colors/torte.vim\r
-#usr/share/vim/vim63/colors/zellner.vim\r
-#usr/share/vim/vim63/compiler\r
-#usr/share/vim/vim63/compiler/README.txt\r
-#usr/share/vim/vim63/compiler/ant.vim\r
-#usr/share/vim/vim63/compiler/bcc.vim\r
-#usr/share/vim/vim63/compiler/bdf.vim\r
-#usr/share/vim/vim63/compiler/checkstyle.vim\r
-#usr/share/vim/vim63/compiler/cs.vim\r
-#usr/share/vim/vim63/compiler/dot.vim\r
-#usr/share/vim/vim63/compiler/fortran_F.vim\r
-#usr/share/vim/vim63/compiler/fortran_cv.vim\r
-#usr/share/vim/vim63/compiler/fortran_elf90.vim\r
-#usr/share/vim/vim63/compiler/fortran_g77.vim\r
-#usr/share/vim/vim63/compiler/fortran_lf95.vim\r
-#usr/share/vim/vim63/compiler/hp_acc.vim\r
-#usr/share/vim/vim63/compiler/icc.vim\r
-#usr/share/vim/vim63/compiler/intel.vim\r
-#usr/share/vim/vim63/compiler/irix5_c.vim\r
-#usr/share/vim/vim63/compiler/irix5_cpp.vim\r
-#usr/share/vim/vim63/compiler/javac.vim\r
-#usr/share/vim/vim63/compiler/jikes.vim\r
-#usr/share/vim/vim63/compiler/mips_c.vim\r
-#usr/share/vim/vim63/compiler/mipspro_c89.vim\r
-#usr/share/vim/vim63/compiler/mipspro_cpp.vim\r
-#usr/share/vim/vim63/compiler/modelsim_vcom.vim\r
-#usr/share/vim/vim63/compiler/msvc.vim\r
-#usr/share/vim/vim63/compiler/neato.vim\r
-#usr/share/vim/vim63/compiler/onsgmls.vim\r
-#usr/share/vim/vim63/compiler/pbx.vim\r
-#usr/share/vim/vim63/compiler/perl.vim\r
-#usr/share/vim/vim63/compiler/pyunit.vim\r
-#usr/share/vim/vim63/compiler/rst.vim\r
-#usr/share/vim/vim63/compiler/ruby.vim\r
-#usr/share/vim/vim63/compiler/se.vim\r
-#usr/share/vim/vim63/compiler/splint.vim\r
-#usr/share/vim/vim63/compiler/tcl.vim\r
-#usr/share/vim/vim63/compiler/tex.vim\r
-#usr/share/vim/vim63/compiler/tidy.vim\r
-#usr/share/vim/vim63/compiler/xmllint.vim\r
-#usr/share/vim/vim63/compiler/xmlwf.vim\r
-#usr/share/vim/vim63/delmenu.vim\r
-#usr/share/vim/vim63/doc\r
-#usr/share/vim/vim63/doc/arabic.txt\r
-#usr/share/vim/vim63/doc/autocmd.txt\r
-#usr/share/vim/vim63/doc/change.txt\r
-#usr/share/vim/vim63/doc/cmdline.txt\r
-#usr/share/vim/vim63/doc/debugger.txt\r
-#usr/share/vim/vim63/doc/develop.txt\r
-#usr/share/vim/vim63/doc/diff.txt\r
-#usr/share/vim/vim63/doc/digraph.txt\r
-#usr/share/vim/vim63/doc/editing.txt\r
-#usr/share/vim/vim63/doc/eval.txt\r
-#usr/share/vim/vim63/doc/farsi.txt\r
-#usr/share/vim/vim63/doc/filetype.txt\r
-#usr/share/vim/vim63/doc/fold.txt\r
-#usr/share/vim/vim63/doc/gui.txt\r
-#usr/share/vim/vim63/doc/gui_w16.txt\r
-#usr/share/vim/vim63/doc/gui_w32.txt\r
-#usr/share/vim/vim63/doc/gui_x11.txt\r
-#usr/share/vim/vim63/doc/hangulin.txt\r
-#usr/share/vim/vim63/doc/hebrew.txt\r
-#usr/share/vim/vim63/doc/help.txt\r
-#usr/share/vim/vim63/doc/howto.txt\r
-#usr/share/vim/vim63/doc/if_cscop.txt\r
-#usr/share/vim/vim63/doc/if_ole.txt\r
-#usr/share/vim/vim63/doc/if_perl.txt\r
-#usr/share/vim/vim63/doc/if_pyth.txt\r
-#usr/share/vim/vim63/doc/if_ruby.txt\r
-#usr/share/vim/vim63/doc/if_sniff.txt\r
-#usr/share/vim/vim63/doc/if_tcl.txt\r
-#usr/share/vim/vim63/doc/indent.txt\r
-#usr/share/vim/vim63/doc/index.txt\r
-#usr/share/vim/vim63/doc/insert.txt\r
-#usr/share/vim/vim63/doc/intro.txt\r
-#usr/share/vim/vim63/doc/map.txt\r
-#usr/share/vim/vim63/doc/mbyte.txt\r
-#usr/share/vim/vim63/doc/message.txt\r
-#usr/share/vim/vim63/doc/mlang.txt\r
-#usr/share/vim/vim63/doc/motion.txt\r
-#usr/share/vim/vim63/doc/netbeans.txt\r
-#usr/share/vim/vim63/doc/options.txt\r
-#usr/share/vim/vim63/doc/os_390.txt\r
-#usr/share/vim/vim63/doc/os_amiga.txt\r
-#usr/share/vim/vim63/doc/os_beos.txt\r
-#usr/share/vim/vim63/doc/os_dos.txt\r
-#usr/share/vim/vim63/doc/os_mac.txt\r
-#usr/share/vim/vim63/doc/os_mint.txt\r
-#usr/share/vim/vim63/doc/os_msdos.txt\r
-#usr/share/vim/vim63/doc/os_os2.txt\r
-#usr/share/vim/vim63/doc/os_qnx.txt\r
-#usr/share/vim/vim63/doc/os_risc.txt\r
-#usr/share/vim/vim63/doc/os_unix.txt\r
-#usr/share/vim/vim63/doc/os_vms.txt\r
-#usr/share/vim/vim63/doc/os_win32.txt\r
-#usr/share/vim/vim63/doc/pattern.txt\r
-#usr/share/vim/vim63/doc/pi_expl.txt\r
-#usr/share/vim/vim63/doc/pi_gzip.txt\r
-#usr/share/vim/vim63/doc/pi_netrw.txt\r
-#usr/share/vim/vim63/doc/pi_spec.txt\r
-#usr/share/vim/vim63/doc/quickfix.txt\r
-#usr/share/vim/vim63/doc/quickref.txt\r
-#usr/share/vim/vim63/doc/quotes.txt\r
-#usr/share/vim/vim63/doc/recover.txt\r
-#usr/share/vim/vim63/doc/remote.txt\r
-#usr/share/vim/vim63/doc/repeat.txt\r
-#usr/share/vim/vim63/doc/rileft.txt\r
-#usr/share/vim/vim63/doc/russian.txt\r
-#usr/share/vim/vim63/doc/scroll.txt\r
-#usr/share/vim/vim63/doc/sign.txt\r
-#usr/share/vim/vim63/doc/sponsor.txt\r
-#usr/share/vim/vim63/doc/starting.txt\r
-#usr/share/vim/vim63/doc/syntax.txt\r
-#usr/share/vim/vim63/doc/tags\r
-#usr/share/vim/vim63/doc/tagsrch.txt\r
-#usr/share/vim/vim63/doc/term.txt\r
-#usr/share/vim/vim63/doc/tips.txt\r
-#usr/share/vim/vim63/doc/todo.txt\r
-#usr/share/vim/vim63/doc/uganda.txt\r
-#usr/share/vim/vim63/doc/undo.txt\r
-#usr/share/vim/vim63/doc/usr_01.txt\r
-#usr/share/vim/vim63/doc/usr_02.txt\r
-#usr/share/vim/vim63/doc/usr_03.txt\r
-#usr/share/vim/vim63/doc/usr_04.txt\r
-#usr/share/vim/vim63/doc/usr_05.txt\r
-#usr/share/vim/vim63/doc/usr_06.txt\r
-#usr/share/vim/vim63/doc/usr_07.txt\r
-#usr/share/vim/vim63/doc/usr_08.txt\r
-#usr/share/vim/vim63/doc/usr_09.txt\r
-#usr/share/vim/vim63/doc/usr_10.txt\r
-#usr/share/vim/vim63/doc/usr_11.txt\r
-#usr/share/vim/vim63/doc/usr_12.txt\r
-#usr/share/vim/vim63/doc/usr_20.txt\r
-#usr/share/vim/vim63/doc/usr_21.txt\r
-#usr/share/vim/vim63/doc/usr_22.txt\r
-#usr/share/vim/vim63/doc/usr_23.txt\r
-#usr/share/vim/vim63/doc/usr_24.txt\r
-#usr/share/vim/vim63/doc/usr_25.txt\r
-#usr/share/vim/vim63/doc/usr_26.txt\r
-#usr/share/vim/vim63/doc/usr_27.txt\r
-#usr/share/vim/vim63/doc/usr_28.txt\r
-#usr/share/vim/vim63/doc/usr_29.txt\r
-#usr/share/vim/vim63/doc/usr_30.txt\r
-#usr/share/vim/vim63/doc/usr_31.txt\r
-#usr/share/vim/vim63/doc/usr_40.txt\r
-#usr/share/vim/vim63/doc/usr_41.txt\r
-#usr/share/vim/vim63/doc/usr_42.txt\r
-#usr/share/vim/vim63/doc/usr_43.txt\r
-#usr/share/vim/vim63/doc/usr_44.txt\r
-#usr/share/vim/vim63/doc/usr_45.txt\r
-#usr/share/vim/vim63/doc/usr_90.txt\r
-#usr/share/vim/vim63/doc/usr_toc.txt\r
-#usr/share/vim/vim63/doc/various.txt\r
-#usr/share/vim/vim63/doc/version4.txt\r
-#usr/share/vim/vim63/doc/version5.txt\r
-#usr/share/vim/vim63/doc/version6.txt\r
-#usr/share/vim/vim63/doc/vi_diff.txt\r
-#usr/share/vim/vim63/doc/vim2html.pl\r
-#usr/share/vim/vim63/doc/visual.txt\r
-#usr/share/vim/vim63/doc/windows.txt\r
-#usr/share/vim/vim63/doc/workshop.txt\r
-#usr/share/vim/vim63/evim.vim\r
-#usr/share/vim/vim63/filetype.vim\r
-#usr/share/vim/vim63/ftoff.vim\r
-#usr/share/vim/vim63/ftplugin\r
-#usr/share/vim/vim63/ftplugin.vim\r
-#usr/share/vim/vim63/ftplugin/README.txt\r
-#usr/share/vim/vim63/ftplugin/aap.vim\r
-#usr/share/vim/vim63/ftplugin/abaqus.vim\r
-#usr/share/vim/vim63/ftplugin/ada.vim\r
-#usr/share/vim/vim63/ftplugin/ant.vim\r
-#usr/share/vim/vim63/ftplugin/art.vim\r
-#usr/share/vim/vim63/ftplugin/aspvbs.vim\r
-#usr/share/vim/vim63/ftplugin/automake.vim\r
-#usr/share/vim/vim63/ftplugin/bib.vim\r
-#usr/share/vim/vim63/ftplugin/c.vim\r
-#usr/share/vim/vim63/ftplugin/ch.vim\r
-#usr/share/vim/vim63/ftplugin/changelog.vim\r
-#usr/share/vim/vim63/ftplugin/config.vim\r
-#usr/share/vim/vim63/ftplugin/cpp.vim\r
-#usr/share/vim/vim63/ftplugin/cs.vim\r
-#usr/share/vim/vim63/ftplugin/csc.vim\r
-#usr/share/vim/vim63/ftplugin/csh.vim\r
-#usr/share/vim/vim63/ftplugin/css.vim\r
-#usr/share/vim/vim63/ftplugin/debchangelog.vim\r
-#usr/share/vim/vim63/ftplugin/dosbatch.vim\r
-#usr/share/vim/vim63/ftplugin/dtd.vim\r
-#usr/share/vim/vim63/ftplugin/fortran.vim\r
-#usr/share/vim/vim63/ftplugin/html.vim\r
-#usr/share/vim/vim63/ftplugin/ishd.vim\r
-#usr/share/vim/vim63/ftplugin/java.vim\r
-#usr/share/vim/vim63/ftplugin/jsp.vim\r
-#usr/share/vim/vim63/ftplugin/kwt.vim\r
-#usr/share/vim/vim63/ftplugin/lisp.vim\r
-#usr/share/vim/vim63/ftplugin/lprolog.vim\r
-#usr/share/vim/vim63/ftplugin/lua.vim\r
-#usr/share/vim/vim63/ftplugin/mail.vim\r
-#usr/share/vim/vim63/ftplugin/make.vim\r
-#usr/share/vim/vim63/ftplugin/man.vim\r
-#usr/share/vim/vim63/ftplugin/mf.vim\r
-#usr/share/vim/vim63/ftplugin/mp.vim\r
-#usr/share/vim/vim63/ftplugin/objc.vim\r
-#usr/share/vim/vim63/ftplugin/ocaml.vim\r
-#usr/share/vim/vim63/ftplugin/occam.vim\r
-#usr/share/vim/vim63/ftplugin/pascal.vim\r
-#usr/share/vim/vim63/ftplugin/perl.vim\r
-#usr/share/vim/vim63/ftplugin/php.vim\r
-#usr/share/vim/vim63/ftplugin/postscr.vim\r
-#usr/share/vim/vim63/ftplugin/pyrex.vim\r
-#usr/share/vim/vim63/ftplugin/python.vim\r
-#usr/share/vim/vim63/ftplugin/rpl.vim\r
-#usr/share/vim/vim63/ftplugin/rst.vim\r
-#usr/share/vim/vim63/ftplugin/ruby.vim\r
-#usr/share/vim/vim63/ftplugin/scheme.vim\r
-#usr/share/vim/vim63/ftplugin/sgml.vim\r
-#usr/share/vim/vim63/ftplugin/sh.vim\r
-#usr/share/vim/vim63/ftplugin/spec.vim\r
-#usr/share/vim/vim63/ftplugin/sql.vim\r
-#usr/share/vim/vim63/ftplugin/svg.vim\r
-#usr/share/vim/vim63/ftplugin/tcsh.vim\r
-#usr/share/vim/vim63/ftplugin/tex.vim\r
-#usr/share/vim/vim63/ftplugin/vb.vim\r
-#usr/share/vim/vim63/ftplugin/verilog.vim\r
-#usr/share/vim/vim63/ftplugin/vim.vim\r
-#usr/share/vim/vim63/ftplugin/xhtml.vim\r
-#usr/share/vim/vim63/ftplugin/xml.vim\r
-#usr/share/vim/vim63/ftplugin/xs.vim\r
-#usr/share/vim/vim63/ftplugin/xsd.vim\r
-#usr/share/vim/vim63/ftplugin/xslt.vim\r
-#usr/share/vim/vim63/ftplugof.vim\r
-#usr/share/vim/vim63/gvimrc_example.vim\r
-#usr/share/vim/vim63/indent\r
-#usr/share/vim/vim63/indent.vim\r
-#usr/share/vim/vim63/indent/README.txt\r
-#usr/share/vim/vim63/indent/aap.vim\r
-#usr/share/vim/vim63/indent/ada.vim\r
-#usr/share/vim/vim63/indent/ant.vim\r
-#usr/share/vim/vim63/indent/automake.vim\r
-#usr/share/vim/vim63/indent/awk.vim\r
-#usr/share/vim/vim63/indent/c.vim\r
-#usr/share/vim/vim63/indent/cdl.vim\r
-#usr/share/vim/vim63/indent/ch.vim\r
-#usr/share/vim/vim63/indent/config.vim\r
-#usr/share/vim/vim63/indent/cpp.vim\r
-#usr/share/vim/vim63/indent/cs.vim\r
-#usr/share/vim/vim63/indent/css.vim\r
-#usr/share/vim/vim63/indent/docbk.vim\r
-#usr/share/vim/vim63/indent/dylan.vim\r
-#usr/share/vim/vim63/indent/eiffel.vim\r
-#usr/share/vim/vim63/indent/eterm.vim\r
-#usr/share/vim/vim63/indent/fortran.vim\r
-#usr/share/vim/vim63/indent/html.vim\r
-#usr/share/vim/vim63/indent/idlang.vim\r
-#usr/share/vim/vim63/indent/ishd.vim\r
-#usr/share/vim/vim63/indent/java.vim\r
-#usr/share/vim/vim63/indent/lua.vim\r
-#usr/share/vim/vim63/indent/make.vim\r
-#usr/share/vim/vim63/indent/matlab.vim\r
-#usr/share/vim/vim63/indent/mp.vim\r
-#usr/share/vim/vim63/indent/objc.vim\r
-#usr/share/vim/vim63/indent/ocaml.vim\r
-#usr/share/vim/vim63/indent/occam.vim\r
-#usr/share/vim/vim63/indent/perl.vim\r
-#usr/share/vim/vim63/indent/php.vim\r
-#usr/share/vim/vim63/indent/postscr.vim\r
-#usr/share/vim/vim63/indent/pov.vim\r
-#usr/share/vim/vim63/indent/prolog.vim\r
-#usr/share/vim/vim63/indent/pyrex.vim\r
-#usr/share/vim/vim63/indent/python.vim\r
-#usr/share/vim/vim63/indent/readline.vim\r
-#usr/share/vim/vim63/indent/rpl.vim\r
-#usr/share/vim/vim63/indent/rst.vim\r
-#usr/share/vim/vim63/indent/ruby.vim\r
-#usr/share/vim/vim63/indent/sdl.vim\r
-#usr/share/vim/vim63/indent/sh.vim\r
-#usr/share/vim/vim63/indent/tcl.vim\r
-#usr/share/vim/vim63/indent/tcsh.vim\r
-#usr/share/vim/vim63/indent/tilde.vim\r
-#usr/share/vim/vim63/indent/vb.vim\r
-#usr/share/vim/vim63/indent/verilog.vim\r
-#usr/share/vim/vim63/indent/vim.vim\r
-#usr/share/vim/vim63/indent/xf86conf.vim\r
-#usr/share/vim/vim63/indent/xhtml.vim\r
-#usr/share/vim/vim63/indent/xml.vim\r
-#usr/share/vim/vim63/indent/xslt.vim\r
-#usr/share/vim/vim63/indent/yacc.vim\r
-#usr/share/vim/vim63/indent/zsh.vim\r
-#usr/share/vim/vim63/indoff.vim\r
-#usr/share/vim/vim63/keymap\r
-#usr/share/vim/vim63/keymap/README.txt\r
-#usr/share/vim/vim63/keymap/accents.vim\r
-#usr/share/vim/vim63/keymap/arabic.vim\r
-#usr/share/vim/vim63/keymap/arabic_utf-8.vim\r
-#usr/share/vim/vim63/keymap/czech.vim\r
-#usr/share/vim/vim63/keymap/czech_utf-8.vim\r
-#usr/share/vim/vim63/keymap/esperanto.vim\r
-#usr/share/vim/vim63/keymap/esperanto_utf-8.vim\r
-#usr/share/vim/vim63/keymap/greek.vim\r
-#usr/share/vim/vim63/keymap/greek_cp1253.vim\r
-#usr/share/vim/vim63/keymap/greek_iso-8859-7.vim\r
-#usr/share/vim/vim63/keymap/greek_utf-8.vim\r
-#usr/share/vim/vim63/keymap/hebrew.vim\r
-#usr/share/vim/vim63/keymap/hebrew_cp1255.vim\r
-#usr/share/vim/vim63/keymap/hebrew_iso-8859-8.vim\r
-#usr/share/vim/vim63/keymap/hebrew_utf-8.vim\r
-#usr/share/vim/vim63/keymap/hebrewp.vim\r
-#usr/share/vim/vim63/keymap/hebrewp_cp1255.vim\r
-#usr/share/vim/vim63/keymap/hebrewp_iso-8859-8.vim\r
-#usr/share/vim/vim63/keymap/hebrewp_utf-8.vim\r
-#usr/share/vim/vim63/keymap/lithuanian-baltic.vim\r
-#usr/share/vim/vim63/keymap/magyar_utf-8.vim\r
-#usr/share/vim/vim63/keymap/persian-iranian_utf-8.vim\r
-#usr/share/vim/vim63/keymap/persian.vim\r
-#usr/share/vim/vim63/keymap/pinyin.vim\r
-#usr/share/vim/vim63/keymap/russian-jcuken.vim\r
-#usr/share/vim/vim63/keymap/russian-jcukenwin.vim\r
-#usr/share/vim/vim63/keymap/russian-yawerty.vim\r
-#usr/share/vim/vim63/keymap/serbian-latin.vim\r
-#usr/share/vim/vim63/keymap/serbian-latin_utf-8.vim\r
-#usr/share/vim/vim63/keymap/serbian.vim\r
-#usr/share/vim/vim63/keymap/serbian_cp1250.vim\r
-#usr/share/vim/vim63/keymap/serbian_cp1251.vim\r
-#usr/share/vim/vim63/keymap/serbian_iso-8859-2.vim\r
-#usr/share/vim/vim63/keymap/serbian_iso-8859-5.vim\r
-#usr/share/vim/vim63/keymap/serbian_utf-8.vim\r
-#usr/share/vim/vim63/keymap/slovak.vim\r
-#usr/share/vim/vim63/keymap/slovak_cp1250.vim\r
-#usr/share/vim/vim63/keymap/slovak_iso-8859-2.vim\r
-#usr/share/vim/vim63/keymap/slovak_utf-8.vim\r
-#usr/share/vim/vim63/lang\r
-#usr/share/vim/vim63/lang/README.txt\r
-#usr/share/vim/vim63/lang/menu_af.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_af.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_af_af.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_af_af.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ca.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_ca.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ca_es.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_ca_es.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_chinese(gb)_gb.936.vim\r
-#usr/share/vim/vim63/lang/menu_chinese(taiwan)_taiwan.950.vim\r
-#usr/share/vim/vim63/lang/menu_chinese_gb.936.vim\r
-#usr/share/vim/vim63/lang/menu_chinese_taiwan.950.vim\r
-#usr/share/vim/vim63/lang/menu_cs.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_cs.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_cs_cz.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_cs_cz.iso_8859-2.vim\r
-#usr/share/vim/vim63/lang/menu_cs_cz.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_czech_czech_republic.1250.vim\r
-#usr/share/vim/vim63/lang/menu_czech_czech_republic.1252.vim\r
-#usr/share/vim/vim63/lang/menu_czech_czech_republic.ascii.vim\r
-#usr/share/vim/vim63/lang/menu_de.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_de.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_de_de.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_de_de.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_en_gb.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_en_gb.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_english_united_kingdom.1252.vim\r
-#usr/share/vim/vim63/lang/menu_english_united_kingdom.ascii.vim\r
-#usr/share/vim/vim63/lang/menu_es.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_es.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_es_es.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_es_es.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_fr.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_fr.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_fr_fr.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_fr_fr.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_french_france.1252.vim\r
-#usr/share/vim/vim63/lang/menu_german_germany.1252.vim\r
-#usr/share/vim/vim63/lang/menu_hu_hu.iso_8859-2.vim\r
-#usr/share/vim/vim63/lang/menu_it.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_it.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_it_it.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_it_it.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_italian_italy.1252.vim\r
-#usr/share/vim/vim63/lang/menu_ja.cp932.vim\r
-#usr/share/vim/vim63/lang/menu_ja.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ja_jp.cp932.vim\r
-#usr/share/vim/vim63/lang/menu_ja_jp.euc-jp.vim\r
-#usr/share/vim/vim63/lang/menu_ja_jp.eucjp.vim\r
-#usr/share/vim/vim63/lang/menu_ja_jp.ujis.vim\r
-#usr/share/vim/vim63/lang/menu_ja_jp.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_japanese_japan.932.vim\r
-#usr/share/vim/vim63/lang/menu_ko.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ko_kr.euckr.vim\r
-#usr/share/vim/vim63/lang/menu_ko_kr.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ko_kr.vim\r
-#usr/share/vim/vim63/lang/menu_nl.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_nl.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_nl_nl.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_nl_nl.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_no.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_no.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_no_no.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_no_no.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_pl.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_pl_pl.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_pl_pl.iso_8859-2.vim\r
-#usr/share/vim/vim63/lang/menu_polish_poland.1250.vim\r
-#usr/share/vim/vim63/lang/menu_pt_br.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_pt_br.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_pt_br.vim\r
-#usr/share/vim/vim63/lang/menu_pt_pt.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_pt_pt.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_pt_pt.vim\r
-#usr/share/vim/vim63/lang/menu_ru.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ru_ru.koi8-r.vim\r
-#usr/share/vim/vim63/lang/menu_ru_ru.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_ru_ru.vim\r
-#usr/share/vim/vim63/lang/menu_sk.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_sk_sk.1250.vim\r
-#usr/share/vim/vim63/lang/menu_sk_sk.cp1250.vim\r
-#usr/share/vim/vim63/lang/menu_sk_sk.iso_8859-2.vim\r
-#usr/share/vim/vim63/lang/menu_sk_sk.vim\r
-#usr/share/vim/vim63/lang/menu_slovak_slovak_republic.1250.vim\r
-#usr/share/vim/vim63/lang/menu_spanish_spain.850.vim\r
-#usr/share/vim/vim63/lang/menu_sr.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_sr_yu.ascii.vim\r
-#usr/share/vim/vim63/lang/menu_sr_yu.iso_8859-2.vim\r
-#usr/share/vim/vim63/lang/menu_sr_yu.iso_8859-5.vim\r
-#usr/share/vim/vim63/lang/menu_sr_yu.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_sv.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_sv.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_sv_se.latin1.vim\r
-#usr/share/vim/vim63/lang/menu_sv_se.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_uk_ua.koi8-u.vim\r
-#usr/share/vim/vim63/lang/menu_zh.big5.vim\r
-#usr/share/vim/vim63/lang/menu_zh.cp936.vim\r
-#usr/share/vim/vim63/lang/menu_zh.cp950.vim\r
-#usr/share/vim/vim63/lang/menu_zh.gb2312.vim\r
-#usr/share/vim/vim63/lang/menu_zh_cn.18030.vim\r
-#usr/share/vim/vim63/lang/menu_zh_cn.cp936.vim\r
-#usr/share/vim/vim63/lang/menu_zh_cn.gb2312.vim\r
-#usr/share/vim/vim63/lang/menu_zh_cn.gbk.vim\r
-#usr/share/vim/vim63/lang/menu_zh_cn.utf-8.vim\r
-#usr/share/vim/vim63/lang/menu_zh_tw.big5.vim\r
-#usr/share/vim/vim63/lang/menu_zh_tw.cp950.vim\r
-#usr/share/vim/vim63/lang/menu_zh_tw.utf-8.vim\r
-#usr/share/vim/vim63/macros\r
-#usr/share/vim/vim63/macros/README.txt\r
-#usr/share/vim/vim63/macros/dvorak\r
-#usr/share/vim/vim63/macros/hanoi\r
-#usr/share/vim/vim63/macros/hanoi/click.me\r
-#usr/share/vim/vim63/macros/hanoi/hanoi.vim\r
-#usr/share/vim/vim63/macros/hanoi/poster\r
-#usr/share/vim/vim63/macros/justify.vim\r
-#usr/share/vim/vim63/macros/less.sh\r
-#usr/share/vim/vim63/macros/less.vim\r
-#usr/share/vim/vim63/macros/life\r
-#usr/share/vim/vim63/macros/life/click.me\r
-#usr/share/vim/vim63/macros/life/life.vim\r
-#usr/share/vim/vim63/macros/matchit.txt\r
-#usr/share/vim/vim63/macros/matchit.vim\r
-#usr/share/vim/vim63/macros/maze\r
-#usr/share/vim/vim63/macros/maze/Makefile\r
-#usr/share/vim/vim63/macros/maze/README.txt\r
-#usr/share/vim/vim63/macros/maze/main.aap\r
-#usr/share/vim/vim63/macros/maze/maze.c\r
-#usr/share/vim/vim63/macros/maze/maze_5.78\r
-#usr/share/vim/vim63/macros/maze/maze_mac\r
-#usr/share/vim/vim63/macros/maze/mazeansi.c\r
-#usr/share/vim/vim63/macros/maze/mazeclean.c\r
-#usr/share/vim/vim63/macros/maze/poster\r
-#usr/share/vim/vim63/macros/shellmenu.vim\r
-#usr/share/vim/vim63/macros/swapmous.vim\r
-#usr/share/vim/vim63/macros/urm\r
-#usr/share/vim/vim63/macros/urm/README.txt\r
-#usr/share/vim/vim63/macros/urm/examples\r
-#usr/share/vim/vim63/macros/urm/urm\r
-#usr/share/vim/vim63/macros/urm/urm.vim\r
-#usr/share/vim/vim63/menu.vim\r
-#usr/share/vim/vim63/mswin.vim\r
-#usr/share/vim/vim63/optwin.vim\r
-#usr/share/vim/vim63/plugin\r
-#usr/share/vim/vim63/plugin/README.txt\r
-#usr/share/vim/vim63/plugin/explorer.vim\r
-#usr/share/vim/vim63/plugin/gzip.vim\r
-#usr/share/vim/vim63/plugin/netrw.vim\r
-#usr/share/vim/vim63/plugin/rrhelper.vim\r
-#usr/share/vim/vim63/plugin/tohtml.vim\r
-#usr/share/vim/vim63/print\r
-#usr/share/vim/vim63/print/cp1250.ps\r
-#usr/share/vim/vim63/print/cp1251.ps\r
-#usr/share/vim/vim63/print/cp1252.ps\r
-#usr/share/vim/vim63/print/cp1253.ps\r
-#usr/share/vim/vim63/print/cp1254.ps\r
-#usr/share/vim/vim63/print/cp1255.ps\r
-#usr/share/vim/vim63/print/cp1257.ps\r
-#usr/share/vim/vim63/print/dec-mcs.ps\r
-#usr/share/vim/vim63/print/ebcdic-uk.ps\r
-#usr/share/vim/vim63/print/hp-roman8.ps\r
-#usr/share/vim/vim63/print/iso-8859-10.ps\r
-#usr/share/vim/vim63/print/iso-8859-11.ps\r
-#usr/share/vim/vim63/print/iso-8859-13.ps\r
-#usr/share/vim/vim63/print/iso-8859-14.ps\r
-#usr/share/vim/vim63/print/iso-8859-15.ps\r
-#usr/share/vim/vim63/print/iso-8859-2.ps\r
-#usr/share/vim/vim63/print/iso-8859-3.ps\r
-#usr/share/vim/vim63/print/iso-8859-4.ps\r
-#usr/share/vim/vim63/print/iso-8859-5.ps\r
-#usr/share/vim/vim63/print/iso-8859-7.ps\r
-#usr/share/vim/vim63/print/iso-8859-8.ps\r
-#usr/share/vim/vim63/print/iso-8859-9.ps\r
-#usr/share/vim/vim63/print/koi8-r.ps\r
-#usr/share/vim/vim63/print/koi8-u.ps\r
-#usr/share/vim/vim63/print/latin1.ps\r
-#usr/share/vim/vim63/print/mac-roman.ps\r
-#usr/share/vim/vim63/print/prolog.ps\r
-#usr/share/vim/vim63/scripts.vim\r
-#usr/share/vim/vim63/synmenu.vim\r
-#usr/share/vim/vim63/syntax\r
-#usr/share/vim/vim63/syntax/2html.vim\r
-#usr/share/vim/vim63/syntax/README.txt\r
-#usr/share/vim/vim63/syntax/a65.vim\r
-#usr/share/vim/vim63/syntax/aap.vim\r
-#usr/share/vim/vim63/syntax/abaqus.vim\r
-#usr/share/vim/vim63/syntax/abc.vim\r
-#usr/share/vim/vim63/syntax/abel.vim\r
-#usr/share/vim/vim63/syntax/acedb.vim\r
-#usr/share/vim/vim63/syntax/ada.vim\r
-#usr/share/vim/vim63/syntax/aflex.vim\r
-#usr/share/vim/vim63/syntax/ahdl.vim\r
-#usr/share/vim/vim63/syntax/amiga.vim\r
-#usr/share/vim/vim63/syntax/aml.vim\r
-#usr/share/vim/vim63/syntax/ampl.vim\r
-#usr/share/vim/vim63/syntax/ant.vim\r
-#usr/share/vim/vim63/syntax/antlr.vim\r
-#usr/share/vim/vim63/syntax/apache.vim\r
-#usr/share/vim/vim63/syntax/apachestyle.vim\r
-#usr/share/vim/vim63/syntax/arch.vim\r
-#usr/share/vim/vim63/syntax/art.vim\r
-#usr/share/vim/vim63/syntax/asm.vim\r
-#usr/share/vim/vim63/syntax/asm68k.vim\r
-#usr/share/vim/vim63/syntax/asmh8300.vim\r
-#usr/share/vim/vim63/syntax/asn.vim\r
-#usr/share/vim/vim63/syntax/aspperl.vim\r
-#usr/share/vim/vim63/syntax/aspvbs.vim\r
-#usr/share/vim/vim63/syntax/atlas.vim\r
-#usr/share/vim/vim63/syntax/automake.vim\r
-#usr/share/vim/vim63/syntax/ave.vim\r
-#usr/share/vim/vim63/syntax/awk.vim\r
-#usr/share/vim/vim63/syntax/ayacc.vim\r
-#usr/share/vim/vim63/syntax/b.vim\r
-#usr/share/vim/vim63/syntax/baan.vim\r
-#usr/share/vim/vim63/syntax/basic.vim\r
-#usr/share/vim/vim63/syntax/bc.vim\r
-#usr/share/vim/vim63/syntax/bdf.vim\r
-#usr/share/vim/vim63/syntax/bib.vim\r
-#usr/share/vim/vim63/syntax/bindzone.vim\r
-#usr/share/vim/vim63/syntax/blank.vim\r
-#usr/share/vim/vim63/syntax/btm.vim\r
-#usr/share/vim/vim63/syntax/c.vim\r
-#usr/share/vim/vim63/syntax/calendar.vim\r
-#usr/share/vim/vim63/syntax/catalog.vim\r
-#usr/share/vim/vim63/syntax/cdl.vim\r
-#usr/share/vim/vim63/syntax/cf.vim\r
-#usr/share/vim/vim63/syntax/cfg.vim\r
-#usr/share/vim/vim63/syntax/ch.vim\r
-#usr/share/vim/vim63/syntax/change.vim\r
-#usr/share/vim/vim63/syntax/changelog.vim\r
-#usr/share/vim/vim63/syntax/chaskell.vim\r
-#usr/share/vim/vim63/syntax/cheetah.vim\r
-#usr/share/vim/vim63/syntax/chill.vim\r
-#usr/share/vim/vim63/syntax/cl.vim\r
-#usr/share/vim/vim63/syntax/clean.vim\r
-#usr/share/vim/vim63/syntax/clipper.vim\r
-#usr/share/vim/vim63/syntax/cobol.vim\r
-#usr/share/vim/vim63/syntax/colortest.vim\r
-#usr/share/vim/vim63/syntax/conf.vim\r
-#usr/share/vim/vim63/syntax/config.vim\r
-#usr/share/vim/vim63/syntax/cpp.vim\r
-#usr/share/vim/vim63/syntax/crm.vim\r
-#usr/share/vim/vim63/syntax/crontab.vim\r
-#usr/share/vim/vim63/syntax/cs.vim\r
-#usr/share/vim/vim63/syntax/csc.vim\r
-#usr/share/vim/vim63/syntax/csh.vim\r
-#usr/share/vim/vim63/syntax/csp.vim\r
-#usr/share/vim/vim63/syntax/css.vim\r
-#usr/share/vim/vim63/syntax/cterm.vim\r
-#usr/share/vim/vim63/syntax/ctrlh.vim\r
-#usr/share/vim/vim63/syntax/cupl.vim\r
-#usr/share/vim/vim63/syntax/cuplsim.vim\r
-#usr/share/vim/vim63/syntax/cvs.vim\r
-#usr/share/vim/vim63/syntax/cvsrc.vim\r
-#usr/share/vim/vim63/syntax/cweb.vim\r
-#usr/share/vim/vim63/syntax/cynlib.vim\r
-#usr/share/vim/vim63/syntax/cynpp.vim\r
-#usr/share/vim/vim63/syntax/d.vim\r
-#usr/share/vim/vim63/syntax/dcd.vim\r
-#usr/share/vim/vim63/syntax/dcl.vim\r
-#usr/share/vim/vim63/syntax/debchangelog.vim\r
-#usr/share/vim/vim63/syntax/debcontrol.vim\r
-#usr/share/vim/vim63/syntax/def.vim\r
-#usr/share/vim/vim63/syntax/desc.vim\r
-#usr/share/vim/vim63/syntax/desktop.vim\r
-#usr/share/vim/vim63/syntax/diff.vim\r
-#usr/share/vim/vim63/syntax/dircolors.vim\r
-#usr/share/vim/vim63/syntax/diva.vim\r
-#usr/share/vim/vim63/syntax/dns.vim\r
-#usr/share/vim/vim63/syntax/docbk.vim\r
-#usr/share/vim/vim63/syntax/docbksgml.vim\r
-#usr/share/vim/vim63/syntax/docbkxml.vim\r
-#usr/share/vim/vim63/syntax/dosbatch.vim\r
-#usr/share/vim/vim63/syntax/dosini.vim\r
-#usr/share/vim/vim63/syntax/dot.vim\r
-#usr/share/vim/vim63/syntax/dracula.vim\r
-#usr/share/vim/vim63/syntax/dsl.vim\r
-#usr/share/vim/vim63/syntax/dtd.vim\r
-#usr/share/vim/vim63/syntax/dtml.vim\r
-#usr/share/vim/vim63/syntax/dylan.vim\r
-#usr/share/vim/vim63/syntax/dylanintr.vim\r
-#usr/share/vim/vim63/syntax/dylanlid.vim\r
-#usr/share/vim/vim63/syntax/ecd.vim\r
-#usr/share/vim/vim63/syntax/edif.vim\r
-#usr/share/vim/vim63/syntax/eiffel.vim\r
-#usr/share/vim/vim63/syntax/elf.vim\r
-#usr/share/vim/vim63/syntax/elinks.vim\r
-#usr/share/vim/vim63/syntax/elmfilt.vim\r
-#usr/share/vim/vim63/syntax/erlang.vim\r
-#usr/share/vim/vim63/syntax/esqlc.vim\r
-#usr/share/vim/vim63/syntax/eterm.vim\r
-#usr/share/vim/vim63/syntax/exim.vim\r
-#usr/share/vim/vim63/syntax/expect.vim\r
-#usr/share/vim/vim63/syntax/exports.vim\r
-#usr/share/vim/vim63/syntax/fasm.vim\r
-#usr/share/vim/vim63/syntax/fdcc.vim\r
-#usr/share/vim/vim63/syntax/fetchmail.vim\r
-#usr/share/vim/vim63/syntax/fgl.vim\r
-#usr/share/vim/vim63/syntax/focexec.vim\r
-#usr/share/vim/vim63/syntax/form.vim\r
-#usr/share/vim/vim63/syntax/forth.vim\r
-#usr/share/vim/vim63/syntax/fortran.vim\r
-#usr/share/vim/vim63/syntax/foxpro.vim\r
-#usr/share/vim/vim63/syntax/fstab.vim\r
-#usr/share/vim/vim63/syntax/fvwm.vim\r
-#usr/share/vim/vim63/syntax/fvwm2m4.vim\r
-#usr/share/vim/vim63/syntax/gdb.vim\r
-#usr/share/vim/vim63/syntax/gdmo.vim\r
-#usr/share/vim/vim63/syntax/gedcom.vim\r
-#usr/share/vim/vim63/syntax/gkrellmrc.vim\r
-#usr/share/vim/vim63/syntax/gnuplot.vim\r
-#usr/share/vim/vim63/syntax/gp.vim\r
-#usr/share/vim/vim63/syntax/gpg.vim\r
-#usr/share/vim/vim63/syntax/grads.vim\r
-#usr/share/vim/vim63/syntax/groff.vim\r
-#usr/share/vim/vim63/syntax/grub.vim\r
-#usr/share/vim/vim63/syntax/gsp.vim\r
-#usr/share/vim/vim63/syntax/gtkrc.vim\r
-#usr/share/vim/vim63/syntax/haskell.vim\r
-#usr/share/vim/vim63/syntax/hb.vim\r
-#usr/share/vim/vim63/syntax/help.vim\r
-#usr/share/vim/vim63/syntax/hercules.vim\r
-#usr/share/vim/vim63/syntax/hex.vim\r
-#usr/share/vim/vim63/syntax/hitest.vim\r
-#usr/share/vim/vim63/syntax/hog.vim\r
-#usr/share/vim/vim63/syntax/html.vim\r
-#usr/share/vim/vim63/syntax/htmlcheetah.vim\r
-#usr/share/vim/vim63/syntax/htmlm4.vim\r
-#usr/share/vim/vim63/syntax/htmlos.vim\r
-#usr/share/vim/vim63/syntax/ia64.vim\r
-#usr/share/vim/vim63/syntax/icemenu.vim\r
-#usr/share/vim/vim63/syntax/icon.vim\r
-#usr/share/vim/vim63/syntax/idl.vim\r
-#usr/share/vim/vim63/syntax/idlang.vim\r
-#usr/share/vim/vim63/syntax/indent.vim\r
-#usr/share/vim/vim63/syntax/inform.vim\r
-#usr/share/vim/vim63/syntax/inittab.vim\r
-#usr/share/vim/vim63/syntax/ipfilter.vim\r
-#usr/share/vim/vim63/syntax/ishd.vim\r
-#usr/share/vim/vim63/syntax/iss.vim\r
-#usr/share/vim/vim63/syntax/ist.vim\r
-#usr/share/vim/vim63/syntax/jal.vim\r
-#usr/share/vim/vim63/syntax/jam.vim\r
-#usr/share/vim/vim63/syntax/jargon.vim\r
-#usr/share/vim/vim63/syntax/java.vim\r
-#usr/share/vim/vim63/syntax/javacc.vim\r
-#usr/share/vim/vim63/syntax/javascript.vim\r
-#usr/share/vim/vim63/syntax/jess.vim\r
-#usr/share/vim/vim63/syntax/jgraph.vim\r
-#usr/share/vim/vim63/syntax/jproperties.vim\r
-#usr/share/vim/vim63/syntax/jsp.vim\r
-#usr/share/vim/vim63/syntax/kix.vim\r
-#usr/share/vim/vim63/syntax/kscript.vim\r
-#usr/share/vim/vim63/syntax/kwt.vim\r
-#usr/share/vim/vim63/syntax/lace.vim\r
-#usr/share/vim/vim63/syntax/latte.vim\r
-#usr/share/vim/vim63/syntax/ldif.vim\r
-#usr/share/vim/vim63/syntax/lex.vim\r
-#usr/share/vim/vim63/syntax/lftp.vim\r
-#usr/share/vim/vim63/syntax/lhaskell.vim\r
-#usr/share/vim/vim63/syntax/libao.vim\r
-#usr/share/vim/vim63/syntax/lifelines.vim\r
-#usr/share/vim/vim63/syntax/lilo.vim\r
-#usr/share/vim/vim63/syntax/lisp.vim\r
-#usr/share/vim/vim63/syntax/lite.vim\r
-#usr/share/vim/vim63/syntax/logtalk.vim\r
-#usr/share/vim/vim63/syntax/lotos.vim\r
-#usr/share/vim/vim63/syntax/lout.vim\r
-#usr/share/vim/vim63/syntax/lpc.vim\r
-#usr/share/vim/vim63/syntax/lprolog.vim\r
-#usr/share/vim/vim63/syntax/lscript.vim\r
-#usr/share/vim/vim63/syntax/lss.vim\r
-#usr/share/vim/vim63/syntax/lua.vim\r
-#usr/share/vim/vim63/syntax/lynx.vim\r
-#usr/share/vim/vim63/syntax/m4.vim\r
-#usr/share/vim/vim63/syntax/mail.vim\r
-#usr/share/vim/vim63/syntax/mailcap.vim\r
-#usr/share/vim/vim63/syntax/make.vim\r
-#usr/share/vim/vim63/syntax/man.vim\r
-#usr/share/vim/vim63/syntax/manual.vim\r
-#usr/share/vim/vim63/syntax/maple.vim\r
-#usr/share/vim/vim63/syntax/masm.vim\r
-#usr/share/vim/vim63/syntax/mason.vim\r
-#usr/share/vim/vim63/syntax/master.vim\r
-#usr/share/vim/vim63/syntax/matlab.vim\r
-#usr/share/vim/vim63/syntax/mel.vim\r
-#usr/share/vim/vim63/syntax/mf.vim\r
-#usr/share/vim/vim63/syntax/mgp.vim\r
-#usr/share/vim/vim63/syntax/mib.vim\r
-#usr/share/vim/vim63/syntax/mma.vim\r
-#usr/share/vim/vim63/syntax/mmix.vim\r
-#usr/share/vim/vim63/syntax/modconf.vim\r
-#usr/share/vim/vim63/syntax/model.vim\r
-#usr/share/vim/vim63/syntax/modsim3.vim\r
-#usr/share/vim/vim63/syntax/modula2.vim\r
-#usr/share/vim/vim63/syntax/modula3.vim\r
-#usr/share/vim/vim63/syntax/monk.vim\r
-#usr/share/vim/vim63/syntax/moo.vim\r
-#usr/share/vim/vim63/syntax/mp.vim\r
-#usr/share/vim/vim63/syntax/mplayerconf.vim\r
-#usr/share/vim/vim63/syntax/msidl.vim\r
-#usr/share/vim/vim63/syntax/msql.vim\r
-#usr/share/vim/vim63/syntax/mush.vim\r
-#usr/share/vim/vim63/syntax/muttrc.vim\r
-#usr/share/vim/vim63/syntax/mysql.vim\r
-#usr/share/vim/vim63/syntax/named.vim\r
-#usr/share/vim/vim63/syntax/nasm.vim\r
-#usr/share/vim/vim63/syntax/nastran.vim\r
-#usr/share/vim/vim63/syntax/natural.vim\r
-#usr/share/vim/vim63/syntax/ncf.vim\r
-#usr/share/vim/vim63/syntax/nosyntax.vim\r
-#usr/share/vim/vim63/syntax/nqc.vim\r
-#usr/share/vim/vim63/syntax/nroff.vim\r
-#usr/share/vim/vim63/syntax/nsis.vim\r
-#usr/share/vim/vim63/syntax/objc.vim\r
-#usr/share/vim/vim63/syntax/objcpp.vim\r
-#usr/share/vim/vim63/syntax/ocaml.vim\r
-#usr/share/vim/vim63/syntax/occam.vim\r
-#usr/share/vim/vim63/syntax/omnimark.vim\r
-#usr/share/vim/vim63/syntax/openroad.vim\r
-#usr/share/vim/vim63/syntax/opl.vim\r
-#usr/share/vim/vim63/syntax/ora.vim\r
-#usr/share/vim/vim63/syntax/papp.vim\r
-#usr/share/vim/vim63/syntax/pascal.vim\r
-#usr/share/vim/vim63/syntax/pcap.vim\r
-#usr/share/vim/vim63/syntax/pccts.vim\r
-#usr/share/vim/vim63/syntax/perl.vim\r
-#usr/share/vim/vim63/syntax/pf.vim\r
-#usr/share/vim/vim63/syntax/pfmain.vim\r
-#usr/share/vim/vim63/syntax/php.vim\r
-#usr/share/vim/vim63/syntax/phtml.vim\r
-#usr/share/vim/vim63/syntax/pic.vim\r
-#usr/share/vim/vim63/syntax/pike.vim\r
-#usr/share/vim/vim63/syntax/pilrc.vim\r
-#usr/share/vim/vim63/syntax/pine.vim\r
-#usr/share/vim/vim63/syntax/pinfo.vim\r
-#usr/share/vim/vim63/syntax/plm.vim\r
-#usr/share/vim/vim63/syntax/plp.vim\r
-#usr/share/vim/vim63/syntax/plsql.vim\r
-#usr/share/vim/vim63/syntax/po.vim\r
-#usr/share/vim/vim63/syntax/pod.vim\r
-#usr/share/vim/vim63/syntax/postscr.vim\r
-#usr/share/vim/vim63/syntax/pov.vim\r
-#usr/share/vim/vim63/syntax/povini.vim\r
-#usr/share/vim/vim63/syntax/ppd.vim\r
-#usr/share/vim/vim63/syntax/ppwiz.vim\r
-#usr/share/vim/vim63/syntax/procmail.vim\r
-#usr/share/vim/vim63/syntax/progress.vim\r
-#usr/share/vim/vim63/syntax/prolog.vim\r
-#usr/share/vim/vim63/syntax/psf.vim\r
-#usr/share/vim/vim63/syntax/ptcap.vim\r
-#usr/share/vim/vim63/syntax/purifylog.vim\r
-#usr/share/vim/vim63/syntax/pyrex.vim\r
-#usr/share/vim/vim63/syntax/python.vim\r
-#usr/share/vim/vim63/syntax/qf.vim\r
-#usr/share/vim/vim63/syntax/quake.vim\r
-#usr/share/vim/vim63/syntax/r.vim\r
-#usr/share/vim/vim63/syntax/radiance.vim\r
-#usr/share/vim/vim63/syntax/ratpoison.vim\r
-#usr/share/vim/vim63/syntax/rc.vim\r
-#usr/share/vim/vim63/syntax/rcs.vim\r
-#usr/share/vim/vim63/syntax/rcslog.vim\r
-#usr/share/vim/vim63/syntax/readline.vim\r
-#usr/share/vim/vim63/syntax/rebol.vim\r
-#usr/share/vim/vim63/syntax/registry.vim\r
-#usr/share/vim/vim63/syntax/remind.vim\r
-#usr/share/vim/vim63/syntax/resolv.vim\r
-#usr/share/vim/vim63/syntax/rexx.vim\r
-#usr/share/vim/vim63/syntax/rib.vim\r
-#usr/share/vim/vim63/syntax/rnc.vim\r
-#usr/share/vim/vim63/syntax/robots.vim\r
-#usr/share/vim/vim63/syntax/rpcgen.vim\r
-#usr/share/vim/vim63/syntax/rpl.vim\r
-#usr/share/vim/vim63/syntax/rst.vim\r
-#usr/share/vim/vim63/syntax/rtf.vim\r
-#usr/share/vim/vim63/syntax/ruby.vim\r
-#usr/share/vim/vim63/syntax/samba.vim\r
-#usr/share/vim/vim63/syntax/sas.vim\r
-#usr/share/vim/vim63/syntax/sather.vim\r
-#usr/share/vim/vim63/syntax/scheme.vim\r
-#usr/share/vim/vim63/syntax/scilab.vim\r
-#usr/share/vim/vim63/syntax/screen.vim\r
-#usr/share/vim/vim63/syntax/sdl.vim\r
-#usr/share/vim/vim63/syntax/sed.vim\r
-#usr/share/vim/vim63/syntax/sendpr.vim\r
-#usr/share/vim/vim63/syntax/sgml.vim\r
-#usr/share/vim/vim63/syntax/sgmldecl.vim\r
-#usr/share/vim/vim63/syntax/sgmllnx.vim\r
-#usr/share/vim/vim63/syntax/sh.vim\r
-#usr/share/vim/vim63/syntax/sicad.vim\r
-#usr/share/vim/vim63/syntax/simula.vim\r
-#usr/share/vim/vim63/syntax/sinda.vim\r
-#usr/share/vim/vim63/syntax/sindacmp.vim\r
-#usr/share/vim/vim63/syntax/sindaout.vim\r
-#usr/share/vim/vim63/syntax/skill.vim\r
-#usr/share/vim/vim63/syntax/sl.vim\r
-#usr/share/vim/vim63/syntax/slang.vim\r
-#usr/share/vim/vim63/syntax/slice.vim\r
-#usr/share/vim/vim63/syntax/slrnrc.vim\r
-#usr/share/vim/vim63/syntax/slrnsc.vim\r
-#usr/share/vim/vim63/syntax/sm.vim\r
-#usr/share/vim/vim63/syntax/smarty.vim\r
-#usr/share/vim/vim63/syntax/smil.vim\r
-#usr/share/vim/vim63/syntax/smith.vim\r
-#usr/share/vim/vim63/syntax/sml.vim\r
-#usr/share/vim/vim63/syntax/snnsnet.vim\r
-#usr/share/vim/vim63/syntax/snnspat.vim\r
-#usr/share/vim/vim63/syntax/snnsres.vim\r
-#usr/share/vim/vim63/syntax/snobol4.vim\r
-#usr/share/vim/vim63/syntax/spec.vim\r
-#usr/share/vim/vim63/syntax/specman.vim\r
-#usr/share/vim/vim63/syntax/spice.vim\r
-#usr/share/vim/vim63/syntax/splint.vim\r
-#usr/share/vim/vim63/syntax/spup.vim\r
-#usr/share/vim/vim63/syntax/spyce.vim\r
-#usr/share/vim/vim63/syntax/sql.vim\r
-#usr/share/vim/vim63/syntax/sqlforms.vim\r
-#usr/share/vim/vim63/syntax/sqlj.vim\r
-#usr/share/vim/vim63/syntax/sqr.vim\r
-#usr/share/vim/vim63/syntax/squid.vim\r
-#usr/share/vim/vim63/syntax/sshconfig.vim\r
-#usr/share/vim/vim63/syntax/sshdconfig.vim\r
-#usr/share/vim/vim63/syntax/st.vim\r
-#usr/share/vim/vim63/syntax/stp.vim\r
-#usr/share/vim/vim63/syntax/strace.vim\r
-#usr/share/vim/vim63/syntax/svn.vim\r
-#usr/share/vim/vim63/syntax/syncolor.vim\r
-#usr/share/vim/vim63/syntax/synload.vim\r
-#usr/share/vim/vim63/syntax/syntax.vim\r
-#usr/share/vim/vim63/syntax/tads.vim\r
-#usr/share/vim/vim63/syntax/tags.vim\r
-#usr/share/vim/vim63/syntax/tak.vim\r
-#usr/share/vim/vim63/syntax/takcmp.vim\r
-#usr/share/vim/vim63/syntax/takout.vim\r
-#usr/share/vim/vim63/syntax/tasm.vim\r
-#usr/share/vim/vim63/syntax/tcl.vim\r
-#usr/share/vim/vim63/syntax/tcsh.vim\r
-#usr/share/vim/vim63/syntax/terminfo.vim\r
-#usr/share/vim/vim63/syntax/tex.vim\r
-#usr/share/vim/vim63/syntax/texinfo.vim\r
-#usr/share/vim/vim63/syntax/texmf.vim\r
-#usr/share/vim/vim63/syntax/tf.vim\r
-#usr/share/vim/vim63/syntax/tidy.vim\r
-#usr/share/vim/vim63/syntax/tilde.vim\r
-#usr/share/vim/vim63/syntax/tli.vim\r
-#usr/share/vim/vim63/syntax/trasys.vim\r
-#usr/share/vim/vim63/syntax/tsalt.vim\r
-#usr/share/vim/vim63/syntax/tsscl.vim\r
-#usr/share/vim/vim63/syntax/tssgm.vim\r
-#usr/share/vim/vim63/syntax/tssop.vim\r
-#usr/share/vim/vim63/syntax/uc.vim\r
-#usr/share/vim/vim63/syntax/uil.vim\r
-#usr/share/vim/vim63/syntax/valgrind.vim\r
-#usr/share/vim/vim63/syntax/vb.vim\r
-#usr/share/vim/vim63/syntax/verilog.vim\r
-#usr/share/vim/vim63/syntax/vgrindefs.vim\r
-#usr/share/vim/vim63/syntax/vhdl.vim\r
-#usr/share/vim/vim63/syntax/vim.vim\r
-#usr/share/vim/vim63/syntax/viminfo.vim\r
-#usr/share/vim/vim63/syntax/virata.vim\r
-#usr/share/vim/vim63/syntax/vmasm.vim\r
-#usr/share/vim/vim63/syntax/vrml.vim\r
-#usr/share/vim/vim63/syntax/vsejcl.vim\r
-#usr/share/vim/vim63/syntax/wdiff.vim\r
-#usr/share/vim/vim63/syntax/web.vim\r
-#usr/share/vim/vim63/syntax/webmacro.vim\r
-#usr/share/vim/vim63/syntax/wget.vim\r
-#usr/share/vim/vim63/syntax/whitespace.vim\r
-#usr/share/vim/vim63/syntax/winbatch.vim\r
-#usr/share/vim/vim63/syntax/wml.vim\r
-#usr/share/vim/vim63/syntax/wsh.vim\r
-#usr/share/vim/vim63/syntax/wvdial.vim\r
-#usr/share/vim/vim63/syntax/xdefaults.vim\r
-#usr/share/vim/vim63/syntax/xf86conf.vim\r
-#usr/share/vim/vim63/syntax/xhtml.vim\r
-#usr/share/vim/vim63/syntax/xkb.vim\r
-#usr/share/vim/vim63/syntax/xmath.vim\r
-#usr/share/vim/vim63/syntax/xml.vim\r
-#usr/share/vim/vim63/syntax/xmodmap.vim\r
-#usr/share/vim/vim63/syntax/xpm.vim\r
-#usr/share/vim/vim63/syntax/xpm2.vim\r
-#usr/share/vim/vim63/syntax/xs.vim\r
-#usr/share/vim/vim63/syntax/xsd.vim\r
-#usr/share/vim/vim63/syntax/xslt.vim\r
-#usr/share/vim/vim63/syntax/xxd.vim\r
-#usr/share/vim/vim63/syntax/yacc.vim\r
-#usr/share/vim/vim63/syntax/yaml.vim\r
-#usr/share/vim/vim63/syntax/z8a.vim\r
-#usr/share/vim/vim63/syntax/zsh.vim\r
-#usr/share/vim/vim63/tools\r
-#usr/share/vim/vim63/tools/README.txt\r
-#usr/share/vim/vim63/tools/blink.c\r
-#usr/share/vim/vim63/tools/ccfilter.1\r
-#usr/share/vim/vim63/tools/ccfilter.c\r
-#usr/share/vim/vim63/tools/ccfilter_README.txt\r
-#usr/share/vim/vim63/tools/efm_filter.pl\r
-#usr/share/vim/vim63/tools/efm_filter.txt\r
-#usr/share/vim/vim63/tools/efm_perl.pl\r
-#usr/share/vim/vim63/tools/mve.awk\r
-#usr/share/vim/vim63/tools/mve.txt\r
-#usr/share/vim/vim63/tools/pltags.pl\r
-#usr/share/vim/vim63/tools/ref\r
-#usr/share/vim/vim63/tools/shtags.1\r
-#usr/share/vim/vim63/tools/shtags.pl\r
-#usr/share/vim/vim63/tools/tcltags\r
-#usr/share/vim/vim63/tools/vim132\r
-#usr/share/vim/vim63/tools/vim_vs_net.cmd\r
-#usr/share/vim/vim63/tools/vimm\r
-#usr/share/vim/vim63/tools/vimspell.sh\r
-#usr/share/vim/vim63/tools/vimspell.txt\r
-#usr/share/vim/vim63/tools/xcmdsrv_client.c\r
-#usr/share/vim/vim63/tutor\r
-#usr/share/vim/vim63/tutor/README.gr.cp737.txt\r
-#usr/share/vim/vim63/tutor/README.gr.txt\r
-#usr/share/vim/vim63/tutor/README.txt\r
-#usr/share/vim/vim63/tutor/tutor\r
-#usr/share/vim/vim63/tutor/tutor.ca\r
-#usr/share/vim/vim63/tutor/tutor.de\r
-#usr/share/vim/vim63/tutor/tutor.es\r
-#usr/share/vim/vim63/tutor/tutor.fr\r
-#usr/share/vim/vim63/tutor/tutor.gr\r
-#usr/share/vim/vim63/tutor/tutor.gr.cp737\r
-#usr/share/vim/vim63/tutor/tutor.it\r
-#usr/share/vim/vim63/tutor/tutor.ja.euc\r
-#usr/share/vim/vim63/tutor/tutor.ja.sjis\r
-#usr/share/vim/vim63/tutor/tutor.ja.utf-8\r
-#usr/share/vim/vim63/tutor/tutor.ko.euc\r
-#usr/share/vim/vim63/tutor/tutor.ko.utf-8\r
-#usr/share/vim/vim63/tutor/tutor.no\r
-#usr/share/vim/vim63/tutor/tutor.pl\r
-#usr/share/vim/vim63/tutor/tutor.pl.cp1250\r
-#usr/share/vim/vim63/tutor/tutor.ru\r
-#usr/share/vim/vim63/tutor/tutor.ru.cp1251\r
-#usr/share/vim/vim63/tutor/tutor.sk\r
-#usr/share/vim/vim63/tutor/tutor.sv\r
-#usr/share/vim/vim63/tutor/tutor.vim\r
-#usr/share/vim/vim63/tutor/tutor.zh.big5\r
-#usr/share/vim/vim63/tutor/tutor.zh.euc\r
-#usr/share/vim/vim63/vimrc_example.vim\r
-##\r
-## m4-1.4\r
-##\r
-#usr/bin/m4\r
-#usr/share/info/m4.info\r
-#usr/share/info/m4.info-1\r
-#usr/share/info/m4.info-2\r
-#usr/share/info/m4.info-3\r
-##\r
-## bison-1.875\r
-##\r
-#usr/bin/bison\r
-#usr/bin/yacc\r
-#usr/lib/liby.a\r
-#usr/share/bison\r
-#usr/share/bison/README\r
-#usr/share/bison/c.m4\r
-#usr/share/bison/glr.c\r
-#usr/share/bison/lalr1.cc\r
-#usr/share/bison/m4sugar\r
-#usr/share/bison/m4sugar/m4sugar.m4\r
-#usr/share/bison/yacc.c\r
-#usr/share/info/bison.info\r
-#usr/share/info/bison.info-1\r
-#usr/share/info/bison.info-2\r
-#usr/share/info/bison.info-3\r
-#usr/share/info/bison.info-4\r
-#usr/share/info/bison.info-5\r
-#usr/share/info/bison.info-6\r
-#usr/share/info/bison.info-7\r
-#usr/share/man/man1/bison.1\r
-##\r
-## less-382\r
-##\r
-bin/less\r
-#bin/lessecho\r
-#bin/lesskey\r
-#usr/share/man/man1/less.1\r
-#usr/share/man/man1/lesskey.1\r
-##\r
-## groff-1.19\r
-##\r
-#usr/bin/addftinfo\r
-#usr/bin/afmtodit\r
-#usr/bin/eqn\r
-#usr/bin/eqn2graph\r
-#usr/bin/geqn\r
-#usr/bin/grn\r
-#usr/bin/grodvi\r
-#usr/bin/groff\r
-#usr/bin/groffer\r
-#usr/bin/grog\r
-#usr/bin/grolbp\r
-#usr/bin/grolj4\r
-#usr/bin/grops\r
-#usr/bin/grotty\r
-#usr/bin/gtbl\r
-#usr/bin/hpftodit\r
-#usr/bin/indxbib\r
-#usr/bin/lkbib\r
-#usr/bin/lookbib\r
-#usr/bin/mmroff\r
-#usr/bin/neqn\r
-#usr/bin/nroff\r
-#usr/bin/pfbtops\r
-#usr/bin/pic\r
-#usr/bin/pic2graph\r
-#usr/bin/post-grohtml\r
-#usr/bin/pre-grohtml\r
-#usr/bin/refer\r
-#usr/bin/soelim\r
-#usr/bin/tbl\r
-#usr/bin/tfmtodit\r
-#usr/bin/troff\r
-#usr/bin/zsoelim\r
-#usr/lib/groff\r
-#usr/lib/groff/site-tmac\r
-#usr/share/doc/groff\r
-#usr/share/doc/groff/1.19\r
-#usr/share/doc/groff/1.19/examples\r
-#usr/share/doc/groff/1.19/examples/README.mom\r
-#usr/share/doc/groff/1.19/examples/elvis_syntax\r
-#usr/share/doc/groff/1.19/examples/grnexmpl.g\r
-#usr/share/doc/groff/1.19/examples/grnexmpl.me\r
-#usr/share/doc/groff/1.19/examples/grnexmpl.ps\r
-#usr/share/doc/groff/1.19/examples/letter.mom\r
-#usr/share/doc/groff/1.19/examples/letter.ps\r
-#usr/share/doc/groff/1.19/examples/macros.mom\r
-#usr/share/doc/groff/1.19/examples/macros.ps\r
-#usr/share/doc/groff/1.19/examples/penguin.ps\r
-#usr/share/doc/groff/1.19/examples/typeset.mom\r
-#usr/share/doc/groff/1.19/examples/typeset.ps\r
-#usr/share/doc/groff/1.19/examples/typewrite.mom\r
-#usr/share/doc/groff/1.19/examples/typewrite.ps\r
-#usr/share/doc/groff/1.19/examples/webpage.ms\r
-#usr/share/doc/groff/1.19/examples/webpage.ps\r
-#usr/share/doc/groff/1.19/html\r
-#usr/share/doc/groff/1.19/html/momdoc\r
-#usr/share/doc/groff/1.19/html/momdoc/appendices.html\r
-#usr/share/doc/groff/1.19/html/momdoc/cover.html\r
-#usr/share/doc/groff/1.19/html/momdoc/definitions.html\r
-#usr/share/doc/groff/1.19/html/momdoc/docelement.html\r
-#usr/share/doc/groff/1.19/html/momdoc/docprocessing.html\r
-#usr/share/doc/groff/1.19/html/momdoc/goodies.html\r
-#usr/share/doc/groff/1.19/html/momdoc/headfootpage.html\r
-#usr/share/doc/groff/1.19/html/momdoc/inlines.html\r
-#usr/share/doc/groff/1.19/html/momdoc/intro.html\r
-#usr/share/doc/groff/1.19/html/momdoc/letters.html\r
-#usr/share/doc/groff/1.19/html/momdoc/rectoverso.html\r
-#usr/share/doc/groff/1.19/html/momdoc/reserved.html\r
-#usr/share/doc/groff/1.19/html/momdoc/toc.html\r
-#usr/share/doc/groff/1.19/html/momdoc/typemacdoc.html\r
-#usr/share/doc/groff/1.19/html/momdoc/typesetting.html\r
-#usr/share/doc/groff/1.19/html/momdoc/using.html\r
-#usr/share/doc/groff/1.19/meintro.me\r
-#usr/share/doc/groff/1.19/meintro.ps\r
-#usr/share/doc/groff/1.19/meref.me\r
-#usr/share/doc/groff/1.19/meref.ps\r
-#usr/share/doc/groff/1.19/pic.ms\r
-#usr/share/doc/groff/1.19/pic.ps\r
-#usr/share/groff\r
-#usr/share/groff/1.19\r
-#usr/share/groff/1.19/eign\r
-#usr/share/groff/1.19/font\r
-#usr/share/groff/1.19/font/devX100\r
-#usr/share/groff/1.19/font/devX100-12\r
-#usr/share/groff/1.19/font/devX100-12/CB\r
-#usr/share/groff/1.19/font/devX100-12/CBI\r
-#usr/share/groff/1.19/font/devX100-12/CI\r
-#usr/share/groff/1.19/font/devX100-12/CR\r
-#usr/share/groff/1.19/font/devX100-12/DESC\r
-#usr/share/groff/1.19/font/devX100-12/HB\r
-#usr/share/groff/1.19/font/devX100-12/HBI\r
-#usr/share/groff/1.19/font/devX100-12/HI\r
-#usr/share/groff/1.19/font/devX100-12/HR\r
-#usr/share/groff/1.19/font/devX100-12/NB\r
-#usr/share/groff/1.19/font/devX100-12/NBI\r
-#usr/share/groff/1.19/font/devX100-12/NI\r
-#usr/share/groff/1.19/font/devX100-12/NR\r
-#usr/share/groff/1.19/font/devX100-12/S\r
-#usr/share/groff/1.19/font/devX100-12/TB\r
-#usr/share/groff/1.19/font/devX100-12/TBI\r
-#usr/share/groff/1.19/font/devX100-12/TI\r
-#usr/share/groff/1.19/font/devX100-12/TR\r
-#usr/share/groff/1.19/font/devX100/CB\r
-#usr/share/groff/1.19/font/devX100/CBI\r
-#usr/share/groff/1.19/font/devX100/CI\r
-#usr/share/groff/1.19/font/devX100/CR\r
-#usr/share/groff/1.19/font/devX100/DESC\r
-#usr/share/groff/1.19/font/devX100/HB\r
-#usr/share/groff/1.19/font/devX100/HBI\r
-#usr/share/groff/1.19/font/devX100/HI\r
-#usr/share/groff/1.19/font/devX100/HR\r
-#usr/share/groff/1.19/font/devX100/NB\r
-#usr/share/groff/1.19/font/devX100/NBI\r
-#usr/share/groff/1.19/font/devX100/NI\r
-#usr/share/groff/1.19/font/devX100/NR\r
-#usr/share/groff/1.19/font/devX100/S\r
-#usr/share/groff/1.19/font/devX100/TB\r
-#usr/share/groff/1.19/font/devX100/TBI\r
-#usr/share/groff/1.19/font/devX100/TI\r
-#usr/share/groff/1.19/font/devX100/TR\r
-#usr/share/groff/1.19/font/devX75\r
-#usr/share/groff/1.19/font/devX75-12\r
-#usr/share/groff/1.19/font/devX75-12/CB\r
-#usr/share/groff/1.19/font/devX75-12/CBI\r
-#usr/share/groff/1.19/font/devX75-12/CI\r
-#usr/share/groff/1.19/font/devX75-12/CR\r
-#usr/share/groff/1.19/font/devX75-12/DESC\r
-#usr/share/groff/1.19/font/devX75-12/HB\r
-#usr/share/groff/1.19/font/devX75-12/HBI\r
-#usr/share/groff/1.19/font/devX75-12/HI\r
-#usr/share/groff/1.19/font/devX75-12/HR\r
-#usr/share/groff/1.19/font/devX75-12/NB\r
-#usr/share/groff/1.19/font/devX75-12/NBI\r
-#usr/share/groff/1.19/font/devX75-12/NI\r
-#usr/share/groff/1.19/font/devX75-12/NR\r
-#usr/share/groff/1.19/font/devX75-12/S\r
-#usr/share/groff/1.19/font/devX75-12/TB\r
-#usr/share/groff/1.19/font/devX75-12/TBI\r
-#usr/share/groff/1.19/font/devX75-12/TI\r
-#usr/share/groff/1.19/font/devX75-12/TR\r
-#usr/share/groff/1.19/font/devX75/CB\r
-#usr/share/groff/1.19/font/devX75/CBI\r
-#usr/share/groff/1.19/font/devX75/CI\r
-#usr/share/groff/1.19/font/devX75/CR\r
-#usr/share/groff/1.19/font/devX75/DESC\r
-#usr/share/groff/1.19/font/devX75/HB\r
-#usr/share/groff/1.19/font/devX75/HBI\r
-#usr/share/groff/1.19/font/devX75/HI\r
-#usr/share/groff/1.19/font/devX75/HR\r
-#usr/share/groff/1.19/font/devX75/NB\r
-#usr/share/groff/1.19/font/devX75/NBI\r
-#usr/share/groff/1.19/font/devX75/NI\r
-#usr/share/groff/1.19/font/devX75/NR\r
-#usr/share/groff/1.19/font/devX75/S\r
-#usr/share/groff/1.19/font/devX75/TB\r
-#usr/share/groff/1.19/font/devX75/TBI\r
-#usr/share/groff/1.19/font/devX75/TI\r
-#usr/share/groff/1.19/font/devX75/TR\r
-#usr/share/groff/1.19/font/devascii\r
-#usr/share/groff/1.19/font/devascii/B\r
-#usr/share/groff/1.19/font/devascii/BI\r
-#usr/share/groff/1.19/font/devascii/DESC\r
-#usr/share/groff/1.19/font/devascii/I\r
-#usr/share/groff/1.19/font/devascii/R\r
-#usr/share/groff/1.19/font/devdvi\r
-#usr/share/groff/1.19/font/devdvi/CW\r
-#usr/share/groff/1.19/font/devdvi/CWEC\r
-#usr/share/groff/1.19/font/devdvi/CWI\r
-#usr/share/groff/1.19/font/devdvi/CWIEC\r
-#usr/share/groff/1.19/font/devdvi/CWITC\r
-#usr/share/groff/1.19/font/devdvi/CWTC\r
-#usr/share/groff/1.19/font/devdvi/DESC\r
-#usr/share/groff/1.19/font/devdvi/EX\r
-#usr/share/groff/1.19/font/devdvi/HB\r
-#usr/share/groff/1.19/font/devdvi/HBEC\r
-#usr/share/groff/1.19/font/devdvi/HBI\r
-#usr/share/groff/1.19/font/devdvi/HBIEC\r
-#usr/share/groff/1.19/font/devdvi/HBITC\r
-#usr/share/groff/1.19/font/devdvi/HBTC\r
-#usr/share/groff/1.19/font/devdvi/HI\r
-#usr/share/groff/1.19/font/devdvi/HIEC\r
-#usr/share/groff/1.19/font/devdvi/HITC\r
-#usr/share/groff/1.19/font/devdvi/HR\r
-#usr/share/groff/1.19/font/devdvi/HREC\r
-#usr/share/groff/1.19/font/devdvi/HRTC\r
-#usr/share/groff/1.19/font/devdvi/MI\r
-#usr/share/groff/1.19/font/devdvi/S\r
-#usr/share/groff/1.19/font/devdvi/SA\r
-#usr/share/groff/1.19/font/devdvi/SB\r
-#usr/share/groff/1.19/font/devdvi/SC\r
-#usr/share/groff/1.19/font/devdvi/TB\r
-#usr/share/groff/1.19/font/devdvi/TBEC\r
-#usr/share/groff/1.19/font/devdvi/TBI\r
-#usr/share/groff/1.19/font/devdvi/TBIEC\r
-#usr/share/groff/1.19/font/devdvi/TBITC\r
-#usr/share/groff/1.19/font/devdvi/TBTC\r
-#usr/share/groff/1.19/font/devdvi/TI\r
-#usr/share/groff/1.19/font/devdvi/TIEC\r
-#usr/share/groff/1.19/font/devdvi/TITC\r
-#usr/share/groff/1.19/font/devdvi/TR\r
-#usr/share/groff/1.19/font/devdvi/TREC\r
-#usr/share/groff/1.19/font/devdvi/TRTC\r
-#usr/share/groff/1.19/font/devdvi/generate\r
-#usr/share/groff/1.19/font/devdvi/generate/CompileFonts\r
-#usr/share/groff/1.19/font/devdvi/generate/Makefile\r
-#usr/share/groff/1.19/font/devdvi/generate/ec.map\r
-#usr/share/groff/1.19/font/devdvi/generate/msam.map\r
-#usr/share/groff/1.19/font/devdvi/generate/msbm.map\r
-#usr/share/groff/1.19/font/devdvi/generate/tc.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texb.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texex.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texi.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texmi.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texr.map\r
-#usr/share/groff/1.19/font/devdvi/generate/texsy.map\r
-#usr/share/groff/1.19/font/devdvi/generate/textex.map\r
-#usr/share/groff/1.19/font/devdvi/generate/textt.map\r
-#usr/share/groff/1.19/font/devhtml\r
-#usr/share/groff/1.19/font/devhtml/B\r
-#usr/share/groff/1.19/font/devhtml/BI\r
-#usr/share/groff/1.19/font/devhtml/CB\r
-#usr/share/groff/1.19/font/devhtml/CBI\r
-#usr/share/groff/1.19/font/devhtml/CI\r
-#usr/share/groff/1.19/font/devhtml/CR\r
-#usr/share/groff/1.19/font/devhtml/DESC\r
-#usr/share/groff/1.19/font/devhtml/I\r
-#usr/share/groff/1.19/font/devhtml/R\r
-#usr/share/groff/1.19/font/devhtml/S\r
-#usr/share/groff/1.19/font/devlatin1\r
-#usr/share/groff/1.19/font/devlatin1/B\r
-#usr/share/groff/1.19/font/devlatin1/BI\r
-#usr/share/groff/1.19/font/devlatin1/DESC\r
-#usr/share/groff/1.19/font/devlatin1/I\r
-#usr/share/groff/1.19/font/devlatin1/R\r
-#usr/share/groff/1.19/font/devlbp\r
-#usr/share/groff/1.19/font/devlbp/CB\r
-#usr/share/groff/1.19/font/devlbp/CI\r
-#usr/share/groff/1.19/font/devlbp/CR\r
-#usr/share/groff/1.19/font/devlbp/DESC\r
-#usr/share/groff/1.19/font/devlbp/EB\r
-#usr/share/groff/1.19/font/devlbp/EI\r
-#usr/share/groff/1.19/font/devlbp/ER\r
-#usr/share/groff/1.19/font/devlbp/HB\r
-#usr/share/groff/1.19/font/devlbp/HBI\r
-#usr/share/groff/1.19/font/devlbp/HI\r
-#usr/share/groff/1.19/font/devlbp/HNB\r
-#usr/share/groff/1.19/font/devlbp/HNBI\r
-#usr/share/groff/1.19/font/devlbp/HNI\r
-#usr/share/groff/1.19/font/devlbp/HNR\r
-#usr/share/groff/1.19/font/devlbp/HR\r
-#usr/share/groff/1.19/font/devlbp/TB\r
-#usr/share/groff/1.19/font/devlbp/TBI\r
-#usr/share/groff/1.19/font/devlbp/TI\r
-#usr/share/groff/1.19/font/devlbp/TR\r
-#usr/share/groff/1.19/font/devlj4\r
-#usr/share/groff/1.19/font/devlj4/ALBB\r
-#usr/share/groff/1.19/font/devlj4/ALBR\r
-#usr/share/groff/1.19/font/devlj4/AOB\r
-#usr/share/groff/1.19/font/devlj4/AOI\r
-#usr/share/groff/1.19/font/devlj4/AOR\r
-#usr/share/groff/1.19/font/devlj4/CB\r
-#usr/share/groff/1.19/font/devlj4/CBI\r
-#usr/share/groff/1.19/font/devlj4/CI\r
-#usr/share/groff/1.19/font/devlj4/CLARENDON\r
-#usr/share/groff/1.19/font/devlj4/CORONET\r
-#usr/share/groff/1.19/font/devlj4/CR\r
-#usr/share/groff/1.19/font/devlj4/DESC\r
-#usr/share/groff/1.19/font/devlj4/GB\r
-#usr/share/groff/1.19/font/devlj4/GBI\r
-#usr/share/groff/1.19/font/devlj4/GI\r
-#usr/share/groff/1.19/font/devlj4/GR\r
-#usr/share/groff/1.19/font/devlj4/LGB\r
-#usr/share/groff/1.19/font/devlj4/LGI\r
-#usr/share/groff/1.19/font/devlj4/LGR\r
-#usr/share/groff/1.19/font/devlj4/MARIGOLD\r
-#usr/share/groff/1.19/font/devlj4/OB\r
-#usr/share/groff/1.19/font/devlj4/OBI\r
-#usr/share/groff/1.19/font/devlj4/OI\r
-#usr/share/groff/1.19/font/devlj4/OR\r
-#usr/share/groff/1.19/font/devlj4/S\r
-#usr/share/groff/1.19/font/devlj4/TB\r
-#usr/share/groff/1.19/font/devlj4/TBI\r
-#usr/share/groff/1.19/font/devlj4/TI\r
-#usr/share/groff/1.19/font/devlj4/TR\r
-#usr/share/groff/1.19/font/devlj4/UB\r
-#usr/share/groff/1.19/font/devlj4/UBI\r
-#usr/share/groff/1.19/font/devlj4/UCB\r
-#usr/share/groff/1.19/font/devlj4/UCBI\r
-#usr/share/groff/1.19/font/devlj4/UCI\r
-#usr/share/groff/1.19/font/devlj4/UCR\r
-#usr/share/groff/1.19/font/devlj4/UI\r
-#usr/share/groff/1.19/font/devlj4/UR\r
-#usr/share/groff/1.19/font/devlj4/generate\r
-#usr/share/groff/1.19/font/devlj4/generate/Makefile\r
-#usr/share/groff/1.19/font/devlj4/generate/special.map\r
-#usr/share/groff/1.19/font/devlj4/generate/text.map\r
-#usr/share/groff/1.19/font/devps\r
-#usr/share/groff/1.19/font/devps/AB\r
-#usr/share/groff/1.19/font/devps/ABI\r
-#usr/share/groff/1.19/font/devps/AI\r
-#usr/share/groff/1.19/font/devps/AR\r
-#usr/share/groff/1.19/font/devps/BMB\r
-#usr/share/groff/1.19/font/devps/BMBI\r
-#usr/share/groff/1.19/font/devps/BMI\r
-#usr/share/groff/1.19/font/devps/BMR\r
-#usr/share/groff/1.19/font/devps/CB\r
-#usr/share/groff/1.19/font/devps/CBI\r
-#usr/share/groff/1.19/font/devps/CI\r
-#usr/share/groff/1.19/font/devps/CR\r
-#usr/share/groff/1.19/font/devps/DESC\r
-#usr/share/groff/1.19/font/devps/EURO\r
-#usr/share/groff/1.19/font/devps/HB\r
-#usr/share/groff/1.19/font/devps/HBI\r
-#usr/share/groff/1.19/font/devps/HI\r
-#usr/share/groff/1.19/font/devps/HNB\r
-#usr/share/groff/1.19/font/devps/HNBI\r
-#usr/share/groff/1.19/font/devps/HNI\r
-#usr/share/groff/1.19/font/devps/HNR\r
-#usr/share/groff/1.19/font/devps/HR\r
-#usr/share/groff/1.19/font/devps/NB\r
-#usr/share/groff/1.19/font/devps/NBI\r
-#usr/share/groff/1.19/font/devps/NI\r
-#usr/share/groff/1.19/font/devps/NR\r
-#usr/share/groff/1.19/font/devps/PB\r
-#usr/share/groff/1.19/font/devps/PBI\r
-#usr/share/groff/1.19/font/devps/PI\r
-#usr/share/groff/1.19/font/devps/PR\r
-#usr/share/groff/1.19/font/devps/S\r
-#usr/share/groff/1.19/font/devps/SS\r
-#usr/share/groff/1.19/font/devps/TB\r
-#usr/share/groff/1.19/font/devps/TBI\r
-#usr/share/groff/1.19/font/devps/TI\r
-#usr/share/groff/1.19/font/devps/TR\r
-#usr/share/groff/1.19/font/devps/ZCMI\r
-#usr/share/groff/1.19/font/devps/ZD\r
-#usr/share/groff/1.19/font/devps/ZDR\r
-#usr/share/groff/1.19/font/devps/download\r
-#usr/share/groff/1.19/font/devps/freeeuro.pfa\r
-#usr/share/groff/1.19/font/devps/generate\r
-#usr/share/groff/1.19/font/devps/generate/Makefile\r
-#usr/share/groff/1.19/font/devps/generate/afmname\r
-#usr/share/groff/1.19/font/devps/generate/dingbats.map\r
-#usr/share/groff/1.19/font/devps/generate/dingbats.rmap\r
-#usr/share/groff/1.19/font/devps/generate/lgreekmap\r
-#usr/share/groff/1.19/font/devps/generate/symbol.sed\r
-#usr/share/groff/1.19/font/devps/generate/symbolchars\r
-#usr/share/groff/1.19/font/devps/generate/symbolsl.afm\r
-#usr/share/groff/1.19/font/devps/generate/textmap\r
-#usr/share/groff/1.19/font/devps/prologue\r
-#usr/share/groff/1.19/font/devps/symbolsl.pfa\r
-#usr/share/groff/1.19/font/devps/text.enc\r
-#usr/share/groff/1.19/font/devps/zapfdr.pfa\r
-#usr/share/groff/1.19/font/devutf8\r
-#usr/share/groff/1.19/font/devutf8/B\r
-#usr/share/groff/1.19/font/devutf8/BI\r
-#usr/share/groff/1.19/font/devutf8/DESC\r
-#usr/share/groff/1.19/font/devutf8/I\r
-#usr/share/groff/1.19/font/devutf8/R\r
-#usr/share/groff/1.19/tmac\r
-#usr/share/groff/1.19/tmac/X.tmac\r
-#usr/share/groff/1.19/tmac/Xps.tmac\r
-#usr/share/groff/1.19/tmac/a4.tmac\r
-#usr/share/groff/1.19/tmac/an-old.tmac\r
-#usr/share/groff/1.19/tmac/an.tmac\r
-#usr/share/groff/1.19/tmac/andoc.tmac\r
-#usr/share/groff/1.19/tmac/composite.tmac\r
-#usr/share/groff/1.19/tmac/cp1047.tmac\r
-#usr/share/groff/1.19/tmac/doc-old.tmac\r
-#usr/share/groff/1.19/tmac/doc.tmac\r
-#usr/share/groff/1.19/tmac/dvi.tmac\r
-#usr/share/groff/1.19/tmac/e.tmac\r
-#usr/share/groff/1.19/tmac/ec.tmac\r
-#usr/share/groff/1.19/tmac/eqnrc\r
-#usr/share/groff/1.19/tmac/europs.tmac\r
-#usr/share/groff/1.19/tmac/html-end.tmac\r
-#usr/share/groff/1.19/tmac/html.tmac\r
-#usr/share/groff/1.19/tmac/hyphen.us\r
-#usr/share/groff/1.19/tmac/hyphenex.us\r
-#usr/share/groff/1.19/tmac/latin1.tmac\r
-#usr/share/groff/1.19/tmac/latin2.tmac\r
-#usr/share/groff/1.19/tmac/latin9.tmac\r
-#usr/share/groff/1.19/tmac/lbp.tmac\r
-#usr/share/groff/1.19/tmac/lj4.tmac\r
-#usr/share/groff/1.19/tmac/m.tmac\r
-#usr/share/groff/1.19/tmac/man.tmac\r
-#usr/share/groff/1.19/tmac/mandoc.tmac\r
-#usr/share/groff/1.19/tmac/mdoc\r
-#usr/share/groff/1.19/tmac/mdoc.tmac\r
-#usr/share/groff/1.19/tmac/mdoc/doc-common\r
-#usr/share/groff/1.19/tmac/mdoc/doc-ditroff\r
-#usr/share/groff/1.19/tmac/mdoc/doc-nroff\r
-#usr/share/groff/1.19/tmac/mdoc/doc-syms\r
-#usr/share/groff/1.19/tmac/me.tmac\r
-#usr/share/groff/1.19/tmac/mm\r
-#usr/share/groff/1.19/tmac/mm.tmac\r
-#usr/share/groff/1.19/tmac/mm/0.MT\r
-#usr/share/groff/1.19/tmac/mm/4.MT\r
-#usr/share/groff/1.19/tmac/mm/5.MT\r
-#usr/share/groff/1.19/tmac/mm/locale\r
-#usr/share/groff/1.19/tmac/mm/ms.cov\r
-#usr/share/groff/1.19/tmac/mm/se_locale\r
-#usr/share/groff/1.19/tmac/mm/se_ms.cov\r
-#usr/share/groff/1.19/tmac/mmse.tmac\r
-#usr/share/groff/1.19/tmac/mom.tmac\r
-#usr/share/groff/1.19/tmac/ms.tmac\r
-#usr/share/groff/1.19/tmac/mse.tmac\r
-#usr/share/groff/1.19/tmac/om.tmac\r
-#usr/share/groff/1.19/tmac/papersize.tmac\r
-#usr/share/groff/1.19/tmac/pic.tmac\r
-#usr/share/groff/1.19/tmac/ps.tmac\r
-#usr/share/groff/1.19/tmac/psatk.tmac\r
-#usr/share/groff/1.19/tmac/psold.tmac\r
-#usr/share/groff/1.19/tmac/pspic.tmac\r
-#usr/share/groff/1.19/tmac/s.tmac\r
-#usr/share/groff/1.19/tmac/safer.tmac\r
-#usr/share/groff/1.19/tmac/trace.tmac\r
-#usr/share/groff/1.19/tmac/troffrc\r
-#usr/share/groff/1.19/tmac/troffrc-end\r
-#usr/share/groff/1.19/tmac/tty-char.tmac\r
-#usr/share/groff/1.19/tmac/tty.tmac\r
-#usr/share/groff/1.19/tmac/www.tmac\r
-#usr/share/groff/site-tmac\r
-#usr/share/groff/site-tmac/man.local\r
-#usr/share/groff/site-tmac/mdoc.local\r
-#usr/share/info/groff\r
-#usr/share/info/groff-1\r
-#usr/share/info/groff-10\r
-#usr/share/info/groff-11\r
-#usr/share/info/groff-2\r
-#usr/share/info/groff-3\r
-#usr/share/info/groff-4\r
-#usr/share/info/groff-5\r
-#usr/share/info/groff-6\r
-#usr/share/info/groff-7\r
-#usr/share/info/groff-8\r
-#usr/share/info/groff-9\r
-#usr/share/man/man1/addftinfo.1\r
-#usr/share/man/man1/afmtodit.1\r
-#usr/share/man/man1/eqn.1\r
-#usr/share/man/man1/eqn2graph.1\r
-#usr/share/man/man1/grn.1\r
-#usr/share/man/man1/grodvi.1\r
-#usr/share/man/man1/groff.1\r
-#usr/share/man/man1/groffer.1\r
-#usr/share/man/man1/grog.1\r
-#usr/share/man/man1/grohtml.1\r
-#usr/share/man/man1/grolbp.1\r
-#usr/share/man/man1/grolj4.1\r
-#usr/share/man/man1/grops.1\r
-#usr/share/man/man1/grotty.1\r
-#usr/share/man/man1/hpftodit.1\r
-#usr/share/man/man1/indxbib.1\r
-#usr/share/man/man1/lkbib.1\r
-#usr/share/man/man1/lookbib.1\r
-#usr/share/man/man1/mmroff.1\r
-#usr/share/man/man1/neqn.1\r
-#usr/share/man/man1/nroff.1\r
-#usr/share/man/man1/pfbtops.1\r
-#usr/share/man/man1/pic.1\r
-#usr/share/man/man1/pic2graph.1\r
-#usr/share/man/man1/refer.1\r
-#usr/share/man/man1/soelim.1\r
-#usr/share/man/man1/tbl.1\r
-#usr/share/man/man1/tfmtodit.1\r
-#usr/share/man/man1/troff.1\r
-#usr/share/man/man5/groff_font.5\r
-#usr/share/man/man5/groff_out.5\r
-#usr/share/man/man5/groff_tmac.5\r
-#usr/share/man/man7/ditroff.7\r
-#usr/share/man/man7/groff.7\r
-#usr/share/man/man7/groff_char.7\r
-#usr/share/man/man7/groff_diff.7\r
-#usr/share/man/man7/groff_man.7\r
-#usr/share/man/man7/groff_mdoc.7\r
-#usr/share/man/man7/groff_me.7\r
-#usr/share/man/man7/groff_mm.7\r
-#usr/share/man/man7/groff_mmse.7\r
-#usr/share/man/man7/groff_mom.7\r
-#usr/share/man/man7/groff_ms.7\r
-#usr/share/man/man7/groff_trace.7\r
-#usr/share/man/man7/groff_www.7\r
-#usr/share/man/man7/roff.7\r
-##\r
-## sed-4.0.9\r
-##\r
-bin/sed\r
-#usr/share/info/sed.info\r
-#usr/share/info/sed.info-1\r
-#usr/share/info/sed.info-2\r
-#usr/share/man/man1/sed.1\r
-##\r
-## flex-2.5.4a\r
-##\r
-#usr/bin/flex\r
-#usr/bin/flex++\r
-#usr/bin/lex\r
-#usr/include/FlexLexer.h\r
-#usr/lib/libfl.a\r
-#usr/lib/libl.a\r
-#usr/share/man/man1/flex.1\r
-##\r
-## gettext-0.14.1\r
-##\r
-#usr/bin/autopoint\r
-#usr/bin/gettext\r
-#usr/bin/gettextize\r
-#usr/bin/msgattrib\r
-#usr/bin/msgcat\r
-#usr/bin/msgcmp\r
-#usr/bin/msgcomm\r
-#usr/bin/msgconv\r
-#usr/bin/msgen\r
-#usr/bin/msgexec\r
-#usr/bin/msgfilter\r
-#usr/bin/msgfmt\r
-#usr/bin/msggrep\r
-#usr/bin/msginit\r
-#usr/bin/msgmerge\r
-#usr/bin/msgunfmt\r
-#usr/bin/msguniq\r
-#usr/bin/ngettext\r
-#usr/bin/xgettext\r
-#usr/include/autosprintf.h\r
-#usr/include/gettext-po.h\r
-#usr/lib/gettext\r
-#usr/lib/gettext/gnu.gettext.DumpResource\r
-#usr/lib/gettext/gnu.gettext.GetURL\r
-#usr/lib/gettext/hostname\r
-#usr/lib/gettext/project-id\r
-#usr/lib/gettext/urlget\r
-#usr/lib/gettext/user-email\r
-#usr/lib/libasprintf.a\r
-#usr/lib/libasprintf.la\r
-#usr/lib/libasprintf.so\r
-#usr/lib/libasprintf.so.0\r
-#usr/lib/libasprintf.so.0.0.0\r
-#usr/lib/libgettextlib-0.14.1.so\r
-#usr/lib/libgettextlib.la\r
-#usr/lib/libgettextlib.so\r
-#usr/lib/libgettextpo.a\r
-#usr/lib/libgettextpo.la\r
-#usr/lib/libgettextpo.so\r
-#usr/lib/libgettextpo.so.0\r
-#usr/lib/libgettextpo.so.0.0.0\r
-#usr/lib/libgettextsrc-0.14.1.so\r
-#usr/lib/libgettextsrc.la\r
-#usr/lib/libgettextsrc.so\r
-#usr/lib/preloadable_libintl.so\r
-#usr/share/aclocal\r
-#usr/share/aclocal/codeset.m4\r
-#usr/share/aclocal/gettext.m4\r
-#usr/share/aclocal/glibc21.m4\r
-#usr/share/aclocal/iconv.m4\r
-#usr/share/aclocal/intdiv0.m4\r
-#usr/share/aclocal/inttypes-pri.m4\r
-#usr/share/aclocal/inttypes.m4\r
-#usr/share/aclocal/inttypes_h.m4\r
-#usr/share/aclocal/isc-posix.m4\r
-#usr/share/aclocal/lcmessage.m4\r
-#usr/share/aclocal/lib-ld.m4\r
-#usr/share/aclocal/lib-link.m4\r
-#usr/share/aclocal/lib-prefix.m4\r
-#usr/share/aclocal/nls.m4\r
-#usr/share/aclocal/po.m4\r
-#usr/share/aclocal/progtest.m4\r
-#usr/share/aclocal/stdint_h.m4\r
-#usr/share/aclocal/uintmax_t.m4\r
-#usr/share/aclocal/ulonglong.m4\r
-#usr/share/doc/gettext\r
-#usr/share/doc/gettext/autopoint.1.html\r
-#usr/share/doc/gettext/bind_textdomain_codeset.3.html\r
-#usr/share/doc/gettext/bindtextdomain.3.html\r
-#usr/share/doc/gettext/gettext.1.html\r
-#usr/share/doc/gettext/gettext.3.html\r
-#usr/share/doc/gettext/gettext_1.html\r
-#usr/share/doc/gettext/gettext_10.html\r
-#usr/share/doc/gettext/gettext_11.html\r
-#usr/share/doc/gettext/gettext_12.html\r
-#usr/share/doc/gettext/gettext_13.html\r
-#usr/share/doc/gettext/gettext_14.html\r
-#usr/share/doc/gettext/gettext_15.html\r
-#usr/share/doc/gettext/gettext_16.html\r
-#usr/share/doc/gettext/gettext_17.html\r
-#usr/share/doc/gettext/gettext_18.html\r
-#usr/share/doc/gettext/gettext_19.html\r
-#usr/share/doc/gettext/gettext_2.html\r
-#usr/share/doc/gettext/gettext_20.html\r
-#usr/share/doc/gettext/gettext_21.html\r
-#usr/share/doc/gettext/gettext_22.html\r
-#usr/share/doc/gettext/gettext_3.html\r
-#usr/share/doc/gettext/gettext_4.html\r
-#usr/share/doc/gettext/gettext_5.html\r
-#usr/share/doc/gettext/gettext_6.html\r
-#usr/share/doc/gettext/gettext_7.html\r
-#usr/share/doc/gettext/gettext_8.html\r
-#usr/share/doc/gettext/gettext_9.html\r
-#usr/share/doc/gettext/gettext_foot.html\r
-#usr/share/doc/gettext/gettext_toc.html\r
-#usr/share/doc/gettext/gettextize.1.html\r
-#usr/share/doc/gettext/javadoc1\r
-#usr/share/doc/gettext/javadoc1/AllNames.html\r
-#usr/share/doc/gettext/javadoc1/gnu.gettext.GettextResource.html\r
-#usr/share/doc/gettext/javadoc1/images\r
-#usr/share/doc/gettext/javadoc1/images/blue-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/blue-ball.gif\r
-#usr/share/doc/gettext/javadoc1/images/class-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/constructor-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/constructors.gif\r
-#usr/share/doc/gettext/javadoc1/images/cyan-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/cyan-ball.gif\r
-#usr/share/doc/gettext/javadoc1/images/error-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/exception-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/green-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/green-ball.gif\r
-#usr/share/doc/gettext/javadoc1/images/interface-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/magenta-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/magenta-ball.gif\r
-#usr/share/doc/gettext/javadoc1/images/method-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/methods.gif\r
-#usr/share/doc/gettext/javadoc1/images/package-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/red-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/red-ball.gif\r
-#usr/share/doc/gettext/javadoc1/images/variable-index.gif\r
-#usr/share/doc/gettext/javadoc1/images/variables.gif\r
-#usr/share/doc/gettext/javadoc1/images/yellow-ball-small.gif\r
-#usr/share/doc/gettext/javadoc1/images/yellow-ball.gif\r
-#usr/share/doc/gettext/javadoc1/packages.html\r
-#usr/share/doc/gettext/javadoc1/tree.html\r
-#usr/share/doc/gettext/javadoc2\r
-#usr/share/doc/gettext/javadoc2/allclasses-frame.html\r
-#usr/share/doc/gettext/javadoc2/deprecated-list.html\r
-#usr/share/doc/gettext/javadoc2/gnu\r
-#usr/share/doc/gettext/javadoc2/gnu/gettext\r
-#usr/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html\r
-#usr/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html\r
-#usr/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html\r
-#usr/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html\r
-#usr/share/doc/gettext/javadoc2/help-doc.html\r
-#usr/share/doc/gettext/javadoc2/index-all.html\r
-#usr/share/doc/gettext/javadoc2/index.html\r
-#usr/share/doc/gettext/javadoc2/overview-tree.html\r
-#usr/share/doc/gettext/javadoc2/package-list\r
-#usr/share/doc/gettext/javadoc2/packages.html\r
-#usr/share/doc/gettext/javadoc2/serialized-form.html\r
-#usr/share/doc/gettext/javadoc2/stylesheet.css\r
-#usr/share/doc/gettext/msgattrib.1.html\r
-#usr/share/doc/gettext/msgcat.1.html\r
-#usr/share/doc/gettext/msgcmp.1.html\r
-#usr/share/doc/gettext/msgcomm.1.html\r
-#usr/share/doc/gettext/msgconv.1.html\r
-#usr/share/doc/gettext/msgen.1.html\r
-#usr/share/doc/gettext/msgexec.1.html\r
-#usr/share/doc/gettext/msgfilter.1.html\r
-#usr/share/doc/gettext/msgfmt.1.html\r
-#usr/share/doc/gettext/msggrep.1.html\r
-#usr/share/doc/gettext/msginit.1.html\r
-#usr/share/doc/gettext/msgmerge.1.html\r
-#usr/share/doc/gettext/msgunfmt.1.html\r
-#usr/share/doc/gettext/msguniq.1.html\r
-#usr/share/doc/gettext/ngettext.1.html\r
-#usr/share/doc/gettext/ngettext.3.html\r
-#usr/share/doc/gettext/textdomain.3.html\r
-#usr/share/doc/gettext/xgettext.1.html\r
-#usr/share/doc/libasprintf\r
-#usr/share/doc/libasprintf/autosprintf.html\r
-#usr/share/gettext\r
-#usr/share/gettext/ABOUT-NLS\r
-#usr/share/gettext/archive.tar.gz\r
-#usr/share/gettext/config.rpath\r
-#usr/share/gettext/gettext.h\r
-#usr/share/gettext/intl\r
-#usr/share/gettext/intl/COPYING.LIB-2.0\r
-#usr/share/gettext/intl/COPYING.LIB-2.1\r
-#usr/share/gettext/intl/ChangeLog\r
-#usr/share/gettext/intl/Makefile.in\r
-#usr/share/gettext/intl/VERSION\r
-#usr/share/gettext/intl/bindtextdom.c\r
-#usr/share/gettext/intl/config.charset\r
-#usr/share/gettext/intl/dcgettext.c\r
-#usr/share/gettext/intl/dcigettext.c\r
-#usr/share/gettext/intl/dcngettext.c\r
-#usr/share/gettext/intl/dgettext.c\r
-#usr/share/gettext/intl/dngettext.c\r
-#usr/share/gettext/intl/eval-plural.h\r
-#usr/share/gettext/intl/explodename.c\r
-#usr/share/gettext/intl/finddomain.c\r
-#usr/share/gettext/intl/gettext.c\r
-#usr/share/gettext/intl/gettextP.h\r
-#usr/share/gettext/intl/gmo.h\r
-#usr/share/gettext/intl/hash-string.h\r
-#usr/share/gettext/intl/intl-compat.c\r
-#usr/share/gettext/intl/l10nflist.c\r
-#usr/share/gettext/intl/libgnuintl.h.in\r
-#usr/share/gettext/intl/loadinfo.h\r
-#usr/share/gettext/intl/loadmsgcat.c\r
-#usr/share/gettext/intl/localcharset.c\r
-#usr/share/gettext/intl/localcharset.h\r
-#usr/share/gettext/intl/locale.alias\r
-#usr/share/gettext/intl/localealias.c\r
-#usr/share/gettext/intl/localename.c\r
-#usr/share/gettext/intl/log.c\r
-#usr/share/gettext/intl/ngettext.c\r
-#usr/share/gettext/intl/os2compat.c\r
-#usr/share/gettext/intl/os2compat.h\r
-#usr/share/gettext/intl/osdep.c\r
-#usr/share/gettext/intl/plural-exp.c\r
-#usr/share/gettext/intl/plural-exp.h\r
-#usr/share/gettext/intl/plural.c\r
-#usr/share/gettext/intl/plural.y\r
-#usr/share/gettext/intl/ref-add.sin\r
-#usr/share/gettext/intl/ref-del.sin\r
-#usr/share/gettext/intl/relocatable.c\r
-#usr/share/gettext/intl/relocatable.h\r
-#usr/share/gettext/intl/textdomain.c\r
-#usr/share/gettext/mkinstalldirs\r
-#usr/share/gettext/msgunfmt.tcl\r
-#usr/share/gettext/po\r
-#usr/share/gettext/po/Makefile.in.in\r
-#usr/share/gettext/po/Makevars.template\r
-#usr/share/gettext/po/Rules-quot\r
-#usr/share/gettext/po/boldquot.sed\r
-#usr/share/gettext/po/en@boldquot.header\r
-#usr/share/gettext/po/en@quot.header\r
-#usr/share/gettext/po/insert-header.sin\r
-#usr/share/gettext/po/quot.sed\r
-#usr/share/gettext/po/remove-potcdate.sin\r
-#usr/share/gettext/projects\r
-#usr/share/gettext/projects/GNOME\r
-#usr/share/gettext/projects/GNOME/team-address\r
-#usr/share/gettext/projects/GNOME/teams.html\r
-#usr/share/gettext/projects/GNOME/teams.url\r
-#usr/share/gettext/projects/GNOME/trigger\r
-#usr/share/gettext/projects/KDE\r
-#usr/share/gettext/projects/KDE/team-address\r
-#usr/share/gettext/projects/KDE/teams.html\r
-#usr/share/gettext/projects/KDE/teams.url\r
-#usr/share/gettext/projects/KDE/trigger\r
-#usr/share/gettext/projects/TP\r
-#usr/share/gettext/projects/TP/team-address\r
-#usr/share/gettext/projects/TP/teams.html\r
-#usr/share/gettext/projects/TP/teams.url\r
-#usr/share/gettext/projects/TP/trigger\r
-#usr/share/gettext/projects/index\r
-#usr/share/gettext/projects/team-address\r
-#usr/share/info/autosprintf.info\r
-#usr/share/info/gettext.info\r
-#usr/share/info/gettext.info-1\r
-#usr/share/info/gettext.info-10\r
-#usr/share/info/gettext.info-2\r
-#usr/share/info/gettext.info-3\r
-#usr/share/info/gettext.info-4\r
-#usr/share/info/gettext.info-5\r
-#usr/share/info/gettext.info-6\r
-#usr/share/info/gettext.info-7\r
-#usr/share/info/gettext.info-8\r
-#usr/share/info/gettext.info-9\r
-#usr/share/man/man1/autopoint.1\r
-#usr/share/man/man1/gettext.1\r
-#usr/share/man/man1/gettextize.1\r
-#usr/share/man/man1/msgattrib.1\r
-#usr/share/man/man1/msgcat.1\r
-#usr/share/man/man1/msgcmp.1\r
-#usr/share/man/man1/msgcomm.1\r
-#usr/share/man/man1/msgconv.1\r
-#usr/share/man/man1/msgen.1\r
-#usr/share/man/man1/msgexec.1\r
-#usr/share/man/man1/msgfilter.1\r
-#usr/share/man/man1/msgfmt.1\r
-#usr/share/man/man1/msggrep.1\r
-#usr/share/man/man1/msginit.1\r
-#usr/share/man/man1/msgmerge.1\r
-#usr/share/man/man1/msgunfmt.1\r
-#usr/share/man/man1/msguniq.1\r
-#usr/share/man/man1/ngettext.1\r
-#usr/share/man/man1/xgettext.1\r
-#usr/share/man/man3/bind_textdomain_codeset.3\r
-#usr/share/man/man3/bindtextdomain.3\r
-#usr/share/man/man3/dcgettext.3\r
-#usr/share/man/man3/dcngettext.3\r
-#usr/share/man/man3/dgettext.3\r
-#usr/share/man/man3/dngettext.3\r
-#usr/share/man/man3/gettext.3\r
-#usr/share/man/man3/ngettext.3\r
-#usr/share/man/man3/textdomain.3\r
-##\r
-## net-tools-1.60\r
-##\r
-bin/dnsdomainname\r
-#bin/domainname\r
-bin/hostname\r
-bin/netstat\r
-#bin/nisdomainname\r
-#bin/ypdomainname\r
-sbin/arp\r
-sbin/ifconfig\r
-sbin/nameif\r
-#sbin/plipconfig\r
-sbin/rarp\r
-sbin/route\r
-sbin/slattach\r
-sbin/mii-tool\r
-#usr/share/man/man1/dnsdomainname.1\r
-#usr/share/man/man1/domainname.1\r
-#usr/share/man/man1/hostname.1\r
-#usr/share/man/man1/nisdomainname.1\r
-#usr/share/man/man1/ypdomainname.1\r
-#usr/share/man/man5/ethers.5\r
-#usr/share/man/man8/arp.8\r
-#usr/share/man/man8/ifconfig.8\r
-#usr/share/man/man8/mii-tool.8\r
-#usr/share/man/man8/nameif.8\r
-#usr/share/man/man8/netstat.8\r
-#usr/share/man/man8/plipconfig.8\r
-#usr/share/man/man8/rarp.8\r
-#usr/share/man/man8/route.8\r
-#usr/share/man/man8/slattach.8\r
-##\r
-## inetutils-1.4.2\r
-##\r
-bin/ping\r
-#usr/bin/ftp\r
-#usr/bin/rcp\r
-#usr/bin/rlogin\r
-#usr/bin/rsh\r
-#usr/bin/talk\r
-#usr/bin/telnet\r
-#usr/bin/tftp\r
-#usr/share/info/inetutils.info\r
-#usr/share/info/inetutils.info-1\r
-#usr/share/info/inetutils.info-2\r
-#usr/share/info/inetutils.info-3\r
-#usr/share/man/man1/ftp.1\r
-#usr/share/man/man1/logger.1\r
-#usr/share/man/man1/rcp.1\r
-#usr/share/man/man1/rlogin.1\r
-#usr/share/man/man1/rsh.1\r
-#usr/share/man/man1/talk.1\r
-#usr/share/man/man1/telnet.1\r
-#usr/share/man/man1/tftp.1\r
-#usr/share/man/man5/syslog.conf.5\r
-#usr/share/man/man8/ftpd.8\r
-#usr/share/man/man8/inetd.8\r
-#usr/share/man/man8/ping.8\r
-#usr/share/man/man8/rexecd.8\r
-#usr/share/man/man8/rlogind.8\r
-#usr/share/man/man8/rshd.8\r
-#usr/share/man/man8/syslogd.8\r
-#usr/share/man/man8/talkd.8\r
-#usr/share/man/man8/telnetd.8\r
-#usr/share/man/man8/tftpd.8\r
-##\r
-## perl-5.8.5\r
-##\r
-#usr/bin/a2p\r
-#usr/bin/c2ph\r
-#usr/bin/dprofpp\r
-#usr/bin/enc2xs\r
-#usr/bin/find2perl\r
-#usr/bin/h2ph\r
-#usr/bin/h2xs\r
-#usr/bin/libnetcfg\r
-usr/bin/perl\r
-usr/bin/perl5.8.5\r
-#usr/bin/perlbug\r
-#usr/bin/perlcc\r
-#usr/bin/perldoc\r
-#usr/bin/perlivp\r
-#usr/bin/piconv\r
-#usr/bin/pl2pm\r
-#usr/bin/pod2html\r
-#usr/bin/pod2latex\r
-#usr/bin/pod2man\r
-#usr/bin/pod2text\r
-#usr/bin/pod2usage\r
-#usr/bin/podchecker\r
-#usr/bin/podselect\r
-#usr/bin/psed\r
-#usr/bin/pstruct\r
-#usr/bin/s2p\r
-usr/bin/sperl5.8.5\r
-#usr/bin/splain\r
-usr/bin/suidperl\r
-#usr/bin/xsubpp\r
-#usr/lib/perl5\r
-#usr/lib/perl5/5.8.5\r
-usr/lib/perl5/5.8.5/AnyDBM_File.pm\r
-#usr/lib/perl5/5.8.5/Attribute\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers\r
-usr/lib/perl5/5.8.5/Attribute/Handlers.pm\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/Changes\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/README\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/Demo.pm\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/Descriptions.pm\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/MyClass.pm\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo2.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo3.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo4.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_call.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_chain.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_cycle.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_hashdir.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_phases.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_range.pl\r
-#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_rawdata.pl\r
-usr/lib/perl5/5.8.5/AutoLoader.pm\r
-usr/lib/perl5/5.8.5/AutoSplit.pm\r
-#usr/lib/perl5/5.8.5/B\r
-#usr/lib/perl5/5.8.5/B/assemble\r
-#usr/lib/perl5/5.8.5/B/cc_harness\r
-#usr/lib/perl5/5.8.5/B/disassemble\r
-#usr/lib/perl5/5.8.5/B/makeliblinks\r
-#usr/lib/perl5/5.8.5/Benchmark.pm\r
-#usr/lib/perl5/5.8.5/CGI\r
-usr/lib/perl5/5.8.5/CGI.pm\r
-usr/lib/perl5/5.8.5/CGI/Apache.pm\r
-usr/lib/perl5/5.8.5/CGI/Carp.pm\r
-usr/lib/perl5/5.8.5/CGI/Cookie.pm\r
-usr/lib/perl5/5.8.5/CGI/Fast.pm\r
-usr/lib/perl5/5.8.5/CGI/Pretty.pm\r
-usr/lib/perl5/5.8.5/CGI/Push.pm\r
-usr/lib/perl5/5.8.5/CGI/Switch.pm\r
-usr/lib/perl5/5.8.5/CGI/Util.pm\r
-#usr/lib/perl5/5.8.5/CGI/eg\r
-#usr/lib/perl5/5.8.5/CGI/eg/RunMeFirst\r
-#usr/lib/perl5/5.8.5/CGI/eg/caution.xbm\r
-#usr/lib/perl5/5.8.5/CGI/eg/clickable_image.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/cookie.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/crash.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/customize.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/diff_upload.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/dna_small_gif.uu\r
-#usr/lib/perl5/5.8.5/CGI/eg/file_upload.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/frameset.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/index.html\r
-#usr/lib/perl5/5.8.5/CGI/eg/internal_links.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/javascript.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/make_links.pl\r
-#usr/lib/perl5/5.8.5/CGI/eg/monty.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/multiple_forms.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/nph-clock.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/nph-multipart.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/popup.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/save_state.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/tryit.cgi\r
-#usr/lib/perl5/5.8.5/CGI/eg/wilogo_gif.uu\r
-#usr/lib/perl5/5.8.5/CPAN\r
-#usr/lib/perl5/5.8.5/CPAN.pm\r
-#usr/lib/perl5/5.8.5/CPAN/FirstTime.pm\r
-#usr/lib/perl5/5.8.5/CPAN/Nox.pm\r
-#usr/lib/perl5/5.8.5/Carp\r
-usr/lib/perl5/5.8.5/Carp.pm\r
-usr/lib/perl5/5.8.5/Carp/Heavy.pm\r
-#usr/lib/perl5/5.8.5/Class\r
-#usr/lib/perl5/5.8.5/Class/ISA\r
-usr/lib/perl5/5.8.5/Class/ISA.pm\r
-#usr/lib/perl5/5.8.5/Class/ISA/test.pl\r
-usr/lib/perl5/5.8.5/Class/Struct.pm\r
-usr/lib/perl5/5.8.5/DB.pm\r
-#usr/lib/perl5/5.8.5/Devel\r
-#usr/lib/perl5/5.8.5/Devel/SelfStubber.pm\r
-#usr/lib/perl5/5.8.5/Digest.pm\r
-#usr/lib/perl5/5.8.5/DirHandle.pm\r
-#usr/lib/perl5/5.8.5/Dumpvalue.pm\r
-#usr/lib/perl5/5.8.5/Encode\r
-#usr/lib/perl5/5.8.5/Encode/CN\r
-#usr/lib/perl5/5.8.5/Encode/CN/HZ.pm\r
-#usr/lib/perl5/5.8.5/Encode/Changes.e2x\r
-#usr/lib/perl5/5.8.5/Encode/ConfigLocal_PM.e2x\r
-#usr/lib/perl5/5.8.5/Encode/JP\r
-#usr/lib/perl5/5.8.5/Encode/JP/H2Z.pm\r
-#usr/lib/perl5/5.8.5/Encode/JP/JIS7.pm\r
-#usr/lib/perl5/5.8.5/Encode/KR\r
-#usr/lib/perl5/5.8.5/Encode/KR/2022_KR.pm\r
-#usr/lib/perl5/5.8.5/Encode/MIME\r
-#usr/lib/perl5/5.8.5/Encode/MIME/Header.pm\r
-#usr/lib/perl5/5.8.5/Encode/Makefile_PL.e2x\r
-#usr/lib/perl5/5.8.5/Encode/PerlIO.pod\r
-#usr/lib/perl5/5.8.5/Encode/README.e2x\r
-#usr/lib/perl5/5.8.5/Encode/Supported.pod\r
-#usr/lib/perl5/5.8.5/Encode/_PM.e2x\r
-#usr/lib/perl5/5.8.5/Encode/_T.e2x\r
-#usr/lib/perl5/5.8.5/Encode/encode.h\r
-usr/lib/perl5/5.8.5/English.pm\r
-usr/lib/perl5/5.8.5/Env.pm\r
-#usr/lib/perl5/5.8.5/Exporter\r
-usr/lib/perl5/5.8.5/Exporter.pm\r
-usr/lib/perl5/5.8.5/Exporter/Heavy.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils\r
-#usr/lib/perl5/5.8.5/ExtUtils/Changes\r
-#usr/lib/perl5/5.8.5/ExtUtils/Command\r
-#usr/lib/perl5/5.8.5/ExtUtils/Command.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Command/MM.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Constant.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Embed.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Install.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Installed.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Liblist\r
-#usr/lib/perl5/5.8.5/ExtUtils/Liblist.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Liblist/Kid.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MANIFEST.SKIP\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_Any.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_BeOS.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_Cygwin.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_DOS.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_MacOS.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_NW5.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_OS2.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_UWIN.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_VMS.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_Win32.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MM_Win95.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MY.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Manifest.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Miniperl.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Mkbootstrap.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Mksymlists.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/Packlist.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/instmodsh\r
-#usr/lib/perl5/5.8.5/ExtUtils/testlib.pm\r
-#usr/lib/perl5/5.8.5/ExtUtils/typemap\r
-#usr/lib/perl5/5.8.5/ExtUtils/xsubpp\r
-usr/lib/perl5/5.8.5/Fatal.pm\r
-#usr/lib/perl5/5.8.5/File\r
-usr/lib/perl5/5.8.5/File/Basename.pm\r
-usr/lib/perl5/5.8.5/File/CheckTree.pm\r
-usr/lib/perl5/5.8.5/File/Compare.pm\r
-usr/lib/perl5/5.8.5/File/Copy.pm\r
-#usr/lib/perl5/5.8.5/File/DosGlob.pm\r
-usr/lib/perl5/5.8.5/File/Find.pm\r
-usr/lib/perl5/5.8.5/File/Path.pm\r
-#usr/lib/perl5/5.8.5/File/Spec\r
-usr/lib/perl5/5.8.5/File/Spec.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/Cygwin.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/Epoc.pm\r
-usr/lib/perl5/5.8.5/File/Spec/Functions.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/Mac.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/OS2.pm\r
-usr/lib/perl5/5.8.5/File/Spec/Unix.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/VMS.pm\r
-#usr/lib/perl5/5.8.5/File/Spec/Win32.pm\r
-usr/lib/perl5/5.8.5/File/Temp.pm\r
-usr/lib/perl5/5.8.5/File/stat.pm\r
-usr/lib/perl5/5.8.5/FileCache.pm\r
-usr/lib/perl5/5.8.5/FileHandle.pm\r
-#usr/lib/perl5/5.8.5/Filter\r
-usr/lib/perl5/5.8.5/Filter/Simple\r
-usr/lib/perl5/5.8.5/Filter/Simple.pm\r
-#usr/lib/perl5/5.8.5/Filter/Simple/Changes\r
-#usr/lib/perl5/5.8.5/Filter/Simple/README\r
-usr/lib/perl5/5.8.5/FindBin.pm\r
-#usr/lib/perl5/5.8.5/Getopt\r
-#usr/lib/perl5/5.8.5/Getopt/Long\r
-usr/lib/perl5/5.8.5/Getopt/Long.pm\r
-#usr/lib/perl5/5.8.5/Getopt/Long/CHANGES\r
-#usr/lib/perl5/5.8.5/Getopt/Long/README\r
-usr/lib/perl5/5.8.5/Getopt/Std.pm\r
-#usr/lib/perl5/5.8.5/Hash\r
-usr/lib/perl5/5.8.5/Hash/Util.pm\r
-#usr/lib/perl5/5.8.5/I18N\r
-usr/lib/perl5/5.8.5/I18N/Collate.pm\r
-#usr/lib/perl5/5.8.5/I18N/LangTags\r
-usr/lib/perl5/5.8.5/I18N/LangTags.pm\r
-#usr/lib/perl5/5.8.5/I18N/LangTags/ChangeLog\r
-usr/lib/perl5/5.8.5/I18N/LangTags/List.pm\r
-#usr/lib/perl5/5.8.5/I18N/LangTags/README\r
-#usr/lib/perl5/5.8.5/I18N/LangTags/test.pl\r
-#usr/lib/perl5/5.8.5/IO\r
-#usr/lib/perl5/5.8.5/IO/Socket\r
-usr/lib/perl5/5.8.5/IO/Socket/INET.pm\r
-usr/lib/perl5/5.8.5/IO/Socket/UNIX.pm\r
-#usr/lib/perl5/5.8.5/IPC\r
-#usr/lib/perl5/5.8.5/IPC/Open2.pm\r
-#usr/lib/perl5/5.8.5/IPC/Open3.pm\r
-#usr/lib/perl5/5.8.5/List\r
-usr/lib/perl5/5.8.5/List/Util.pm\r
-#usr/lib/perl5/5.8.5/Locale\r
-#usr/lib/perl5/5.8.5/Locale/Codes\r
-#usr/lib/perl5/5.8.5/Locale/Codes/ChangeLog\r
-#usr/lib/perl5/5.8.5/Locale/Codes/README\r
-#usr/lib/perl5/5.8.5/Locale/Constants.pm\r
-#usr/lib/perl5/5.8.5/Locale/Constants.pod\r
-#usr/lib/perl5/5.8.5/Locale/Country.pm\r
-#usr/lib/perl5/5.8.5/Locale/Country.pod\r
-#usr/lib/perl5/5.8.5/Locale/Currency.pm\r
-#usr/lib/perl5/5.8.5/Locale/Currency.pod\r
-#usr/lib/perl5/5.8.5/Locale/Language.pm\r
-#usr/lib/perl5/5.8.5/Locale/Language.pod\r
-#usr/lib/perl5/5.8.5/Locale/Maketext\r
-#usr/lib/perl5/5.8.5/Locale/Maketext.pm\r
-#usr/lib/perl5/5.8.5/Locale/Maketext.pod\r
-#usr/lib/perl5/5.8.5/Locale/Maketext/ChangeLog\r
-#usr/lib/perl5/5.8.5/Locale/Maketext/README\r
-#usr/lib/perl5/5.8.5/Locale/Maketext/TPJ13.pod\r
-#usr/lib/perl5/5.8.5/Locale/Maketext/test.pl\r
-#usr/lib/perl5/5.8.5/Locale/Script.pm\r
-#usr/lib/perl5/5.8.5/Locale/Script.pod\r
-#usr/lib/perl5/5.8.5/Math\r
-#usr/lib/perl5/5.8.5/Math/BigFloat\r
-usr/lib/perl5/5.8.5/Math/BigFloat.pm\r
-usr/lib/perl5/5.8.5/Math/BigFloat/Trace.pm\r
-#usr/lib/perl5/5.8.5/Math/BigInt\r
-usr/lib/perl5/5.8.5/Math/BigInt.pm\r
-usr/lib/perl5/5.8.5/Math/BigInt/Calc.pm\r
-usr/lib/perl5/5.8.5/Math/BigInt/Trace.pm\r
-usr/lib/perl5/5.8.5/Math/BigRat.pm\r
-usr/lib/perl5/5.8.5/Math/Complex.pm\r
-usr/lib/perl5/5.8.5/Math/Trig.pm\r
-#usr/lib/perl5/5.8.5/Memoize\r
-usr/lib/perl5/5.8.5/Memoize.pm\r
-usr/lib/perl5/5.8.5/Memoize/AnyDBM_File.pm\r
-usr/lib/perl5/5.8.5/Memoize/Expire.pm\r
-usr/lib/perl5/5.8.5/Memoize/ExpireFile.pm\r
-usr/lib/perl5/5.8.5/Memoize/ExpireTest.pm\r
-usr/lib/perl5/5.8.5/Memoize/NDBM_File.pm\r
-#usr/lib/perl5/5.8.5/Memoize/README\r
-usr/lib/perl5/5.8.5/Memoize/SDBM_File.pm\r
-usr/lib/perl5/5.8.5/Memoize/Storable.pm\r
-#usr/lib/perl5/5.8.5/Memoize/TODO\r
-#usr/lib/perl5/5.8.5/NEXT\r
-usr/lib/perl5/5.8.5/NEXT.pm\r
-#usr/lib/perl5/5.8.5/NEXT/Changes\r
-#usr/lib/perl5/5.8.5/NEXT/README\r
-#usr/lib/perl5/5.8.5/Net\r
-#usr/lib/perl5/5.8.5/Net/ChangeLog.libnet\r
-usr/lib/perl5/5.8.5/Net/Cmd.pm\r
-#usr/lib/perl5/5.8.5/Net/Config.eg\r
-usr/lib/perl5/5.8.5/Net/Config.pm\r
-usr/lib/perl5/5.8.5/Net/Domain.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP\r
-#usr/lib/perl5/5.8.5/Net/FTP.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP/A.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP/E.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP/I.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP/L.pm\r
-#usr/lib/perl5/5.8.5/Net/FTP/dataconn.pm\r
-usr/lib/perl5/5.8.5/Net/Hostname.eg\r
-#usr/lib/perl5/5.8.5/Net/NNTP.pm\r
-#usr/lib/perl5/5.8.5/Net/Netrc.pm\r
-#usr/lib/perl5/5.8.5/Net/POP3.pm\r
-#usr/lib/perl5/5.8.5/Net/Ping\r
-usr/lib/perl5/5.8.5/Net/Ping.pm\r
-#usr/lib/perl5/5.8.5/Net/Ping/Changes\r
-#usr/lib/perl5/5.8.5/Net/Ping/README\r
-#usr/lib/perl5/5.8.5/Net/README.libnet\r
-usr/lib/perl5/5.8.5/Net/SMTP.pm\r
-usr/lib/perl5/5.8.5/Net/Time.pm\r
-#usr/lib/perl5/5.8.5/Net/demos\r
-#usr/lib/perl5/5.8.5/Net/demos/ftp\r
-#usr/lib/perl5/5.8.5/Net/demos/inetd\r
-#usr/lib/perl5/5.8.5/Net/demos/nntp\r
-#usr/lib/perl5/5.8.5/Net/demos/nntp.mirror\r
-#usr/lib/perl5/5.8.5/Net/demos/pop3\r
-#usr/lib/perl5/5.8.5/Net/demos/smtp.self\r
-#usr/lib/perl5/5.8.5/Net/demos/time\r
-usr/lib/perl5/5.8.5/Net/hostent.pm\r
-#usr/lib/perl5/5.8.5/Net/libnetFAQ.pod\r
-usr/lib/perl5/5.8.5/Net/netent.pm\r
-usr/lib/perl5/5.8.5/Net/protoent.pm\r
-usr/lib/perl5/5.8.5/Net/servent.pm\r
-#usr/lib/perl5/5.8.5/PerlIO\r
-usr/lib/perl5/5.8.5/PerlIO.pm\r
-#usr/lib/perl5/5.8.5/PerlIO/via\r
-usr/lib/perl5/5.8.5/PerlIO/via/QuotedPrint.pm\r
-#usr/lib/perl5/5.8.5/Pod\r
-#usr/lib/perl5/5.8.5/Pod/Checker.pm\r
-#usr/lib/perl5/5.8.5/Pod/Find.pm\r
-#usr/lib/perl5/5.8.5/Pod/Functions.pm\r
-#usr/lib/perl5/5.8.5/Pod/Html.pm\r
-#usr/lib/perl5/5.8.5/Pod/InputObjects.pm\r
-#usr/lib/perl5/5.8.5/Pod/LaTeX.pm\r
-#usr/lib/perl5/5.8.5/Pod/Man.pm\r
-#usr/lib/perl5/5.8.5/Pod/ParseLink.pm\r
-#usr/lib/perl5/5.8.5/Pod/ParseUtils.pm\r
-#usr/lib/perl5/5.8.5/Pod/Parser.pm\r
-#usr/lib/perl5/5.8.5/Pod/Plainer.pm\r
-#usr/lib/perl5/5.8.5/Pod/Select.pm\r
-#usr/lib/perl5/5.8.5/Pod/Text\r
-#usr/lib/perl5/5.8.5/Pod/Text.pm\r
-#usr/lib/perl5/5.8.5/Pod/Text/Color.pm\r
-#usr/lib/perl5/5.8.5/Pod/Text/Overstrike.pm\r
-#usr/lib/perl5/5.8.5/Pod/Text/Termcap.pm\r
-#usr/lib/perl5/5.8.5/Pod/Usage.pm\r
-#usr/lib/perl5/5.8.5/Scalar\r
-usr/lib/perl5/5.8.5/Scalar/Util.pm\r
-#usr/lib/perl5/5.8.5/Search\r
-usr/lib/perl5/5.8.5/Search/Dict.pm\r
-usr/lib/perl5/5.8.5/SelectSaver.pm\r
-usr/lib/perl5/5.8.5/SelfLoader.pm\r
-usr/lib/perl5/5.8.5/Shell.pm\r
-#usr/lib/perl5/5.8.5/Switch\r
-usr/lib/perl5/5.8.5/Switch.pm\r
-#usr/lib/perl5/5.8.5/Switch/Changes\r
-#usr/lib/perl5/5.8.5/Switch/README\r
-usr/lib/perl5/5.8.5/Symbol.pm\r
-#usr/lib/perl5/5.8.5/Term\r
-#usr/lib/perl5/5.8.5/Term/ANSIColor\r
-#usr/lib/perl5/5.8.5/Term/ANSIColor.pm\r
-#usr/lib/perl5/5.8.5/Term/ANSIColor/ChangeLog\r
-#usr/lib/perl5/5.8.5/Term/ANSIColor/README\r
-#usr/lib/perl5/5.8.5/Term/ANSIColor/test.pl\r
-#usr/lib/perl5/5.8.5/Term/Cap.pm\r
-#usr/lib/perl5/5.8.5/Term/Complete.pm\r
-#usr/lib/perl5/5.8.5/Term/ReadLine.pm\r
-#usr/lib/perl5/5.8.5/Test\r
-#usr/lib/perl5/5.8.5/Test.pm\r
-#usr/lib/perl5/5.8.5/Test/Builder.pm\r
-#usr/lib/perl5/5.8.5/Test/Harness\r
-#usr/lib/perl5/5.8.5/Test/Harness.pm\r
-#usr/lib/perl5/5.8.5/Test/Harness/Assert.pm\r
-#usr/lib/perl5/5.8.5/Test/Harness/Changes\r
-#usr/lib/perl5/5.8.5/Test/Harness/Iterator.pm\r
-#usr/lib/perl5/5.8.5/Test/Harness/Straps.pm\r
-#usr/lib/perl5/5.8.5/Test/More.pm\r
-#usr/lib/perl5/5.8.5/Test/Simple\r
-#usr/lib/perl5/5.8.5/Test/Simple.pm\r
-#usr/lib/perl5/5.8.5/Test/Simple/Changes\r
-#usr/lib/perl5/5.8.5/Test/Simple/README\r
-#usr/lib/perl5/5.8.5/Test/Tutorial.pod\r
-#usr/lib/perl5/5.8.5/Text\r
-#usr/lib/perl5/5.8.5/Text/Abbrev.pm\r
-#usr/lib/perl5/5.8.5/Text/Balanced\r
-#usr/lib/perl5/5.8.5/Text/Balanced.pm\r
-#usr/lib/perl5/5.8.5/Text/Balanced/Changes\r
-#usr/lib/perl5/5.8.5/Text/Balanced/README\r
-#usr/lib/perl5/5.8.5/Text/ParseWords.pm\r
-#usr/lib/perl5/5.8.5/Text/Soundex.pm\r
-#usr/lib/perl5/5.8.5/Text/Tabs.pm\r
-#usr/lib/perl5/5.8.5/Text/TabsWrap\r
-#usr/lib/perl5/5.8.5/Text/TabsWrap/CHANGELOG\r
-#usr/lib/perl5/5.8.5/Text/Wrap.pm\r
-#usr/lib/perl5/5.8.5/Thread\r
-usr/lib/perl5/5.8.5/Thread.pm\r
-usr/lib/perl5/5.8.5/Thread/Queue.pm\r
-usr/lib/perl5/5.8.5/Thread/Semaphore.pm\r
-#usr/lib/perl5/5.8.5/Tie\r
-usr/lib/perl5/5.8.5/Tie/Array.pm\r
-usr/lib/perl5/5.8.5/Tie/File.pm\r
-usr/lib/perl5/5.8.5/Tie/Handle.pm\r
-usr/lib/perl5/5.8.5/Tie/Hash.pm\r
-usr/lib/perl5/5.8.5/Tie/Memoize.pm\r
-usr/lib/perl5/5.8.5/Tie/RefHash.pm\r
-usr/lib/perl5/5.8.5/Tie/Scalar.pm\r
-usr/lib/perl5/5.8.5/Tie/SubstrHash.pm\r
-#usr/lib/perl5/5.8.5/Time\r
-usr/lib/perl5/5.8.5/Time/Local.pm\r
-usr/lib/perl5/5.8.5/Time/gmtime.pm\r
-usr/lib/perl5/5.8.5/Time/localtime.pm\r
-usr/lib/perl5/5.8.5/Time/tm.pm\r
-usr/lib/perl5/5.8.5/UNIVERSAL.pm\r
-#usr/lib/perl5/5.8.5/Unicode\r
-#usr/lib/perl5/5.8.5/Unicode/Collate\r
-usr/lib/perl5/5.8.5/Unicode/Collate.pm\r
-#usr/lib/perl5/5.8.5/Unicode/Collate/Changes\r
-#usr/lib/perl5/5.8.5/Unicode/Collate/README\r
-#usr/lib/perl5/5.8.5/Unicode/Collate/keys.txt\r
-#usr/lib/perl5/5.8.5/Unicode/README\r
-usr/lib/perl5/5.8.5/Unicode/UCD.pm\r
-#usr/lib/perl5/5.8.5/User\r
-usr/lib/perl5/5.8.5/User/grent.pm\r
-usr/lib/perl5/5.8.5/User/pwent.pm\r
-#usr/lib/perl5/5.8.5/Win32.pod\r
-usr/lib/perl5/5.8.5/abbrev.pl\r
-usr/lib/perl5/5.8.5/assert.pl\r
-usr/lib/perl5/5.8.5/attributes.pm\r
-usr/lib/perl5/5.8.5/autouse.pm\r
-usr/lib/perl5/5.8.5/base.pm\r
-usr/lib/perl5/5.8.5/bigfloat.pl\r
-usr/lib/perl5/5.8.5/bigint.pl\r
-usr/lib/perl5/5.8.5/bigint.pm\r
-usr/lib/perl5/5.8.5/bignum.pm\r
-usr/lib/perl5/5.8.5/bigrat.pl\r
-usr/lib/perl5/5.8.5/bigrat.pm\r
-usr/lib/perl5/5.8.5/blib.pm\r
-usr/lib/perl5/5.8.5/bytes.pm\r
-usr/lib/perl5/5.8.5/bytes_heavy.pl\r
-usr/lib/perl5/5.8.5/cacheout.pl\r
-usr/lib/perl5/5.8.5/charnames.pm\r
-usr/lib/perl5/5.8.5/complete.pl\r
-usr/lib/perl5/5.8.5/constant.pm\r
-usr/lib/perl5/5.8.5/ctime.pl\r
-usr/lib/perl5/5.8.5/diagnostics.pm\r
-usr/lib/perl5/5.8.5/dotsh.pl\r
-usr/lib/perl5/5.8.5/dumpvar.pl\r
-usr/lib/perl5/5.8.5/exceptions.pl\r
-usr/lib/perl5/5.8.5/fastcwd.pl\r
-usr/lib/perl5/5.8.5/fields.pm\r
-usr/lib/perl5/5.8.5/filetest.pm\r
-usr/lib/perl5/5.8.5/find.pl\r
-usr/lib/perl5/5.8.5/finddepth.pl\r
-usr/lib/perl5/5.8.5/flush.pl\r
-usr/lib/perl5/5.8.5/getcwd.pl\r
-usr/lib/perl5/5.8.5/getopt.pl\r
-usr/lib/perl5/5.8.5/getopts.pl\r
-usr/lib/perl5/5.8.5/hostname.pl\r
-#usr/lib/perl5/5.8.5/i386-linux\r
-#usr/lib/perl5/5.8.5/i386-linux/.packlist\r
-#usr/lib/perl5/5.8.5/i386-linux/B\r
-#usr/lib/perl5/5.8.5/i386-linux/B.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Asmdata.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Assembler.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Bblock.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Bytecode.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/C.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/CC.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Concise.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Debug.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Deparse.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Disassembler.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Lint.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Showlex.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Stackobj.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Stash.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Terse.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/B/Xref.pm\r
-usr/lib/perl5/5.8.5/i386-linux/ByteLoader.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/EXTERN.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/INTERN.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/XSUB.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/av.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/cc_runtime.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/config.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/cop.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/cv.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/dosish.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/embed.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/embedvar.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/fakesdio.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/fakethr.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/form.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/gv.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/handy.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/hv.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/intrpvar.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/iperlsys.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/keywords.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/libperl.a\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/mg.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/nostdio.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/op.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/opcode.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/opnames.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/patchlevel.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perl.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perlapi.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perlio.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perliol.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perlsdio.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perlsfio.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perlvars.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/perly.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/pp.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/pp_proto.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/proto.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/reentr.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/regcomp.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/regexp.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/regnodes.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/scope.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/sv.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/thrdvar.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/thread.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/uconfig.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/unixish.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/utf8.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/utfebcdic.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/util.h\r
-#usr/lib/perl5/5.8.5/i386-linux/CORE/warnings.h\r
-usr/lib/perl5/5.8.5/i386-linux/Config.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Cwd.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Data\r
-usr/lib/perl5/5.8.5/i386-linux/Data/Dumper.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Devel\r
-#usr/lib/perl5/5.8.5/i386-linux/Devel/DProf.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Devel/PPPort.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Devel/Peek.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Digest\r
-usr/lib/perl5/5.8.5/i386-linux/Digest/MD5.pm\r
-usr/lib/perl5/5.8.5/i386-linux/DynaLoader.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Encode\r
-usr/lib/perl5/5.8.5/i386-linux/Encode.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Alias.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Byte.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/CJKConstants.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/CN.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Config.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/EBCDIC.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Encoder.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Encoding.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Guess.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/JP.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/KR.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Symbol.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/TW.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Encode/Unicode.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Errno.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Fcntl.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/File\r
-usr/lib/perl5/5.8.5/i386-linux/File/Glob.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Filter\r
-#usr/lib/perl5/5.8.5/i386-linux/Filter/Util\r
-usr/lib/perl5/5.8.5/i386-linux/Filter/Util/Call.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/I18N\r
-usr/lib/perl5/5.8.5/i386-linux/I18N/Langinfo.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/IO\r
-usr/lib/perl5/5.8.5/i386-linux/IO.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Dir.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/File.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Handle.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Pipe.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Poll.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Seekable.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Select.pm\r
-usr/lib/perl5/5.8.5/i386-linux/IO/Socket.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/IPC\r
-#usr/lib/perl5/5.8.5/i386-linux/IPC/Msg.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/IPC/Semaphore.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/IPC/SysV.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/MIME\r
-usr/lib/perl5/5.8.5/i386-linux/MIME/Base64.pm\r
-usr/lib/perl5/5.8.5/i386-linux/MIME/QuotedPrint.pm\r
-usr/lib/perl5/5.8.5/i386-linux/O.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Opcode.pm\r
-usr/lib/perl5/5.8.5/i386-linux/POSIX.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/POSIX.pod\r
-#usr/lib/perl5/5.8.5/i386-linux/PerlIO\r
-usr/lib/perl5/5.8.5/i386-linux/PerlIO/encoding.pm\r
-usr/lib/perl5/5.8.5/i386-linux/PerlIO/scalar.pm\r
-usr/lib/perl5/5.8.5/i386-linux/PerlIO/via.pm\r
-usr/lib/perl5/5.8.5/i386-linux/SDBM_File.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Safe.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Socket.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Storable.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Sys\r
-usr/lib/perl5/5.8.5/i386-linux/Sys/Hostname.pm\r
-usr/lib/perl5/5.8.5/i386-linux/Sys/Syslog.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Time\r
-usr/lib/perl5/5.8.5/i386-linux/Time/HiRes.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/Unicode\r
-usr/lib/perl5/5.8.5/i386-linux/Unicode/Normalize.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/XS\r
-usr/lib/perl5/5.8.5/i386-linux/XS/APItest.pm\r
-usr/lib/perl5/5.8.5/i386-linux/XS/Typemap.pm\r
-usr/lib/perl5/5.8.5/i386-linux/XSLoader.pm\r
-usr/lib/perl5/5.8.5/i386-linux/attrs.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/auto\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B/B.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B/B.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B/C\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B/C/C.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/B/C/C.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader/ByteLoader.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader/ByteLoader.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Cwd\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Cwd/Cwd.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Cwd/Cwd.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Data\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper/Dumper.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper/Dumper.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf/DProf.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf/DProf.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort/PPPort.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort/PPPort.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek/Peek.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek/Peek.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Digest\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5/MD5.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5/MD5.so\r
-usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/DynaLoader.a\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_expandspec.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_find_symbol_anywhere.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_findfile.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/extralibs.ld\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte/Byte.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte/Byte.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN/CN.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN/CN.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC/EBCDIC.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC/EBCDIC.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Encode.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Encode.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP/JP.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP/JP.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR/KR.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR/KR.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol/Symbol.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol/Symbol.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW/TW.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW/TW.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode/Unicode.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode/Unicode.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl/Fcntl.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl/Fcntl.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/File\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob/Glob.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob/Glob.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Filter\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call/Call.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call/Call.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/I18N\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/Langinfo.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/Langinfo.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/IO\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/IO/IO.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/IO/IO.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/IPC\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV/SysV.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV/SysV.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/List\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/List/Util\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/List/Util/Util.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/List/Util/Util.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/MIME\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64/Base64.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64/Base64.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Opcode\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Opcode/Opcode.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Opcode/Opcode.so\r
-usr/lib/perl5/5.8.5/i386-linux/auto/POSIX\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/POSIX.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/POSIX.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/abs.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/alarm.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/assert.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atan2.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atexit.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atof.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atoi.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atol.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/bsearch.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/calloc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chdir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chmod.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chown.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/clearerr.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/closedir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/cos.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/creat.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/div.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/errno.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execl.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execle.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execlp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execv.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execve.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execvp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/exit.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/exp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fabs.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fclose.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fcntl.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fdopen.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/feof.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ferror.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fflush.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgetc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgetpos.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgets.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fileno.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fopen.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fork.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fprintf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fputc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fputs.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fread.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/free.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/freopen.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fscanf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fseek.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fsetpos.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fstat.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ftell.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fwrite.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getchar.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getegid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getenv.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/geteuid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgrgid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgrnam.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgroups.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getlogin.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpgrp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getppid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpwnam.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpwuid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/gets.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getuid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/gmtime.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/isatty.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/kill.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/labs.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ldiv.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/link.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/load_imports.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/localtime.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/log.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/longjmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/malloc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memchr.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memcmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memcpy.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memmove.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memset.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/mkdir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/offsetof.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/opendir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/perror.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/pow.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/printf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/putc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/putchar.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/puts.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/qsort.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/raise.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rand.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/readdir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/realloc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/redef.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/remove.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rename.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rewind.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rewinddir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rmdir.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/scanf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setbuf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setjmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setvbuf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/siglongjmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sigsetjmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sin.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sleep.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sprintf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sqrt.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/srand.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sscanf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/stat.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcat.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strchr.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcpy.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcspn.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strerror.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strlen.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncat.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncmp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncpy.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strpbrk.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strrchr.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strspn.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strstr.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strtok.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/system.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/time.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/tmpfile.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/tolower.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/toupper.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/umask.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ungetc.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/unimpl.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/unlink.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/usage.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/utime.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vfprintf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vprintf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vsprintf.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/wait.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/waitpid.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding/encoding.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding/encoding.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar/scalar.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar/scalar.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via/via.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via/via.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File/SDBM_File.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File/SDBM_File.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Socket\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Socket/Socket.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Socket/Socket.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/CAN_FLOCK.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/Storable.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Storable/Storable.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_freeze.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_retrieve.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_store.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_store_fd.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/fd_retrieve.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/freeze.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_nstore.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_retrieve.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_store.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/logcarp.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/logcroak.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nfreeze.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nstore.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nstore_fd.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/read_magic.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/retrieve.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/show_file_magic.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/store.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/store_fd.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/thaw.al\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/Hostname.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/Hostname.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog/Syslog.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog/Syslog.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Time\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes/HiRes.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes/HiRes.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/Normalize.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/Normalize.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/autosplit.ix\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest/APItest.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest/APItest.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap/Typemap.bs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap/Typemap.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/attrs\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/attrs/attrs.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/attrs/attrs.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/re\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/re/re.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/re/re.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/sdbm\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/sdbm/extralibs.ld\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/threads\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared/shared.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared/shared.so\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/threads/threads.bs\r
-usr/lib/perl5/5.8.5/i386-linux/auto/threads/threads.so\r
-usr/lib/perl5/5.8.5/i386-linux/encoding.pm\r
-usr/lib/perl5/5.8.5/i386-linux/lib.pm\r
-usr/lib/perl5/5.8.5/i386-linux/ops.pm\r
-usr/lib/perl5/5.8.5/i386-linux/re.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/threads\r
-usr/lib/perl5/5.8.5/i386-linux/threads.pm\r
-usr/lib/perl5/5.8.5/i386-linux/threads/shared.pm\r
-usr/lib/perl5/5.8.5/if.pm\r
-usr/lib/perl5/5.8.5/importenv.pl\r
-usr/lib/perl5/5.8.5/integer.pm\r
-usr/lib/perl5/5.8.5/less.pm\r
-usr/lib/perl5/5.8.5/locale.pm\r
-usr/lib/perl5/5.8.5/look.pl\r
-usr/lib/perl5/5.8.5/newgetopt.pl\r
-usr/lib/perl5/5.8.5/open.pm\r
-usr/lib/perl5/5.8.5/open2.pl\r
-usr/lib/perl5/5.8.5/open3.pl\r
-usr/lib/perl5/5.8.5/overload.pm\r
-usr/lib/perl5/5.8.5/perl5db.pl\r
-#usr/lib/perl5/5.8.5/pod\r
-#usr/lib/perl5/5.8.5/pod/perl.pod\r
-#usr/lib/perl5/5.8.5/pod/perl5004delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl5005delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl561delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl56delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl570delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl571delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perl572delta.pod\r
-#usr/lib/perl5/5.8.5/pod/perlaix.pod\r
-#usr/lib/perl5/5.8.5/pod/perlamiga.pod\r
-#usr/lib/perl5/5.8.5/pod/perlapi.pod\r
-#usr/lib/perl5/5.8.5/pod/perlapio.pod\r
-#usr/lib/perl5/5.8.5/pod/perlapollo.pod\r
-#usr/lib/perl5/5.8.5/pod/perlbeos.pod\r
-#usr/lib/perl5/5.8.5/pod/perlbook.pod\r
-#usr/lib/perl5/5.8.5/pod/perlboot.pod\r
-#usr/lib/perl5/5.8.5/pod/perlbot.pod\r
-#usr/lib/perl5/5.8.5/pod/perlbs2000.pod\r
-#usr/lib/perl5/5.8.5/pod/perlcall.pod\r
-#usr/lib/perl5/5.8.5/pod/perlce.pod\r
-#usr/lib/perl5/5.8.5/pod/perlclib.pod\r
-#usr/lib/perl5/5.8.5/pod/perlcn.pod\r
-#usr/lib/perl5/5.8.5/pod/perlcompile.pod\r
-#usr/lib/perl5/5.8.5/pod/perlcygwin.pod\r
-#usr/lib/perl5/5.8.5/pod/perldata.pod\r
-#usr/lib/perl5/5.8.5/pod/perldbmfilter.pod\r
-#usr/lib/perl5/5.8.5/pod/perldebguts.pod\r
-#usr/lib/perl5/5.8.5/pod/perldebtut.pod\r
-#usr/lib/perl5/5.8.5/pod/perldebug.pod\r
-#usr/lib/perl5/5.8.5/pod/perldelta.pod\r
-#usr/lib/perl5/5.8.5/pod/perldgux.pod\r
-#usr/lib/perl5/5.8.5/pod/perldiag.pod\r
-#usr/lib/perl5/5.8.5/pod/perldos.pod\r
-#usr/lib/perl5/5.8.5/pod/perldsc.pod\r
-#usr/lib/perl5/5.8.5/pod/perlebcdic.pod\r
-#usr/lib/perl5/5.8.5/pod/perlembed.pod\r
-#usr/lib/perl5/5.8.5/pod/perlepoc.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq1.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq2.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq3.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq4.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq5.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq6.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq7.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq8.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfaq9.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfilter.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfork.pod\r
-#usr/lib/perl5/5.8.5/pod/perlform.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfreebsd.pod\r
-#usr/lib/perl5/5.8.5/pod/perlfunc.pod\r
-#usr/lib/perl5/5.8.5/pod/perlguts.pod\r
-#usr/lib/perl5/5.8.5/pod/perlhack.pod\r
-#usr/lib/perl5/5.8.5/pod/perlhist.pod\r
-#usr/lib/perl5/5.8.5/pod/perlhpux.pod\r
-#usr/lib/perl5/5.8.5/pod/perlhurd.pod\r
-#usr/lib/perl5/5.8.5/pod/perlintern.pod\r
-#usr/lib/perl5/5.8.5/pod/perlintro.pod\r
-#usr/lib/perl5/5.8.5/pod/perliol.pod\r
-#usr/lib/perl5/5.8.5/pod/perlipc.pod\r
-#usr/lib/perl5/5.8.5/pod/perlirix.pod\r
-#usr/lib/perl5/5.8.5/pod/perljp.pod\r
-#usr/lib/perl5/5.8.5/pod/perlko.pod\r
-#usr/lib/perl5/5.8.5/pod/perllexwarn.pod\r
-#usr/lib/perl5/5.8.5/pod/perllocale.pod\r
-#usr/lib/perl5/5.8.5/pod/perllol.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmachten.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmacos.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmint.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmod.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmodinstall.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmodlib.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmodstyle.pod\r
-#usr/lib/perl5/5.8.5/pod/perlmpeix.pod\r
-#usr/lib/perl5/5.8.5/pod/perlnetware.pod\r
-#usr/lib/perl5/5.8.5/pod/perlnewmod.pod\r
-#usr/lib/perl5/5.8.5/pod/perlnumber.pod\r
-#usr/lib/perl5/5.8.5/pod/perlobj.pod\r
-#usr/lib/perl5/5.8.5/pod/perlop.pod\r
-#usr/lib/perl5/5.8.5/pod/perlopentut.pod\r
-#usr/lib/perl5/5.8.5/pod/perlos2.pod\r
-#usr/lib/perl5/5.8.5/pod/perlos390.pod\r
-#usr/lib/perl5/5.8.5/pod/perlothrtut.pod\r
-#usr/lib/perl5/5.8.5/pod/perlpacktut.pod\r
-#usr/lib/perl5/5.8.5/pod/perlplan9.pod\r
-#usr/lib/perl5/5.8.5/pod/perlpod.pod\r
-#usr/lib/perl5/5.8.5/pod/perlpodspec.pod\r
-#usr/lib/perl5/5.8.5/pod/perlport.pod\r
-#usr/lib/perl5/5.8.5/pod/perlqnx.pod\r
-#usr/lib/perl5/5.8.5/pod/perlre.pod\r
-#usr/lib/perl5/5.8.5/pod/perlref.pod\r
-#usr/lib/perl5/5.8.5/pod/perlreftut.pod\r
-#usr/lib/perl5/5.8.5/pod/perlrequick.pod\r
-#usr/lib/perl5/5.8.5/pod/perlretut.pod\r
-#usr/lib/perl5/5.8.5/pod/perlrun.pod\r
-#usr/lib/perl5/5.8.5/pod/perlsec.pod\r
-#usr/lib/perl5/5.8.5/pod/perlsolaris.pod\r
-#usr/lib/perl5/5.8.5/pod/perlstyle.pod\r
-#usr/lib/perl5/5.8.5/pod/perlsub.pod\r
-#usr/lib/perl5/5.8.5/pod/perlsyn.pod\r
-#usr/lib/perl5/5.8.5/pod/perlthrtut.pod\r
-#usr/lib/perl5/5.8.5/pod/perltie.pod\r
-#usr/lib/perl5/5.8.5/pod/perltoc.pod\r
-#usr/lib/perl5/5.8.5/pod/perltodo.pod\r
-#usr/lib/perl5/5.8.5/pod/perltooc.pod\r
-#usr/lib/perl5/5.8.5/pod/perltoot.pod\r
-#usr/lib/perl5/5.8.5/pod/perltrap.pod\r
-#usr/lib/perl5/5.8.5/pod/perltru64.pod\r
-#usr/lib/perl5/5.8.5/pod/perltw.pod\r
-#usr/lib/perl5/5.8.5/pod/perlunicode.pod\r
-#usr/lib/perl5/5.8.5/pod/perluniintro.pod\r
-#usr/lib/perl5/5.8.5/pod/perlutil.pod\r
-#usr/lib/perl5/5.8.5/pod/perluts.pod\r
-#usr/lib/perl5/5.8.5/pod/perlvar.pod\r
-#usr/lib/perl5/5.8.5/pod/perlvmesa.pod\r
-#usr/lib/perl5/5.8.5/pod/perlvms.pod\r
-#usr/lib/perl5/5.8.5/pod/perlvos.pod\r
-#usr/lib/perl5/5.8.5/pod/perlwin32.pod\r
-#usr/lib/perl5/5.8.5/pod/perlxs.pod\r
-#usr/lib/perl5/5.8.5/pod/perlxstut.pod\r
-usr/lib/perl5/5.8.5/pwd.pl\r
-usr/lib/perl5/5.8.5/shellwords.pl\r
-usr/lib/perl5/5.8.5/sigtrap.pm\r
-usr/lib/perl5/5.8.5/sort.pm\r
-usr/lib/perl5/5.8.5/stat.pl\r
-usr/lib/perl5/5.8.5/strict.pm\r
-usr/lib/perl5/5.8.5/subs.pm\r
-usr/lib/perl5/5.8.5/syslog.pl\r
-usr/lib/perl5/5.8.5/tainted.pl\r
-usr/lib/perl5/5.8.5/termcap.pl\r
-usr/lib/perl5/5.8.5/timelocal.pl\r
-#usr/lib/perl5/5.8.5/unicore\r
-#usr/lib/perl5/5.8.5/unicore/ArabLink.pl\r
-#usr/lib/perl5/5.8.5/unicore/ArabLnkGrp.pl\r
-#usr/lib/perl5/5.8.5/unicore/ArabicShaping.txt\r
-#usr/lib/perl5/5.8.5/unicore/BidiMirroring.txt\r
-#usr/lib/perl5/5.8.5/unicore/Bidirectional.pl\r
-#usr/lib/perl5/5.8.5/unicore/Blocks.txt\r
-usr/lib/perl5/5.8.5/unicore/Canonical.pl\r
-#usr/lib/perl5/5.8.5/unicore/CaseFolding.txt\r
-usr/lib/perl5/5.8.5/unicore/CombiningClass.pl\r
-#usr/lib/perl5/5.8.5/unicore/CompositionExclusions.txt\r
-usr/lib/perl5/5.8.5/unicore/Decomposition.pl\r
-#usr/lib/perl5/5.8.5/unicore/EastAsianWidth.txt\r
-usr/lib/perl5/5.8.5/unicore/Exact.pl\r
-#usr/lib/perl5/5.8.5/unicore/Index.txt\r
-#usr/lib/perl5/5.8.5/unicore/Jamo.txt\r
-#usr/lib/perl5/5.8.5/unicore/JamoShort.pl\r
-#usr/lib/perl5/5.8.5/unicore/LineBreak.txt\r
-#usr/lib/perl5/5.8.5/unicore/Makefile\r
-usr/lib/perl5/5.8.5/unicore/Name.pl\r
-#usr/lib/perl5/5.8.5/unicore/NamesList.txt\r
-#usr/lib/perl5/5.8.5/unicore/PropList.txt\r
-#usr/lib/perl5/5.8.5/unicore/PropValueAliases.txt\r
-#usr/lib/perl5/5.8.5/unicore/Properties\r
-#usr/lib/perl5/5.8.5/unicore/PropertyAliases.txt\r
-#usr/lib/perl5/5.8.5/unicore/README.perl\r
-#usr/lib/perl5/5.8.5/unicore/ReadMe.txt\r
-#usr/lib/perl5/5.8.5/unicore/Scripts.txt\r
-#usr/lib/perl5/5.8.5/unicore/SpecialCasing.txt\r
-usr/lib/perl5/5.8.5/unicore/To\r
-#usr/lib/perl5/5.8.5/unicore/To/Digit.pl\r
-#usr/lib/perl5/5.8.5/unicore/To/Fold.pl\r
-#usr/lib/perl5/5.8.5/unicore/To/Lower.pl\r
-#usr/lib/perl5/5.8.5/unicore/To/Title.pl\r
-#usr/lib/perl5/5.8.5/unicore/To/Upper.pl\r
-#usr/lib/perl5/5.8.5/unicore/UnicodeData.txt\r
-usr/lib/perl5/5.8.5/unicore/lib\r
-#usr/lib/perl5/5.8.5/unicore/lib/ASCII.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Alnum.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Alpha.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Alphabet.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Any.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Arabic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Armenian.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/AsciiHex.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Assigned.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Bengali.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiAL.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiAN.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiB.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiBN.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiCS.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiCont.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiEN.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiES.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiET.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiL.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiLRE.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiLRO.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiNSM.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiON.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiPDF.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiR.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiRLE.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiRLO.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiS.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/BidiWS.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Blank.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Bopomofo.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Buhid.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/C.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Canadian.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Canon.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cc.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cf.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cherokee.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cn.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cntrl.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Co.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Common.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Compat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cs.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Cyrillic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCcircle.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCcompat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCfinal.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCfont.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCfracti.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCinitia.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCisolat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCmedial.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCnarrow.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCnoBrea.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCsmall.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCsquare.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCsub.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCsuper.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCvertic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/DCwide.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Dash.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Deprecat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Deseret.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Devanaga.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Diacriti.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Digit.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Ethiopic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Extender.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Georgian.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Gothic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Graph.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Grapheme.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Greek.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Gujarati.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Gurmukhi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Han.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Hangul.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Hanunoo.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Hebrew.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/HexDigit.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Hiragana.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Hyphen.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/IdContin.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/IdStart.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Ideograp.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/IdsBinar.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/IdsTrina.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InAlphab.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InArabi2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InArabi3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InArabic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InArmeni.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InArrows.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBasicL.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBengal.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBlockE.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBopom2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBopomo.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBoxDra.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBraill.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InBuhid.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InByzant.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCherok.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo4.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkCom.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkRad.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkSym.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkUn2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkUn3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCjkUni.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCombi2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCombi3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCombin.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InContro.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCurren.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCyril2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InCyrill.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InDesere.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InDevana.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InDingba.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InEnclo2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InEnclos.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InEthiop.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGenera.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGeomet.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGeorgi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGothic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGreek.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGreekA.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGreekE.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGujara.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InGurmuk.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHalfwi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHangu2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHangu3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHangul.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHanuno.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHebrew.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHighPr.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHighSu.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InHiraga.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InIdeogr.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InIpaExt.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKanbun.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKangxi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKannad.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKatak2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKataka.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InKhmer.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLao.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLatin1.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLatin2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLatin3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLatinE.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLetter.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InLowSur.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMalaya.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMathe2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMathem.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMisce2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMisce3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMisce4.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMiscel.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMongol.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMusica.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InMyanma.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InNumber.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InOgham.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InOldIta.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InOptica.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InOriya.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InPrivat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InRunic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSinhal.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSmallF.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSpacin.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSpecia.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSupers.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSuppl2.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSuppl3.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSuppl4.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSuppl5.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSupple.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InSyriac.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTagalo.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTagban.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTags.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTamil.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTelugu.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InThaana.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InThai.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InTibeta.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InUnifie.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InVariat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InYiRadi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/InYiSyll.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Inherite.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/JoinCont.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Kannada.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Katakana.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Khmer.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/L.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/L_.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lao.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Latin.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Ll.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lm.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lo.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/LogicalO.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lower.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lowercas.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lt.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Lu.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/M.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Malayala.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Math.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Mc.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Me.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Mirrored.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Mn.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Mongolia.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Myanmar.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/N.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Nd.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Nl.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/No.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Nonchara.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Ogham.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OldItali.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Oriya.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherAlp.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherDef.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherGra.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherLow.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherMat.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/OtherUpp.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/P.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Pc.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Pd.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Pe.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Pf.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Pi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Po.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Print.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Ps.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Punct.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Quotatio.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Radical.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Runic.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/S.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Sc.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Sinhala.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Sk.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Sm.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/So.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/SoftDott.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Space.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/SpacePer.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Syriac.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Tagalog.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Tagbanwa.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Tamil.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Telugu.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Terminal.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Thaana.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Thai.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Tibetan.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Title.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/UnifiedI.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Upper.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Uppercas.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/WhiteSpa.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Word.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/XDigit.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Yi.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Z.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Zl.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Zp.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/Zs.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/_CanonDC.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/_CaseIgn.pl\r
-#usr/lib/perl5/5.8.5/unicore/lib/_CombAbo.pl\r
-#usr/lib/perl5/5.8.5/unicore/mktables\r
-#usr/lib/perl5/5.8.5/unicore/version\r
-usr/lib/perl5/5.8.5/utf8.pm\r
-usr/lib/perl5/5.8.5/utf8_heavy.pl\r
-usr/lib/perl5/5.8.5/validate.pl\r
-usr/lib/perl5/5.8.5/vars.pm\r
-usr/lib/perl5/5.8.5/vmsish.pm\r
-#usr/lib/perl5/5.8.5/warnings\r
-usr/lib/perl5/5.8.5/warnings.pm\r
-usr/lib/perl5/5.8.5/warnings/register.pm\r
-#usr/lib/perl5/site_perl\r
-#usr/lib/perl5/site_perl/5.8.5\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux\r
-#usr/share/man/man1/a2p.1\r
-#usr/share/man/man1/c2ph.1\r
-#usr/share/man/man1/dprofpp.1\r
-#usr/share/man/man1/enc2xs.1\r
-#usr/share/man/man1/find2perl.1\r
-#usr/share/man/man1/h2ph.1\r
-#usr/share/man/man1/h2xs.1\r
-#usr/share/man/man1/libnetcfg.1\r
-#usr/share/man/man1/perl.1\r
-#usr/share/man/man1/perl5004delta.1\r
-#usr/share/man/man1/perl5005delta.1\r
-#usr/share/man/man1/perl561delta.1\r
-#usr/share/man/man1/perl56delta.1\r
-#usr/share/man/man1/perl570delta.1\r
-#usr/share/man/man1/perl571delta.1\r
-#usr/share/man/man1/perl572delta.1\r
-#usr/share/man/man1/perlaix.1\r
-#usr/share/man/man1/perlamiga.1\r
-#usr/share/man/man1/perlapi.1\r
-#usr/share/man/man1/perlapio.1\r
-#usr/share/man/man1/perlapollo.1\r
-#usr/share/man/man1/perlbeos.1\r
-#usr/share/man/man1/perlbook.1\r
-#usr/share/man/man1/perlboot.1\r
-#usr/share/man/man1/perlbot.1\r
-#usr/share/man/man1/perlbs2000.1\r
-#usr/share/man/man1/perlbug.1\r
-#usr/share/man/man1/perlcall.1\r
-#usr/share/man/man1/perlcc.1\r
-#usr/share/man/man1/perlce.1\r
-#usr/share/man/man1/perlclib.1\r
-#usr/share/man/man1/perlcn.1\r
-#usr/share/man/man1/perlcompile.1\r
-#usr/share/man/man1/perlcygwin.1\r
-#usr/share/man/man1/perldata.1\r
-#usr/share/man/man1/perldbmfilter.1\r
-#usr/share/man/man1/perldebguts.1\r
-#usr/share/man/man1/perldebtut.1\r
-#usr/share/man/man1/perldebug.1\r
-#usr/share/man/man1/perldelta.1\r
-#usr/share/man/man1/perldgux.1\r
-#usr/share/man/man1/perldiag.1\r
-#usr/share/man/man1/perldoc.1\r
-#usr/share/man/man1/perldos.1\r
-#usr/share/man/man1/perldsc.1\r
-#usr/share/man/man1/perlebcdic.1\r
-#usr/share/man/man1/perlembed.1\r
-#usr/share/man/man1/perlepoc.1\r
-#usr/share/man/man1/perlfaq.1\r
-#usr/share/man/man1/perlfaq1.1\r
-#usr/share/man/man1/perlfaq2.1\r
-#usr/share/man/man1/perlfaq3.1\r
-#usr/share/man/man1/perlfaq4.1\r
-#usr/share/man/man1/perlfaq5.1\r
-#usr/share/man/man1/perlfaq6.1\r
-#usr/share/man/man1/perlfaq7.1\r
-#usr/share/man/man1/perlfaq8.1\r
-#usr/share/man/man1/perlfaq9.1\r
-#usr/share/man/man1/perlfilter.1\r
-#usr/share/man/man1/perlfork.1\r
-#usr/share/man/man1/perlform.1\r
-#usr/share/man/man1/perlfreebsd.1\r
-#usr/share/man/man1/perlfunc.1\r
-#usr/share/man/man1/perlguts.1\r
-#usr/share/man/man1/perlhack.1\r
-#usr/share/man/man1/perlhist.1\r
-#usr/share/man/man1/perlhpux.1\r
-#usr/share/man/man1/perlhurd.1\r
-#usr/share/man/man1/perlintern.1\r
-#usr/share/man/man1/perlintro.1\r
-#usr/share/man/man1/perliol.1\r
-#usr/share/man/man1/perlipc.1\r
-#usr/share/man/man1/perlirix.1\r
-#usr/share/man/man1/perlivp.1\r
-#usr/share/man/man1/perljp.1\r
-#usr/share/man/man1/perlko.1\r
-#usr/share/man/man1/perllexwarn.1\r
-#usr/share/man/man1/perllocale.1\r
-#usr/share/man/man1/perllol.1\r
-#usr/share/man/man1/perlmachten.1\r
-#usr/share/man/man1/perlmacos.1\r
-#usr/share/man/man1/perlmint.1\r
-#usr/share/man/man1/perlmod.1\r
-#usr/share/man/man1/perlmodinstall.1\r
-#usr/share/man/man1/perlmodlib.1\r
-#usr/share/man/man1/perlmodstyle.1\r
-#usr/share/man/man1/perlmpeix.1\r
-#usr/share/man/man1/perlnetware.1\r
-#usr/share/man/man1/perlnewmod.1\r
-#usr/share/man/man1/perlnumber.1\r
-#usr/share/man/man1/perlobj.1\r
-#usr/share/man/man1/perlop.1\r
-#usr/share/man/man1/perlopentut.1\r
-#usr/share/man/man1/perlos2.1\r
-#usr/share/man/man1/perlos390.1\r
-#usr/share/man/man1/perlothrtut.1\r
-#usr/share/man/man1/perlpacktut.1\r
-#usr/share/man/man1/perlplan9.1\r
-#usr/share/man/man1/perlpod.1\r
-#usr/share/man/man1/perlpodspec.1\r
-#usr/share/man/man1/perlport.1\r
-#usr/share/man/man1/perlqnx.1\r
-#usr/share/man/man1/perlre.1\r
-#usr/share/man/man1/perlref.1\r
-#usr/share/man/man1/perlreftut.1\r
-#usr/share/man/man1/perlrequick.1\r
-#usr/share/man/man1/perlretut.1\r
-#usr/share/man/man1/perlrun.1\r
-#usr/share/man/man1/perlsec.1\r
-#usr/share/man/man1/perlsolaris.1\r
-#usr/share/man/man1/perlstyle.1\r
-#usr/share/man/man1/perlsub.1\r
-#usr/share/man/man1/perlsyn.1\r
-#usr/share/man/man1/perlthrtut.1\r
-#usr/share/man/man1/perltie.1\r
-#usr/share/man/man1/perltoc.1\r
-#usr/share/man/man1/perltodo.1\r
-#usr/share/man/man1/perltooc.1\r
-#usr/share/man/man1/perltoot.1\r
-#usr/share/man/man1/perltrap.1\r
-#usr/share/man/man1/perltru64.1\r
-#usr/share/man/man1/perltw.1\r
-#usr/share/man/man1/perlunicode.1\r
-#usr/share/man/man1/perluniintro.1\r
-#usr/share/man/man1/perlutil.1\r
-#usr/share/man/man1/perluts.1\r
-#usr/share/man/man1/perlvar.1\r
-#usr/share/man/man1/perlvmesa.1\r
-#usr/share/man/man1/perlvms.1\r
-#usr/share/man/man1/perlvos.1\r
-#usr/share/man/man1/perlwin32.1\r
-#usr/share/man/man1/perlxs.1\r
-#usr/share/man/man1/perlxstut.1\r
-#usr/share/man/man1/piconv.1\r
-#usr/share/man/man1/pl2pm.1\r
-#usr/share/man/man1/pod2html.1\r
-#usr/share/man/man1/pod2latex.1\r
-#usr/share/man/man1/pod2man.1\r
-#usr/share/man/man1/pod2text.1\r
-#usr/share/man/man1/pod2usage.1\r
-#usr/share/man/man1/podchecker.1\r
-#usr/share/man/man1/podselect.1\r
-#usr/share/man/man1/psed.1\r
-#usr/share/man/man1/pstruct.1\r
-#usr/share/man/man1/s2p.1\r
-#usr/share/man/man1/splain.1\r
-#usr/share/man/man1/xsubpp.1\r
-#usr/share/man/man3/AnyDBM_File.3\r
-#usr/share/man/man3/Attribute::Handlers.3\r
-#usr/share/man/man3/Attribute::Handlers::demo::Demo.3\r
-#usr/share/man/man3/Attribute::Handlers::demo::Descriptions.3\r
-#usr/share/man/man3/Attribute::Handlers::demo::MyClass.3\r
-#usr/share/man/man3/AutoLoader.3\r
-#usr/share/man/man3/AutoSplit.3\r
-#usr/share/man/man3/B.3\r
-#usr/share/man/man3/B::Asmdata.3\r
-#usr/share/man/man3/B::Assembler.3\r
-#usr/share/man/man3/B::Bblock.3\r
-#usr/share/man/man3/B::Bytecode.3\r
-#usr/share/man/man3/B::C.3\r
-#usr/share/man/man3/B::CC.3\r
-#usr/share/man/man3/B::Concise.3\r
-#usr/share/man/man3/B::Debug.3\r
-#usr/share/man/man3/B::Deparse.3\r
-#usr/share/man/man3/B::Disassembler.3\r
-#usr/share/man/man3/B::Lint.3\r
-#usr/share/man/man3/B::Showlex.3\r
-#usr/share/man/man3/B::Stackobj.3\r
-#usr/share/man/man3/B::Stash.3\r
-#usr/share/man/man3/B::Terse.3\r
-#usr/share/man/man3/B::Xref.3\r
-#usr/share/man/man3/Benchmark.3\r
-#usr/share/man/man3/ByteLoader.3\r
-#usr/share/man/man3/CGI.3\r
-#usr/share/man/man3/CGI::Apache.3\r
-#usr/share/man/man3/CGI::Carp.3\r
-#usr/share/man/man3/CGI::Cookie.3\r
-#usr/share/man/man3/CGI::Fast.3\r
-#usr/share/man/man3/CGI::Pretty.3\r
-#usr/share/man/man3/CGI::Push.3\r
-#usr/share/man/man3/CGI::Switch.3\r
-#usr/share/man/man3/CGI::Util.3\r
-#usr/share/man/man3/CPAN.3\r
-#usr/share/man/man3/CPAN::FirstTime.3\r
-#usr/share/man/man3/CPAN::Nox.3\r
-#usr/share/man/man3/Carp.3\r
-#usr/share/man/man3/Carp::Heavy.3\r
-#usr/share/man/man3/Class::ISA.3\r
-#usr/share/man/man3/Class::Struct.3\r
-#usr/share/man/man3/Config.3\r
-#usr/share/man/man3/Cwd.3\r
-#usr/share/man/man3/DB.3\r
-#usr/share/man/man3/Data::Dumper.3\r
-#usr/share/man/man3/Devel::DProf.3\r
-#usr/share/man/man3/Devel::PPPort.3\r
-#usr/share/man/man3/Devel::Peek.3\r
-#usr/share/man/man3/Devel::SelfStubber.3\r
-#usr/share/man/man3/Digest.3\r
-#usr/share/man/man3/Digest::MD5.3\r
-#usr/share/man/man3/DirHandle.3\r
-#usr/share/man/man3/Dumpvalue.3\r
-#usr/share/man/man3/DynaLoader.3\r
-#usr/share/man/man3/Encode.3\r
-#usr/share/man/man3/Encode::Alias.3\r
-#usr/share/man/man3/Encode::Byte.3\r
-#usr/share/man/man3/Encode::CJKConstants.3\r
-#usr/share/man/man3/Encode::CN.3\r
-#usr/share/man/man3/Encode::CN::HZ.3\r
-#usr/share/man/man3/Encode::Config.3\r
-#usr/share/man/man3/Encode::EBCDIC.3\r
-#usr/share/man/man3/Encode::Encoder.3\r
-#usr/share/man/man3/Encode::Encoding.3\r
-#usr/share/man/man3/Encode::Guess.3\r
-#usr/share/man/man3/Encode::JP.3\r
-#usr/share/man/man3/Encode::JP::H2Z.3\r
-#usr/share/man/man3/Encode::JP::JIS7.3\r
-#usr/share/man/man3/Encode::KR.3\r
-#usr/share/man/man3/Encode::KR::2022_KR.3\r
-#usr/share/man/man3/Encode::MIME::Header.3\r
-#usr/share/man/man3/Encode::PerlIO.3\r
-#usr/share/man/man3/Encode::Supported.3\r
-#usr/share/man/man3/Encode::Symbol.3\r
-#usr/share/man/man3/Encode::TW.3\r
-#usr/share/man/man3/Encode::Unicode.3\r
-#usr/share/man/man3/English.3\r
-#usr/share/man/man3/Env.3\r
-#usr/share/man/man3/Errno.3\r
-#usr/share/man/man3/Exporter.3\r
-#usr/share/man/man3/Exporter::Heavy.3\r
-#usr/share/man/man3/ExtUtils::Command.3\r
-#usr/share/man/man3/ExtUtils::Command::MM.3\r
-#usr/share/man/man3/ExtUtils::Constant.3\r
-#usr/share/man/man3/ExtUtils::Embed.3\r
-#usr/share/man/man3/ExtUtils::Install.3\r
-#usr/share/man/man3/ExtUtils::Installed.3\r
-#usr/share/man/man3/ExtUtils::Liblist.3\r
-#usr/share/man/man3/ExtUtils::Liblist::Kid.3\r
-#usr/share/man/man3/ExtUtils::MM.3\r
-#usr/share/man/man3/ExtUtils::MM_Any.3\r
-#usr/share/man/man3/ExtUtils::MM_BeOS.3\r
-#usr/share/man/man3/ExtUtils::MM_Cygwin.3\r
-#usr/share/man/man3/ExtUtils::MM_DOS.3\r
-#usr/share/man/man3/ExtUtils::MM_MacOS.3\r
-#usr/share/man/man3/ExtUtils::MM_NW5.3\r
-#usr/share/man/man3/ExtUtils::MM_OS2.3\r
-#usr/share/man/man3/ExtUtils::MM_UWIN.3\r
-#usr/share/man/man3/ExtUtils::MM_Unix.3\r
-#usr/share/man/man3/ExtUtils::MM_VMS.3\r
-#usr/share/man/man3/ExtUtils::MM_Win32.3\r
-#usr/share/man/man3/ExtUtils::MM_Win95.3\r
-#usr/share/man/man3/ExtUtils::MY.3\r
-#usr/share/man/man3/ExtUtils::MakeMaker.3\r
-#usr/share/man/man3/ExtUtils::Manifest.3\r
-#usr/share/man/man3/ExtUtils::Miniperl.3\r
-#usr/share/man/man3/ExtUtils::Mkbootstrap.3\r
-#usr/share/man/man3/ExtUtils::Mksymlists.3\r
-#usr/share/man/man3/ExtUtils::Packlist.3\r
-#usr/share/man/man3/ExtUtils::testlib.3\r
-#usr/share/man/man3/Fatal.3\r
-#usr/share/man/man3/Fcntl.3\r
-#usr/share/man/man3/File::Basename.3\r
-#usr/share/man/man3/File::CheckTree.3\r
-#usr/share/man/man3/File::Compare.3\r
-#usr/share/man/man3/File::Copy.3\r
-#usr/share/man/man3/File::DosGlob.3\r
-#usr/share/man/man3/File::Find.3\r
-#usr/share/man/man3/File::Glob.3\r
-#usr/share/man/man3/File::Path.3\r
-#usr/share/man/man3/File::Spec.3\r
-#usr/share/man/man3/File::Spec::Cygwin.3\r
-#usr/share/man/man3/File::Spec::Epoc.3\r
-#usr/share/man/man3/File::Spec::Functions.3\r
-#usr/share/man/man3/File::Spec::Mac.3\r
-#usr/share/man/man3/File::Spec::OS2.3\r
-#usr/share/man/man3/File::Spec::Unix.3\r
-#usr/share/man/man3/File::Spec::VMS.3\r
-#usr/share/man/man3/File::Spec::Win32.3\r
-#usr/share/man/man3/File::Temp.3\r
-#usr/share/man/man3/File::stat.3\r
-#usr/share/man/man3/FileCache.3\r
-#usr/share/man/man3/FileHandle.3\r
-#usr/share/man/man3/Filter::Simple.3\r
-#usr/share/man/man3/Filter::Util::Call.3\r
-#usr/share/man/man3/FindBin.3\r
-#usr/share/man/man3/Getopt::Long.3\r
-#usr/share/man/man3/Getopt::Std.3\r
-#usr/share/man/man3/Hash::Util.3\r
-#usr/share/man/man3/I18N::Collate.3\r
-#usr/share/man/man3/I18N::LangTags.3\r
-#usr/share/man/man3/I18N::LangTags::List.3\r
-#usr/share/man/man3/I18N::Langinfo.3\r
-#usr/share/man/man3/IO.3\r
-#usr/share/man/man3/IO::Dir.3\r
-#usr/share/man/man3/IO::File.3\r
-#usr/share/man/man3/IO::Handle.3\r
-#usr/share/man/man3/IO::Pipe.3\r
-#usr/share/man/man3/IO::Poll.3\r
-#usr/share/man/man3/IO::Seekable.3\r
-#usr/share/man/man3/IO::Select.3\r
-#usr/share/man/man3/IO::Socket.3\r
-#usr/share/man/man3/IO::Socket::INET.3\r
-#usr/share/man/man3/IO::Socket::UNIX.3\r
-#usr/share/man/man3/IPC::Msg.3\r
-#usr/share/man/man3/IPC::Open2.3\r
-#usr/share/man/man3/IPC::Open3.3\r
-#usr/share/man/man3/IPC::Semaphore.3\r
-#usr/share/man/man3/IPC::SysV.3\r
-#usr/share/man/man3/List::Util.3\r
-#usr/share/man/man3/Locale::Constants.3\r
-#usr/share/man/man3/Locale::Country.3\r
-#usr/share/man/man3/Locale::Currency.3\r
-#usr/share/man/man3/Locale::Language.3\r
-#usr/share/man/man3/Locale::Maketext.3\r
-#usr/share/man/man3/Locale::Maketext::TPJ13.3\r
-#usr/share/man/man3/Locale::Script.3\r
-#usr/share/man/man3/MIME::Base64.3\r
-#usr/share/man/man3/MIME::QuotedPrint.3\r
-#usr/share/man/man3/Math::BigFloat.3\r
-#usr/share/man/man3/Math::BigFloat::Trace.3\r
-#usr/share/man/man3/Math::BigInt.3\r
-#usr/share/man/man3/Math::BigInt::Calc.3\r
-#usr/share/man/man3/Math::BigInt::Trace.3\r
-#usr/share/man/man3/Math::BigRat.3\r
-#usr/share/man/man3/Math::Complex.3\r
-#usr/share/man/man3/Math::Trig.3\r
-#usr/share/man/man3/Memoize.3\r
-#usr/share/man/man3/Memoize::AnyDBM_File.3\r
-#usr/share/man/man3/Memoize::Expire.3\r
-#usr/share/man/man3/Memoize::ExpireFile.3\r
-#usr/share/man/man3/Memoize::ExpireTest.3\r
-#usr/share/man/man3/Memoize::NDBM_File.3\r
-#usr/share/man/man3/Memoize::SDBM_File.3\r
-#usr/share/man/man3/Memoize::Storable.3\r
-#usr/share/man/man3/NEXT.3\r
-#usr/share/man/man3/Net::Cmd.3\r
-#usr/share/man/man3/Net::Config.3\r
-#usr/share/man/man3/Net::Domain.3\r
-#usr/share/man/man3/Net::FTP.3\r
-#usr/share/man/man3/Net::FTP::A.3\r
-#usr/share/man/man3/Net::FTP::E.3\r
-#usr/share/man/man3/Net::FTP::I.3\r
-#usr/share/man/man3/Net::FTP::L.3\r
-#usr/share/man/man3/Net::FTP::dataconn.3\r
-#usr/share/man/man3/Net::NNTP.3\r
-#usr/share/man/man3/Net::Netrc.3\r
-#usr/share/man/man3/Net::POP3.3\r
-#usr/share/man/man3/Net::Ping.3\r
-#usr/share/man/man3/Net::SMTP.3\r
-#usr/share/man/man3/Net::Time.3\r
-#usr/share/man/man3/Net::hostent.3\r
-#usr/share/man/man3/Net::libnetFAQ.3\r
-#usr/share/man/man3/Net::netent.3\r
-#usr/share/man/man3/Net::protoent.3\r
-#usr/share/man/man3/Net::servent.3\r
-#usr/share/man/man3/O.3\r
-#usr/share/man/man3/Opcode.3\r
-#usr/share/man/man3/POSIX.3\r
-#usr/share/man/man3/PerlIO.3\r
-#usr/share/man/man3/PerlIO::encoding.3\r
-#usr/share/man/man3/PerlIO::scalar.3\r
-#usr/share/man/man3/PerlIO::via.3\r
-#usr/share/man/man3/PerlIO::via::QuotedPrint.3\r
-#usr/share/man/man3/Pod::Checker.3\r
-#usr/share/man/man3/Pod::Find.3\r
-#usr/share/man/man3/Pod::Html.3\r
-#usr/share/man/man3/Pod::InputObjects.3\r
-#usr/share/man/man3/Pod::LaTeX.3\r
-#usr/share/man/man3/Pod::Man.3\r
-#usr/share/man/man3/Pod::ParseLink.3\r
-#usr/share/man/man3/Pod::ParseUtils.3\r
-#usr/share/man/man3/Pod::Parser.3\r
-#usr/share/man/man3/Pod::Plainer.3\r
-#usr/share/man/man3/Pod::Select.3\r
-#usr/share/man/man3/Pod::Text.3\r
-#usr/share/man/man3/Pod::Text::Color.3\r
-#usr/share/man/man3/Pod::Text::Overstrike.3\r
-#usr/share/man/man3/Pod::Text::Termcap.3\r
-#usr/share/man/man3/Pod::Usage.3\r
-#usr/share/man/man3/SDBM_File.3\r
-#usr/share/man/man3/Safe.3\r
-#usr/share/man/man3/Scalar::Util.3\r
-#usr/share/man/man3/Search::Dict.3\r
-#usr/share/man/man3/SelectSaver.3\r
-#usr/share/man/man3/SelfLoader.3\r
-#usr/share/man/man3/Shell.3\r
-#usr/share/man/man3/Socket.3\r
-#usr/share/man/man3/Storable.3\r
-#usr/share/man/man3/Switch.3\r
-#usr/share/man/man3/Symbol.3\r
-#usr/share/man/man3/Sys::Hostname.3\r
-#usr/share/man/man3/Sys::Syslog.3\r
-#usr/share/man/man3/Term::ANSIColor.3\r
-#usr/share/man/man3/Term::Cap.3\r
-#usr/share/man/man3/Term::Complete.3\r
-#usr/share/man/man3/Term::ReadLine.3\r
-#usr/share/man/man3/Test.3\r
-#usr/share/man/man3/Test::Builder.3\r
-#usr/share/man/man3/Test::Harness.3\r
-#usr/share/man/man3/Test::Harness::Assert.3\r
-#usr/share/man/man3/Test::Harness::Iterator.3\r
-#usr/share/man/man3/Test::Harness::Straps.3\r
-#usr/share/man/man3/Test::More.3\r
-#usr/share/man/man3/Test::Simple.3\r
-#usr/share/man/man3/Test::Tutorial.3\r
-#usr/share/man/man3/Text::Abbrev.3\r
-#usr/share/man/man3/Text::Balanced.3\r
-#usr/share/man/man3/Text::ParseWords.3\r
-#usr/share/man/man3/Text::Soundex.3\r
-#usr/share/man/man3/Text::Tabs.3\r
-#usr/share/man/man3/Text::Wrap.3\r
-#usr/share/man/man3/Thread.3\r
-#usr/share/man/man3/Thread::Queue.3\r
-#usr/share/man/man3/Thread::Semaphore.3\r
-#usr/share/man/man3/Tie::Array.3\r
-#usr/share/man/man3/Tie::File.3\r
-#usr/share/man/man3/Tie::Handle.3\r
-#usr/share/man/man3/Tie::Hash.3\r
-#usr/share/man/man3/Tie::Memoize.3\r
-#usr/share/man/man3/Tie::RefHash.3\r
-#usr/share/man/man3/Tie::Scalar.3\r
-#usr/share/man/man3/Tie::SubstrHash.3\r
-#usr/share/man/man3/Time::HiRes.3\r
-#usr/share/man/man3/Time::Local.3\r
-#usr/share/man/man3/Time::gmtime.3\r
-#usr/share/man/man3/Time::localtime.3\r
-#usr/share/man/man3/Time::tm.3\r
-#usr/share/man/man3/UNIVERSAL.3\r
-#usr/share/man/man3/Unicode::Collate.3\r
-#usr/share/man/man3/Unicode::Normalize.3\r
-#usr/share/man/man3/Unicode::UCD.3\r
-#usr/share/man/man3/User::grent.3\r
-#usr/share/man/man3/User::pwent.3\r
-#usr/share/man/man3/Win32.3\r
-#usr/share/man/man3/XS::APItest.3\r
-#usr/share/man/man3/XS::Typemap.3\r
-#usr/share/man/man3/XSLoader.3\r
-#usr/share/man/man3/attributes.3\r
-#usr/share/man/man3/attrs.3\r
-#usr/share/man/man3/autouse.3\r
-#usr/share/man/man3/base.3\r
-#usr/share/man/man3/bigint.3\r
-#usr/share/man/man3/bignum.3\r
-#usr/share/man/man3/bigrat.3\r
-#usr/share/man/man3/blib.3\r
-#usr/share/man/man3/bytes.3\r
-#usr/share/man/man3/charnames.3\r
-#usr/share/man/man3/constant.3\r
-#usr/share/man/man3/diagnostics.3\r
-#usr/share/man/man3/encoding.3\r
-#usr/share/man/man3/fields.3\r
-#usr/share/man/man3/filetest.3\r
-#usr/share/man/man3/if.3\r
-#usr/share/man/man3/integer.3\r
-#usr/share/man/man3/less.3\r
-#usr/share/man/man3/lib.3\r
-#usr/share/man/man3/locale.3\r
-#usr/share/man/man3/open.3\r
-#usr/share/man/man3/ops.3\r
-#usr/share/man/man3/overload.3\r
-#usr/share/man/man3/re.3\r
-#usr/share/man/man3/sigtrap.3\r
-#usr/share/man/man3/sort.3\r
-#usr/share/man/man3/strict.3\r
-#usr/share/man/man3/subs.3\r
-#usr/share/man/man3/threads.3\r
-#usr/share/man/man3/threads::shared.3\r
-#usr/share/man/man3/utf8.3\r
-#usr/share/man/man3/vars.3\r
-#usr/share/man/man3/vmsish.3\r
-#usr/share/man/man3/warnings.3\r
-#usr/share/man/man3/warnings::register.3\r
-##\r
-## texinfo-4.7\r
-##\r
-#usr/bin/info\r
-#usr/bin/infokey\r
-#usr/bin/install-info\r
-#usr/bin/makeinfo\r
-#usr/bin/texi2dvi\r
-#usr/bin/texindex\r
-#usr/share/info/info-stnd.info\r
-#usr/share/info/info.info\r
-#usr/share/info/texinfo\r
-#usr/share/info/texinfo-1\r
-#usr/share/info/texinfo-2\r
-#usr/share/info/texinfo-3\r
-#usr/share/man/man1/info.1\r
-#usr/share/man/man1/install-info.1\r
-#usr/share/man/man1/makeinfo.1\r
-#usr/share/man/man1/texi2dvi.1\r
-#usr/share/man/man1/texindex.1\r
-#usr/share/man/man5/info.5\r
-#usr/share/man/man5/texinfo.5\r
-#usr/share/texinfo\r
-#usr/share/texinfo/texinfo.dtd\r
-#usr/share/texinfo/texinfo.xsl\r
-##\r
-## autoconf-2.59\r
-##\r
-#usr/bin/autoconf\r
-#usr/bin/autoheader\r
-#usr/bin/autom4te\r
-#usr/bin/autoreconf\r
-#usr/bin/autoscan\r
-#usr/bin/autoupdate\r
-#usr/bin/ifnames\r
-#usr/share/autoconf\r
-#usr/share/autoconf/Autom4te\r
-#usr/share/autoconf/Autom4te/General.pm\r
-#usr/share/autoconf/Autom4te/Struct.pm\r
-#usr/share/autoconf/Autom4te/XFile.pm\r
-#usr/share/autoconf/INSTALL\r
-#usr/share/autoconf/autoconf\r
-#usr/share/autoconf/autoconf/autoconf.m4\r
-#usr/share/autoconf/autoconf/autoconf.m4f\r
-#usr/share/autoconf/autoconf/autoheader.m4\r
-#usr/share/autoconf/autoconf/autoscan.m4\r
-#usr/share/autoconf/autoconf/autotest.m4\r
-#usr/share/autoconf/autoconf/autoupdate.m4\r
-#usr/share/autoconf/autoconf/c.m4\r
-#usr/share/autoconf/autoconf/fortran.m4\r
-#usr/share/autoconf/autoconf/functions.m4\r
-#usr/share/autoconf/autoconf/general.m4\r
-#usr/share/autoconf/autoconf/headers.m4\r
-#usr/share/autoconf/autoconf/lang.m4\r
-#usr/share/autoconf/autoconf/libs.m4\r
-#usr/share/autoconf/autoconf/oldnames.m4\r
-#usr/share/autoconf/autoconf/programs.m4\r
-#usr/share/autoconf/autoconf/specific.m4\r
-#usr/share/autoconf/autoconf/status.m4\r
-#usr/share/autoconf/autoconf/types.m4\r
-#usr/share/autoconf/autom4te.cfg\r
-#usr/share/autoconf/autoscan\r
-#usr/share/autoconf/autoscan/autoscan.list\r
-#usr/share/autoconf/autotest\r
-#usr/share/autoconf/autotest/autotest.m4\r
-#usr/share/autoconf/autotest/autotest.m4f\r
-#usr/share/autoconf/autotest/general.m4\r
-#usr/share/autoconf/m4sugar\r
-#usr/share/autoconf/m4sugar/m4sh.m4\r
-#usr/share/autoconf/m4sugar/m4sh.m4f\r
-#usr/share/autoconf/m4sugar/m4sugar.m4\r
-#usr/share/autoconf/m4sugar/m4sugar.m4f\r
-#usr/share/autoconf/m4sugar/version.m4\r
-#usr/share/info/autoconf.info\r
-#usr/share/man/man1/autoconf.1\r
-#usr/share/man/man1/autoheader.1\r
-#usr/share/man/man1/autom4te.1\r
-#usr/share/man/man1/autoreconf.1\r
-#usr/share/man/man1/autoscan.1\r
-#usr/share/man/man1/autoupdate.1\r
-#usr/share/man/man1/config.guess.1\r
-#usr/share/man/man1/config.sub.1\r
-#usr/share/man/man1/ifnames.1\r
-##\r
-## automake-1.8.4\r
-##\r
-#usr/bin/aclocal\r
-#usr/bin/aclocal-1.8\r
-#usr/bin/automake\r
-#usr/bin/automake-1.8\r
-#usr/share/aclocal-1.8\r
-#usr/share/aclocal-1.8/amversion.m4\r
-#usr/share/aclocal-1.8/as.m4\r
-#usr/share/aclocal-1.8/auxdir.m4\r
-#usr/share/aclocal-1.8/ccstdc.m4\r
-#usr/share/aclocal-1.8/cond.m4\r
-#usr/share/aclocal-1.8/depend.m4\r
-#usr/share/aclocal-1.8/depout.m4\r
-#usr/share/aclocal-1.8/dmalloc.m4\r
-#usr/share/aclocal-1.8/gcj.m4\r
-#usr/share/aclocal-1.8/header.m4\r
-#usr/share/aclocal-1.8/init.m4\r
-#usr/share/aclocal-1.8/install-sh.m4\r
-#usr/share/aclocal-1.8/lead-dot.m4\r
-#usr/share/aclocal-1.8/lex.m4\r
-#usr/share/aclocal-1.8/lispdir.m4\r
-#usr/share/aclocal-1.8/maintainer.m4\r
-#usr/share/aclocal-1.8/make.m4\r
-#usr/share/aclocal-1.8/minuso.m4\r
-#usr/share/aclocal-1.8/missing.m4\r
-#usr/share/aclocal-1.8/multi.m4\r
-#usr/share/aclocal-1.8/obsol-gt.m4\r
-#usr/share/aclocal-1.8/obsol-lt.m4\r
-#usr/share/aclocal-1.8/obsolete.m4\r
-#usr/share/aclocal-1.8/options.m4\r
-#usr/share/aclocal-1.8/protos.m4\r
-#usr/share/aclocal-1.8/python.m4\r
-#usr/share/aclocal-1.8/regex.m4\r
-#usr/share/aclocal-1.8/runlog.m4\r
-#usr/share/aclocal-1.8/sanity.m4\r
-#usr/share/aclocal-1.8/strip.m4\r
-#usr/share/automake\r
-#usr/share/automake-1.8\r
-#usr/share/automake-1.8/Automake\r
-#usr/share/automake-1.8/Automake/Channels.pm\r
-#usr/share/automake-1.8/Automake/General.pm\r
-#usr/share/automake-1.8/Automake/Struct.pm\r
-#usr/share/automake-1.8/Automake/XFile.pm\r
-#usr/share/automake-1.8/COPYING\r
-#usr/share/automake-1.8/INSTALL\r
-#usr/share/automake-1.8/acinstall\r
-#usr/share/automake-1.8/am\r
-#usr/share/automake-1.8/am/ansi2knr.am\r
-#usr/share/automake-1.8/am/check.am\r
-#usr/share/automake-1.8/am/clean-hdr.am\r
-#usr/share/automake-1.8/am/clean.am\r
-#usr/share/automake-1.8/am/compile.am\r
-#usr/share/automake-1.8/am/configure.am\r
-#usr/share/automake-1.8/am/data.am\r
-#usr/share/automake-1.8/am/dejagnu.am\r
-#usr/share/automake-1.8/am/depend.am\r
-#usr/share/automake-1.8/am/depend2.am\r
-#usr/share/automake-1.8/am/distdir.am\r
-#usr/share/automake-1.8/am/footer.am\r
-#usr/share/automake-1.8/am/header-vars.am\r
-#usr/share/automake-1.8/am/header.am\r
-#usr/share/automake-1.8/am/install.am\r
-#usr/share/automake-1.8/am/java.am\r
-#usr/share/automake-1.8/am/lang-compile.am\r
-#usr/share/automake-1.8/am/lex.am\r
-#usr/share/automake-1.8/am/library.am\r
-#usr/share/automake-1.8/am/libs.am\r
-#usr/share/automake-1.8/am/libtool.am\r
-#usr/share/automake-1.8/am/lisp.am\r
-#usr/share/automake-1.8/am/ltlib.am\r
-#usr/share/automake-1.8/am/ltlibrary.am\r
-#usr/share/automake-1.8/am/mans-vars.am\r
-#usr/share/automake-1.8/am/mans.am\r
-#usr/share/automake-1.8/am/multilib.am\r
-#usr/share/automake-1.8/am/program.am\r
-#usr/share/automake-1.8/am/progs.am\r
-#usr/share/automake-1.8/am/python.am\r
-#usr/share/automake-1.8/am/remake-hdr.am\r
-#usr/share/automake-1.8/am/scripts.am\r
-#usr/share/automake-1.8/am/subdirs.am\r
-#usr/share/automake-1.8/am/tags.am\r
-#usr/share/automake-1.8/am/texi-vers.am\r
-#usr/share/automake-1.8/am/texibuild.am\r
-#usr/share/automake-1.8/am/texinfos.am\r
-#usr/share/automake-1.8/am/yacc.am\r
-#usr/share/automake-1.8/ansi2knr.1\r
-#usr/share/automake-1.8/ansi2knr.c\r
-#usr/share/automake-1.8/compile\r
-#usr/share/automake-1.8/config.guess\r
-#usr/share/automake-1.8/config.sub\r
-#usr/share/automake-1.8/depcomp\r
-#usr/share/automake-1.8/elisp-comp\r
-#usr/share/automake-1.8/install-sh\r
-#usr/share/automake-1.8/mdate-sh\r
-#usr/share/automake-1.8/missing\r
-#usr/share/automake-1.8/mkinstalldirs\r
-#usr/share/automake-1.8/py-compile\r
-#usr/share/automake-1.8/texinfo.tex\r
-#usr/share/automake-1.8/ylwrap\r
-#usr/share/info/automake.info\r
-##\r
-## bash-2.05b\r
-##\r
-bin/sh\r
-bin/bash\r
-#bin/bashbug\r
-#usr/share/info/bash.info\r
-#usr/share/man/man1/bash.1\r
-#usr/share/man/man1/bashbug.1\r
-##\r
-## file-4.16\r
-##\r
-#usr/bin/file\r
-#usr/include/magic.h\r
-#usr/lib/libmagic.a\r
-#usr/lib/libmagic.la\r
-#usr/lib/libmagic.so\r
-#usr/lib/libmagic.so.1\r
-#usr/lib/libmagic.so.1.0.0\r
-#usr/share/file\r
-#usr/share/file/magic\r
-#usr/share/file/magic.mgc\r
-#usr/share/file/magic.mime\r
-#usr/share/file/magic.mime.mgc\r
-#usr/share/man/man1/file.1\r
-#usr/share/man/man3/libmagic.3\r
-#usr/share/man/man4/magic.4\r
-##\r
-## libtool-1.5.6\r
-##\r
-#usr/bin/libtool\r
-#usr/bin/libtoolize\r
-#usr/include/ltdl.h\r
-#usr/lib/libltdl.a\r
-#usr/lib/libltdl.la\r
-#usr/lib/libltdl.so\r
-#usr/lib/libltdl.so.3\r
-#usr/lib/libltdl.so.3.1.0\r
-#usr/share/aclocal/libtool.m4\r
-#usr/share/aclocal/ltdl.m4\r
-#usr/share/info/libtool.info\r
-#usr/share/info/libtool.info-1\r
-#usr/share/info/libtool.info-2\r
-#usr/share/info/libtool.info-3\r
-#usr/share/info/libtool.info-4\r
-#usr/share/info/libtool.info-5\r
-#usr/share/libtool\r
-#usr/share/libtool/config.guess\r
-#usr/share/libtool/config.sub\r
-#usr/share/libtool/libltdl\r
-#usr/share/libtool/libltdl/COPYING.LIB\r
-#usr/share/libtool/libltdl/Makefile.am\r
-#usr/share/libtool/libltdl/Makefile.in\r
-#usr/share/libtool/libltdl/README\r
-#usr/share/libtool/libltdl/acinclude.m4\r
-#usr/share/libtool/libltdl/aclocal.m4\r
-#usr/share/libtool/libltdl/config-h.in\r
-#usr/share/libtool/libltdl/config.guess\r
-#usr/share/libtool/libltdl/config.sub\r
-#usr/share/libtool/libltdl/configure\r
-#usr/share/libtool/libltdl/configure.ac\r
-#usr/share/libtool/libltdl/install-sh\r
-#usr/share/libtool/libltdl/ltdl.c\r
-#usr/share/libtool/libltdl/ltdl.h\r
-#usr/share/libtool/libltdl/ltmain.sh\r
-#usr/share/libtool/libltdl/missing\r
-#usr/share/libtool/libltdl/mkinstalldirs\r
-#usr/share/libtool/ltmain.sh\r
-##\r
-## bzip2-1.0.3\r
-##\r
-bin/bunzip2\r
-bin/bzcat\r
-bin/bzip2\r
-#bin/bzip2recover\r
-#bin/bzless\r
-#bin/bzmore\r
-lib/libbz2.so.1.0\r
-lib/libbz2.so.1.0.3\r
-#usr/bin/bzcmp\r
-#usr/bin/bzdiff\r
-#usr/bin/bzegrep\r
-#usr/bin/bzfgrep\r
-#usr/bin/bzgrep\r
-#usr/include/bzlib.h\r
-#usr/lib/libbz2.a\r
-usr/lib/libbz2.so\r
-#usr/share/man/man1/bzcmp.1\r
-#usr/share/man/man1/bzdiff.1\r
-#usr/share/man/man1/bzegrep.1\r
-#usr/share/man/man1/bzfgrep.1\r
-#usr/share/man/man1/bzgrep.1\r
-#usr/share/man/man1/bzip2.1\r
-#usr/share/man/man1/bzless.1\r
-#usr/share/man/man1/bzmore.1\r
-##\r
-## diffutils-2.8.1\r
-##\r
-usr/bin/cmp\r
-usr/bin/diff\r
-#usr/bin/diff3\r
-#usr/bin/sdiff\r
-#usr/share/info/diff.info\r
-#usr/share/man/man1/cmp.1\r
-#usr/share/man/man1/diff3.1\r
-#usr/share/man/man1/sdiff.1\r
-##\r
-## ed-0.2\r
-##\r
-#bin/ed\r
-#bin/red\r
-#usr/share/info/ed.info\r
-#usr/share/man/man1/ed.1\r
-#usr/share/man/man1/red.1\r
-##\r
-## kbd-1.12\r
-##\r
-bin/loadkeys\r
-usr/bin/chvt\r
-usr/bin/deallocvt\r
-usr/bin/dumpkeys\r
-usr/bin/fgconsole\r
-usr/bin/getkeycodes\r
-usr/bin/getunimap\r
-usr/bin/kbd_mode\r
-#usr/bin/kbdrate\r
-usr/bin/loadunimap\r
-#usr/bin/mapscrn\r
-#usr/bin/openvt\r
-#usr/bin/psfaddtable\r
-#usr/bin/psfgettable\r
-#usr/bin/psfstriptable\r
-#usr/bin/psfxtable\r
-#usr/bin/resizecons\r
-usr/bin/setfont\r
-usr/bin/setkeycodes\r
-usr/bin/setleds\r
-usr/bin/setlogcons\r
-usr/bin/setmetamode\r
-#usr/bin/setvesablank\r
-usr/bin/showconsolefont\r
-usr/bin/showkey\r
-usr/bin/unicode_start\r
-usr/bin/unicode_stop\r
-#usr/share/kbd\r
-#usr/share/kbd/consolefonts\r
-#usr/share/kbd/consolefonts/161.cp.gz\r
-#usr/share/kbd/consolefonts/162.cp.gz\r
-#usr/share/kbd/consolefonts/163.cp.gz\r
-#usr/share/kbd/consolefonts/164.cp.gz\r
-#usr/share/kbd/consolefonts/165.cp.gz\r
-#usr/share/kbd/consolefonts/737.cp.gz\r
-#usr/share/kbd/consolefonts/880.cp.gz\r
-#usr/share/kbd/consolefonts/928.cp.gz\r
-#usr/share/kbd/consolefonts/972.cp.gz\r
-#usr/share/kbd/consolefonts/Agafari-12.psfu.gz\r
-#usr/share/kbd/consolefonts/Agafari-14.psfu.gz\r
-#usr/share/kbd/consolefonts/Agafari-16.psfu.gz\r
-#usr/share/kbd/consolefonts/Cyr_a8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/Cyr_a8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/Cyr_a8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/ERRORS.gz\r
-#usr/share/kbd/consolefonts/Goha-12.psfu.gz\r
-#usr/share/kbd/consolefonts/Goha-14.psfu.gz\r
-#usr/share/kbd/consolefonts/Goha-16.psfu.gz\r
-#usr/share/kbd/consolefonts/GohaClassic-12.psfu.gz\r
-#usr/share/kbd/consolefonts/GohaClassic-14.psfu.gz\r
-#usr/share/kbd/consolefonts/GohaClassic-16.psfu.gz\r
-#usr/share/kbd/consolefonts/LatArCyrHeb-08.psfu.gz\r
-#usr/share/kbd/consolefonts/LatArCyrHeb-14.psfu.gz\r
-#usr/share/kbd/consolefonts/LatArCyrHeb-16+.psfu.gz\r
-#usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz\r
-#usr/share/kbd/consolefonts/LatArCyrHeb-19.psfu.gz\r
-#usr/share/kbd/consolefonts/Mik_8x16.gz\r
-#usr/share/kbd/consolefonts/README.12x22\r
-#usr/share/kbd/consolefonts/README.Arabic\r
-#usr/share/kbd/consolefonts/README.Cyrillic\r
-#usr/share/kbd/consolefonts/README.Ethiopic\r
-#usr/share/kbd/consolefonts/README.Greek\r
-#usr/share/kbd/consolefonts/README.Hebrew\r
-#usr/share/kbd/consolefonts/README.cp1250\r
-#usr/share/kbd/consolefonts/README.cybercafe\r
-#usr/share/kbd/consolefonts/README.drdos\r
-#usr/share/kbd/consolefonts/README.lat0\r
-#usr/share/kbd/consolefonts/README.lat7\r
-#usr/share/kbd/consolefonts/README.lat9\r
-#usr/share/kbd/consolefonts/README.psfu\r
-#usr/share/kbd/consolefonts/alt-8x14.gz\r
-#usr/share/kbd/consolefonts/alt-8x16.gz\r
-#usr/share/kbd/consolefonts/alt-8x8.gz\r
-#usr/share/kbd/consolefonts/altc-8x16.gz\r
-#usr/share/kbd/consolefonts/aply16.psf.gz\r
-#usr/share/kbd/consolefonts/arm8.fnt.gz\r
-#usr/share/kbd/consolefonts/cp1250.psfu.gz\r
-#usr/share/kbd/consolefonts/cp850-8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/cp850-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/cp850-8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/cp857.08.gz\r
-#usr/share/kbd/consolefonts/cp857.14.gz\r
-#usr/share/kbd/consolefonts/cp857.16.gz\r
-#usr/share/kbd/consolefonts/cp865-8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/cp865-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/cp865-8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/cp866-8x14.psf.gz\r
-#usr/share/kbd/consolefonts/cp866-8x16.psf.gz\r
-#usr/share/kbd/consolefonts/cp866-8x8.psf.gz\r
-#usr/share/kbd/consolefonts/cybercafe.fnt.gz\r
-#usr/share/kbd/consolefonts/cyr-sun16.psfu.gz\r
-#usr/share/kbd/consolefonts/default8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/default8x9.psfu.gz\r
-#usr/share/kbd/consolefonts/drdos8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/drdos8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/drdos8x6.psfu.gz\r
-#usr/share/kbd/consolefonts/drdos8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737a-8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737a-9x14.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737a-9x16.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737b-8x11.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737c-8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737c-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737c-8x6.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737c-8x7.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737c-8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/gr737d-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928-8x16-thin.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928-9x14.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928-9x16.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928a-8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928a-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928b-8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/gr928b-8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/iso01-12x22.psfu.gz\r
-#usr/share/kbd/consolefonts/iso01.08.gz\r
-#usr/share/kbd/consolefonts/iso01.14.gz\r
-#usr/share/kbd/consolefonts/iso01.16.gz\r
-#usr/share/kbd/consolefonts/iso02-12x22.psfu.gz\r
-#usr/share/kbd/consolefonts/iso02.08.gz\r
-#usr/share/kbd/consolefonts/iso02.14.gz\r
-#usr/share/kbd/consolefonts/iso02.16.gz\r
-#usr/share/kbd/consolefonts/iso03.08.gz\r
-#usr/share/kbd/consolefonts/iso03.14.gz\r
-#usr/share/kbd/consolefonts/iso03.16.gz\r
-#usr/share/kbd/consolefonts/iso04.08.gz\r
-#usr/share/kbd/consolefonts/iso04.14.gz\r
-#usr/share/kbd/consolefonts/iso04.16.gz\r
-#usr/share/kbd/consolefonts/iso05.08.gz\r
-#usr/share/kbd/consolefonts/iso05.14.gz\r
-#usr/share/kbd/consolefonts/iso05.16.gz\r
-#usr/share/kbd/consolefonts/iso06.08.gz\r
-#usr/share/kbd/consolefonts/iso06.14.gz\r
-#usr/share/kbd/consolefonts/iso06.16.gz\r
-#usr/share/kbd/consolefonts/iso07.14.gz\r
-#usr/share/kbd/consolefonts/iso07.16.gz\r
-usr/share/kbd/consolefonts/iso07u-16.psfu.gz\r
-#usr/share/kbd/consolefonts/iso08.08.gz\r
-#usr/share/kbd/consolefonts/iso08.14.gz\r
-#usr/share/kbd/consolefonts/iso08.16.gz\r
-#usr/share/kbd/consolefonts/iso09.08.gz\r
-#usr/share/kbd/consolefonts/iso09.14.gz\r
-#usr/share/kbd/consolefonts/iso09.16.gz\r
-#usr/share/kbd/consolefonts/iso10.08.gz\r
-#usr/share/kbd/consolefonts/iso10.14.gz\r
-#usr/share/kbd/consolefonts/iso10.16.gz\r
-#usr/share/kbd/consolefonts/koi8-14.psf.gz\r
-#usr/share/kbd/consolefonts/koi8c-8x16.gz\r
-#usr/share/kbd/consolefonts/koi8r-8x14.gz\r
-#usr/share/kbd/consolefonts/koi8r-8x16.gz\r
-#usr/share/kbd/consolefonts/koi8r-8x8.gz\r
-#usr/share/kbd/consolefonts/koi8r.8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/koi8u_8x14.psfu.gz\r
-#usr/share/kbd/consolefonts/koi8u_8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/koi8u_8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/lat0-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat0-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat0-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat0-14.psfu.gz\r
-usr/share/kbd/consolefonts/lat0-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat1-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat1-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat1-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat1-14.psfu.gz\r
-usr/share/kbd/consolefonts/lat1-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat2-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat2-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat2-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat2-14.psfu.gz\r
-usr/share/kbd/consolefonts/lat2-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat2a-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-16+.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4-19.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-16+.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat4a-19.psfu.gz\r
-#usr/share/kbd/consolefonts/lat5-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat5-14.psfu.gz\r
-usr/share/kbd/consolefonts/lat5-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat7-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat7a-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat7a-16.psf.gz\r
-#usr/share/kbd/consolefonts/lat9-08.psf.gz\r
-#usr/share/kbd/consolefonts/lat9-10.psf.gz\r
-#usr/share/kbd/consolefonts/lat9-12.psf.gz\r
-#usr/share/kbd/consolefonts/lat9-14.psf.gz\r
-#usr/share/kbd/consolefonts/lat9-16.psf.gz\r
-#usr/share/kbd/consolefonts/lat9u-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9u-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9u-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9u-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9u-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9v-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9v-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9v-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9v-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9v-16.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9w-08.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9w-10.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9w-12.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9w-14.psfu.gz\r
-#usr/share/kbd/consolefonts/lat9w-16.psfu.gz\r
-#usr/share/kbd/consolefonts/partialfonts\r
-#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.16.gz\r
-#usr/share/kbd/consolefonts/partialfonts/none.00-17.08.gz\r
-#usr/share/kbd/consolefonts/partialfonts/none.00-17.14.gz\r
-#usr/share/kbd/consolefonts/partialfonts/none.00-17.16.gz\r
-#usr/share/kbd/consolefonts/ruscii_8x16.psfu.gz\r
-#usr/share/kbd/consolefonts/ruscii_8x8.psfu.gz\r
-#usr/share/kbd/consolefonts/sun12x22.psfu.gz\r
-#usr/share/kbd/consolefonts/t.fnt.gz\r
-#usr/share/kbd/consolefonts/t850b.fnt.gz\r
-#usr/share/kbd/consolefonts/tcvn8x16.psf.gz\r
-usr/share/kbd/consolefonts/viscii10-8x16.psfu.gz\r
-#usr/share/kbd/consoletrans\r
-#usr/share/kbd/consoletrans/8859-10_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-13_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-14_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-15_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-1_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-2_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-3_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-4_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-5_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-6_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-7_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-8_to_uni.trans\r
-#usr/share/kbd/consoletrans/8859-9_to_uni.trans\r
-#usr/share/kbd/consoletrans/baltic.trans\r
-#usr/share/kbd/consoletrans/cp1250_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp1251_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp437_to_iso01.trans\r
-#usr/share/kbd/consoletrans/cp437_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp737_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp775_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp850_to_iso01.trans\r
-#usr/share/kbd/consoletrans/cp850_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp852_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp853_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp855_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp857_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp860_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp861_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp862_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp863_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp864_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp865_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp866_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp869_to_uni.trans\r
-#usr/share/kbd/consoletrans/cp874_to_uni.trans\r
-#usr/share/kbd/consoletrans/iso02_to_cp1250.trans\r
-#usr/share/kbd/consoletrans/koi2alt\r
-#usr/share/kbd/consoletrans/koi8-r_to_uni.trans\r
-#usr/share/kbd/consoletrans/koi8-u_to_uni.trans\r
-#usr/share/kbd/consoletrans/koi8u2ruscii\r
-#usr/share/kbd/consoletrans/latin2u.trans\r
-#usr/share/kbd/consoletrans/null\r
-#usr/share/kbd/consoletrans/space\r
-#usr/share/kbd/consoletrans/trivial\r
-#usr/share/kbd/consoletrans/utflist\r
-#usr/share/kbd/consoletrans/vga2iso\r
-#usr/share/kbd/consoletrans/viscii1.0_to_tcvn.trans\r
-#usr/share/kbd/consoletrans/viscii1.0_to_viscii1.1.trans\r
-#usr/share/kbd/consoletrans/zero\r
-#usr/share/kbd/keymaps\r
-#usr/share/kbd/keymaps/amiga\r
-#usr/share/kbd/keymaps/amiga/amiga-de.map.gz\r
-#usr/share/kbd/keymaps/amiga/amiga-us.map.gz\r
-#usr/share/kbd/keymaps/atari\r
-#usr/share/kbd/keymaps/atari/atari-de.map.gz\r
-#usr/share/kbd/keymaps/atari/atari-se.map.gz\r
-#usr/share/kbd/keymaps/atari/atari-uk-falcon.map.gz\r
-#usr/share/kbd/keymaps/atari/atari-us.map.gz\r
-usr/share/kbd/keymaps/i386\r
-#usr/share/kbd/keymaps/i386/azerty\r
-#usr/share/kbd/keymaps/i386/azerty/azerty.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/be-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/fr-latin9.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/fr-pc.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/fr.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/wangbe.map.gz\r
-#usr/share/kbd/keymaps/i386/azerty/wangbe2.map.gz\r
-#usr/share/kbd/keymaps/i386/dvorak\r
-#usr/share/kbd/keymaps/i386/dvorak/ANSI-dvorak.map.gz\r
-#usr/share/kbd/keymaps/i386/dvorak/dvorak-l.map.gz\r
-#usr/share/kbd/keymaps/i386/dvorak/dvorak-r.map.gz\r
-#usr/share/kbd/keymaps/i386/dvorak/dvorak.map.gz\r
-#usr/share/kbd/keymaps/i386/fgGIod\r
-#usr/share/kbd/keymaps/i386/fgGIod/tr_f-latin5.map.gz\r
-#usr/share/kbd/keymaps/i386/fgGIod/trf.map.gz\r
-#usr/share/kbd/keymaps/i386/include\r
-#usr/share/kbd/keymaps/i386/include/applkey.map.gz\r
-#usr/share/kbd/keymaps/i386/include/azerty-layout.inc\r
-#usr/share/kbd/keymaps/i386/include/backspace.map.gz\r
-#usr/share/kbd/keymaps/i386/include/ctrl.map.gz\r
-#usr/share/kbd/keymaps/i386/include/euro.map.gz\r
-#usr/share/kbd/keymaps/i386/include/euro1.map.gz\r
-#usr/share/kbd/keymaps/i386/include/euro2.map.gz\r
-#usr/share/kbd/keymaps/i386/include/keypad.map.gz\r
-#usr/share/kbd/keymaps/i386/include/linux-keys-bare.inc\r
-#usr/share/kbd/keymaps/i386/include/linux-keys-extd.inc\r
-#usr/share/kbd/keymaps/i386/include/linux-with-alt-and-altgr.inc\r
-#usr/share/kbd/keymaps/i386/include/linux-with-modeshift-altgr.inc\r
-#usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc\r
-#usr/share/kbd/keymaps/i386/include/qwerty-layout.inc\r
-#usr/share/kbd/keymaps/i386/include/qwertz-layout.inc\r
-#usr/share/kbd/keymaps/i386/include/unicode.map.gz\r
-#usr/share/kbd/keymaps/i386/include/windowkeys.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty\r
-#usr/share/kbd/keymaps/i386/qwerty/bg-cp1251.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/bg.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/br-abnt.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/br-abnt2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/br-latin1-abnt2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/br-latin1-us.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/by.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/cf.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/cz-cp1250.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/cz-lat2-prog.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/cz-lat2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/cz.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/defkeymap.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/defkeymap_V1.0.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/dk-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/dk.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/emacs.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/emacs2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/es-cp850.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/es.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/et-nodeadkeys.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/et.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/fi-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/fi-latin9.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/fi.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/gr-pc.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/gr.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/hu101.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/hypermap.m4\r
-#usr/share/kbd/keymaps/i386/qwerty/il-heb.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/il-phonetic.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/il.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/is-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/it-ibm.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/it.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/it2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/jp106.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/la-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/lt.baltic.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/lt.l4.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/lt.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/mk-cp1251.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/mk-utf.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/mk.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/mk0.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/nl.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/nl2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/no-latin1.doc\r
-#usr/share/kbd/keymaps/i386/qwerty/no-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/no.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/pc110.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/pl.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/pl2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/pt-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/pt-latin9.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ro_win.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru-cp1251.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru-ms.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru-yawerty.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru2.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru3.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru4.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ru_win.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/se-fi-ir209.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/se-fi-lat6.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/se-ir209.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/se-lat6.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/sk-prog-qwerty.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/sk-qwerty.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/sr-cy.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/sv-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/tr_q-latin5.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/tralt.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/trq.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ua-utf-ws.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ua-utf.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ua-ws.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/ua.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/uk.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/us-acentos.map.gz\r
-#usr/share/kbd/keymaps/i386/qwerty/us.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz\r
-#usr/share/kbd/keymaps/i386/qwertz/croat.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/cz-us-qwertz.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/de-latin1-nodeadkeys.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/de-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/de.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/de_CH-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/fr_CH-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/fr_CH.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/hu.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/sg-latin1-lk450.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/sg-latin1.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/sg.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/sk-prog-qwertz.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/sk-qwertz.map.gz\r
-#usr/share/kbd/keymaps/i386/qwertz/slovene.map.gz\r
-usr/share/kbd/keymaps/include\r
-#usr/share/kbd/keymaps/include/compose.8859_7\r
-#usr/share/kbd/keymaps/include/compose.8859_8\r
-#usr/share/kbd/keymaps/include/compose.latin\r
-#usr/share/kbd/keymaps/include/compose.latin1\r
-#usr/share/kbd/keymaps/include/compose.latin2\r
-#usr/share/kbd/keymaps/include/compose.latin3\r
-#usr/share/kbd/keymaps/include/compose.latin4\r
-#usr/share/kbd/keymaps/include/vim-compose.latin1\r
-#usr/share/kbd/keymaps/mac\r
-#usr/share/kbd/keymaps/mac/all\r
-#usr/share/kbd/keymaps/mac/all/mac-be.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-de-latin1-nodeadkeys.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-de-latin1.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-de_CH.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-dk-latin1.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-dvorak.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-es.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-fi-latin1.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-fr.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-fr_CH-latin1.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-it.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-pt-latin1.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-se.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-template.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-uk.map.gz\r
-#usr/share/kbd/keymaps/mac/all/mac-us.map.gz\r
-#usr/share/kbd/keymaps/mac/include\r
-#usr/share/kbd/keymaps/mac/include/mac-azerty-layout.inc\r
-#usr/share/kbd/keymaps/mac/include/mac-euro.map.gz\r
-#usr/share/kbd/keymaps/mac/include/mac-linux-keys-bare.inc\r
-#usr/share/kbd/keymaps/mac/include/mac-qwerty-layout.inc\r
-#usr/share/kbd/keymaps/mac/include/mac-qwertz-layout.inc\r
-#usr/share/kbd/keymaps/ppc\r
-#usr/share/kbd/keymaps/sun\r
-#usr/share/kbd/keymaps/sun/sun-pl-altgraph.map.gz\r
-#usr/share/kbd/keymaps/sun/sun-pl.map.gz\r
-#usr/share/kbd/keymaps/sun/sundvorak.map.gz\r
-#usr/share/kbd/keymaps/sun/sunkeymap.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt4-es.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt4-fi-latin1.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt4-no-latin1.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-cz-us.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-de-latin1.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-es.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-fi-latin1.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-fr-latin1.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-ru.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-uk.map.gz\r
-#usr/share/kbd/keymaps/sun/sunt5-us-cz.map.gz\r
-#usr/share/kbd/unimaps\r
-#usr/share/kbd/unimaps/8859-1.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-10.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-13.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-14.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-15.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-2.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-3.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-4.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-5.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-6.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-7.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-8.a0-ff.uni\r
-#usr/share/kbd/unimaps/8859-9.a0-ff.uni\r
-#usr/share/kbd/unimaps/ECMA144.uni\r
-#usr/share/kbd/unimaps/README\r
-#usr/share/kbd/unimaps/armscii8.uni\r
-#usr/share/kbd/unimaps/ascii.20-7f.uni\r
-#usr/share/kbd/unimaps/cp1250.uni\r
-#usr/share/kbd/unimaps/cp437.00-1f.uni\r
-#usr/share/kbd/unimaps/cp437.uni\r
-#usr/share/kbd/unimaps/cp737.uni\r
-#usr/share/kbd/unimaps/cp737a.uni\r
-#usr/share/kbd/unimaps/cp737b.uni\r
-#usr/share/kbd/unimaps/cp737c.uni\r
-#usr/share/kbd/unimaps/cp850.uni\r
-#usr/share/kbd/unimaps/cp850a.uni\r
-#usr/share/kbd/unimaps/cp850b.uni\r
-#usr/share/kbd/unimaps/cp850z.uni\r
-#usr/share/kbd/unimaps/cp865.uni\r
-#usr/share/kbd/unimaps/cp865a.uni\r
-#usr/share/kbd/unimaps/cp866.uni\r
-#usr/share/kbd/unimaps/cp866a.uni\r
-#usr/share/kbd/unimaps/cybercafe.uni\r
-#usr/share/kbd/unimaps/cyralt.uni\r
-#usr/share/kbd/unimaps/def.uni\r
-#usr/share/kbd/unimaps/empty.uni\r
-#usr/share/kbd/unimaps/ethiopic.uni\r
-#usr/share/kbd/unimaps/iso01.uni\r
-#usr/share/kbd/unimaps/iso02.uni\r
-#usr/share/kbd/unimaps/iso03.uni\r
-#usr/share/kbd/unimaps/iso04.uni\r
-#usr/share/kbd/unimaps/iso05.uni\r
-#usr/share/kbd/unimaps/iso06.uni\r
-#usr/share/kbd/unimaps/iso07.uni\r
-#usr/share/kbd/unimaps/iso07u.uni\r
-#usr/share/kbd/unimaps/iso08.uni\r
-#usr/share/kbd/unimaps/iso09.uni\r
-#usr/share/kbd/unimaps/iso10.uni\r
-#usr/share/kbd/unimaps/iso15.uni\r
-#usr/share/kbd/unimaps/koi8r.uni\r
-#usr/share/kbd/unimaps/koi8u.uni\r
-#usr/share/kbd/unimaps/lat1.uni\r
-#usr/share/kbd/unimaps/lat1u.uni\r
-#usr/share/kbd/unimaps/lat2.uni\r
-#usr/share/kbd/unimaps/lat2u.uni\r
-#usr/share/kbd/unimaps/lat4.uni\r
-#usr/share/kbd/unimaps/lat4u.uni\r
-#usr/share/kbd/unimaps/lat7.uni\r
-#usr/share/kbd/unimaps/lat9u.uni\r
-#usr/share/kbd/unimaps/lat9v.uni\r
-#usr/share/kbd/unimaps/lat9w.uni\r
-#usr/share/kbd/unimaps/ruscii.uni\r
-#usr/share/kbd/unimaps/tcvn.uni\r
-#usr/share/kbd/unimaps/viscii.uni\r
-#usr/share/man/man1/chvt.1\r
-#usr/share/man/man1/deallocvt.1\r
-#usr/share/man/man1/dumpkeys.1\r
-#usr/share/man/man1/fgconsole.1\r
-#usr/share/man/man1/kbd_mode.1\r
-#usr/share/man/man1/loadkeys.1\r
-#usr/share/man/man1/openvt.1\r
-#usr/share/man/man1/psfaddtable.1\r
-#usr/share/man/man1/psfgettable.1\r
-#usr/share/man/man1/psfstriptable.1\r
-#usr/share/man/man1/psfxtable.1\r
-#usr/share/man/man1/setleds.1\r
-#usr/share/man/man1/setmetamode.1\r
-#usr/share/man/man1/showkey.1\r
-#usr/share/man/man1/unicode_start.1\r
-#usr/share/man/man1/unicode_stop.1\r
-#usr/share/man/man5/keymaps.5\r
-#usr/share/man/man8/getkeycodes.8\r
-#usr/share/man/man8/kbdrate.8\r
-#usr/share/man/man8/loadunimap.8\r
-#usr/share/man/man8/mapscrn.8\r
-#usr/share/man/man8/resizecons.8\r
-#usr/share/man/man8/setfont.8\r
-#usr/share/man/man8/setkeycodes.8\r
-#usr/share/man/man8/showconsolefont.8\r
-##\r
-## e2fsprogs-1.35\r
-##\r
-lib/libblkid.so.1\r
-lib/libblkid.so.1.0\r
-lib/libcom_err.so.2\r
-lib/libcom_err.so.2.1\r
-lib/libe2p.so.2\r
-lib/libe2p.so.2.3\r
-lib/libext2fs.so.2\r
-lib/libext2fs.so.2.4\r
-lib/libss.so.2\r
-lib/libss.so.2.0\r
-lib/libuuid.so.1\r
-lib/libuuid.so.1.2\r
-sbin/badblocks\r
-#sbin/blkid\r
-#sbin/debugfs\r
-#sbin/dumpe2fs\r
-sbin/e2fsck\r
-#sbin/e2image\r
-#sbin/e2label\r
-#sbin/findfs\r
-sbin/fsck\r
-sbin/fsck.ext2\r
-sbin/fsck.ext3\r
-#sbin/logsave\r
-sbin/mke2fs\r
-sbin/mkfs.ext2\r
-sbin/mkfs.ext3\r
-#sbin/resize2fs\r
-sbin/tune2fs\r
-usr/bin/chattr\r
-#usr/bin/compile_et\r
-usr/bin/lsattr\r
-#usr/bin/mk_cmds\r
-#usr/bin/uuidgen\r
-#usr/include/blkid\r
-#usr/include/blkid/blkid.h\r
-#usr/include/blkid/blkid_types.h\r
-#usr/include/e2p\r
-#usr/include/e2p/e2p.h\r
-#usr/include/et\r
-#usr/include/et/com_err.h\r
-#usr/include/ext2fs\r
-#usr/include/ext2fs/bitops.h\r
-#usr/include/ext2fs/ext2_err.h\r
-#usr/include/ext2fs/ext2_ext_attr.h\r
-#usr/include/ext2fs/ext2_fs.h\r
-#usr/include/ext2fs/ext2_io.h\r
-#usr/include/ext2fs/ext2_types.h\r
-#usr/include/ext2fs/ext2fs.h\r
-#usr/include/ss\r
-#usr/include/ss/ss.h\r
-#usr/include/ss/ss_err.h\r
-#usr/include/uuid\r
-#usr/include/uuid/uuid.h\r
-#usr/include/uuid/uuid_types.h\r
-#usr/lib/libblkid.a\r
-usr/lib/libblkid.so\r
-#usr/lib/libcom_err.a\r
-usr/lib/libcom_err.so\r
-#usr/lib/libe2p.a\r
-usr/lib/libe2p.so\r
-#usr/lib/libext2fs.a\r
-usr/lib/libext2fs.so\r
-#usr/lib/libss.a\r
-usr/lib/libss.so\r
-#usr/lib/libuuid.a\r
-usr/lib/libuuid.so\r
-usr/sbin/mklost+found\r
-#usr/share/et\r
-#usr/share/et/et_c.awk\r
-#usr/share/et/et_h.awk\r
-#usr/share/info/libext2fs.info.gz\r
-#usr/share/man/man1/chattr.1\r
-#usr/share/man/man1/compile_et.1\r
-#usr/share/man/man1/lsattr.1\r
-#usr/share/man/man1/mk_cmds.1\r
-#usr/share/man/man1/uuidgen.1\r
-#usr/share/man/man3/com_err.3\r
-#usr/share/man/man3/libblkid.3\r
-#usr/share/man/man3/libuuid.3\r
-#usr/share/man/man3/uuid_clear.3\r
-#usr/share/man/man3/uuid_compare.3\r
-#usr/share/man/man3/uuid_copy.3\r
-#usr/share/man/man3/uuid_generate.3\r
-#usr/share/man/man3/uuid_generate_random.3\r
-#usr/share/man/man3/uuid_generate_time.3\r
-#usr/share/man/man3/uuid_is_null.3\r
-#usr/share/man/man3/uuid_parse.3\r
-#usr/share/man/man3/uuid_time.3\r
-#usr/share/man/man3/uuid_unparse.3\r
-#usr/share/man/man8/badblocks.8\r
-#usr/share/man/man8/blkid.8\r
-#usr/share/man/man8/debugfs.8\r
-#usr/share/man/man8/dumpe2fs.8\r
-#usr/share/man/man8/e2fsck.8\r
-#usr/share/man/man8/e2image.8\r
-#usr/share/man/man8/e2label.8\r
-#usr/share/man/man8/findfs.8\r
-#usr/share/man/man8/fsck.8\r
-#usr/share/man/man8/fsck.ext2.8\r
-#usr/share/man/man8/fsck.ext3.8\r
-#usr/share/man/man8/logsave.8\r
-#usr/share/man/man8/mke2fs.8\r
-#usr/share/man/man8/mkfs.ext2.8\r
-#usr/share/man/man8/mkfs.ext3.8\r
-#usr/share/man/man8/mklost+found.8\r
-#usr/share/man/man8/resize2fs.8\r
-#usr/share/man/man8/tune2fs.8\r
-#usr/share/ss\r
-#usr/share/ss/ct_c.awk\r
-#usr/share/ss/ct_c.sed\r
-##\r
-## grep-2.5.1\r
-##\r
-bin/egrep\r
-#bin/fgrep\r
-bin/grep\r
-#usr/share/info/grep.info\r
-#usr/share/man/man1/egrep.1\r
-#usr/share/man/man1/fgrep.1\r
-#usr/share/man/man1/grep.1\r
-##\r
-## gzip-1.3.5\r
-##\r
-bin/gunzip\r
-bin/gzip\r
-bin/uncompress\r
-bin/zcat\r
-#usr/bin/gzexe\r
-#usr/bin/zcmp\r
-#usr/bin/zdiff\r
-#usr/bin/zegrep\r
-#usr/bin/zfgrep\r
-#usr/bin/zforce\r
-#usr/bin/zgrep\r
-#usr/bin/zless\r
-#usr/bin/zmore\r
-#usr/bin/znew\r
-#usr/share/info/gzip.info\r
-#usr/share/man/man1/gunzip.1\r
-#usr/share/man/man1/gzexe.1\r
-#usr/share/man/man1/gzip.1\r
-#usr/share/man/man1/zcat.1\r
-#usr/share/man/man1/zcmp.1\r
-#usr/share/man/man1/zdiff.1\r
-#usr/share/man/man1/zforce.1\r
-#usr/share/man/man1/zgrep.1\r
-#usr/share/man/man1/zless.1\r
-#usr/share/man/man1/zmore.1\r
-#usr/share/man/man1/znew.1\r
-##\r
-## man-1.5m2\r
-##\r
-#etc/man.conf\r
-#usr/bin/apropos\r
-#usr/bin/man\r
-#usr/bin/man2dvi\r
-#usr/bin/man2html\r
-#usr/bin/whatis\r
-#usr/sbin/makewhatis\r
-#usr/share/man/man1/apropos.1\r
-#usr/share/man/man1/man.1\r
-#usr/share/man/man1/man2html.1\r
-#usr/share/man/man1/whatis.1\r
-#usr/share/man/man5/man.conf.5\r
-#usr/share/man/man8/makewhatis.8\r
-##\r
-## make-3.80\r
-##\r
-#usr/bin/make\r
-#usr/share/info/make.info\r
-#usr/share/info/make.info-1\r
-#usr/share/info/make.info-10\r
-#usr/share/info/make.info-11\r
-#usr/share/info/make.info-2\r
-#usr/share/info/make.info-3\r
-#usr/share/info/make.info-4\r
-#usr/share/info/make.info-5\r
-#usr/share/info/make.info-6\r
-#usr/share/info/make.info-7\r
-#usr/share/info/make.info-8\r
-#usr/share/info/make.info-9\r
-#usr/share/man/man1/make.1\r
-##\r
-## modutils-2.4.27\r
-##\r
-sbin/depmod\r
-#sbin/genksyms\r
-sbin/insmod\r
-sbin/insmod.static\r
-#sbin/insmod_ksymoops_clean\r
-#sbin/kallsyms\r
-#sbin/kernelversion\r
-#sbin/ksyms\r
-sbin/lsmod\r
-sbin/modinfo\r
-sbin/modprobe\r
-sbin/rmmod\r
-#usr/share/man/man1/kernelversion.1\r
-#usr/share/man/man2/create_module.2\r
-#usr/share/man/man2/delete_module.2\r
-#usr/share/man/man2/get_kernel_syms.2\r
-#usr/share/man/man2/init_module.2\r
-#usr/share/man/man2/query_module.2\r
-#usr/share/man/man5/modules.conf.5\r
-#usr/share/man/man8/depmod.8\r
-#usr/share/man/man8/genksyms.8\r
-#usr/share/man/man8/insmod.8\r
-#usr/share/man/man8/kallsyms.8\r
-#usr/share/man/man8/ksyms.8\r
-#usr/share/man/man8/lsmod.8\r
-#usr/share/man/man8/modinfo.8\r
-#usr/share/man/man8/modprobe.8\r
-#usr/share/man/man8/rmmod.8\r
-##\r
-## patch-2.5.4\r
-##\r
-usr/bin/patch\r
-#usr/share/man/man1/patch.1\r
-##\r
-## procinfo-18\r
-##\r
-#usr/bin/lsdev\r
-#usr/bin/procinfo\r
-#usr/bin/socklist\r
-#usr/share/man/man8/lsdev.8\r
-#usr/share/man/man8/procinfo.8\r
-#usr/share/man/man8/socklist.8\r
-##\r
-## procps-3.2.5\r
-##\r
-bin/kill\r
-bin/ps\r
-lib/libproc-3.2.5.so\r
-sbin/sysctl\r
-usr/bin/free\r
-#usr/bin/pgrep\r
-#usr/bin/pkill\r
-#usr/bin/pmap\r
-#usr/bin/skill\r
-#usr/bin/snice\r
-#usr/bin/tload\r
-usr/bin/top\r
-usr/bin/vmstat\r
-usr/bin/w\r
-#usr/bin/watch\r
-#usr/share/man/man1/free.1\r
-#usr/share/man/man1/kill.1\r
-#usr/share/man/man1/pgrep.1\r
-#usr/share/man/man1/pkill.1\r
-#usr/share/man/man1/pmap.1\r
-#usr/share/man/man1/ps.1\r
-#usr/share/man/man1/skill.1\r
-#usr/share/man/man1/snice.1\r
-#usr/share/man/man1/tload.1\r
-#usr/share/man/man1/top.1\r
-#usr/share/man/man1/w.1\r
-#usr/share/man/man1/watch.1\r
-#usr/share/man/man5/sysctl.conf.5\r
-#usr/share/man/man8/sysctl.8\r
-#usr/share/man/man8/vmstat.8\r
-##\r
-## psmisc-21.4\r
-##\r
-bin/fuser\r
-bin/killall\r
-bin/pidof\r
-bin/pstree\r
-#usr/share/man/man1/fuser.1\r
-#usr/share/man/man1/killall.1\r
-#usr/share/man/man1/pstree.1\r
-##\r
-## shadow-4.0.4.1\r
-##\r
-bin/login\r
-#etc/.pwd.lock\r
-#etc/group-\r
-etc/gshadow\r
-etc/limits\r
-etc/login.access\r
-etc/login.defs\r
-#etc/passwd-\r
-etc/shadow\r
-lib/libmisc.so.0\r
-lib/libmisc.so.0.0.0\r
-lib/libshadow.so.0\r
-lib/libshadow.so.0.0.0\r
-#usr/bin/chage\r
-#usr/bin/chfn\r
-#usr/bin/chsh\r
-#usr/bin/expiry\r
-#usr/bin/faillog\r
-#usr/bin/gpasswd\r
-#usr/bin/lastlog\r
-#usr/bin/newgrp\r
-usr/bin/passwd\r
-#usr/bin/sg\r
-#usr/lib/libmisc.a\r
-#usr/lib/libmisc.la\r
-usr/lib/libmisc.so\r
-#usr/lib/libshadow.a\r
-#usr/lib/libshadow.la\r
-usr/lib/libshadow.so\r
-usr/sbin/chpasswd\r
-#usr/sbin/dpasswd\r
-usr/sbin/groupadd\r
-usr/sbin/groupdel\r
-usr/sbin/groupmod\r
-#usr/sbin/grpck\r
-usr/sbin/grpconv\r
-#usr/sbin/grpunconv\r
-#usr/sbin/logoutd\r
-#usr/sbin/mkpasswd\r
-#usr/sbin/newusers\r
-#usr/sbin/pwck\r
-usr/sbin/pwconv\r
-#usr/sbin/pwunconv\r
-usr/sbin/useradd\r
-usr/sbin/userdel\r
-usr/sbin/usermod\r
-#usr/sbin/vigr\r
-#usr/sbin/vipw\r
-#usr/share/man/cs\r
-#usr/share/man/cs/man5\r
-#usr/share/man/cs/man5/passwd.5\r
-#usr/share/man/cs/man5/shadow.5\r
-#usr/share/man/de\r
-#usr/share/man/de/man1\r
-#usr/share/man/de/man1/chsh.1\r
-#usr/share/man/de/man1/passwd.1\r
-#usr/share/man/fr\r
-#usr/share/man/fr/man1\r
-#usr/share/man/fr/man1/chage.1\r
-#usr/share/man/fr/man1/chsh.1\r
-#usr/share/man/fr/man1/gpasswd.1\r
-#usr/share/man/fr/man1/newgrp.1\r
-#usr/share/man/fr/man1/passwd.1\r
-#usr/share/man/fr/man5\r
-#usr/share/man/fr/man5/faillog.5\r
-#usr/share/man/fr/man5/passwd.5\r
-#usr/share/man/fr/man5/shadow.5\r
-#usr/share/man/fr/man8\r
-#usr/share/man/fr/man8/adduser.8\r
-#usr/share/man/fr/man8/chpasswd.8\r
-#usr/share/man/fr/man8/useradd.8\r
-#usr/share/man/fr/man8/userdel.8\r
-#usr/share/man/fr/man8/usermod.8\r
-#usr/share/man/hu\r
-#usr/share/man/hu/man1\r
-#usr/share/man/hu/man1/chsh.1\r
-#usr/share/man/hu/man1/gpasswd.1\r
-#usr/share/man/hu/man1/login.1\r
-#usr/share/man/hu/man1/newgrp.1\r
-#usr/share/man/hu/man1/passwd.1\r
-#usr/share/man/hu/man1/sg.1\r
-#usr/share/man/id\r
-#usr/share/man/id/man1\r
-#usr/share/man/id/man1/chsh.1\r
-#usr/share/man/id/man1/login.1\r
-#usr/share/man/id/man8\r
-#usr/share/man/id/man8/adduser.8\r
-#usr/share/man/id/man8/useradd.8\r
-#usr/share/man/it\r
-#usr/share/man/it/man1\r
-#usr/share/man/it/man1/chfn.1\r
-#usr/share/man/it/man1/chsh.1\r
-#usr/share/man/it/man1/gpasswd.1\r
-#usr/share/man/it/man1/groups.1\r
-#usr/share/man/it/man1/login.1\r
-#usr/share/man/it/man1/newgrp.1\r
-#usr/share/man/it/man1/passwd.1\r
-#usr/share/man/it/man5\r
-#usr/share/man/it/man5/passwd.5\r
-#usr/share/man/it/man5/shadow.5\r
-#usr/share/man/it/man8\r
-#usr/share/man/it/man8/adduser.8\r
-#usr/share/man/it/man8/groupadd.8\r
-#usr/share/man/it/man8/groupdel.8\r
-#usr/share/man/it/man8/groupmod.8\r
-#usr/share/man/it/man8/grpck.8\r
-#usr/share/man/it/man8/grpconv.8\r
-#usr/share/man/it/man8/grpunconv.8\r
-#usr/share/man/it/man8/lastlog.8\r
-#usr/share/man/it/man8/pwconv.8\r
-#usr/share/man/it/man8/pwunconv.8\r
-#usr/share/man/it/man8/useradd.8\r
-#usr/share/man/it/man8/userdel.8\r
-#usr/share/man/it/man8/usermod.8\r
-#usr/share/man/it/man8/vigr.8\r
-#usr/share/man/it/man8/vipw.8\r
-#usr/share/man/ja\r
-#usr/share/man/ja/man1\r
-#usr/share/man/ja/man1/chage.1\r
-#usr/share/man/ja/man1/chfn.1\r
-#usr/share/man/ja/man1/chsh.1\r
-#usr/share/man/ja/man1/gpasswd.1\r
-#usr/share/man/ja/man1/login.1\r
-#usr/share/man/ja/man1/newgrp.1\r
-#usr/share/man/ja/man1/passwd.1\r
-#usr/share/man/ja/man1/sg.1\r
-#usr/share/man/ja/man1/su.1\r
-#usr/share/man/ja/man5\r
-#usr/share/man/ja/man5/faillog.5\r
-#usr/share/man/ja/man5/limits.5\r
-#usr/share/man/ja/man5/login.access.5\r
-#usr/share/man/ja/man5/login.defs.5\r
-#usr/share/man/ja/man5/passwd.5\r
-#usr/share/man/ja/man5/porttime.5\r
-#usr/share/man/ja/man5/shadow.5\r
-#usr/share/man/ja/man5/suauth.5\r
-#usr/share/man/ja/man8\r
-#usr/share/man/ja/man8/adduser.8\r
-#usr/share/man/ja/man8/chpasswd.8\r
-#usr/share/man/ja/man8/faillog.8\r
-#usr/share/man/ja/man8/groupadd.8\r
-#usr/share/man/ja/man8/groupdel.8\r
-#usr/share/man/ja/man8/groupmod.8\r
-#usr/share/man/ja/man8/grpck.8\r
-#usr/share/man/ja/man8/grpconv.8\r
-#usr/share/man/ja/man8/grpunconv.8\r
-#usr/share/man/ja/man8/lastlog.8\r
-#usr/share/man/ja/man8/logoutd.8\r
-#usr/share/man/ja/man8/mkpasswd.8\r
-#usr/share/man/ja/man8/newusers.8\r
-#usr/share/man/ja/man8/pwck.8\r
-#usr/share/man/ja/man8/pwconv.8\r
-#usr/share/man/ja/man8/pwunconv.8\r
-#usr/share/man/ja/man8/useradd.8\r
-#usr/share/man/ja/man8/userdel.8\r
-#usr/share/man/ja/man8/usermod.8\r
-#usr/share/man/ja/man8/vigr.8\r
-#usr/share/man/ja/man8/vipw.8\r
-#usr/share/man/ko\r
-#usr/share/man/ko/man1\r
-#usr/share/man/ko/man1/chfn.1\r
-#usr/share/man/ko/man1/chsh.1\r
-#usr/share/man/ko/man1/login.1\r
-#usr/share/man/ko/man1/newgrp.1\r
-#usr/share/man/ko/man5\r
-#usr/share/man/ko/man5/passwd.5\r
-#usr/share/man/man1/chage.1\r
-#usr/share/man/man1/chfn.1\r
-#usr/share/man/man1/chsh.1\r
-#usr/share/man/man1/expiry.1\r
-#usr/share/man/man1/gpasswd.1\r
-#usr/share/man/man1/login.1\r
-#usr/share/man/man1/newgrp.1\r
-#usr/share/man/man1/passwd.1\r
-#usr/share/man/man1/sg.1\r
-#usr/share/man/man3/getspnam.3\r
-#usr/share/man/man5/faillog.5\r
-#usr/share/man/man5/limits.5\r
-#usr/share/man/man5/login.access.5\r
-#usr/share/man/man5/login.defs.5\r
-#usr/share/man/man5/porttime.5\r
-#usr/share/man/man5/shadow.5\r
-#usr/share/man/man5/suauth.5\r
-#usr/share/man/man8/adduser.8\r
-#usr/share/man/man8/chpasswd.8\r
-#usr/share/man/man8/faillog.8\r
-#usr/share/man/man8/groupadd.8\r
-#usr/share/man/man8/groupdel.8\r
-#usr/share/man/man8/groupmod.8\r
-#usr/share/man/man8/grpck.8\r
-#usr/share/man/man8/grpconv.8\r
-#usr/share/man/man8/grpunconv.8\r
-#usr/share/man/man8/lastlog.8\r
-#usr/share/man/man8/logoutd.8\r
-#usr/share/man/man8/mkpasswd.8\r
-#usr/share/man/man8/newusers.8\r
-#usr/share/man/man8/pwck.8\r
-#usr/share/man/man8/pwconv.8\r
-#usr/share/man/man8/pwunconv.8\r
-#usr/share/man/man8/useradd.8\r
-#usr/share/man/man8/userdel.8\r
-#usr/share/man/man8/usermod.8\r
-#usr/share/man/man8/vigr.8\r
-#usr/share/man/man8/vipw.8\r
-#usr/share/man/pl\r
-#usr/share/man/pl/man1\r
-#usr/share/man/pl/man1/chage.1\r
-#usr/share/man/pl/man1/chfn.1\r
-#usr/share/man/pl/man1/chsh.1\r
-#usr/share/man/pl/man1/expiry.1\r
-#usr/share/man/pl/man1/gpasswd.1\r
-#usr/share/man/pl/man1/login.1\r
-#usr/share/man/pl/man1/newgrp.1\r
-#usr/share/man/pl/man1/passwd.1\r
-#usr/share/man/pl/man1/sg.1\r
-#usr/share/man/pl/man1/su.1\r
-#usr/share/man/pl/man5\r
-#usr/share/man/pl/man5/d_passwd.5\r
-#usr/share/man/pl/man5/faillog.5\r
-#usr/share/man/pl/man5/limits.5\r
-#usr/share/man/pl/man5/login.access.5\r
-#usr/share/man/pl/man5/login.defs.5\r
-#usr/share/man/pl/man5/passwd.5\r
-#usr/share/man/pl/man5/porttime.5\r
-#usr/share/man/pl/man5/shadow.5\r
-#usr/share/man/pl/man5/suauth.5\r
-#usr/share/man/pl/man8\r
-#usr/share/man/pl/man8/adduser.8\r
-#usr/share/man/pl/man8/chpasswd.8\r
-#usr/share/man/pl/man8/faillog.8\r
-#usr/share/man/pl/man8/groupadd.8\r
-#usr/share/man/pl/man8/groupdel.8\r
-#usr/share/man/pl/man8/groupmod.8\r
-#usr/share/man/pl/man8/grpck.8\r
-#usr/share/man/pl/man8/grpconv.8\r
-#usr/share/man/pl/man8/grpunconv.8\r
-#usr/share/man/pl/man8/lastlog.8\r
-#usr/share/man/pl/man8/logoutd.8\r
-#usr/share/man/pl/man8/mkpasswd.8\r
-#usr/share/man/pl/man8/newusers.8\r
-#usr/share/man/pl/man8/pwck.8\r
-#usr/share/man/pl/man8/pwconv.8\r
-#usr/share/man/pl/man8/pwunconv.8\r
-#usr/share/man/pl/man8/useradd.8\r
-#usr/share/man/pl/man8/userdel.8\r
-#usr/share/man/pl/man8/usermod.8\r
-#usr/share/man/pl/man8/vigr.8\r
-#usr/share/man/pl/man8/vipw.8\r
-#usr/share/man/pt_BR\r
-#usr/share/man/pt_BR/man1\r
-#usr/share/man/pt_BR/man1/gpasswd.1\r
-#usr/share/man/pt_BR/man5\r
-#usr/share/man/pt_BR/man5/shadow.5\r
-#usr/share/man/pt_BR/man8\r
-#usr/share/man/pt_BR/man8/groupadd.8\r
-#usr/share/man/pt_BR/man8/groupdel.8\r
-#usr/share/man/pt_BR/man8/groupmod.8\r
-var/log/btmp\r
-var/log/lastlog\r
-var/log/wtmp\r
-var/run/utmp\r
-##\r
-## sysklogd-1.4.1\r
-##\r
-usr/sbin/klogd\r
-usr/sbin/syslogd\r
-#usr/share/man/man8/klogd.8\r
-#usr/share/man/man8/sysklogd.8\r
-#var/log\r
-var/log/boot.log\r
-var/log/dhcpcd.log\r
-var/log/messages\r
-var/empty\r
-##\r
-## sysvinit-2.86\r
-##\r
-sbin/halt\r
-sbin/init\r
-sbin/killall5\r
-sbin/poweroff\r
-sbin/reboot\r
-sbin/runlevel\r
-sbin/shutdown\r
-sbin/sulogin\r
-sbin/telinit\r
-#sbin/bootlogd\r
-usr/bin/last\r
-usr/bin/lastb\r
-usr/bin/mesg\r
-usr/bin/utmpdump\r
-usr/bin/wall\r
-#usr/include/initreq.h\r
-#usr/share/man/man1/last.1\r
-#usr/share/man/man1/lastb.1\r
-#usr/share/man/man1/mesg.1\r
-#usr/share/man/man1/wall.1\r
-#usr/share/man/man5/initscript.5\r
-#usr/share/man/man5/inittab.5\r
-#usr/share/man/man8/halt.8\r
-#usr/share/man/man8/init.8\r
-#usr/share/man/man8/killall5.8\r
-#usr/share/man/man8/pidof.8\r
-#usr/share/man/man8/poweroff.8\r
-#usr/share/man/man8/reboot.8\r
-#usr/share/man/man8/runlevel.8\r
-#usr/share/man/man8/shutdown.8\r
-#usr/share/man/man8/sulogin.8\r
-#usr/share/man/man8/telinit.8\r
-##\r
-## tar-1.13.25\r
-##\r
-bin/tar\r
-#usr/bin/rmt\r
-#usr/share/info/tar.info\r
-##\r
-## util-linux-2.12a\r
-##\r
-#bin/arch\r
-bin/dmesg\r
-bin/more\r
-bin/mount\r
-bin/umount\r
-etc/fdprm\r
-#sbin/agetty\r
-sbin/blockdev\r
-sbin/cfdisk\r
-sbin/ctrlaltdel\r
-#sbin/elvtune\r
-sbin/fdisk\r
-#sbin/fsck.cramfs\r
-#sbin/fsck.minix\r
-sbin/hwclock\r
-sbin/losetup\r
-#sbin/mkfs\r
-#sbin/mkfs.bfs\r
-#sbin/mkfs.cramfs\r
-#sbin/mkfs.minix\r
-sbin/mkswap\r
-#sbin/pivot_root\r
-sbin/sfdisk\r
-sbin/swapoff\r
-sbin/swapon\r
-#usr/bin/cal\r
-#usr/bin/chkdupexe\r
-#usr/bin/col\r
-#usr/bin/colcrt\r
-#usr/bin/colrm\r
-#usr/bin/column\r
-#usr/bin/cytune\r
-#usr/bin/ddate\r
-usr/bin/fdformat\r
-usr/bin/getopt\r
-#usr/bin/hexdump\r
-#usr/bin/ipcrm\r
-#usr/bin/ipcs\r
-#usr/bin/isosize\r
-#usr/bin/line\r
-usr/bin/logger\r
-#usr/bin/look\r
-#usr/bin/mcookie\r
-#usr/bin/namei\r
-usr/bin/pg\r
-#usr/bin/raw\r
-usr/bin/rename\r
-usr/bin/renice\r
-#usr/bin/rev\r
-#usr/bin/script\r
-#usr/bin/setfdprm\r
-#usr/bin/setsid\r
-#usr/bin/setterm\r
-#usr/bin/tailf\r
-#usr/bin/ul\r
-#usr/bin/whereis\r
-#usr/bin/write\r
-#usr/sbin/ramsize\r
-usr/sbin/rdev\r
-#usr/sbin/readprofile\r
-#usr/sbin/rootflags\r
-#usr/sbin/tunelp\r
-#usr/sbin/vidmode\r
-#usr/share/info/ipc.info\r
-#usr/share/locale/ca/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/cs/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/da/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/de/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/es/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/et\r
-#usr/share/locale/et/LC_MESSAGES\r
-#usr/share/locale/et/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/fi/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/fr/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/it/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/ja/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/nl/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/pt_BR/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/sl\r
-#usr/share/locale/sl/LC_MESSAGES\r
-#usr/share/locale/sl/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/sv/LC_MESSAGES/util-linux.mo\r
-#usr/share/locale/tr/LC_MESSAGES/util-linux.mo\r
-#usr/share/man/man1/arch.1\r
-#usr/share/man/man1/cal.1\r
-#usr/share/man/man1/chkdupexe.1\r
-#usr/share/man/man1/col.1\r
-#usr/share/man/man1/colcrt.1\r
-#usr/share/man/man1/colrm.1\r
-#usr/share/man/man1/column.1\r
-#usr/share/man/man1/ddate.1\r
-#usr/share/man/man1/getopt.1\r
-#usr/share/man/man1/hexdump.1\r
-#usr/share/man/man1/line.1\r
-#usr/share/man/man1/look.1\r
-#usr/share/man/man1/mcookie.1\r
-#usr/share/man/man1/more.1\r
-#usr/share/man/man1/namei.1\r
-#usr/share/man/man1/pg.1\r
-#usr/share/man/man1/readprofile.1\r
-#usr/share/man/man1/rename.1\r
-#usr/share/man/man1/rev.1\r
-#usr/share/man/man1/script.1\r
-#usr/share/man/man1/setterm.1\r
-#usr/share/man/man1/tailf.1\r
-#usr/share/man/man1/ul.1\r
-#usr/share/man/man1/whereis.1\r
-#usr/share/man/man1/write.1\r
-#usr/share/man/man5/fstab.5\r
-#usr/share/man/man5/nfs.5\r
-#usr/share/man/man8/agetty.8\r
-#usr/share/man/man8/blockdev.8\r
-#usr/share/man/man8/cfdisk.8\r
-#usr/share/man/man8/ctrlaltdel.8\r
-#usr/share/man/man8/cytune.8\r
-#usr/share/man/man8/dmesg.8\r
-#usr/share/man/man8/elvtune.8\r
-#usr/share/man/man8/fdformat.8\r
-#usr/share/man/man8/fdisk.8\r
-#usr/share/man/man8/fsck.minix.8\r
-#usr/share/man/man8/hwclock.8\r
-#usr/share/man/man8/ipcrm.8\r
-#usr/share/man/man8/ipcs.8\r
-#usr/share/man/man8/isosize.8\r
-#usr/share/man/man8/losetup.8\r
-#usr/share/man/man8/mkfs.8\r
-#usr/share/man/man8/mkfs.bfs.8\r
-#usr/share/man/man8/mkfs.minix.8\r
-#usr/share/man/man8/mkswap.8\r
-#usr/share/man/man8/mount.8\r
-#usr/share/man/man8/pivot_root.8\r
-#usr/share/man/man8/ramsize.8\r
-#usr/share/man/man8/raw.8\r
-#usr/share/man/man8/rdev.8\r
-#usr/share/man/man8/renice.8\r
-#usr/share/man/man8/rootflags.8\r
-#usr/share/man/man8/setfdprm.8\r
-#usr/share/man/man8/setsid.8\r
-#usr/share/man/man8/sfdisk.8\r
-#usr/share/man/man8/sln.8\r
-#usr/share/man/man8/swapoff.8\r
-#usr/share/man/man8/swapon.8\r
-#usr/share/man/man8/tunelp.8\r
-#usr/share/man/man8/umount.8\r
-#usr/share/man/man8/vidmode.8\r
-#usr/share/misc/getopt\r
-#usr/share/misc/getopt/getopt-parse.bash\r
-#usr/share/misc/getopt/getopt-parse.tcsh\r
-#usr/share/misc/getopt/getopt-test.bash\r
-#usr/share/misc/getopt/getopt-test.tcsh\r
-#var/lib/hwclock\r
-var/lib/hwclock/adjtime\r
-##\r
-## gcc-2.95.3\r
-##\r
-#opt/gcc-2.95.3\r
-#opt/gcc-2.95.3/bin\r
-#opt/gcc-2.95.3/bin/c++\r
-#opt/gcc-2.95.3/bin/c++filt\r
-#opt/gcc-2.95.3/bin/cpp\r
-#opt/gcc-2.95.3/bin/g++\r
-#opt/gcc-2.95.3/bin/gcc\r
-#opt/gcc-2.95.3/bin/gcov\r
-#opt/gcc-2.95.3/bin/i386-pc-linux-gnu-gcc\r
-#opt/gcc-2.95.3/bin/protoize\r
-#opt/gcc-2.95.3/bin/unprotoize\r
-#opt/gcc-2.95.3/i386-pc-linux-gnu\r
-#opt/gcc-2.95.3/i386-pc-linux-gnu/include\r
-#opt/gcc-2.95.3/include\r
-#opt/gcc-2.95.3/include/g++-3\r
-#opt/gcc-2.95.3/include/g++-3/std\r
-#opt/gcc-2.95.3/include/g++-3/std/bastring.h\r
-#opt/gcc-2.95.3/include/g++-3/std/complext.h\r
-#opt/gcc-2.95.3/include/g++-3/std/dcomplex.h\r
-#opt/gcc-2.95.3/include/g++-3/std/fcomplex.h\r
-#opt/gcc-2.95.3/include/g++-3/std/gslice.h\r
-#opt/gcc-2.95.3/include/g++-3/std/gslice_array.h\r
-#opt/gcc-2.95.3/include/g++-3/std/indirect_array.h\r
-#opt/gcc-2.95.3/include/g++-3/std/ldcomplex.h\r
-#opt/gcc-2.95.3/include/g++-3/std/mask_array.h\r
-#opt/gcc-2.95.3/include/g++-3/std/slice.h\r
-#opt/gcc-2.95.3/include/g++-3/std/slice_array.h\r
-#opt/gcc-2.95.3/include/g++-3/std/std_valarray.h\r
-#opt/gcc-2.95.3/include/g++-3/std/straits.h\r
-#opt/gcc-2.95.3/include/g++-3/std/valarray_array.h\r
-#opt/gcc-2.95.3/include/g++-3/std/valarray_meta.h\r
-#opt/gcc-2.95.3/include/g++-3/std/bastring.cc\r
-#opt/gcc-2.95.3/include/g++-3/std/complext.cc\r
-#opt/gcc-2.95.3/include/g++-3/std/valarray_array.tcc\r
-#opt/gcc-2.95.3/include/g++-3/PlotFile.h\r
-#opt/gcc-2.95.3/include/g++-3/SFile.h\r
-#opt/gcc-2.95.3/include/g++-3/builtinbuf.h\r
-#opt/gcc-2.95.3/include/g++-3/editbuf.h\r
-#opt/gcc-2.95.3/include/g++-3/fstream.h\r
-#opt/gcc-2.95.3/include/g++-3/indstream.h\r
-#opt/gcc-2.95.3/include/g++-3/iomanip.h\r
-#opt/gcc-2.95.3/include/g++-3/iostream.h\r
-#opt/gcc-2.95.3/include/g++-3/istream.h\r
-#opt/gcc-2.95.3/include/g++-3/ostream.h\r
-#opt/gcc-2.95.3/include/g++-3/parsestream.h\r
-#opt/gcc-2.95.3/include/g++-3/pfstream.h\r
-#opt/gcc-2.95.3/include/g++-3/procbuf.h\r
-#opt/gcc-2.95.3/include/g++-3/stdiostream.h\r
-#opt/gcc-2.95.3/include/g++-3/stream.h\r
-#opt/gcc-2.95.3/include/g++-3/streambuf.h\r
-#opt/gcc-2.95.3/include/g++-3/strfile.h\r
-#opt/gcc-2.95.3/include/g++-3/strstream.h\r
-#opt/gcc-2.95.3/include/g++-3/cassert\r
-#opt/gcc-2.95.3/include/g++-3/cctype\r
-#opt/gcc-2.95.3/include/g++-3/cerrno\r
-#opt/gcc-2.95.3/include/g++-3/cfloat\r
-#opt/gcc-2.95.3/include/g++-3/ciso646\r
-#opt/gcc-2.95.3/include/g++-3/climits\r
-#opt/gcc-2.95.3/include/g++-3/clocale\r
-#opt/gcc-2.95.3/include/g++-3/cmath\r
-#opt/gcc-2.95.3/include/g++-3/complex\r
-#opt/gcc-2.95.3/include/g++-3/csetjmp\r
-#opt/gcc-2.95.3/include/g++-3/csignal\r
-#opt/gcc-2.95.3/include/g++-3/cstdarg\r
-#opt/gcc-2.95.3/include/g++-3/cstddef\r
-#opt/gcc-2.95.3/include/g++-3/cstdio\r
-#opt/gcc-2.95.3/include/g++-3/cstdlib\r
-#opt/gcc-2.95.3/include/g++-3/cstring\r
-#opt/gcc-2.95.3/include/g++-3/ctime\r
-#opt/gcc-2.95.3/include/g++-3/cwchar\r
-#opt/gcc-2.95.3/include/g++-3/cwctype\r
-#opt/gcc-2.95.3/include/g++-3/string\r
-#opt/gcc-2.95.3/include/g++-3/stdexcept\r
-#opt/gcc-2.95.3/include/g++-3/algorithm\r
-#opt/gcc-2.95.3/include/g++-3/deque\r
-#opt/gcc-2.95.3/include/g++-3/functional\r
-#opt/gcc-2.95.3/include/g++-3/hash_map\r
-#opt/gcc-2.95.3/include/g++-3/hash_set\r
-#opt/gcc-2.95.3/include/g++-3/iterator\r
-#opt/gcc-2.95.3/include/g++-3/list\r
-#opt/gcc-2.95.3/include/g++-3/map\r
-#opt/gcc-2.95.3/include/g++-3/memory\r
-#opt/gcc-2.95.3/include/g++-3/numeric\r
-#opt/gcc-2.95.3/include/g++-3/pthread_alloc\r
-#opt/gcc-2.95.3/include/g++-3/queue\r
-#opt/gcc-2.95.3/include/g++-3/rope\r
-#opt/gcc-2.95.3/include/g++-3/set\r
-#opt/gcc-2.95.3/include/g++-3/slist\r
-#opt/gcc-2.95.3/include/g++-3/stack\r
-#opt/gcc-2.95.3/include/g++-3/utility\r
-#opt/gcc-2.95.3/include/g++-3/vector\r
-#opt/gcc-2.95.3/include/g++-3/fstream\r
-#opt/gcc-2.95.3/include/g++-3/iomanip\r
-#opt/gcc-2.95.3/include/g++-3/iostream\r
-#opt/gcc-2.95.3/include/g++-3/strstream\r
-#opt/gcc-2.95.3/include/g++-3/iosfwd\r
-#opt/gcc-2.95.3/include/g++-3/bitset\r
-#opt/gcc-2.95.3/include/g++-3/valarray\r
-#opt/gcc-2.95.3/include/g++-3/sstream\r
-#opt/gcc-2.95.3/include/g++-3/complex.h\r
-#opt/gcc-2.95.3/include/g++-3/stl.h\r
-#opt/gcc-2.95.3/include/g++-3/algo.h\r
-#opt/gcc-2.95.3/include/g++-3/algobase.h\r
-#opt/gcc-2.95.3/include/g++-3/alloc.h\r
-#opt/gcc-2.95.3/include/g++-3/bvector.h\r
-#opt/gcc-2.95.3/include/g++-3/defalloc.h\r
-#opt/gcc-2.95.3/include/g++-3/deque.h\r
-#opt/gcc-2.95.3/include/g++-3/function.h\r
-#opt/gcc-2.95.3/include/g++-3/hash_map.h\r
-#opt/gcc-2.95.3/include/g++-3/hash_set.h\r
-#opt/gcc-2.95.3/include/g++-3/hashtable.h\r
-#opt/gcc-2.95.3/include/g++-3/heap.h\r
-#opt/gcc-2.95.3/include/g++-3/iterator.h\r
-#opt/gcc-2.95.3/include/g++-3/list.h\r
-#opt/gcc-2.95.3/include/g++-3/map.h\r
-#opt/gcc-2.95.3/include/g++-3/multimap.h\r
-#opt/gcc-2.95.3/include/g++-3/multiset.h\r
-#opt/gcc-2.95.3/include/g++-3/pair.h\r
-#opt/gcc-2.95.3/include/g++-3/pthread_alloc.h\r
-#opt/gcc-2.95.3/include/g++-3/rope.h\r
-#opt/gcc-2.95.3/include/g++-3/ropeimpl.h\r
-#opt/gcc-2.95.3/include/g++-3/set.h\r
-#opt/gcc-2.95.3/include/g++-3/slist.h\r
-#opt/gcc-2.95.3/include/g++-3/stack.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_algo.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_algobase.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_alloc.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_bvector.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_config.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_construct.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_deque.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_function.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_hash_fun.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_hash_map.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_hash_set.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_hashtable.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_heap.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_iterator.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_list.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_map.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_multimap.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_multiset.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_numeric.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_pair.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_queue.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_raw_storage_iter.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_relops.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_rope.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_set.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_slist.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_stack.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_tempbuf.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_tree.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_uninitialized.h\r
-#opt/gcc-2.95.3/include/g++-3/stl_vector.h\r
-#opt/gcc-2.95.3/include/g++-3/tempbuf.h\r
-#opt/gcc-2.95.3/include/g++-3/tree.h\r
-#opt/gcc-2.95.3/include/g++-3/type_traits.h\r
-#opt/gcc-2.95.3/include/g++-3/vector.h\r
-#opt/gcc-2.95.3/info\r
-#opt/gcc-2.95.3/info/cpp.info\r
-#opt/gcc-2.95.3/info/cpp.info-1\r
-#opt/gcc-2.95.3/info/cpp.info-2\r
-#opt/gcc-2.95.3/info/cpp.info-3\r
-#opt/gcc-2.95.3/info/gcc.info\r
-#opt/gcc-2.95.3/info/gcc.info-1\r
-#opt/gcc-2.95.3/info/gcc.info-10\r
-#opt/gcc-2.95.3/info/gcc.info-11\r
-#opt/gcc-2.95.3/info/gcc.info-12\r
-#opt/gcc-2.95.3/info/gcc.info-13\r
-#opt/gcc-2.95.3/info/gcc.info-14\r
-#opt/gcc-2.95.3/info/gcc.info-15\r
-#opt/gcc-2.95.3/info/gcc.info-16\r
-#opt/gcc-2.95.3/info/gcc.info-17\r
-#opt/gcc-2.95.3/info/gcc.info-18\r
-#opt/gcc-2.95.3/info/gcc.info-19\r
-#opt/gcc-2.95.3/info/gcc.info-2\r
-#opt/gcc-2.95.3/info/gcc.info-20\r
-#opt/gcc-2.95.3/info/gcc.info-21\r
-#opt/gcc-2.95.3/info/gcc.info-22\r
-#opt/gcc-2.95.3/info/gcc.info-23\r
-#opt/gcc-2.95.3/info/gcc.info-24\r
-#opt/gcc-2.95.3/info/gcc.info-25\r
-#opt/gcc-2.95.3/info/gcc.info-26\r
-#opt/gcc-2.95.3/info/gcc.info-27\r
-#opt/gcc-2.95.3/info/gcc.info-28\r
-#opt/gcc-2.95.3/info/gcc.info-29\r
-#opt/gcc-2.95.3/info/gcc.info-3\r
-#opt/gcc-2.95.3/info/gcc.info-30\r
-#opt/gcc-2.95.3/info/gcc.info-4\r
-#opt/gcc-2.95.3/info/gcc.info-5\r
-#opt/gcc-2.95.3/info/gcc.info-6\r
-#opt/gcc-2.95.3/info/gcc.info-7\r
-#opt/gcc-2.95.3/info/gcc.info-8\r
-#opt/gcc-2.95.3/info/gcc.info-9\r
-#opt/gcc-2.95.3/lib\r
-#opt/gcc-2.95.3/lib/gcc-lib\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/SYSCALLS.c.X\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cc1\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cc1plus\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/collect2\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cpp0\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtbegin.o\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtbeginS.o\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtend.o\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtendS.o\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/exception\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/float.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/iso646.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/limits.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/new\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/new.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/proto.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stdarg.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stdbool.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stddef.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/syslimits.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/typeinfo\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-alpha.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-arc.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-c4x.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-clipper.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-h8300.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-i860.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-i960.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-m32r.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-m88k.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mips.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mn10200.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mn10300.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-pa.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-ppc.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-pyr.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-sh.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-sparc.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-spur.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-v850.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/varargs.h\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libgcc.a\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libstdc++.a\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libstdc++.so\r
-#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/specs\r
-#opt/gcc-2.95.3/lib/libiberty.a\r
-#opt/gcc-2.95.3/lib/libstdc++-3-libc6.3-2-2.10.0.a\r
-#opt/gcc-2.95.3/lib/libstdc++-libc6.3-2.a.3\r
-#opt/gcc-2.95.3/lib/libstdc++-3-libc6.3-2-2.10.0.so\r
-#opt/gcc-2.95.3/lib/libstdc++-libc6.3-2.so.3\r
-#opt/gcc-2.95.3/man\r
-#opt/gcc-2.95.3/man/man1\r
-#opt/gcc-2.95.3/man/man1/cccp.1\r
-#opt/gcc-2.95.3/man/man1/g++.1\r
-#opt/gcc-2.95.3/man/man1/gcc.1\r
-##\r
-## pcmcia-cs-3.2.8\r
-##\r
-#etc/pcmcia\r
-#etc/pcmcia/cis\r
-etc/pcmcia/cis/3CCFEM556.dat\r
-etc/pcmcia/cis/3CXEM556.dat\r
-etc/pcmcia/cis/COMpad2.dat\r
-etc/pcmcia/cis/COMpad4.dat\r
-etc/pcmcia/cis/DP83903.dat\r
-etc/pcmcia/cis/E-CARD.dat\r
-etc/pcmcia/cis/LA-PCM.dat\r
-etc/pcmcia/cis/MT5634ZLX.dat\r
-etc/pcmcia/cis/NE2K.dat\r
-etc/pcmcia/cis/PCMLM28.dat\r
-etc/pcmcia/cis/PE-200.dat\r
-etc/pcmcia/cis/PE520.dat\r
-etc/pcmcia/cis/RS-COM-2P.dat\r
-etc/pcmcia/cis/tamarack.dat\r
-etc/pcmcia/config\r
-etc/pcmcia/config.opts\r
-etc/pcmcia/ftl\r
-etc/pcmcia/ftl.opts\r
-etc/pcmcia/ide\r
-etc/pcmcia/ide.opts\r
-etc/pcmcia/ieee1394\r
-etc/pcmcia/ieee1394.opts\r
-etc/pcmcia/isdnextra.conf\r
-etc/pcmcia/memory\r
-etc/pcmcia/memory.opts\r
-etc/pcmcia/netextra.conf\r
-etc/pcmcia/network\r
-etc/pcmcia/network.opts\r
-etc/pcmcia/parport\r
-etc/pcmcia/parport.opts\r
-etc/pcmcia/scsi\r
-etc/pcmcia/scsi.opts\r
-etc/pcmcia/serial\r
-etc/pcmcia/serial.opts\r
-etc/pcmcia/shared\r
-etc/pcmcia/wireless\r
-etc/pcmcia/wireless.opts\r
-#etc/rc.d\r
-etc/rc.d/rc.pcmcia\r
-sbin/cardctl\r
-sbin/cardmgr\r
-sbin/dump_cis\r
-sbin/ftl_check\r
-sbin/ftl_format\r
-sbin/ide_info\r
-sbin/ifport\r
-sbin/ifuser\r
-sbin/lspnp\r
-sbin/pack_cis\r
-sbin/pcinitrd\r
-sbin/scsi_info\r
-sbin/setpnp\r
-#usr/share/man/man4/aha152x_cs.4\r
-#usr/share/man/man4/airo.4\r
-#usr/share/man/man4/airo_cs.4\r
-#usr/share/man/man4/axnet_cs.4\r
-#usr/share/man/man4/dummy_cb.4\r
-#usr/share/man/man4/dummy_cs.4\r
-#usr/share/man/man4/fmvj18x_cs.4\r
-#usr/share/man/man4/ftl_cs.4\r
-#usr/share/man/man4/i82365.4\r
-#usr/share/man/man4/ibmtr_cs.4\r
-#usr/share/man/man4/iflash2+_mtd.4\r
-#usr/share/man/man4/iflash2_mtd.4\r
-#usr/share/man/man4/memory_cb.4\r
-#usr/share/man/man4/memory_cs.4\r
-#usr/share/man/man4/netwave_cs.4\r
-#usr/share/man/man4/pcmcia_core.4\r
-#usr/share/man/man4/pcnet_cs.4\r
-#usr/share/man/man4/ray_cs.4\r
-#usr/share/man/man4/serial_cs.4\r
-#usr/share/man/man4/smc91c92_cs.4\r
-#usr/share/man/man4/tc574_cs.4\r
-#usr/share/man/man4/tc575_cb.4\r
-#usr/share/man/man4/tc589_cs.4\r
-#usr/share/man/man4/tcic.4\r
-#usr/share/man/man4/wavelan_cs.4\r
-#usr/share/man/man4/wvlan_cs.4\r
-#usr/share/man/man4/xirc2ps_cs.4\r
-#usr/share/man/man5/pcmcia.5\r
-#usr/share/man/man5/stab.5\r
-#usr/share/man/man8/cardctl.8\r
-#usr/share/man/man8/cardmgr.8\r
-#usr/share/man/man8/dump_cis.8\r
-#usr/share/man/man8/ftl_check.8\r
-#usr/share/man/man8/ftl_format.8\r
-#usr/share/man/man8/ide_info.8\r
-#usr/share/man/man8/ifport.8\r
-#usr/share/man/man8/ifuser.8\r
-#usr/share/man/man8/lspnp.8\r
-#usr/share/man/man8/pack_cis.8\r
-#usr/share/man/man8/pcic_probe.8\r
-#usr/share/man/man8/pcinitrd.8\r
-#usr/share/man/man8/scsi_info.8\r
-#usr/share/man/man8/setpnp.8\r
-usr/share/pnp.ids\r
-var/lib/pcmcia\r
-##\r
-## Python-2.3.4\r
-##\r
-#usr/bin/idle\r
-#usr/bin/pydoc\r
-usr/bin/python\r
-#usr/bin/python2.3\r
-#usr/include/python2.3\r
-#usr/include/python2.3/Python.h\r
-#usr/include/python2.3/abstract.h\r
-#usr/include/python2.3/bitset.h\r
-#usr/include/python2.3/boolobject.h\r
-#usr/include/python2.3/bufferobject.h\r
-#usr/include/python2.3/cStringIO.h\r
-#usr/include/python2.3/cellobject.h\r
-#usr/include/python2.3/ceval.h\r
-#usr/include/python2.3/classobject.h\r
-#usr/include/python2.3/cobject.h\r
-#usr/include/python2.3/codecs.h\r
-#usr/include/python2.3/compile.h\r
-#usr/include/python2.3/complexobject.h\r
-#usr/include/python2.3/datetime.h\r
-#usr/include/python2.3/descrobject.h\r
-#usr/include/python2.3/dictobject.h\r
-#usr/include/python2.3/enumobject.h\r
-#usr/include/python2.3/errcode.h\r
-#usr/include/python2.3/eval.h\r
-#usr/include/python2.3/fileobject.h\r
-#usr/include/python2.3/floatobject.h\r
-#usr/include/python2.3/frameobject.h\r
-#usr/include/python2.3/funcobject.h\r
-#usr/include/python2.3/graminit.h\r
-#usr/include/python2.3/grammar.h\r
-#usr/include/python2.3/import.h\r
-#usr/include/python2.3/intobject.h\r
-#usr/include/python2.3/intrcheck.h\r
-#usr/include/python2.3/iterobject.h\r
-#usr/include/python2.3/listobject.h\r
-#usr/include/python2.3/longintrepr.h\r
-#usr/include/python2.3/longobject.h\r
-#usr/include/python2.3/marshal.h\r
-#usr/include/python2.3/metagrammar.h\r
-#usr/include/python2.3/methodobject.h\r
-#usr/include/python2.3/modsupport.h\r
-#usr/include/python2.3/moduleobject.h\r
-#usr/include/python2.3/node.h\r
-#usr/include/python2.3/object.h\r
-#usr/include/python2.3/objimpl.h\r
-#usr/include/python2.3/opcode.h\r
-#usr/include/python2.3/osdefs.h\r
-#usr/include/python2.3/parsetok.h\r
-#usr/include/python2.3/patchlevel.h\r
-#usr/include/python2.3/pgen.h\r
-#usr/include/python2.3/pgenheaders.h\r
-#usr/include/python2.3/py_curses.h\r
-#usr/include/python2.3/pyconfig.h\r
-#usr/include/python2.3/pydebug.h\r
-#usr/include/python2.3/pyerrors.h\r
-#usr/include/python2.3/pyfpe.h\r
-#usr/include/python2.3/pygetopt.h\r
-#usr/include/python2.3/pymactoolbox.h\r
-#usr/include/python2.3/pymem.h\r
-#usr/include/python2.3/pyport.h\r
-#usr/include/python2.3/pystate.h\r
-#usr/include/python2.3/pythonrun.h\r
-#usr/include/python2.3/pythread.h\r
-#usr/include/python2.3/rangeobject.h\r
-#usr/include/python2.3/sliceobject.h\r
-#usr/include/python2.3/stringobject.h\r
-#usr/include/python2.3/structmember.h\r
-#usr/include/python2.3/structseq.h\r
-#usr/include/python2.3/symtable.h\r
-#usr/include/python2.3/sysmodule.h\r
-#usr/include/python2.3/token.h\r
-#usr/include/python2.3/traceback.h\r
-#usr/include/python2.3/tupleobject.h\r
-#usr/include/python2.3/ucnhash.h\r
-#usr/include/python2.3/unicodeobject.h\r
-#usr/include/python2.3/weakrefobject.h\r
-#usr/lib/python2.3\r
-#usr/lib/python2.3/BaseHTTPServer.py\r
-usr/lib/python2.3/BaseHTTPServer.pyc\r
-#usr/lib/python2.3/BaseHTTPServer.pyo\r
-#usr/lib/python2.3/Bastion.py\r
-#usr/lib/python2.3/Bastion.pyc\r
-#usr/lib/python2.3/Bastion.pyo\r
-#usr/lib/python2.3/CGIHTTPServer.py\r
-usr/lib/python2.3/CGIHTTPServer.pyc\r
-#usr/lib/python2.3/CGIHTTPServer.pyo\r
-#usr/lib/python2.3/ConfigParser.py\r
-usr/lib/python2.3/ConfigParser.pyc\r
-#usr/lib/python2.3/ConfigParser.pyo\r
-#usr/lib/python2.3/Cookie.py\r
-usr/lib/python2.3/Cookie.pyc\r
-#usr/lib/python2.3/Cookie.pyo\r
-#usr/lib/python2.3/DocXMLRPCServer.py\r
-usr/lib/python2.3/DocXMLRPCServer.pyc\r
-#usr/lib/python2.3/DocXMLRPCServer.pyo\r
-#usr/lib/python2.3/FCNTL.py\r
-usr/lib/python2.3/FCNTL.pyc\r
-#usr/lib/python2.3/FCNTL.pyo\r
-#usr/lib/python2.3/HTMLParser.py\r
-usr/lib/python2.3/HTMLParser.pyc\r
-#usr/lib/python2.3/HTMLParser.pyo\r
-#usr/lib/python2.3/LICENSE.txt\r
-#usr/lib/python2.3/MimeWriter.py\r
-usr/lib/python2.3/MimeWriter.pyc\r
-#usr/lib/python2.3/MimeWriter.pyo\r
-#usr/lib/python2.3/Queue.py\r
-usr/lib/python2.3/Queue.pyc\r
-#usr/lib/python2.3/Queue.pyo\r
-#usr/lib/python2.3/SimpleHTTPServer.py\r
-usr/lib/python2.3/SimpleHTTPServer.pyc\r
-#usr/lib/python2.3/SimpleHTTPServer.pyo\r
-#usr/lib/python2.3/SimpleXMLRPCServer.py\r
-usr/lib/python2.3/SimpleXMLRPCServer.pyc\r
-#usr/lib/python2.3/SimpleXMLRPCServer.pyo\r
-#usr/lib/python2.3/SocketServer.py\r
-usr/lib/python2.3/SocketServer.pyc\r
-#usr/lib/python2.3/SocketServer.pyo\r
-#usr/lib/python2.3/StringIO.py\r
-usr/lib/python2.3/StringIO.pyc\r
-#usr/lib/python2.3/StringIO.pyo\r
-#usr/lib/python2.3/TERMIOS.py\r
-usr/lib/python2.3/TERMIOS.pyc\r
-#usr/lib/python2.3/TERMIOS.pyo\r
-#usr/lib/python2.3/UserDict.py\r
-usr/lib/python2.3/UserDict.pyc\r
-#usr/lib/python2.3/UserDict.pyo\r
-#usr/lib/python2.3/UserList.py\r
-usr/lib/python2.3/UserList.pyc\r
-#usr/lib/python2.3/UserList.pyo\r
-#usr/lib/python2.3/UserString.py\r
-usr/lib/python2.3/UserString.pyc\r
-#usr/lib/python2.3/UserString.pyo\r
-#usr/lib/python2.3/__future__.py\r
-usr/lib/python2.3/__future__.pyc\r
-#usr/lib/python2.3/__future__.pyo\r
-#usr/lib/python2.3/__phello__.foo.py\r
-#usr/lib/python2.3/__phello__.foo.pyc\r
-#usr/lib/python2.3/__phello__.foo.pyo\r
-#usr/lib/python2.3/_strptime.py\r
-usr/lib/python2.3/_strptime.pyc\r
-#usr/lib/python2.3/_strptime.pyo\r
-#usr/lib/python2.3/aifc.py\r
-#usr/lib/python2.3/aifc.pyc\r
-#usr/lib/python2.3/aifc.pyo\r
-#usr/lib/python2.3/anydbm.py\r
-usr/lib/python2.3/anydbm.pyc\r
-#usr/lib/python2.3/anydbm.pyo\r
-#usr/lib/python2.3/asynchat.py\r
-#usr/lib/python2.3/asynchat.pyc\r
-#usr/lib/python2.3/asynchat.pyo\r
-#usr/lib/python2.3/asyncore.py\r
-usr/lib/python2.3/asyncore.pyc\r
-#usr/lib/python2.3/asyncore.pyo\r
-#usr/lib/python2.3/atexit.py\r
-usr/lib/python2.3/atexit.pyc\r
-#usr/lib/python2.3/atexit.pyo\r
-#usr/lib/python2.3/audiodev.py\r
-#usr/lib/python2.3/audiodev.pyc\r
-#usr/lib/python2.3/audiodev.pyo\r
-#usr/lib/python2.3/base64.py\r
-usr/lib/python2.3/base64.pyc\r
-#usr/lib/python2.3/base64.pyo\r
-#usr/lib/python2.3/bdb.py\r
-#usr/lib/python2.3/bdb.pyc\r
-#usr/lib/python2.3/bdb.pyo\r
-#usr/lib/python2.3/binhex.py\r
-usr/lib/python2.3/binhex.pyc\r
-#usr/lib/python2.3/binhex.pyo\r
-#usr/lib/python2.3/bisect.py\r
-#usr/lib/python2.3/bisect.pyc\r
-#usr/lib/python2.3/bisect.pyo\r
-#usr/lib/python2.3/bsddb\r
-#usr/lib/python2.3/bsddb/__init__.py\r
-usr/lib/python2.3/bsddb/__init__.pyc\r
-#usr/lib/python2.3/bsddb/__init__.pyo\r
-#usr/lib/python2.3/bsddb/db.py\r
-usr/lib/python2.3/bsddb/db.pyc\r
-#usr/lib/python2.3/bsddb/db.pyo\r
-#usr/lib/python2.3/bsddb/dbobj.py\r
-usr/lib/python2.3/bsddb/dbobj.pyc\r
-#usr/lib/python2.3/bsddb/dbobj.pyo\r
-#usr/lib/python2.3/bsddb/dbrecio.py\r
-usr/lib/python2.3/bsddb/dbrecio.pyc\r
-#usr/lib/python2.3/bsddb/dbrecio.pyo\r
-#usr/lib/python2.3/bsddb/dbshelve.py\r
-usr/lib/python2.3/bsddb/dbshelve.pyc\r
-#usr/lib/python2.3/bsddb/dbshelve.pyo\r
-#usr/lib/python2.3/bsddb/dbtables.py\r
-usr/lib/python2.3/bsddb/dbtables.pyc\r
-#usr/lib/python2.3/bsddb/dbtables.pyo\r
-#usr/lib/python2.3/bsddb/dbutils.py\r
-usr/lib/python2.3/bsddb/dbutils.pyc\r
-#usr/lib/python2.3/bsddb/dbutils.pyo\r
-#usr/lib/python2.3/bsddb/test\r
-#usr/lib/python2.3/bsddb/test/__init__.py\r
-#usr/lib/python2.3/bsddb/test/__init__.pyc\r
-#usr/lib/python2.3/bsddb/test/__init__.pyo\r
-#usr/lib/python2.3/bsddb/test/test_all.py\r
-#usr/lib/python2.3/bsddb/test/test_all.pyc\r
-#usr/lib/python2.3/bsddb/test/test_all.pyo\r
-#usr/lib/python2.3/bsddb/test/test_associate.py\r
-#usr/lib/python2.3/bsddb/test/test_associate.pyc\r
-#usr/lib/python2.3/bsddb/test/test_associate.pyo\r
-#usr/lib/python2.3/bsddb/test/test_basics.py\r
-#usr/lib/python2.3/bsddb/test/test_basics.pyc\r
-#usr/lib/python2.3/bsddb/test/test_basics.pyo\r
-#usr/lib/python2.3/bsddb/test/test_compat.py\r
-#usr/lib/python2.3/bsddb/test/test_compat.pyc\r
-#usr/lib/python2.3/bsddb/test/test_compat.pyo\r
-#usr/lib/python2.3/bsddb/test/test_dbobj.py\r
-#usr/lib/python2.3/bsddb/test/test_dbobj.pyc\r
-#usr/lib/python2.3/bsddb/test/test_dbobj.pyo\r
-#usr/lib/python2.3/bsddb/test/test_dbshelve.py\r
-#usr/lib/python2.3/bsddb/test/test_dbshelve.pyc\r
-#usr/lib/python2.3/bsddb/test/test_dbshelve.pyo\r
-#usr/lib/python2.3/bsddb/test/test_dbtables.py\r
-#usr/lib/python2.3/bsddb/test/test_dbtables.pyc\r
-#usr/lib/python2.3/bsddb/test/test_dbtables.pyo\r
-#usr/lib/python2.3/bsddb/test/test_env_close.py\r
-#usr/lib/python2.3/bsddb/test/test_env_close.pyc\r
-#usr/lib/python2.3/bsddb/test/test_env_close.pyo\r
-#usr/lib/python2.3/bsddb/test/test_get_none.py\r
-#usr/lib/python2.3/bsddb/test/test_get_none.pyc\r
-#usr/lib/python2.3/bsddb/test/test_get_none.pyo\r
-#usr/lib/python2.3/bsddb/test/test_join.py\r
-#usr/lib/python2.3/bsddb/test/test_join.pyc\r
-#usr/lib/python2.3/bsddb/test/test_join.pyo\r
-#usr/lib/python2.3/bsddb/test/test_lock.py\r
-#usr/lib/python2.3/bsddb/test/test_lock.pyc\r
-#usr/lib/python2.3/bsddb/test/test_lock.pyo\r
-#usr/lib/python2.3/bsddb/test/test_misc.py\r
-#usr/lib/python2.3/bsddb/test/test_misc.pyc\r
-#usr/lib/python2.3/bsddb/test/test_misc.pyo\r
-#usr/lib/python2.3/bsddb/test/test_queue.py\r
-#usr/lib/python2.3/bsddb/test/test_queue.pyc\r
-#usr/lib/python2.3/bsddb/test/test_queue.pyo\r
-#usr/lib/python2.3/bsddb/test/test_recno.py\r
-#usr/lib/python2.3/bsddb/test/test_recno.pyc\r
-#usr/lib/python2.3/bsddb/test/test_recno.pyo\r
-#usr/lib/python2.3/bsddb/test/test_thread.py\r
-#usr/lib/python2.3/bsddb/test/test_thread.pyc\r
-#usr/lib/python2.3/bsddb/test/test_thread.pyo\r
-#usr/lib/python2.3/calendar.py\r
-usr/lib/python2.3/calendar.pyc\r
-#usr/lib/python2.3/calendar.pyo\r
-#usr/lib/python2.3/cgi.py\r
-usr/lib/python2.3/cgi.pyc\r
-#usr/lib/python2.3/cgi.pyo\r
-#usr/lib/python2.3/cgitb.py\r
-usr/lib/python2.3/cgitb.pyc\r
-#usr/lib/python2.3/cgitb.pyo\r
-#usr/lib/python2.3/chunk.py\r
-usr/lib/python2.3/chunk.pyc\r
-#usr/lib/python2.3/chunk.pyo\r
-#usr/lib/python2.3/cmd.py\r
-usr/lib/python2.3/cmd.pyc\r
-#usr/lib/python2.3/cmd.pyo\r
-#usr/lib/python2.3/code.py\r
-usr/lib/python2.3/code.pyc\r
-#usr/lib/python2.3/code.pyo\r
-#usr/lib/python2.3/codecs.py\r
-usr/lib/python2.3/codecs.pyc\r
-#usr/lib/python2.3/codecs.pyo\r
-#usr/lib/python2.3/codeop.py\r
-usr/lib/python2.3/codeop.pyc\r
-#usr/lib/python2.3/codeop.pyo\r
-#usr/lib/python2.3/colorsys.py\r
-usr/lib/python2.3/colorsys.pyc\r
-#usr/lib/python2.3/colorsys.pyo\r
-#usr/lib/python2.3/commands.py\r
-usr/lib/python2.3/commands.pyc\r
-#usr/lib/python2.3/commands.pyo\r
-#usr/lib/python2.3/compileall.py\r
-usr/lib/python2.3/compileall.pyc\r
-#usr/lib/python2.3/compileall.pyo\r
-#usr/lib/python2.3/compiler\r
-#usr/lib/python2.3/compiler/__init__.py\r
-usr/lib/python2.3/compiler/__init__.pyc\r
-#usr/lib/python2.3/compiler/__init__.pyo\r
-#usr/lib/python2.3/compiler/ast.py\r
-usr/lib/python2.3/compiler/ast.pyc\r
-#usr/lib/python2.3/compiler/ast.pyo\r
-#usr/lib/python2.3/compiler/consts.py\r
-usr/lib/python2.3/compiler/consts.pyc\r
-#usr/lib/python2.3/compiler/consts.pyo\r
-#usr/lib/python2.3/compiler/future.py\r
-usr/lib/python2.3/compiler/future.pyc\r
-#usr/lib/python2.3/compiler/future.pyo\r
-#usr/lib/python2.3/compiler/misc.py\r
-usr/lib/python2.3/compiler/misc.pyc\r
-#usr/lib/python2.3/compiler/misc.pyo\r
-#usr/lib/python2.3/compiler/pyassem.py\r
-usr/lib/python2.3/compiler/pyassem.pyc\r
-#usr/lib/python2.3/compiler/pyassem.pyo\r
-#usr/lib/python2.3/compiler/pycodegen.py\r
-usr/lib/python2.3/compiler/pycodegen.pyc\r
-#usr/lib/python2.3/compiler/pycodegen.pyo\r
-#usr/lib/python2.3/compiler/symbols.py\r
-usr/lib/python2.3/compiler/symbols.pyc\r
-#usr/lib/python2.3/compiler/symbols.pyo\r
-#usr/lib/python2.3/compiler/syntax.py\r
-usr/lib/python2.3/compiler/syntax.pyc\r
-#usr/lib/python2.3/compiler/syntax.pyo\r
-#usr/lib/python2.3/compiler/transformer.py\r
-usr/lib/python2.3/compiler/transformer.pyc\r
-#usr/lib/python2.3/compiler/transformer.pyo\r
-#usr/lib/python2.3/compiler/visitor.py\r
-usr/lib/python2.3/compiler/visitor.pyc\r
-#usr/lib/python2.3/compiler/visitor.pyo\r
-#usr/lib/python2.3/config\r
-#usr/lib/python2.3/config/Makefile\r
-#usr/lib/python2.3/config/Setup\r
-#usr/lib/python2.3/config/Setup.config\r
-#usr/lib/python2.3/config/Setup.local\r
-#usr/lib/python2.3/config/config.c\r
-#usr/lib/python2.3/config/config.c.in\r
-#usr/lib/python2.3/config/install-sh\r
-#usr/lib/python2.3/config/libpython2.3.a\r
-#usr/lib/python2.3/config/makesetup\r
-#usr/lib/python2.3/config/python.o\r
-#usr/lib/python2.3/copy.py\r
-usr/lib/python2.3/copy.pyc\r
-#usr/lib/python2.3/copy.pyo\r
-#usr/lib/python2.3/copy_reg.py\r
-usr/lib/python2.3/copy_reg.pyc\r
-#usr/lib/python2.3/copy_reg.pyo\r
-#usr/lib/python2.3/csv.py\r
-usr/lib/python2.3/csv.pyc\r
-#usr/lib/python2.3/csv.pyo\r
-#usr/lib/python2.3/curses\r
-#usr/lib/python2.3/curses/__init__.py\r
-usr/lib/python2.3/curses/__init__.pyc\r
-#usr/lib/python2.3/curses/__init__.pyo\r
-#usr/lib/python2.3/curses/ascii.py\r
-usr/lib/python2.3/curses/ascii.pyc\r
-#usr/lib/python2.3/curses/ascii.pyo\r
-#usr/lib/python2.3/curses/has_key.py\r
-usr/lib/python2.3/curses/has_key.pyc\r
-#usr/lib/python2.3/curses/has_key.pyo\r
-#usr/lib/python2.3/curses/panel.py\r
-usr/lib/python2.3/curses/panel.pyc\r
-#usr/lib/python2.3/curses/panel.pyo\r
-#usr/lib/python2.3/curses/textpad.py\r
-usr/lib/python2.3/curses/textpad.pyc\r
-#usr/lib/python2.3/curses/textpad.pyo\r
-#usr/lib/python2.3/curses/wrapper.py\r
-usr/lib/python2.3/curses/wrapper.pyc\r
-#usr/lib/python2.3/curses/wrapper.pyo\r
-#usr/lib/python2.3/dbhash.py\r
-usr/lib/python2.3/dbhash.pyc\r
-#usr/lib/python2.3/dbhash.pyo\r
-#usr/lib/python2.3/difflib.py\r
-usr/lib/python2.3/difflib.pyc\r
-#usr/lib/python2.3/difflib.pyo\r
-#usr/lib/python2.3/dircache.py\r
-usr/lib/python2.3/dircache.pyc\r
-#usr/lib/python2.3/dircache.pyo\r
-#usr/lib/python2.3/dis.py\r
-usr/lib/python2.3/dis.pyc\r
-#usr/lib/python2.3/dis.pyo\r
-#usr/lib/python2.3/distutils\r
-#usr/lib/python2.3/distutils/README\r
-#usr/lib/python2.3/distutils/__init__.py\r
-#usr/lib/python2.3/distutils/__init__.pyc\r
-#usr/lib/python2.3/distutils/__init__.pyo\r
-#usr/lib/python2.3/distutils/archive_util.py\r
-#usr/lib/python2.3/distutils/archive_util.pyc\r
-#usr/lib/python2.3/distutils/archive_util.pyo\r
-#usr/lib/python2.3/distutils/bcppcompiler.py\r
-#usr/lib/python2.3/distutils/bcppcompiler.pyc\r
-#usr/lib/python2.3/distutils/bcppcompiler.pyo\r
-#usr/lib/python2.3/distutils/ccompiler.py\r
-#usr/lib/python2.3/distutils/ccompiler.pyc\r
-#usr/lib/python2.3/distutils/ccompiler.pyo\r
-#usr/lib/python2.3/distutils/cmd.py\r
-#usr/lib/python2.3/distutils/cmd.pyc\r
-#usr/lib/python2.3/distutils/cmd.pyo\r
-#usr/lib/python2.3/distutils/command\r
-#usr/lib/python2.3/distutils/command/__init__.py\r
-#usr/lib/python2.3/distutils/command/__init__.pyc\r
-#usr/lib/python2.3/distutils/command/__init__.pyo\r
-#usr/lib/python2.3/distutils/command/bdist.py\r
-#usr/lib/python2.3/distutils/command/bdist.pyc\r
-#usr/lib/python2.3/distutils/command/bdist.pyo\r
-#usr/lib/python2.3/distutils/command/bdist_dumb.py\r
-#usr/lib/python2.3/distutils/command/bdist_dumb.pyc\r
-#usr/lib/python2.3/distutils/command/bdist_dumb.pyo\r
-#usr/lib/python2.3/distutils/command/bdist_rpm.py\r
-#usr/lib/python2.3/distutils/command/bdist_rpm.pyc\r
-#usr/lib/python2.3/distutils/command/bdist_rpm.pyo\r
-#usr/lib/python2.3/distutils/command/bdist_wininst.py\r
-#usr/lib/python2.3/distutils/command/bdist_wininst.pyc\r
-#usr/lib/python2.3/distutils/command/bdist_wininst.pyo\r
-#usr/lib/python2.3/distutils/command/build.py\r
-#usr/lib/python2.3/distutils/command/build.pyc\r
-#usr/lib/python2.3/distutils/command/build.pyo\r
-#usr/lib/python2.3/distutils/command/build_clib.py\r
-#usr/lib/python2.3/distutils/command/build_clib.pyc\r
-#usr/lib/python2.3/distutils/command/build_clib.pyo\r
-#usr/lib/python2.3/distutils/command/build_ext.py\r
-#usr/lib/python2.3/distutils/command/build_ext.pyc\r
-#usr/lib/python2.3/distutils/command/build_ext.pyo\r
-#usr/lib/python2.3/distutils/command/build_py.py\r
-#usr/lib/python2.3/distutils/command/build_py.pyc\r
-#usr/lib/python2.3/distutils/command/build_py.pyo\r
-#usr/lib/python2.3/distutils/command/build_scripts.py\r
-#usr/lib/python2.3/distutils/command/build_scripts.pyc\r
-#usr/lib/python2.3/distutils/command/build_scripts.pyo\r
-#usr/lib/python2.3/distutils/command/clean.py\r
-#usr/lib/python2.3/distutils/command/clean.pyc\r
-#usr/lib/python2.3/distutils/command/clean.pyo\r
-#usr/lib/python2.3/distutils/command/command_template\r
-#usr/lib/python2.3/distutils/command/config.py\r
-#usr/lib/python2.3/distutils/command/config.pyc\r
-#usr/lib/python2.3/distutils/command/config.pyo\r
-#usr/lib/python2.3/distutils/command/install.py\r
-#usr/lib/python2.3/distutils/command/install.pyc\r
-#usr/lib/python2.3/distutils/command/install.pyo\r
-#usr/lib/python2.3/distutils/command/install_data.py\r
-#usr/lib/python2.3/distutils/command/install_data.pyc\r
-#usr/lib/python2.3/distutils/command/install_data.pyo\r
-#usr/lib/python2.3/distutils/command/install_headers.py\r
-#usr/lib/python2.3/distutils/command/install_headers.pyc\r
-#usr/lib/python2.3/distutils/command/install_headers.pyo\r
-#usr/lib/python2.3/distutils/command/install_lib.py\r
-#usr/lib/python2.3/distutils/command/install_lib.pyc\r
-#usr/lib/python2.3/distutils/command/install_lib.pyo\r
-#usr/lib/python2.3/distutils/command/install_scripts.py\r
-#usr/lib/python2.3/distutils/command/install_scripts.pyc\r
-#usr/lib/python2.3/distutils/command/install_scripts.pyo\r
-#usr/lib/python2.3/distutils/command/register.py\r
-#usr/lib/python2.3/distutils/command/register.pyc\r
-#usr/lib/python2.3/distutils/command/register.pyo\r
-#usr/lib/python2.3/distutils/command/sdist.py\r
-#usr/lib/python2.3/distutils/command/sdist.pyc\r
-#usr/lib/python2.3/distutils/command/sdist.pyo\r
-#usr/lib/python2.3/distutils/command/wininst.exe\r
-#usr/lib/python2.3/distutils/core.py\r
-#usr/lib/python2.3/distutils/core.pyc\r
-#usr/lib/python2.3/distutils/core.pyo\r
-#usr/lib/python2.3/distutils/cygwinccompiler.py\r
-#usr/lib/python2.3/distutils/cygwinccompiler.pyc\r
-#usr/lib/python2.3/distutils/cygwinccompiler.pyo\r
-#usr/lib/python2.3/distutils/debug.py\r
-#usr/lib/python2.3/distutils/debug.pyc\r
-#usr/lib/python2.3/distutils/debug.pyo\r
-#usr/lib/python2.3/distutils/dep_util.py\r
-#usr/lib/python2.3/distutils/dep_util.pyc\r
-#usr/lib/python2.3/distutils/dep_util.pyo\r
-#usr/lib/python2.3/distutils/dir_util.py\r
-#usr/lib/python2.3/distutils/dir_util.pyc\r
-#usr/lib/python2.3/distutils/dir_util.pyo\r
-#usr/lib/python2.3/distutils/dist.py\r
-#usr/lib/python2.3/distutils/dist.pyc\r
-#usr/lib/python2.3/distutils/dist.pyo\r
-#usr/lib/python2.3/distutils/emxccompiler.py\r
-#usr/lib/python2.3/distutils/emxccompiler.pyc\r
-#usr/lib/python2.3/distutils/emxccompiler.pyo\r
-#usr/lib/python2.3/distutils/errors.py\r
-#usr/lib/python2.3/distutils/errors.pyc\r
-#usr/lib/python2.3/distutils/errors.pyo\r
-#usr/lib/python2.3/distutils/extension.py\r
-#usr/lib/python2.3/distutils/extension.pyc\r
-#usr/lib/python2.3/distutils/extension.pyo\r
-#usr/lib/python2.3/distutils/fancy_getopt.py\r
-#usr/lib/python2.3/distutils/fancy_getopt.pyc\r
-#usr/lib/python2.3/distutils/fancy_getopt.pyo\r
-#usr/lib/python2.3/distutils/file_util.py\r
-#usr/lib/python2.3/distutils/file_util.pyc\r
-#usr/lib/python2.3/distutils/file_util.pyo\r
-#usr/lib/python2.3/distutils/filelist.py\r
-#usr/lib/python2.3/distutils/filelist.pyc\r
-#usr/lib/python2.3/distutils/filelist.pyo\r
-#usr/lib/python2.3/distutils/log.py\r
-#usr/lib/python2.3/distutils/log.pyc\r
-#usr/lib/python2.3/distutils/log.pyo\r
-#usr/lib/python2.3/distutils/msvccompiler.py\r
-#usr/lib/python2.3/distutils/msvccompiler.pyc\r
-#usr/lib/python2.3/distutils/msvccompiler.pyo\r
-#usr/lib/python2.3/distutils/mwerkscompiler.py\r
-#usr/lib/python2.3/distutils/mwerkscompiler.pyc\r
-#usr/lib/python2.3/distutils/mwerkscompiler.pyo\r
-#usr/lib/python2.3/distutils/spawn.py\r
-#usr/lib/python2.3/distutils/spawn.pyc\r
-#usr/lib/python2.3/distutils/spawn.pyo\r
-#usr/lib/python2.3/distutils/sysconfig.py\r
-#usr/lib/python2.3/distutils/sysconfig.pyc\r
-#usr/lib/python2.3/distutils/sysconfig.pyo\r
-#usr/lib/python2.3/distutils/text_file.py\r
-#usr/lib/python2.3/distutils/text_file.pyc\r
-#usr/lib/python2.3/distutils/text_file.pyo\r
-#usr/lib/python2.3/distutils/unixccompiler.py\r
-#usr/lib/python2.3/distutils/unixccompiler.pyc\r
-#usr/lib/python2.3/distutils/unixccompiler.pyo\r
-#usr/lib/python2.3/distutils/util.py\r
-#usr/lib/python2.3/distutils/util.pyc\r
-#usr/lib/python2.3/distutils/util.pyo\r
-#usr/lib/python2.3/distutils/version.py\r
-#usr/lib/python2.3/distutils/version.pyc\r
-#usr/lib/python2.3/distutils/version.pyo\r
-#usr/lib/python2.3/doctest.py\r
-usr/lib/python2.3/doctest.pyc\r
-#usr/lib/python2.3/doctest.pyo\r
-#usr/lib/python2.3/dumbdbm.py\r
-usr/lib/python2.3/dumbdbm.pyc\r
-#usr/lib/python2.3/dumbdbm.pyo\r
-#usr/lib/python2.3/dummy_thread.py\r
-usr/lib/python2.3/dummy_thread.pyc\r
-#usr/lib/python2.3/dummy_thread.pyo\r
-#usr/lib/python2.3/dummy_threading.py\r
-usr/lib/python2.3/dummy_threading.pyc\r
-#usr/lib/python2.3/dummy_threading.pyo\r
-#usr/lib/python2.3/email\r
-#usr/lib/python2.3/email/Charset.py\r
-usr/lib/python2.3/email/Charset.pyc\r
-#usr/lib/python2.3/email/Charset.pyo\r
-#usr/lib/python2.3/email/Encoders.py\r
-usr/lib/python2.3/email/Encoders.pyc\r
-#usr/lib/python2.3/email/Encoders.pyo\r
-#usr/lib/python2.3/email/Errors.py\r
-usr/lib/python2.3/email/Errors.pyc\r
-#usr/lib/python2.3/email/Errors.pyo\r
-#usr/lib/python2.3/email/Generator.py\r
-usr/lib/python2.3/email/Generator.pyc\r
-#usr/lib/python2.3/email/Generator.pyo\r
-#usr/lib/python2.3/email/Header.py\r
-usr/lib/python2.3/email/Header.pyc\r
-#usr/lib/python2.3/email/Header.pyo\r
-#usr/lib/python2.3/email/Iterators.py\r
-usr/lib/python2.3/email/Iterators.pyc\r
-#usr/lib/python2.3/email/Iterators.pyo\r
-#usr/lib/python2.3/email/MIMEAudio.py\r
-usr/lib/python2.3/email/MIMEAudio.pyc\r
-#usr/lib/python2.3/email/MIMEAudio.pyo\r
-#usr/lib/python2.3/email/MIMEBase.py\r
-usr/lib/python2.3/email/MIMEBase.pyc\r
-#usr/lib/python2.3/email/MIMEBase.pyo\r
-#usr/lib/python2.3/email/MIMEImage.py\r
-usr/lib/python2.3/email/MIMEImage.pyc\r
-#usr/lib/python2.3/email/MIMEImage.pyo\r
-#usr/lib/python2.3/email/MIMEMessage.py\r
-usr/lib/python2.3/email/MIMEMessage.pyc\r
-#usr/lib/python2.3/email/MIMEMessage.pyo\r
-#usr/lib/python2.3/email/MIMEMultipart.py\r
-usr/lib/python2.3/email/MIMEMultipart.pyc\r
-#usr/lib/python2.3/email/MIMEMultipart.pyo\r
-#usr/lib/python2.3/email/MIMENonMultipart.py\r
-usr/lib/python2.3/email/MIMENonMultipart.pyc\r
-#usr/lib/python2.3/email/MIMENonMultipart.pyo\r
-#usr/lib/python2.3/email/MIMEText.py\r
-usr/lib/python2.3/email/MIMEText.pyc\r
-#usr/lib/python2.3/email/MIMEText.pyo\r
-#usr/lib/python2.3/email/Message.py\r
-usr/lib/python2.3/email/Message.pyc\r
-#usr/lib/python2.3/email/Message.pyo\r
-#usr/lib/python2.3/email/Parser.py\r
-usr/lib/python2.3/email/Parser.pyc\r
-#usr/lib/python2.3/email/Parser.pyo\r
-#usr/lib/python2.3/email/Utils.py\r
-usr/lib/python2.3/email/Utils.pyc\r
-#usr/lib/python2.3/email/Utils.pyo\r
-#usr/lib/python2.3/email/__init__.py\r
-usr/lib/python2.3/email/__init__.pyc\r
-#usr/lib/python2.3/email/__init__.pyo\r
-#usr/lib/python2.3/email/_compat21.py\r
-usr/lib/python2.3/email/_compat21.pyc\r
-#usr/lib/python2.3/email/_compat21.pyo\r
-#usr/lib/python2.3/email/_compat22.py\r
-usr/lib/python2.3/email/_compat22.pyc\r
-#usr/lib/python2.3/email/_compat22.pyo\r
-#usr/lib/python2.3/email/_parseaddr.py\r
-usr/lib/python2.3/email/_parseaddr.pyc\r
-#usr/lib/python2.3/email/_parseaddr.pyo\r
-#usr/lib/python2.3/email/base64MIME.py\r
-usr/lib/python2.3/email/base64MIME.pyc\r
-#usr/lib/python2.3/email/base64MIME.pyo\r
-#usr/lib/python2.3/email/quopriMIME.py\r
-usr/lib/python2.3/email/quopriMIME.pyc\r
-#usr/lib/python2.3/email/quopriMIME.pyo\r
-#usr/lib/python2.3/email/test\r
-#usr/lib/python2.3/email/test/__init__.py\r
-#usr/lib/python2.3/email/test/__init__.pyc\r
-#usr/lib/python2.3/email/test/__init__.pyo\r
-#usr/lib/python2.3/email/test/data\r
-#usr/lib/python2.3/email/test/data/PyBanner048.gif\r
-#usr/lib/python2.3/email/test/data/audiotest.au\r
-#usr/lib/python2.3/email/test/data/msg_01.txt\r
-#usr/lib/python2.3/email/test/data/msg_02.txt\r
-#usr/lib/python2.3/email/test/data/msg_03.txt\r
-#usr/lib/python2.3/email/test/data/msg_04.txt\r
-#usr/lib/python2.3/email/test/data/msg_05.txt\r
-#usr/lib/python2.3/email/test/data/msg_06.txt\r
-#usr/lib/python2.3/email/test/data/msg_07.txt\r
-#usr/lib/python2.3/email/test/data/msg_08.txt\r
-#usr/lib/python2.3/email/test/data/msg_09.txt\r
-#usr/lib/python2.3/email/test/data/msg_10.txt\r
-#usr/lib/python2.3/email/test/data/msg_11.txt\r
-#usr/lib/python2.3/email/test/data/msg_12.txt\r
-#usr/lib/python2.3/email/test/data/msg_13.txt\r
-#usr/lib/python2.3/email/test/data/msg_14.txt\r
-#usr/lib/python2.3/email/test/data/msg_15.txt\r
-#usr/lib/python2.3/email/test/data/msg_16.txt\r
-#usr/lib/python2.3/email/test/data/msg_17.txt\r
-#usr/lib/python2.3/email/test/data/msg_18.txt\r
-#usr/lib/python2.3/email/test/data/msg_19.txt\r
-#usr/lib/python2.3/email/test/data/msg_20.txt\r
-#usr/lib/python2.3/email/test/data/msg_21.txt\r
-#usr/lib/python2.3/email/test/data/msg_22.txt\r
-#usr/lib/python2.3/email/test/data/msg_23.txt\r
-#usr/lib/python2.3/email/test/data/msg_24.txt\r
-#usr/lib/python2.3/email/test/data/msg_25.txt\r
-#usr/lib/python2.3/email/test/data/msg_26.txt\r
-#usr/lib/python2.3/email/test/data/msg_27.txt\r
-#usr/lib/python2.3/email/test/data/msg_28.txt\r
-#usr/lib/python2.3/email/test/data/msg_29.txt\r
-#usr/lib/python2.3/email/test/data/msg_30.txt\r
-#usr/lib/python2.3/email/test/data/msg_31.txt\r
-#usr/lib/python2.3/email/test/data/msg_32.txt\r
-#usr/lib/python2.3/email/test/data/msg_33.txt\r
-#usr/lib/python2.3/email/test/data/msg_34.txt\r
-#usr/lib/python2.3/email/test/data/msg_35.txt\r
-#usr/lib/python2.3/email/test/test_email.py\r
-#usr/lib/python2.3/email/test/test_email.pyc\r
-#usr/lib/python2.3/email/test/test_email.pyo\r
-#usr/lib/python2.3/email/test/test_email_codecs.py\r
-#usr/lib/python2.3/email/test/test_email_codecs.pyc\r
-#usr/lib/python2.3/email/test/test_email_codecs.pyo\r
-#usr/lib/python2.3/email/test/test_email_torture.py\r
-#usr/lib/python2.3/email/test/test_email_torture.pyc\r
-#usr/lib/python2.3/email/test/test_email_torture.pyo\r
-#usr/lib/python2.3/encodings\r
-#usr/lib/python2.3/encodings/__init__.py\r
-usr/lib/python2.3/encodings/__init__.pyc\r
-#usr/lib/python2.3/encodings/__init__.pyo\r
-#usr/lib/python2.3/encodings/aliases.py\r
-usr/lib/python2.3/encodings/aliases.pyc\r
-#usr/lib/python2.3/encodings/aliases.pyo\r
-#usr/lib/python2.3/encodings/ascii.py\r
-usr/lib/python2.3/encodings/ascii.pyc\r
-#usr/lib/python2.3/encodings/ascii.pyo\r
-#usr/lib/python2.3/encodings/base64_codec.py\r
-usr/lib/python2.3/encodings/base64_codec.pyc\r
-#usr/lib/python2.3/encodings/base64_codec.pyo\r
-#usr/lib/python2.3/encodings/charmap.py\r
-usr/lib/python2.3/encodings/charmap.pyc\r
-#usr/lib/python2.3/encodings/charmap.pyo\r
-#usr/lib/python2.3/encodings/cp037.py\r
-#usr/lib/python2.3/encodings/cp037.pyc\r
-#usr/lib/python2.3/encodings/cp037.pyo\r
-#usr/lib/python2.3/encodings/cp1006.py\r
-#usr/lib/python2.3/encodings/cp1006.pyc\r
-#usr/lib/python2.3/encodings/cp1006.pyo\r
-#usr/lib/python2.3/encodings/cp1026.py\r
-#usr/lib/python2.3/encodings/cp1026.pyc\r
-#usr/lib/python2.3/encodings/cp1026.pyo\r
-#usr/lib/python2.3/encodings/cp1140.py\r
-#usr/lib/python2.3/encodings/cp1140.pyc\r
-#usr/lib/python2.3/encodings/cp1140.pyo\r
-#usr/lib/python2.3/encodings/cp1250.py\r
-#usr/lib/python2.3/encodings/cp1250.pyc\r
-#usr/lib/python2.3/encodings/cp1250.pyo\r
-#usr/lib/python2.3/encodings/cp1251.py\r
-#usr/lib/python2.3/encodings/cp1251.pyc\r
-#usr/lib/python2.3/encodings/cp1251.pyo\r
-#usr/lib/python2.3/encodings/cp1252.py\r
-#usr/lib/python2.3/encodings/cp1252.pyc\r
-#usr/lib/python2.3/encodings/cp1252.pyo\r
-#usr/lib/python2.3/encodings/cp1253.py\r
-#usr/lib/python2.3/encodings/cp1253.pyc\r
-#usr/lib/python2.3/encodings/cp1253.pyo\r
-#usr/lib/python2.3/encodings/cp1254.py\r
-#usr/lib/python2.3/encodings/cp1254.pyc\r
-#usr/lib/python2.3/encodings/cp1254.pyo\r
-#usr/lib/python2.3/encodings/cp1255.py\r
-#usr/lib/python2.3/encodings/cp1255.pyc\r
-#usr/lib/python2.3/encodings/cp1255.pyo\r
-#usr/lib/python2.3/encodings/cp1256.py\r
-#usr/lib/python2.3/encodings/cp1256.pyc\r
-#usr/lib/python2.3/encodings/cp1256.pyo\r
-#usr/lib/python2.3/encodings/cp1257.py\r
-#usr/lib/python2.3/encodings/cp1257.pyc\r
-#usr/lib/python2.3/encodings/cp1257.pyo\r
-#usr/lib/python2.3/encodings/cp1258.py\r
-#usr/lib/python2.3/encodings/cp1258.pyc\r
-#usr/lib/python2.3/encodings/cp1258.pyo\r
-#usr/lib/python2.3/encodings/cp424.py\r
-#usr/lib/python2.3/encodings/cp424.pyc\r
-#usr/lib/python2.3/encodings/cp424.pyo\r
-#usr/lib/python2.3/encodings/cp437.py\r
-#usr/lib/python2.3/encodings/cp437.pyc\r
-#usr/lib/python2.3/encodings/cp437.pyo\r
-#usr/lib/python2.3/encodings/cp500.py\r
-#usr/lib/python2.3/encodings/cp500.pyc\r
-#usr/lib/python2.3/encodings/cp500.pyo\r
-#usr/lib/python2.3/encodings/cp737.py\r
-#usr/lib/python2.3/encodings/cp737.pyc\r
-#usr/lib/python2.3/encodings/cp737.pyo\r
-#usr/lib/python2.3/encodings/cp775.py\r
-#usr/lib/python2.3/encodings/cp775.pyc\r
-#usr/lib/python2.3/encodings/cp775.pyo\r
-#usr/lib/python2.3/encodings/cp850.py\r
-#usr/lib/python2.3/encodings/cp850.pyc\r
-#usr/lib/python2.3/encodings/cp850.pyo\r
-#usr/lib/python2.3/encodings/cp852.py\r
-#usr/lib/python2.3/encodings/cp852.pyc\r
-#usr/lib/python2.3/encodings/cp852.pyo\r
-#usr/lib/python2.3/encodings/cp855.py\r
-#usr/lib/python2.3/encodings/cp855.pyc\r
-#usr/lib/python2.3/encodings/cp855.pyo\r
-#usr/lib/python2.3/encodings/cp856.py\r
-#usr/lib/python2.3/encodings/cp856.pyc\r
-#usr/lib/python2.3/encodings/cp856.pyo\r
-#usr/lib/python2.3/encodings/cp857.py\r
-#usr/lib/python2.3/encodings/cp857.pyc\r
-#usr/lib/python2.3/encodings/cp857.pyo\r
-#usr/lib/python2.3/encodings/cp860.py\r
-#usr/lib/python2.3/encodings/cp860.pyc\r
-#usr/lib/python2.3/encodings/cp860.pyo\r
-#usr/lib/python2.3/encodings/cp861.py\r
-#usr/lib/python2.3/encodings/cp861.pyc\r
-#usr/lib/python2.3/encodings/cp861.pyo\r
-#usr/lib/python2.3/encodings/cp862.py\r
-#usr/lib/python2.3/encodings/cp862.pyc\r
-#usr/lib/python2.3/encodings/cp862.pyo\r
-#usr/lib/python2.3/encodings/cp863.py\r
-#usr/lib/python2.3/encodings/cp863.pyc\r
-#usr/lib/python2.3/encodings/cp863.pyo\r
-#usr/lib/python2.3/encodings/cp864.py\r
-#usr/lib/python2.3/encodings/cp864.pyc\r
-#usr/lib/python2.3/encodings/cp864.pyo\r
-#usr/lib/python2.3/encodings/cp865.py\r
-#usr/lib/python2.3/encodings/cp865.pyc\r
-#usr/lib/python2.3/encodings/cp865.pyo\r
-#usr/lib/python2.3/encodings/cp866.py\r
-#usr/lib/python2.3/encodings/cp866.pyc\r
-#usr/lib/python2.3/encodings/cp866.pyo\r
-#usr/lib/python2.3/encodings/cp869.py\r
-#usr/lib/python2.3/encodings/cp869.pyc\r
-#usr/lib/python2.3/encodings/cp869.pyo\r
-#usr/lib/python2.3/encodings/cp874.py\r
-#usr/lib/python2.3/encodings/cp874.pyc\r
-#usr/lib/python2.3/encodings/cp874.pyo\r
-#usr/lib/python2.3/encodings/cp875.py\r
-#usr/lib/python2.3/encodings/cp875.pyc\r
-#usr/lib/python2.3/encodings/cp875.pyo\r
-#usr/lib/python2.3/encodings/hex_codec.py\r
-usr/lib/python2.3/encodings/hex_codec.pyc\r
-#usr/lib/python2.3/encodings/hex_codec.pyo\r
-#usr/lib/python2.3/encodings/idna.py\r
-#usr/lib/python2.3/encodings/idna.pyc\r
-#usr/lib/python2.3/encodings/idna.pyo\r
-#usr/lib/python2.3/encodings/iso8859_1.py\r
-usr/lib/python2.3/encodings/iso8859_1.pyc\r
-#usr/lib/python2.3/encodings/iso8859_1.pyo\r
-#usr/lib/python2.3/encodings/iso8859_10.py\r
-usr/lib/python2.3/encodings/iso8859_10.pyc\r
-#usr/lib/python2.3/encodings/iso8859_10.pyo\r
-#usr/lib/python2.3/encodings/iso8859_13.py\r
-usr/lib/python2.3/encodings/iso8859_13.pyc\r
-#usr/lib/python2.3/encodings/iso8859_13.pyo\r
-#usr/lib/python2.3/encodings/iso8859_14.py\r
-usr/lib/python2.3/encodings/iso8859_14.pyc\r
-#usr/lib/python2.3/encodings/iso8859_14.pyo\r
-#usr/lib/python2.3/encodings/iso8859_15.py\r
-usr/lib/python2.3/encodings/iso8859_15.pyc\r
-#usr/lib/python2.3/encodings/iso8859_15.pyo\r
-#usr/lib/python2.3/encodings/iso8859_2.py\r
-usr/lib/python2.3/encodings/iso8859_2.pyc\r
-#usr/lib/python2.3/encodings/iso8859_2.pyo\r
-#usr/lib/python2.3/encodings/iso8859_3.py\r
-usr/lib/python2.3/encodings/iso8859_3.pyc\r
-#usr/lib/python2.3/encodings/iso8859_3.pyo\r
-#usr/lib/python2.3/encodings/iso8859_4.py\r
-usr/lib/python2.3/encodings/iso8859_4.pyc\r
-#usr/lib/python2.3/encodings/iso8859_4.pyo\r
-#usr/lib/python2.3/encodings/iso8859_5.py\r
-usr/lib/python2.3/encodings/iso8859_5.pyc\r
-#usr/lib/python2.3/encodings/iso8859_5.pyo\r
-#usr/lib/python2.3/encodings/iso8859_6.py\r
-usr/lib/python2.3/encodings/iso8859_6.pyc\r
-#usr/lib/python2.3/encodings/iso8859_6.pyo\r
-#usr/lib/python2.3/encodings/iso8859_7.py\r
-usr/lib/python2.3/encodings/iso8859_7.pyc\r
-#usr/lib/python2.3/encodings/iso8859_7.pyo\r
-#usr/lib/python2.3/encodings/iso8859_8.py\r
-usr/lib/python2.3/encodings/iso8859_8.pyc\r
-#usr/lib/python2.3/encodings/iso8859_8.pyo\r
-#usr/lib/python2.3/encodings/iso8859_9.py\r
-usr/lib/python2.3/encodings/iso8859_9.pyc\r
-#usr/lib/python2.3/encodings/iso8859_9.pyo\r
-#usr/lib/python2.3/encodings/koi8_r.py\r
-usr/lib/python2.3/encodings/koi8_r.pyc\r
-#usr/lib/python2.3/encodings/koi8_r.pyo\r
-#usr/lib/python2.3/encodings/koi8_u.py\r
-usr/lib/python2.3/encodings/koi8_u.pyc\r
-#usr/lib/python2.3/encodings/koi8_u.pyo\r
-#usr/lib/python2.3/encodings/latin_1.py\r
-#usr/lib/python2.3/encodings/latin_1.pyc\r
-#usr/lib/python2.3/encodings/latin_1.pyo\r
-#usr/lib/python2.3/encodings/mac_cyrillic.py\r
-#usr/lib/python2.3/encodings/mac_cyrillic.pyc\r
-#usr/lib/python2.3/encodings/mac_cyrillic.pyo\r
-#usr/lib/python2.3/encodings/mac_greek.py\r
-#usr/lib/python2.3/encodings/mac_greek.pyc\r
-#usr/lib/python2.3/encodings/mac_greek.pyo\r
-#usr/lib/python2.3/encodings/mac_iceland.py\r
-#usr/lib/python2.3/encodings/mac_iceland.pyc\r
-#usr/lib/python2.3/encodings/mac_iceland.pyo\r
-#usr/lib/python2.3/encodings/mac_latin2.py\r
-#usr/lib/python2.3/encodings/mac_latin2.pyc\r
-#usr/lib/python2.3/encodings/mac_latin2.pyo\r
-#usr/lib/python2.3/encodings/mac_roman.py\r
-#usr/lib/python2.3/encodings/mac_roman.pyc\r
-#usr/lib/python2.3/encodings/mac_roman.pyo\r
-#usr/lib/python2.3/encodings/mac_turkish.py\r
-#usr/lib/python2.3/encodings/mac_turkish.pyc\r
-#usr/lib/python2.3/encodings/mac_turkish.pyo\r
-#usr/lib/python2.3/encodings/mbcs.py\r
-#usr/lib/python2.3/encodings/mbcs.pyc\r
-#usr/lib/python2.3/encodings/mbcs.pyo\r
-#usr/lib/python2.3/encodings/palmos.py\r
-#usr/lib/python2.3/encodings/palmos.pyc\r
-#usr/lib/python2.3/encodings/palmos.pyo\r
-#usr/lib/python2.3/encodings/punycode.py\r
-#usr/lib/python2.3/encodings/punycode.pyc\r
-#usr/lib/python2.3/encodings/punycode.pyo\r
-#usr/lib/python2.3/encodings/quopri_codec.py\r
-#usr/lib/python2.3/encodings/quopri_codec.pyc\r
-#usr/lib/python2.3/encodings/quopri_codec.pyo\r
-#usr/lib/python2.3/encodings/raw_unicode_escape.py\r
-usr/lib/python2.3/encodings/raw_unicode_escape.pyc\r
-#usr/lib/python2.3/encodings/raw_unicode_escape.pyo\r
-#usr/lib/python2.3/encodings/rot_13.py\r
-#usr/lib/python2.3/encodings/rot_13.pyc\r
-#usr/lib/python2.3/encodings/rot_13.pyo\r
-#usr/lib/python2.3/encodings/string_escape.py\r
-usr/lib/python2.3/encodings/string_escape.pyc\r
-#usr/lib/python2.3/encodings/string_escape.pyo\r
-#usr/lib/python2.3/encodings/undefined.py\r
-usr/lib/python2.3/encodings/undefined.pyc\r
-#usr/lib/python2.3/encodings/undefined.pyo\r
-#usr/lib/python2.3/encodings/unicode_escape.py\r
-usr/lib/python2.3/encodings/unicode_escape.pyc\r
-#usr/lib/python2.3/encodings/unicode_escape.pyo\r
-#usr/lib/python2.3/encodings/unicode_internal.py\r
-usr/lib/python2.3/encodings/unicode_internal.pyc\r
-#usr/lib/python2.3/encodings/unicode_internal.pyo\r
-#usr/lib/python2.3/encodings/utf_16.py\r
-usr/lib/python2.3/encodings/utf_16.pyc\r
-#usr/lib/python2.3/encodings/utf_16.pyo\r
-#usr/lib/python2.3/encodings/utf_16_be.py\r
-usr/lib/python2.3/encodings/utf_16_be.pyc\r
-#usr/lib/python2.3/encodings/utf_16_be.pyo\r
-#usr/lib/python2.3/encodings/utf_16_le.py\r
-usr/lib/python2.3/encodings/utf_16_le.pyc\r
-#usr/lib/python2.3/encodings/utf_16_le.pyo\r
-#usr/lib/python2.3/encodings/utf_7.py\r
-usr/lib/python2.3/encodings/utf_7.pyc\r
-#usr/lib/python2.3/encodings/utf_7.pyo\r
-#usr/lib/python2.3/encodings/utf_8.py\r
-usr/lib/python2.3/encodings/utf_8.pyc\r
-#usr/lib/python2.3/encodings/utf_8.pyo\r
-#usr/lib/python2.3/encodings/uu_codec.py\r
-usr/lib/python2.3/encodings/uu_codec.pyc\r
-#usr/lib/python2.3/encodings/uu_codec.pyo\r
-#usr/lib/python2.3/encodings/zlib_codec.py\r
-usr/lib/python2.3/encodings/zlib_codec.pyc\r
-#usr/lib/python2.3/encodings/zlib_codec.pyo\r
-#usr/lib/python2.3/filecmp.py\r
-usr/lib/python2.3/filecmp.pyc\r
-#usr/lib/python2.3/filecmp.pyo\r
-#usr/lib/python2.3/fileinput.py\r
-usr/lib/python2.3/fileinput.pyc\r
-#usr/lib/python2.3/fileinput.pyo\r
-#usr/lib/python2.3/fnmatch.py\r
-usr/lib/python2.3/fnmatch.pyc\r
-#usr/lib/python2.3/fnmatch.pyo\r
-#usr/lib/python2.3/formatter.py\r
-usr/lib/python2.3/formatter.pyc\r
-#usr/lib/python2.3/formatter.pyo\r
-#usr/lib/python2.3/fpformat.py\r
-usr/lib/python2.3/fpformat.pyc\r
-#usr/lib/python2.3/fpformat.pyo\r
-#usr/lib/python2.3/ftplib.py\r
-#usr/lib/python2.3/ftplib.pyc\r
-#usr/lib/python2.3/ftplib.pyo\r
-#usr/lib/python2.3/getopt.py\r
-usr/lib/python2.3/getopt.pyc\r
-#usr/lib/python2.3/getopt.pyo\r
-#usr/lib/python2.3/getpass.py\r
-usr/lib/python2.3/getpass.pyc\r
-#usr/lib/python2.3/getpass.pyo\r
-#usr/lib/python2.3/gettext.py\r
-usr/lib/python2.3/gettext.pyc\r
-#usr/lib/python2.3/gettext.pyo\r
-#usr/lib/python2.3/glob.py\r
-usr/lib/python2.3/glob.pyc\r
-#usr/lib/python2.3/glob.pyo\r
-#usr/lib/python2.3/gopherlib.py\r
-#usr/lib/python2.3/gopherlib.pyc\r
-#usr/lib/python2.3/gopherlib.pyo\r
-#usr/lib/python2.3/gzip.py\r
-usr/lib/python2.3/gzip.pyc\r
-#usr/lib/python2.3/gzip.pyo\r
-#usr/lib/python2.3/heapq.py\r
-usr/lib/python2.3/heapq.pyc\r
-#usr/lib/python2.3/heapq.pyo\r
-#usr/lib/python2.3/hmac.py\r
-usr/lib/python2.3/hmac.pyc\r
-#usr/lib/python2.3/hmac.pyo\r
-#usr/lib/python2.3/hotshot\r
-#usr/lib/python2.3/hotshot/__init__.py\r
-#usr/lib/python2.3/hotshot/__init__.pyc\r
-#usr/lib/python2.3/hotshot/__init__.pyo\r
-#usr/lib/python2.3/hotshot/log.py\r
-#usr/lib/python2.3/hotshot/log.pyc\r
-#usr/lib/python2.3/hotshot/log.pyo\r
-#usr/lib/python2.3/hotshot/stats.py\r
-#usr/lib/python2.3/hotshot/stats.pyc\r
-#usr/lib/python2.3/hotshot/stats.pyo\r
-#usr/lib/python2.3/hotshot/stones.py\r
-#usr/lib/python2.3/hotshot/stones.pyc\r
-#usr/lib/python2.3/hotshot/stones.pyo\r
-#usr/lib/python2.3/htmlentitydefs.py\r
-#usr/lib/python2.3/htmlentitydefs.pyc\r
-#usr/lib/python2.3/htmlentitydefs.pyo\r
-#usr/lib/python2.3/htmllib.py\r
-#usr/lib/python2.3/htmllib.pyc\r
-#usr/lib/python2.3/htmllib.pyo\r
-#usr/lib/python2.3/httplib.py\r
-#usr/lib/python2.3/httplib.pyc\r
-#usr/lib/python2.3/httplib.pyo\r
-#usr/lib/python2.3/idlelib\r
-#usr/lib/python2.3/idlelib/AutoExpand.py\r
-#usr/lib/python2.3/idlelib/AutoExpand.pyc\r
-#usr/lib/python2.3/idlelib/AutoExpand.pyo\r
-#usr/lib/python2.3/idlelib/Bindings.py\r
-#usr/lib/python2.3/idlelib/Bindings.pyc\r
-#usr/lib/python2.3/idlelib/Bindings.pyo\r
-#usr/lib/python2.3/idlelib/CREDITS.txt\r
-#usr/lib/python2.3/idlelib/CallTipWindow.py\r
-#usr/lib/python2.3/idlelib/CallTipWindow.pyc\r
-#usr/lib/python2.3/idlelib/CallTipWindow.pyo\r
-#usr/lib/python2.3/idlelib/CallTips.py\r
-#usr/lib/python2.3/idlelib/CallTips.pyc\r
-#usr/lib/python2.3/idlelib/CallTips.pyo\r
-#usr/lib/python2.3/idlelib/ChangeLog\r
-#usr/lib/python2.3/idlelib/ClassBrowser.py\r
-#usr/lib/python2.3/idlelib/ClassBrowser.pyc\r
-#usr/lib/python2.3/idlelib/ClassBrowser.pyo\r
-#usr/lib/python2.3/idlelib/ColorDelegator.py\r
-#usr/lib/python2.3/idlelib/ColorDelegator.pyc\r
-#usr/lib/python2.3/idlelib/ColorDelegator.pyo\r
-#usr/lib/python2.3/idlelib/Debugger.py\r
-#usr/lib/python2.3/idlelib/Debugger.pyc\r
-#usr/lib/python2.3/idlelib/Debugger.pyo\r
-#usr/lib/python2.3/idlelib/Delegator.py\r
-#usr/lib/python2.3/idlelib/Delegator.pyc\r
-#usr/lib/python2.3/idlelib/Delegator.pyo\r
-#usr/lib/python2.3/idlelib/EditorWindow.py\r
-#usr/lib/python2.3/idlelib/EditorWindow.pyc\r
-#usr/lib/python2.3/idlelib/EditorWindow.pyo\r
-#usr/lib/python2.3/idlelib/FileList.py\r
-#usr/lib/python2.3/idlelib/FileList.pyc\r
-#usr/lib/python2.3/idlelib/FileList.pyo\r
-#usr/lib/python2.3/idlelib/FormatParagraph.py\r
-#usr/lib/python2.3/idlelib/FormatParagraph.pyc\r
-#usr/lib/python2.3/idlelib/FormatParagraph.pyo\r
-#usr/lib/python2.3/idlelib/GrepDialog.py\r
-#usr/lib/python2.3/idlelib/GrepDialog.pyc\r
-#usr/lib/python2.3/idlelib/GrepDialog.pyo\r
-#usr/lib/python2.3/idlelib/HISTORY.txt\r
-#usr/lib/python2.3/idlelib/IOBinding.py\r
-#usr/lib/python2.3/idlelib/IOBinding.pyc\r
-#usr/lib/python2.3/idlelib/IOBinding.pyo\r
-#usr/lib/python2.3/idlelib/Icons\r
-#usr/lib/python2.3/idlelib/Icons/folder.gif\r
-#usr/lib/python2.3/idlelib/Icons/idle.icns\r
-#usr/lib/python2.3/idlelib/Icons/minusnode.gif\r
-#usr/lib/python2.3/idlelib/Icons/openfolder.gif\r
-#usr/lib/python2.3/idlelib/Icons/plusnode.gif\r
-#usr/lib/python2.3/idlelib/Icons/python.gif\r
-#usr/lib/python2.3/idlelib/Icons/tk.gif\r
-#usr/lib/python2.3/idlelib/IdleHistory.py\r
-#usr/lib/python2.3/idlelib/IdleHistory.pyc\r
-#usr/lib/python2.3/idlelib/IdleHistory.pyo\r
-#usr/lib/python2.3/idlelib/MultiStatusBar.py\r
-#usr/lib/python2.3/idlelib/MultiStatusBar.pyc\r
-#usr/lib/python2.3/idlelib/MultiStatusBar.pyo\r
-#usr/lib/python2.3/idlelib/NEWS.txt\r
-#usr/lib/python2.3/idlelib/ObjectBrowser.py\r
-#usr/lib/python2.3/idlelib/ObjectBrowser.pyc\r
-#usr/lib/python2.3/idlelib/ObjectBrowser.pyo\r
-#usr/lib/python2.3/idlelib/OutputWindow.py\r
-#usr/lib/python2.3/idlelib/OutputWindow.pyc\r
-#usr/lib/python2.3/idlelib/OutputWindow.pyo\r
-#usr/lib/python2.3/idlelib/ParenMatch.py\r
-#usr/lib/python2.3/idlelib/ParenMatch.pyc\r
-#usr/lib/python2.3/idlelib/ParenMatch.pyo\r
-#usr/lib/python2.3/idlelib/PathBrowser.py\r
-#usr/lib/python2.3/idlelib/PathBrowser.pyc\r
-#usr/lib/python2.3/idlelib/PathBrowser.pyo\r
-#usr/lib/python2.3/idlelib/Percolator.py\r
-#usr/lib/python2.3/idlelib/Percolator.pyc\r
-#usr/lib/python2.3/idlelib/Percolator.pyo\r
-#usr/lib/python2.3/idlelib/PyParse.py\r
-#usr/lib/python2.3/idlelib/PyParse.pyc\r
-#usr/lib/python2.3/idlelib/PyParse.pyo\r
-#usr/lib/python2.3/idlelib/PyShell.py\r
-#usr/lib/python2.3/idlelib/PyShell.pyc\r
-#usr/lib/python2.3/idlelib/PyShell.pyo\r
-#usr/lib/python2.3/idlelib/README.txt\r
-#usr/lib/python2.3/idlelib/RemoteDebugger.py\r
-#usr/lib/python2.3/idlelib/RemoteDebugger.pyc\r
-#usr/lib/python2.3/idlelib/RemoteDebugger.pyo\r
-#usr/lib/python2.3/idlelib/RemoteObjectBrowser.py\r
-#usr/lib/python2.3/idlelib/RemoteObjectBrowser.pyc\r
-#usr/lib/python2.3/idlelib/RemoteObjectBrowser.pyo\r
-#usr/lib/python2.3/idlelib/ReplaceDialog.py\r
-#usr/lib/python2.3/idlelib/ReplaceDialog.pyc\r
-#usr/lib/python2.3/idlelib/ReplaceDialog.pyo\r
-#usr/lib/python2.3/idlelib/ScriptBinding.py\r
-#usr/lib/python2.3/idlelib/ScriptBinding.pyc\r
-#usr/lib/python2.3/idlelib/ScriptBinding.pyo\r
-#usr/lib/python2.3/idlelib/ScrolledList.py\r
-#usr/lib/python2.3/idlelib/ScrolledList.pyc\r
-#usr/lib/python2.3/idlelib/ScrolledList.pyo\r
-#usr/lib/python2.3/idlelib/SearchDialog.py\r
-#usr/lib/python2.3/idlelib/SearchDialog.pyc\r
-#usr/lib/python2.3/idlelib/SearchDialog.pyo\r
-#usr/lib/python2.3/idlelib/SearchDialogBase.py\r
-#usr/lib/python2.3/idlelib/SearchDialogBase.pyc\r
-#usr/lib/python2.3/idlelib/SearchDialogBase.pyo\r
-#usr/lib/python2.3/idlelib/SearchEngine.py\r
-#usr/lib/python2.3/idlelib/SearchEngine.pyc\r
-#usr/lib/python2.3/idlelib/SearchEngine.pyo\r
-#usr/lib/python2.3/idlelib/StackViewer.py\r
-#usr/lib/python2.3/idlelib/StackViewer.pyc\r
-#usr/lib/python2.3/idlelib/StackViewer.pyo\r
-#usr/lib/python2.3/idlelib/TODO.txt\r
-#usr/lib/python2.3/idlelib/ToolTip.py\r
-#usr/lib/python2.3/idlelib/ToolTip.pyc\r
-#usr/lib/python2.3/idlelib/ToolTip.pyo\r
-#usr/lib/python2.3/idlelib/TreeWidget.py\r
-#usr/lib/python2.3/idlelib/TreeWidget.pyc\r
-#usr/lib/python2.3/idlelib/TreeWidget.pyo\r
-#usr/lib/python2.3/idlelib/UndoDelegator.py\r
-#usr/lib/python2.3/idlelib/UndoDelegator.pyc\r
-#usr/lib/python2.3/idlelib/UndoDelegator.pyo\r
-#usr/lib/python2.3/idlelib/WidgetRedirector.py\r
-#usr/lib/python2.3/idlelib/WidgetRedirector.pyc\r
-#usr/lib/python2.3/idlelib/WidgetRedirector.pyo\r
-#usr/lib/python2.3/idlelib/WindowList.py\r
-#usr/lib/python2.3/idlelib/WindowList.pyc\r
-#usr/lib/python2.3/idlelib/WindowList.pyo\r
-#usr/lib/python2.3/idlelib/ZoomHeight.py\r
-#usr/lib/python2.3/idlelib/ZoomHeight.pyc\r
-#usr/lib/python2.3/idlelib/ZoomHeight.pyo\r
-#usr/lib/python2.3/idlelib/__init__.py\r
-#usr/lib/python2.3/idlelib/__init__.pyc\r
-#usr/lib/python2.3/idlelib/__init__.pyo\r
-#usr/lib/python2.3/idlelib/aboutDialog.py\r
-#usr/lib/python2.3/idlelib/aboutDialog.pyc\r
-#usr/lib/python2.3/idlelib/aboutDialog.pyo\r
-#usr/lib/python2.3/idlelib/buildapp.py\r
-#usr/lib/python2.3/idlelib/buildapp.pyc\r
-#usr/lib/python2.3/idlelib/buildapp.pyo\r
-#usr/lib/python2.3/idlelib/config-extensions.def\r
-#usr/lib/python2.3/idlelib/config-highlight.def\r
-#usr/lib/python2.3/idlelib/config-keys.def\r
-#usr/lib/python2.3/idlelib/config-main.def\r
-#usr/lib/python2.3/idlelib/configDialog.py\r
-#usr/lib/python2.3/idlelib/configDialog.pyc\r
-#usr/lib/python2.3/idlelib/configDialog.pyo\r
-#usr/lib/python2.3/idlelib/configHandler.py\r
-#usr/lib/python2.3/idlelib/configHandler.pyc\r
-#usr/lib/python2.3/idlelib/configHandler.pyo\r
-#usr/lib/python2.3/idlelib/configHelpSourceEdit.py\r
-#usr/lib/python2.3/idlelib/configHelpSourceEdit.pyc\r
-#usr/lib/python2.3/idlelib/configHelpSourceEdit.pyo\r
-#usr/lib/python2.3/idlelib/configSectionNameDialog.py\r
-#usr/lib/python2.3/idlelib/configSectionNameDialog.pyc\r
-#usr/lib/python2.3/idlelib/configSectionNameDialog.pyo\r
-#usr/lib/python2.3/idlelib/dynOptionMenuWidget.py\r
-#usr/lib/python2.3/idlelib/dynOptionMenuWidget.pyc\r
-#usr/lib/python2.3/idlelib/dynOptionMenuWidget.pyo\r
-#usr/lib/python2.3/idlelib/extend.txt\r
-#usr/lib/python2.3/idlelib/help.txt\r
-#usr/lib/python2.3/idlelib/idle\r
-#usr/lib/python2.3/idlelib/idle.bat\r
-#usr/lib/python2.3/idlelib/idle.py\r
-#usr/lib/python2.3/idlelib/idle.pyc\r
-#usr/lib/python2.3/idlelib/idle.pyo\r
-#usr/lib/python2.3/idlelib/idle.pyw\r
-#usr/lib/python2.3/idlelib/idlever.py\r
-#usr/lib/python2.3/idlelib/idlever.pyc\r
-#usr/lib/python2.3/idlelib/idlever.pyo\r
-#usr/lib/python2.3/idlelib/keybindingDialog.py\r
-#usr/lib/python2.3/idlelib/keybindingDialog.pyc\r
-#usr/lib/python2.3/idlelib/keybindingDialog.pyo\r
-#usr/lib/python2.3/idlelib/rpc.py\r
-#usr/lib/python2.3/idlelib/rpc.pyc\r
-#usr/lib/python2.3/idlelib/rpc.pyo\r
-#usr/lib/python2.3/idlelib/run.py\r
-#usr/lib/python2.3/idlelib/run.pyc\r
-#usr/lib/python2.3/idlelib/run.pyo\r
-#usr/lib/python2.3/idlelib/tabpage.py\r
-#usr/lib/python2.3/idlelib/tabpage.pyc\r
-#usr/lib/python2.3/idlelib/tabpage.pyo\r
-#usr/lib/python2.3/idlelib/testcode.py\r
-#usr/lib/python2.3/idlelib/testcode.pyc\r
-#usr/lib/python2.3/idlelib/testcode.pyo\r
-#usr/lib/python2.3/idlelib/textView.py\r
-#usr/lib/python2.3/idlelib/textView.pyc\r
-#usr/lib/python2.3/idlelib/textView.pyo\r
-#usr/lib/python2.3/ihooks.py\r
-usr/lib/python2.3/ihooks.pyc\r
-#usr/lib/python2.3/ihooks.pyo\r
-#usr/lib/python2.3/imaplib.py\r
-#usr/lib/python2.3/imaplib.pyc\r
-#usr/lib/python2.3/imaplib.pyo\r
-#usr/lib/python2.3/imghdr.py\r
-usr/lib/python2.3/imghdr.pyc\r
-#usr/lib/python2.3/imghdr.pyo\r
-#usr/lib/python2.3/imputil.py\r
-usr/lib/python2.3/imputil.pyc\r
-#usr/lib/python2.3/imputil.pyo\r
-#usr/lib/python2.3/inspect.py\r
-usr/lib/python2.3/inspect.pyc\r
-#usr/lib/python2.3/inspect.pyo\r
-#usr/lib/python2.3/keyword.py\r
-usr/lib/python2.3/keyword.pyc\r
-#usr/lib/python2.3/keyword.pyo\r
-#usr/lib/python2.3/lib-dynload\r
-usr/lib/python2.3/lib-dynload/_csv.so\r
-usr/lib/python2.3/lib-dynload/_curses.so\r
-usr/lib/python2.3/lib-dynload/_curses_panel.so\r
-#usr/lib/python2.3/lib-dynload/_hotshot.so\r
-usr/lib/python2.3/lib-dynload/_locale.so\r
-usr/lib/python2.3/lib-dynload/_random.so\r
-usr/lib/python2.3/lib-dynload/_socket.so\r
-usr/lib/python2.3/lib-dynload/_ssl.so\r
-#usr/lib/python2.3/lib-dynload/_testcapi.so\r
-usr/lib/python2.3/lib-dynload/_weakref.so\r
-usr/lib/python2.3/lib-dynload/array.so\r
-#usr/lib/python2.3/lib-dynload/audioop.so\r
-usr/lib/python2.3/lib-dynload/binascii.so\r
-usr/lib/python2.3/lib-dynload/bz2.so\r
-usr/lib/python2.3/lib-dynload/cPickle.so\r
-usr/lib/python2.3/lib-dynload/cStringIO.so\r
-usr/lib/python2.3/lib-dynload/cmath.so\r
-usr/lib/python2.3/lib-dynload/crypt.so\r
-usr/lib/python2.3/lib-dynload/datetime.so\r
-usr/lib/python2.3/lib-dynload/dl.so\r
-usr/lib/python2.3/lib-dynload/fcntl.so\r
-usr/lib/python2.3/lib-dynload/gdbm.so\r
-usr/lib/python2.3/lib-dynload/grp.so\r
-usr/lib/python2.3/lib-dynload/imageop.so\r
-usr/lib/python2.3/lib-dynload/itertools.so\r
-#usr/lib/python2.3/lib-dynload/linuxaudiodev.so\r
-usr/lib/python2.3/lib-dynload/math.so\r
-usr/lib/python2.3/lib-dynload/md5.so\r
-usr/lib/python2.3/lib-dynload/mmap.so\r
-usr/lib/python2.3/lib-dynload/mpz.so\r
-#usr/lib/python2.3/lib-dynload/nis.so\r
-usr/lib/python2.3/lib-dynload/operator.so\r
-#usr/lib/python2.3/lib-dynload/ossaudiodev.so\r
-usr/lib/python2.3/lib-dynload/parser.so\r
-usr/lib/python2.3/lib-dynload/pcre.so\r
-usr/lib/python2.3/lib-dynload/pwd.so\r
-usr/lib/python2.3/lib-dynload/pyexpat.so\r
-usr/lib/python2.3/lib-dynload/regex.so\r
-usr/lib/python2.3/lib-dynload/resource.so\r
-usr/lib/python2.3/lib-dynload/rgbimg.so\r
-usr/lib/python2.3/lib-dynload/rotor.so\r
-usr/lib/python2.3/lib-dynload/select.so\r
-usr/lib/python2.3/lib-dynload/sha.so\r
-usr/lib/python2.3/lib-dynload/strop.so\r
-usr/lib/python2.3/lib-dynload/struct.so\r
-usr/lib/python2.3/lib-dynload/syslog.so\r
-usr/lib/python2.3/lib-dynload/termios.so\r
-usr/lib/python2.3/lib-dynload/time.so\r
-usr/lib/python2.3/lib-dynload/timing.so\r
-usr/lib/python2.3/lib-dynload/unicodedata.so\r
-usr/lib/python2.3/lib-dynload/xreadlines.so\r
-usr/lib/python2.3/lib-dynload/zlib.so\r
-#usr/lib/python2.3/lib-old\r
-#usr/lib/python2.3/lib-old/Para.py\r
-#usr/lib/python2.3/lib-old/Para.pyc\r
-#usr/lib/python2.3/lib-old/Para.pyo\r
-#usr/lib/python2.3/lib-old/addpack.py\r
-#usr/lib/python2.3/lib-old/addpack.pyc\r
-#usr/lib/python2.3/lib-old/addpack.pyo\r
-#usr/lib/python2.3/lib-old/cmp.py\r
-#usr/lib/python2.3/lib-old/cmp.pyc\r
-#usr/lib/python2.3/lib-old/cmp.pyo\r
-#usr/lib/python2.3/lib-old/cmpcache.py\r
-#usr/lib/python2.3/lib-old/cmpcache.pyc\r
-#usr/lib/python2.3/lib-old/cmpcache.pyo\r
-#usr/lib/python2.3/lib-old/codehack.py\r
-#usr/lib/python2.3/lib-old/codehack.pyc\r
-#usr/lib/python2.3/lib-old/codehack.pyo\r
-#usr/lib/python2.3/lib-old/dircmp.py\r
-#usr/lib/python2.3/lib-old/dircmp.pyc\r
-#usr/lib/python2.3/lib-old/dircmp.pyo\r
-#usr/lib/python2.3/lib-old/dump.py\r
-#usr/lib/python2.3/lib-old/dump.pyc\r
-#usr/lib/python2.3/lib-old/dump.pyo\r
-#usr/lib/python2.3/lib-old/find.py\r
-#usr/lib/python2.3/lib-old/find.pyc\r
-#usr/lib/python2.3/lib-old/find.pyo\r
-#usr/lib/python2.3/lib-old/fmt.py\r
-#usr/lib/python2.3/lib-old/fmt.pyc\r
-#usr/lib/python2.3/lib-old/fmt.pyo\r
-#usr/lib/python2.3/lib-old/grep.py\r
-#usr/lib/python2.3/lib-old/grep.pyc\r
-#usr/lib/python2.3/lib-old/grep.pyo\r
-#usr/lib/python2.3/lib-old/lockfile.py\r
-#usr/lib/python2.3/lib-old/lockfile.pyc\r
-#usr/lib/python2.3/lib-old/lockfile.pyo\r
-#usr/lib/python2.3/lib-old/newdir.py\r
-#usr/lib/python2.3/lib-old/newdir.pyc\r
-#usr/lib/python2.3/lib-old/newdir.pyo\r
-#usr/lib/python2.3/lib-old/ni.py\r
-#usr/lib/python2.3/lib-old/ni.pyc\r
-#usr/lib/python2.3/lib-old/ni.pyo\r
-#usr/lib/python2.3/lib-old/packmail.py\r
-#usr/lib/python2.3/lib-old/packmail.pyc\r
-#usr/lib/python2.3/lib-old/packmail.pyo\r
-#usr/lib/python2.3/lib-old/poly.py\r
-#usr/lib/python2.3/lib-old/poly.pyc\r
-#usr/lib/python2.3/lib-old/poly.pyo\r
-#usr/lib/python2.3/lib-old/rand.py\r
-#usr/lib/python2.3/lib-old/rand.pyc\r
-#usr/lib/python2.3/lib-old/rand.pyo\r
-#usr/lib/python2.3/lib-old/tb.py\r
-#usr/lib/python2.3/lib-old/tb.pyc\r
-#usr/lib/python2.3/lib-old/tb.pyo\r
-#usr/lib/python2.3/lib-old/util.py\r
-#usr/lib/python2.3/lib-old/util.pyc\r
-#usr/lib/python2.3/lib-old/util.pyo\r
-#usr/lib/python2.3/lib-old/whatsound.py\r
-#usr/lib/python2.3/lib-old/whatsound.pyc\r
-#usr/lib/python2.3/lib-old/whatsound.pyo\r
-#usr/lib/python2.3/lib-old/zmod.py\r
-#usr/lib/python2.3/lib-old/zmod.pyc\r
-#usr/lib/python2.3/lib-old/zmod.pyo\r
-#usr/lib/python2.3/lib-tk\r
-#usr/lib/python2.3/lib-tk/Canvas.py\r
-#usr/lib/python2.3/lib-tk/Canvas.pyc\r
-#usr/lib/python2.3/lib-tk/Canvas.pyo\r
-#usr/lib/python2.3/lib-tk/Dialog.py\r
-#usr/lib/python2.3/lib-tk/Dialog.pyc\r
-#usr/lib/python2.3/lib-tk/Dialog.pyo\r
-#usr/lib/python2.3/lib-tk/FileDialog.py\r
-#usr/lib/python2.3/lib-tk/FileDialog.pyc\r
-#usr/lib/python2.3/lib-tk/FileDialog.pyo\r
-#usr/lib/python2.3/lib-tk/FixTk.py\r
-#usr/lib/python2.3/lib-tk/FixTk.pyc\r
-#usr/lib/python2.3/lib-tk/FixTk.pyo\r
-#usr/lib/python2.3/lib-tk/ScrolledText.py\r
-#usr/lib/python2.3/lib-tk/ScrolledText.pyc\r
-#usr/lib/python2.3/lib-tk/ScrolledText.pyo\r
-#usr/lib/python2.3/lib-tk/SimpleDialog.py\r
-#usr/lib/python2.3/lib-tk/SimpleDialog.pyc\r
-#usr/lib/python2.3/lib-tk/SimpleDialog.pyo\r
-#usr/lib/python2.3/lib-tk/Tix.py\r
-#usr/lib/python2.3/lib-tk/Tix.pyc\r
-#usr/lib/python2.3/lib-tk/Tix.pyo\r
-#usr/lib/python2.3/lib-tk/Tkconstants.py\r
-#usr/lib/python2.3/lib-tk/Tkconstants.pyc\r
-#usr/lib/python2.3/lib-tk/Tkconstants.pyo\r
-#usr/lib/python2.3/lib-tk/Tkdnd.py\r
-#usr/lib/python2.3/lib-tk/Tkdnd.pyc\r
-#usr/lib/python2.3/lib-tk/Tkdnd.pyo\r
-#usr/lib/python2.3/lib-tk/Tkinter.py\r
-#usr/lib/python2.3/lib-tk/Tkinter.pyc\r
-#usr/lib/python2.3/lib-tk/Tkinter.pyo\r
-#usr/lib/python2.3/lib-tk/tkColorChooser.py\r
-#usr/lib/python2.3/lib-tk/tkColorChooser.pyc\r
-#usr/lib/python2.3/lib-tk/tkColorChooser.pyo\r
-#usr/lib/python2.3/lib-tk/tkCommonDialog.py\r
-#usr/lib/python2.3/lib-tk/tkCommonDialog.pyc\r
-#usr/lib/python2.3/lib-tk/tkCommonDialog.pyo\r
-#usr/lib/python2.3/lib-tk/tkFileDialog.py\r
-#usr/lib/python2.3/lib-tk/tkFileDialog.pyc\r
-#usr/lib/python2.3/lib-tk/tkFileDialog.pyo\r
-#usr/lib/python2.3/lib-tk/tkFont.py\r
-#usr/lib/python2.3/lib-tk/tkFont.pyc\r
-#usr/lib/python2.3/lib-tk/tkFont.pyo\r
-#usr/lib/python2.3/lib-tk/tkMessageBox.py\r
-#usr/lib/python2.3/lib-tk/tkMessageBox.pyc\r
-#usr/lib/python2.3/lib-tk/tkMessageBox.pyo\r
-#usr/lib/python2.3/lib-tk/tkSimpleDialog.py\r
-#usr/lib/python2.3/lib-tk/tkSimpleDialog.pyc\r
-#usr/lib/python2.3/lib-tk/tkSimpleDialog.pyo\r
-#usr/lib/python2.3/lib-tk/turtle.py\r
-#usr/lib/python2.3/lib-tk/turtle.pyc\r
-#usr/lib/python2.3/lib-tk/turtle.pyo\r
-#usr/lib/python2.3/linecache.py\r
-usr/lib/python2.3/linecache.pyc\r
-#usr/lib/python2.3/linecache.pyo\r
-#usr/lib/python2.3/locale.py\r
-usr/lib/python2.3/locale.pyc\r
-#usr/lib/python2.3/locale.pyo\r
-#usr/lib/python2.3/logging\r
-#usr/lib/python2.3/logging/__init__.py\r
-usr/lib/python2.3/logging/__init__.pyc\r
-#usr/lib/python2.3/logging/__init__.pyo\r
-#usr/lib/python2.3/logging/config.py\r
-usr/lib/python2.3/logging/config.pyc\r
-#usr/lib/python2.3/logging/config.pyo\r
-#usr/lib/python2.3/logging/handlers.py\r
-usr/lib/python2.3/logging/handlers.pyc\r
-#usr/lib/python2.3/logging/handlers.pyo\r
-#usr/lib/python2.3/macpath.py\r
-#usr/lib/python2.3/macpath.pyc\r
-#usr/lib/python2.3/macpath.pyo\r
-#usr/lib/python2.3/macurl2path.py\r
-#usr/lib/python2.3/macurl2path.pyc\r
-#usr/lib/python2.3/macurl2path.pyo\r
-#usr/lib/python2.3/mailbox.py\r
-#usr/lib/python2.3/mailbox.pyc\r
-#usr/lib/python2.3/mailbox.pyo\r
-#usr/lib/python2.3/mailcap.py\r
-#usr/lib/python2.3/mailcap.pyc\r
-#usr/lib/python2.3/mailcap.pyo\r
-#usr/lib/python2.3/markupbase.py\r
-#usr/lib/python2.3/markupbase.pyc\r
-#usr/lib/python2.3/markupbase.pyo\r
-#usr/lib/python2.3/mhlib.py\r
-#usr/lib/python2.3/mhlib.pyc\r
-#usr/lib/python2.3/mhlib.pyo\r
-#usr/lib/python2.3/mimetools.py\r
-usr/lib/python2.3/mimetools.pyc\r
-#usr/lib/python2.3/mimetools.pyo\r
-#usr/lib/python2.3/mimetypes.py\r
-usr/lib/python2.3/mimetypes.pyc\r
-#usr/lib/python2.3/mimetypes.pyo\r
-#usr/lib/python2.3/mimify.py\r
-usr/lib/python2.3/mimify.pyc\r
-#usr/lib/python2.3/mimify.pyo\r
-#usr/lib/python2.3/modulefinder.py\r
-usr/lib/python2.3/modulefinder.pyc\r
-#usr/lib/python2.3/modulefinder.pyo\r
-#usr/lib/python2.3/multifile.py\r
-usr/lib/python2.3/multifile.pyc\r
-#usr/lib/python2.3/multifile.pyo\r
-#usr/lib/python2.3/mutex.py\r
-usr/lib/python2.3/mutex.pyc\r
-#usr/lib/python2.3/mutex.pyo\r
-#usr/lib/python2.3/netrc.py\r
-usr/lib/python2.3/netrc.pyc\r
-#usr/lib/python2.3/netrc.pyo\r
-#usr/lib/python2.3/new.py\r
-usr/lib/python2.3/new.pyc\r
-#usr/lib/python2.3/new.pyo\r
-#usr/lib/python2.3/nntplib.py\r
-#usr/lib/python2.3/nntplib.pyc\r
-#usr/lib/python2.3/nntplib.pyo\r
-#usr/lib/python2.3/ntpath.py\r
-usr/lib/python2.3/ntpath.pyc\r
-#usr/lib/python2.3/ntpath.pyo\r
-#usr/lib/python2.3/nturl2path.py\r
-usr/lib/python2.3/nturl2path.pyc\r
-#usr/lib/python2.3/nturl2path.pyo\r
-#usr/lib/python2.3/opcode.py\r
-usr/lib/python2.3/opcode.pyc\r
-#usr/lib/python2.3/opcode.pyo\r
-#usr/lib/python2.3/optparse.py\r
-usr/lib/python2.3/optparse.pyc\r
-#usr/lib/python2.3/optparse.pyo\r
-#usr/lib/python2.3/os.py\r
-usr/lib/python2.3/os.pyc\r
-#usr/lib/python2.3/os.pyo\r
-#usr/lib/python2.3/os2emxpath.py\r
-usr/lib/python2.3/os2emxpath.pyc\r
-#usr/lib/python2.3/os2emxpath.pyo\r
-#usr/lib/python2.3/pdb.doc\r
-#usr/lib/python2.3/pdb.py\r
-usr/lib/python2.3/pdb.pyc\r
-#usr/lib/python2.3/pdb.pyo\r
-#usr/lib/python2.3/pickle.py\r
-usr/lib/python2.3/pickle.pyc\r
-#usr/lib/python2.3/pickle.pyo\r
-#usr/lib/python2.3/pickletools.py\r
-usr/lib/python2.3/pickletools.pyc\r
-#usr/lib/python2.3/pickletools.pyo\r
-#usr/lib/python2.3/pipes.py\r
-usr/lib/python2.3/pipes.pyc\r
-#usr/lib/python2.3/pipes.pyo\r
-#usr/lib/python2.3/pkgutil.py\r
-usr/lib/python2.3/pkgutil.pyc\r
-#usr/lib/python2.3/pkgutil.pyo\r
-#usr/lib/python2.3/plat-linux2\r
-#usr/lib/python2.3/plat-linux2/CDROM.py\r
-usr/lib/python2.3/plat-linux2/CDROM.pyc\r
-#usr/lib/python2.3/plat-linux2/CDROM.pyo\r
-#usr/lib/python2.3/plat-linux2/DLFCN.py\r
-usr/lib/python2.3/plat-linux2/DLFCN.pyc\r
-#usr/lib/python2.3/plat-linux2/DLFCN.pyo\r
-#usr/lib/python2.3/plat-linux2/IN.py\r
-usr/lib/python2.3/plat-linux2/IN.pyc\r
-#usr/lib/python2.3/plat-linux2/IN.pyo\r
-#usr/lib/python2.3/plat-linux2/TYPES.py\r
-usr/lib/python2.3/plat-linux2/TYPES.pyc\r
-#usr/lib/python2.3/plat-linux2/TYPES.pyo\r
-#usr/lib/python2.3/plat-linux2/regen\r
-#usr/lib/python2.3/platform.py\r
-usr/lib/python2.3/platform.pyc\r
-#usr/lib/python2.3/platform.pyo\r
-#usr/lib/python2.3/popen2.py\r
-usr/lib/python2.3/popen2.pyc\r
-#usr/lib/python2.3/popen2.pyo\r
-#usr/lib/python2.3/poplib.py\r
-#usr/lib/python2.3/poplib.pyc\r
-#usr/lib/python2.3/poplib.pyo\r
-#usr/lib/python2.3/posixfile.py\r
-usr/lib/python2.3/posixfile.pyc\r
-#usr/lib/python2.3/posixfile.pyo\r
-#usr/lib/python2.3/posixpath.py\r
-usr/lib/python2.3/posixpath.pyc\r
-#usr/lib/python2.3/posixpath.pyo\r
-#usr/lib/python2.3/pprint.py\r
-usr/lib/python2.3/pprint.pyc\r
-#usr/lib/python2.3/pprint.pyo\r
-#usr/lib/python2.3/pre.py\r
-usr/lib/python2.3/pre.pyc\r
-#usr/lib/python2.3/pre.pyo\r
-#usr/lib/python2.3/profile.doc\r
-#usr/lib/python2.3/profile.py\r
-#usr/lib/python2.3/profile.pyc\r
-#usr/lib/python2.3/profile.pyo\r
-#usr/lib/python2.3/pstats.py\r
-usr/lib/python2.3/pstats.pyc\r
-#usr/lib/python2.3/pstats.pyo\r
-#usr/lib/python2.3/pty.py\r
-usr/lib/python2.3/pty.pyc\r
-#usr/lib/python2.3/pty.pyo\r
-#usr/lib/python2.3/py_compile.py\r
-usr/lib/python2.3/py_compile.pyc\r
-#usr/lib/python2.3/py_compile.pyo\r
-#usr/lib/python2.3/pyclbr.py\r
-usr/lib/python2.3/pyclbr.pyc\r
-#usr/lib/python2.3/pyclbr.pyo\r
-#usr/lib/python2.3/pydoc.py\r
-usr/lib/python2.3/pydoc.pyc\r
-#usr/lib/python2.3/pydoc.pyo\r
-#usr/lib/python2.3/quopri.py\r
-#usr/lib/python2.3/quopri.pyc\r
-#usr/lib/python2.3/quopri.pyo\r
-#usr/lib/python2.3/random.py\r
-usr/lib/python2.3/random.pyc\r
-#usr/lib/python2.3/random.pyo\r
-#usr/lib/python2.3/re.py\r
-usr/lib/python2.3/re.pyc\r
-#usr/lib/python2.3/re.pyo\r
-#usr/lib/python2.3/reconvert.py\r
-usr/lib/python2.3/reconvert.pyc\r
-#usr/lib/python2.3/reconvert.pyo\r
-#usr/lib/python2.3/regex_syntax.py\r
-usr/lib/python2.3/regex_syntax.pyc\r
-#usr/lib/python2.3/regex_syntax.pyo\r
-#usr/lib/python2.3/regsub.py\r
-usr/lib/python2.3/regsub.pyc\r
-#usr/lib/python2.3/regsub.pyo\r
-#usr/lib/python2.3/repr.py\r
-usr/lib/python2.3/repr.pyc\r
-#usr/lib/python2.3/repr.pyo\r
-#usr/lib/python2.3/rexec.py\r
-usr/lib/python2.3/rexec.pyc\r
-#usr/lib/python2.3/rexec.pyo\r
-#usr/lib/python2.3/rfc822.py\r
-usr/lib/python2.3/rfc822.pyc\r
-#usr/lib/python2.3/rfc822.pyo\r
-#usr/lib/python2.3/rlcompleter.py\r
-usr/lib/python2.3/rlcompleter.pyc\r
-#usr/lib/python2.3/rlcompleter.pyo\r
-#usr/lib/python2.3/robotparser.py\r
-#usr/lib/python2.3/robotparser.pyc\r
-#usr/lib/python2.3/robotparser.pyo\r
-#usr/lib/python2.3/sched.py\r
-usr/lib/python2.3/sched.pyc\r
-#usr/lib/python2.3/sched.pyo\r
-#usr/lib/python2.3/sets.py\r
-usr/lib/python2.3/sets.pyc\r
-#usr/lib/python2.3/sets.pyo\r
-#usr/lib/python2.3/sgmllib.py\r
-usr/lib/python2.3/sgmllib.pyc\r
-#usr/lib/python2.3/sgmllib.pyo\r
-#usr/lib/python2.3/shelve.py\r
-usr/lib/python2.3/shelve.pyc\r
-#usr/lib/python2.3/shelve.pyo\r
-#usr/lib/python2.3/shlex.py\r
-usr/lib/python2.3/shlex.pyc\r
-#usr/lib/python2.3/shlex.pyo\r
-#usr/lib/python2.3/shutil.py\r
-usr/lib/python2.3/shutil.pyc\r
-#usr/lib/python2.3/shutil.pyo\r
-#usr/lib/python2.3/site-packages\r
-#usr/lib/python2.3/site-packages/README\r
-#usr/lib/python2.3/site.py\r
-usr/lib/python2.3/site.pyc\r
-#usr/lib/python2.3/site.pyo\r
-#usr/lib/python2.3/smtpd.py\r
-#usr/lib/python2.3/smtpd.pyc\r
-#usr/lib/python2.3/smtpd.pyo\r
-#usr/lib/python2.3/smtplib.py\r
-#usr/lib/python2.3/smtplib.pyc\r
-#usr/lib/python2.3/smtplib.pyo\r
-#usr/lib/python2.3/sndhdr.py\r
-#usr/lib/python2.3/sndhdr.pyc\r
-#usr/lib/python2.3/sndhdr.pyo\r
-#usr/lib/python2.3/socket.py\r
-usr/lib/python2.3/socket.pyc\r
-#usr/lib/python2.3/socket.pyo\r
-#usr/lib/python2.3/sre.py\r
-usr/lib/python2.3/sre.pyc\r
-#usr/lib/python2.3/sre.pyo\r
-#usr/lib/python2.3/sre_compile.py\r
-usr/lib/python2.3/sre_compile.pyc\r
-#usr/lib/python2.3/sre_compile.pyo\r
-#usr/lib/python2.3/sre_constants.py\r
-usr/lib/python2.3/sre_constants.pyc\r
-#usr/lib/python2.3/sre_constants.pyo\r
-#usr/lib/python2.3/sre_parse.py\r
-usr/lib/python2.3/sre_parse.pyc\r
-#usr/lib/python2.3/sre_parse.pyo\r
-#usr/lib/python2.3/stat.py\r
-usr/lib/python2.3/stat.pyc\r
-#usr/lib/python2.3/stat.pyo\r
-#usr/lib/python2.3/statcache.py\r
-usr/lib/python2.3/statcache.pyc\r
-#usr/lib/python2.3/statcache.pyo\r
-#usr/lib/python2.3/statvfs.py\r
-usr/lib/python2.3/statvfs.pyc\r
-#usr/lib/python2.3/statvfs.pyo\r
-#usr/lib/python2.3/string.py\r
-usr/lib/python2.3/string.pyc\r
-#usr/lib/python2.3/string.pyo\r
-#usr/lib/python2.3/stringold.py\r
-usr/lib/python2.3/stringold.pyc\r
-#usr/lib/python2.3/stringold.pyo\r
-#usr/lib/python2.3/stringprep.py\r
-usr/lib/python2.3/stringprep.pyc\r
-#usr/lib/python2.3/stringprep.pyo\r
-#usr/lib/python2.3/sunau.py\r
-#usr/lib/python2.3/sunau.pyc\r
-#usr/lib/python2.3/sunau.pyo\r
-#usr/lib/python2.3/sunaudio.py\r
-#usr/lib/python2.3/sunaudio.pyc\r
-#usr/lib/python2.3/sunaudio.pyo\r
-#usr/lib/python2.3/symbol.py\r
-usr/lib/python2.3/symbol.pyc\r
-#usr/lib/python2.3/symbol.pyo\r
-#usr/lib/python2.3/symtable.py\r
-usr/lib/python2.3/symtable.pyc\r
-#usr/lib/python2.3/symtable.pyo\r
-#usr/lib/python2.3/tabnanny.py\r
-usr/lib/python2.3/tabnanny.pyc\r
-#usr/lib/python2.3/tabnanny.pyo\r
-#usr/lib/python2.3/tarfile.py\r
-usr/lib/python2.3/tarfile.pyc\r
-#usr/lib/python2.3/tarfile.pyo\r
-#usr/lib/python2.3/telnetlib.py\r
-#usr/lib/python2.3/telnetlib.pyc\r
-#usr/lib/python2.3/telnetlib.pyo\r
-#usr/lib/python2.3/tempfile.py\r
-usr/lib/python2.3/tempfile.pyc\r
-#usr/lib/python2.3/tempfile.pyo\r
-#usr/lib/python2.3/test\r
-#usr/lib/python2.3/test/185test.db\r
-#usr/lib/python2.3/test/README\r
-#usr/lib/python2.3/test/__init__.py\r
-#usr/lib/python2.3/test/__init__.pyc\r
-#usr/lib/python2.3/test/__init__.pyo\r
-#usr/lib/python2.3/test/audiotest.au\r
-#usr/lib/python2.3/test/autotest.py\r
-#usr/lib/python2.3/test/autotest.pyc\r
-#usr/lib/python2.3/test/autotest.pyo\r
-#usr/lib/python2.3/test/badsyntax_future3.py\r
-#usr/lib/python2.3/test/badsyntax_future4.py\r
-#usr/lib/python2.3/test/badsyntax_future5.py\r
-#usr/lib/python2.3/test/badsyntax_future6.py\r
-#usr/lib/python2.3/test/badsyntax_future7.py\r
-#usr/lib/python2.3/test/badsyntax_nocaret.py\r
-#usr/lib/python2.3/test/double_const.py\r
-#usr/lib/python2.3/test/double_const.pyc\r
-#usr/lib/python2.3/test/double_const.pyo\r
-#usr/lib/python2.3/test/greyrgb.uue\r
-#usr/lib/python2.3/test/output\r
-#usr/lib/python2.3/test/output/test_MimeWriter\r
-#usr/lib/python2.3/test/output/test_asynchat\r
-#usr/lib/python2.3/test/output/test_augassign\r
-#usr/lib/python2.3/test/output/test_binascii\r
-#usr/lib/python2.3/test/output/test_cgi\r
-#usr/lib/python2.3/test/output/test_class\r
-#usr/lib/python2.3/test/output/test_coercion\r
-#usr/lib/python2.3/test/output/test_compare\r
-#usr/lib/python2.3/test/output/test_cookie\r
-#usr/lib/python2.3/test/output/test_exceptions\r
-#usr/lib/python2.3/test/output/test_extcall\r
-#usr/lib/python2.3/test/output/test_frozen\r
-#usr/lib/python2.3/test/output/test_future\r
-#usr/lib/python2.3/test/output/test_global\r
-#usr/lib/python2.3/test/output/test_grammar\r
-#usr/lib/python2.3/test/output/test_httplib\r
-#usr/lib/python2.3/test/output/test_linuxaudiodev\r
-#usr/lib/python2.3/test/output/test_logging\r
-#usr/lib/python2.3/test/output/test_longexp\r
-#usr/lib/python2.3/test/output/test_math\r
-#usr/lib/python2.3/test/output/test_md5\r
-#usr/lib/python2.3/test/output/test_mmap\r
-#usr/lib/python2.3/test/output/test_new\r
-#usr/lib/python2.3/test/output/test_nis\r
-#usr/lib/python2.3/test/output/test_opcodes\r
-#usr/lib/python2.3/test/output/test_openpty\r
-#usr/lib/python2.3/test/output/test_operations\r
-#usr/lib/python2.3/test/output/test_ossaudiodev\r
-#usr/lib/python2.3/test/output/test_pep277\r
-#usr/lib/python2.3/test/output/test_pkg\r
-#usr/lib/python2.3/test/output/test_poll\r
-#usr/lib/python2.3/test/output/test_popen\r
-#usr/lib/python2.3/test/output/test_popen2\r
-#usr/lib/python2.3/test/output/test_profile\r
-#usr/lib/python2.3/test/output/test_pty\r
-#usr/lib/python2.3/test/output/test_pyexpat\r
-#usr/lib/python2.3/test/output/test_regex\r
-#usr/lib/python2.3/test/output/test_resource\r
-#usr/lib/python2.3/test/output/test_rgbimg\r
-#usr/lib/python2.3/test/output/test_rotor\r
-#usr/lib/python2.3/test/output/test_scope\r
-#usr/lib/python2.3/test/output/test_signal\r
-#usr/lib/python2.3/test/output/test_thread\r
-#usr/lib/python2.3/test/output/test_threadedtempfile\r
-#usr/lib/python2.3/test/output/test_tokenize\r
-#usr/lib/python2.3/test/output/test_types\r
-#usr/lib/python2.3/test/output/test_unicode_file\r
-#usr/lib/python2.3/test/output/test_winreg\r
-#usr/lib/python2.3/test/output/test_xreadline\r
-#usr/lib/python2.3/test/output/xmltests\r
-#usr/lib/python2.3/test/pickletester.py\r
-#usr/lib/python2.3/test/pickletester.pyc\r
-#usr/lib/python2.3/test/pickletester.pyo\r
-#usr/lib/python2.3/test/pydocfodder.py\r
-#usr/lib/python2.3/test/pydocfodder.pyc\r
-#usr/lib/python2.3/test/pydocfodder.pyo\r
-#usr/lib/python2.3/test/pystone.py\r
-#usr/lib/python2.3/test/pystone.pyc\r
-#usr/lib/python2.3/test/pystone.pyo\r
-#usr/lib/python2.3/test/re_tests.py\r
-#usr/lib/python2.3/test/re_tests.pyc\r
-#usr/lib/python2.3/test/re_tests.pyo\r
-#usr/lib/python2.3/test/regex_tests.py\r
-#usr/lib/python2.3/test/regex_tests.pyc\r
-#usr/lib/python2.3/test/regex_tests.pyo\r
-#usr/lib/python2.3/test/regrtest.py\r
-#usr/lib/python2.3/test/regrtest.pyc\r
-#usr/lib/python2.3/test/regrtest.pyo\r
-#usr/lib/python2.3/test/reperf.py\r
-#usr/lib/python2.3/test/reperf.pyc\r
-#usr/lib/python2.3/test/reperf.pyo\r
-#usr/lib/python2.3/test/sortperf.py\r
-#usr/lib/python2.3/test/sortperf.pyc\r
-#usr/lib/python2.3/test/sortperf.pyo\r
-#usr/lib/python2.3/test/string_tests.py\r
-#usr/lib/python2.3/test/string_tests.pyc\r
-#usr/lib/python2.3/test/string_tests.pyo\r
-#usr/lib/python2.3/test/test.xml\r
-#usr/lib/python2.3/test/test.xml.out\r
-#usr/lib/python2.3/test/test_MimeWriter.py\r
-#usr/lib/python2.3/test/test_MimeWriter.pyc\r
-#usr/lib/python2.3/test/test_MimeWriter.pyo\r
-#usr/lib/python2.3/test/test_StringIO.py\r
-#usr/lib/python2.3/test/test_StringIO.pyc\r
-#usr/lib/python2.3/test/test_StringIO.pyo\r
-#usr/lib/python2.3/test/test___all__.py\r
-#usr/lib/python2.3/test/test___all__.pyc\r
-#usr/lib/python2.3/test/test___all__.pyo\r
-#usr/lib/python2.3/test/test___future__.py\r
-#usr/lib/python2.3/test/test___future__.pyc\r
-#usr/lib/python2.3/test/test___future__.pyo\r
-#usr/lib/python2.3/test/test_aepack.py\r
-#usr/lib/python2.3/test/test_aepack.pyc\r
-#usr/lib/python2.3/test/test_aepack.pyo\r
-#usr/lib/python2.3/test/test_al.py\r
-#usr/lib/python2.3/test/test_al.pyc\r
-#usr/lib/python2.3/test/test_al.pyo\r
-#usr/lib/python2.3/test/test_anydbm.py\r
-#usr/lib/python2.3/test/test_anydbm.pyc\r
-#usr/lib/python2.3/test/test_anydbm.pyo\r
-#usr/lib/python2.3/test/test_array.py\r
-#usr/lib/python2.3/test/test_array.pyc\r
-#usr/lib/python2.3/test/test_array.pyo\r
-#usr/lib/python2.3/test/test_asynchat.py\r
-#usr/lib/python2.3/test/test_asynchat.pyc\r
-#usr/lib/python2.3/test/test_asynchat.pyo\r
-#usr/lib/python2.3/test/test_atexit.py\r
-#usr/lib/python2.3/test/test_atexit.pyc\r
-#usr/lib/python2.3/test/test_atexit.pyo\r
-#usr/lib/python2.3/test/test_audioop.py\r
-#usr/lib/python2.3/test/test_audioop.pyc\r
-#usr/lib/python2.3/test/test_audioop.pyo\r
-#usr/lib/python2.3/test/test_augassign.py\r
-#usr/lib/python2.3/test/test_augassign.pyc\r
-#usr/lib/python2.3/test/test_augassign.pyo\r
-#usr/lib/python2.3/test/test_base64.py\r
-#usr/lib/python2.3/test/test_base64.pyc\r
-#usr/lib/python2.3/test/test_base64.pyo\r
-#usr/lib/python2.3/test/test_bastion.py\r
-#usr/lib/python2.3/test/test_bastion.pyc\r
-#usr/lib/python2.3/test/test_bastion.pyo\r
-#usr/lib/python2.3/test/test_binascii.py\r
-#usr/lib/python2.3/test/test_binascii.pyc\r
-#usr/lib/python2.3/test/test_binascii.pyo\r
-#usr/lib/python2.3/test/test_binhex.py\r
-#usr/lib/python2.3/test/test_binhex.pyc\r
-#usr/lib/python2.3/test/test_binhex.pyo\r
-#usr/lib/python2.3/test/test_binop.py\r
-#usr/lib/python2.3/test/test_binop.pyc\r
-#usr/lib/python2.3/test/test_binop.pyo\r
-#usr/lib/python2.3/test/test_bisect.py\r
-#usr/lib/python2.3/test/test_bisect.pyc\r
-#usr/lib/python2.3/test/test_bisect.pyo\r
-#usr/lib/python2.3/test/test_bool.py\r
-#usr/lib/python2.3/test/test_bool.pyc\r
-#usr/lib/python2.3/test/test_bool.pyo\r
-#usr/lib/python2.3/test/test_bsddb.py\r
-#usr/lib/python2.3/test/test_bsddb.pyc\r
-#usr/lib/python2.3/test/test_bsddb.pyo\r
-#usr/lib/python2.3/test/test_bsddb185.py\r
-#usr/lib/python2.3/test/test_bsddb185.pyc\r
-#usr/lib/python2.3/test/test_bsddb185.pyo\r
-#usr/lib/python2.3/test/test_bsddb3.py\r
-#usr/lib/python2.3/test/test_bsddb3.pyc\r
-#usr/lib/python2.3/test/test_bsddb3.pyo\r
-#usr/lib/python2.3/test/test_bufio.py\r
-#usr/lib/python2.3/test/test_bufio.pyc\r
-#usr/lib/python2.3/test/test_bufio.pyo\r
-#usr/lib/python2.3/test/test_builtin.py\r
-#usr/lib/python2.3/test/test_builtin.pyc\r
-#usr/lib/python2.3/test/test_builtin.pyo\r
-#usr/lib/python2.3/test/test_bz2.py\r
-#usr/lib/python2.3/test/test_bz2.pyc\r
-#usr/lib/python2.3/test/test_bz2.pyo\r
-#usr/lib/python2.3/test/test_calendar.py\r
-#usr/lib/python2.3/test/test_calendar.pyc\r
-#usr/lib/python2.3/test/test_calendar.pyo\r
-#usr/lib/python2.3/test/test_call.py\r
-#usr/lib/python2.3/test/test_call.pyc\r
-#usr/lib/python2.3/test/test_call.pyo\r
-#usr/lib/python2.3/test/test_capi.py\r
-#usr/lib/python2.3/test/test_capi.pyc\r
-#usr/lib/python2.3/test/test_capi.pyo\r
-#usr/lib/python2.3/test/test_cd.py\r
-#usr/lib/python2.3/test/test_cd.pyc\r
-#usr/lib/python2.3/test/test_cd.pyo\r
-#usr/lib/python2.3/test/test_cfgparser.py\r
-#usr/lib/python2.3/test/test_cfgparser.pyc\r
-#usr/lib/python2.3/test/test_cfgparser.pyo\r
-#usr/lib/python2.3/test/test_cgi.py\r
-#usr/lib/python2.3/test/test_cgi.pyc\r
-#usr/lib/python2.3/test/test_cgi.pyo\r
-#usr/lib/python2.3/test/test_charmapcodec.py\r
-#usr/lib/python2.3/test/test_charmapcodec.pyc\r
-#usr/lib/python2.3/test/test_charmapcodec.pyo\r
-#usr/lib/python2.3/test/test_cl.py\r
-#usr/lib/python2.3/test/test_cl.pyc\r
-#usr/lib/python2.3/test/test_cl.pyo\r
-#usr/lib/python2.3/test/test_class.py\r
-#usr/lib/python2.3/test/test_class.pyc\r
-#usr/lib/python2.3/test/test_class.pyo\r
-#usr/lib/python2.3/test/test_cmath.py\r
-#usr/lib/python2.3/test/test_cmath.pyc\r
-#usr/lib/python2.3/test/test_cmath.pyo\r
-#usr/lib/python2.3/test/test_codeccallbacks.py\r
-#usr/lib/python2.3/test/test_codeccallbacks.pyc\r
-#usr/lib/python2.3/test/test_codeccallbacks.pyo\r
-#usr/lib/python2.3/test/test_codecs.py\r
-#usr/lib/python2.3/test/test_codecs.pyc\r
-#usr/lib/python2.3/test/test_codecs.pyo\r
-#usr/lib/python2.3/test/test_codeop.py\r
-#usr/lib/python2.3/test/test_codeop.pyc\r
-#usr/lib/python2.3/test/test_codeop.pyo\r
-#usr/lib/python2.3/test/test_coercion.py\r
-#usr/lib/python2.3/test/test_coercion.pyc\r
-#usr/lib/python2.3/test/test_coercion.pyo\r
-#usr/lib/python2.3/test/test_commands.py\r
-#usr/lib/python2.3/test/test_commands.pyc\r
-#usr/lib/python2.3/test/test_commands.pyo\r
-#usr/lib/python2.3/test/test_compare.py\r
-#usr/lib/python2.3/test/test_compare.pyc\r
-#usr/lib/python2.3/test/test_compare.pyo\r
-#usr/lib/python2.3/test/test_compile.py\r
-#usr/lib/python2.3/test/test_compile.pyc\r
-#usr/lib/python2.3/test/test_compile.pyo\r
-#usr/lib/python2.3/test/test_complex.py\r
-#usr/lib/python2.3/test/test_complex.pyc\r
-#usr/lib/python2.3/test/test_complex.pyo\r
-#usr/lib/python2.3/test/test_contains.py\r
-#usr/lib/python2.3/test/test_contains.pyc\r
-#usr/lib/python2.3/test/test_contains.pyo\r
-#usr/lib/python2.3/test/test_cookie.py\r
-#usr/lib/python2.3/test/test_cookie.pyc\r
-#usr/lib/python2.3/test/test_cookie.pyo\r
-#usr/lib/python2.3/test/test_copy.py\r
-#usr/lib/python2.3/test/test_copy.pyc\r
-#usr/lib/python2.3/test/test_copy.pyo\r
-#usr/lib/python2.3/test/test_copy_reg.py\r
-#usr/lib/python2.3/test/test_copy_reg.pyc\r
-#usr/lib/python2.3/test/test_copy_reg.pyo\r
-#usr/lib/python2.3/test/test_cpickle.py\r
-#usr/lib/python2.3/test/test_cpickle.pyc\r
-#usr/lib/python2.3/test/test_cpickle.pyo\r
-#usr/lib/python2.3/test/test_crypt.py\r
-#usr/lib/python2.3/test/test_crypt.pyc\r
-#usr/lib/python2.3/test/test_crypt.pyo\r
-#usr/lib/python2.3/test/test_csv.py\r
-#usr/lib/python2.3/test/test_csv.pyc\r
-#usr/lib/python2.3/test/test_csv.pyo\r
-#usr/lib/python2.3/test/test_curses.py\r
-#usr/lib/python2.3/test/test_curses.pyc\r
-#usr/lib/python2.3/test/test_curses.pyo\r
-#usr/lib/python2.3/test/test_datetime.py\r
-#usr/lib/python2.3/test/test_datetime.pyc\r
-#usr/lib/python2.3/test/test_datetime.pyo\r
-#usr/lib/python2.3/test/test_dbm.py\r
-#usr/lib/python2.3/test/test_dbm.pyc\r
-#usr/lib/python2.3/test/test_dbm.pyo\r
-#usr/lib/python2.3/test/test_descr.py\r
-#usr/lib/python2.3/test/test_descr.pyc\r
-#usr/lib/python2.3/test/test_descr.pyo\r
-#usr/lib/python2.3/test/test_descrtut.py\r
-#usr/lib/python2.3/test/test_descrtut.pyc\r
-#usr/lib/python2.3/test/test_descrtut.pyo\r
-#usr/lib/python2.3/test/test_difflib.py\r
-#usr/lib/python2.3/test/test_difflib.pyc\r
-#usr/lib/python2.3/test/test_difflib.pyo\r
-#usr/lib/python2.3/test/test_dircache.py\r
-#usr/lib/python2.3/test/test_dircache.pyc\r
-#usr/lib/python2.3/test/test_dircache.pyo\r
-#usr/lib/python2.3/test/test_dis.py\r
-#usr/lib/python2.3/test/test_dis.pyc\r
-#usr/lib/python2.3/test/test_dis.pyo\r
-#usr/lib/python2.3/test/test_dl.py\r
-#usr/lib/python2.3/test/test_dl.pyc\r
-#usr/lib/python2.3/test/test_dl.pyo\r
-#usr/lib/python2.3/test/test_doctest.py\r
-#usr/lib/python2.3/test/test_doctest.pyc\r
-#usr/lib/python2.3/test/test_doctest.pyo\r
-#usr/lib/python2.3/test/test_doctest2.py\r
-#usr/lib/python2.3/test/test_doctest2.pyc\r
-#usr/lib/python2.3/test/test_doctest2.pyo\r
-#usr/lib/python2.3/test/test_dumbdbm.py\r
-#usr/lib/python2.3/test/test_dumbdbm.pyc\r
-#usr/lib/python2.3/test/test_dumbdbm.pyo\r
-#usr/lib/python2.3/test/test_dummy_thread.py\r
-#usr/lib/python2.3/test/test_dummy_thread.pyc\r
-#usr/lib/python2.3/test/test_dummy_thread.pyo\r
-#usr/lib/python2.3/test/test_dummy_threading.py\r
-#usr/lib/python2.3/test/test_dummy_threading.pyc\r
-#usr/lib/python2.3/test/test_dummy_threading.pyo\r
-#usr/lib/python2.3/test/test_email.py\r
-#usr/lib/python2.3/test/test_email.pyc\r
-#usr/lib/python2.3/test/test_email.pyo\r
-#usr/lib/python2.3/test/test_email_codecs.py\r
-#usr/lib/python2.3/test/test_email_codecs.pyc\r
-#usr/lib/python2.3/test/test_email_codecs.pyo\r
-#usr/lib/python2.3/test/test_enumerate.py\r
-#usr/lib/python2.3/test/test_enumerate.pyc\r
-#usr/lib/python2.3/test/test_enumerate.pyo\r
-#usr/lib/python2.3/test/test_eof.py\r
-#usr/lib/python2.3/test/test_eof.pyc\r
-#usr/lib/python2.3/test/test_eof.pyo\r
-#usr/lib/python2.3/test/test_errno.py\r
-#usr/lib/python2.3/test/test_errno.pyc\r
-#usr/lib/python2.3/test/test_errno.pyo\r
-#usr/lib/python2.3/test/test_exceptions.py\r
-#usr/lib/python2.3/test/test_exceptions.pyc\r
-#usr/lib/python2.3/test/test_exceptions.pyo\r
-#usr/lib/python2.3/test/test_extcall.py\r
-#usr/lib/python2.3/test/test_extcall.pyc\r
-#usr/lib/python2.3/test/test_extcall.pyo\r
-#usr/lib/python2.3/test/test_fcntl.py\r
-#usr/lib/python2.3/test/test_fcntl.pyc\r
-#usr/lib/python2.3/test/test_fcntl.pyo\r
-#usr/lib/python2.3/test/test_file.py\r
-#usr/lib/python2.3/test/test_file.pyc\r
-#usr/lib/python2.3/test/test_file.pyo\r
-#usr/lib/python2.3/test/test_filecmp.py\r
-#usr/lib/python2.3/test/test_filecmp.pyc\r
-#usr/lib/python2.3/test/test_filecmp.pyo\r
-#usr/lib/python2.3/test/test_fileinput.py\r
-#usr/lib/python2.3/test/test_fileinput.pyc\r
-#usr/lib/python2.3/test/test_fileinput.pyo\r
-#usr/lib/python2.3/test/test_fnmatch.py\r
-#usr/lib/python2.3/test/test_fnmatch.pyc\r
-#usr/lib/python2.3/test/test_fnmatch.pyo\r
-#usr/lib/python2.3/test/test_fork1.py\r
-#usr/lib/python2.3/test/test_fork1.pyc\r
-#usr/lib/python2.3/test/test_fork1.pyo\r
-#usr/lib/python2.3/test/test_format.py\r
-#usr/lib/python2.3/test/test_format.pyc\r
-#usr/lib/python2.3/test/test_format.pyo\r
-#usr/lib/python2.3/test/test_fpformat.py\r
-#usr/lib/python2.3/test/test_fpformat.pyc\r
-#usr/lib/python2.3/test/test_fpformat.pyo\r
-#usr/lib/python2.3/test/test_frozen.py\r
-#usr/lib/python2.3/test/test_frozen.pyc\r
-#usr/lib/python2.3/test/test_frozen.pyo\r
-#usr/lib/python2.3/test/test_funcattrs.py\r
-#usr/lib/python2.3/test/test_funcattrs.pyc\r
-#usr/lib/python2.3/test/test_funcattrs.pyo\r
-#usr/lib/python2.3/test/test_future.py\r
-#usr/lib/python2.3/test/test_future.pyc\r
-#usr/lib/python2.3/test/test_future.pyo\r
-#usr/lib/python2.3/test/test_future1.py\r
-#usr/lib/python2.3/test/test_future1.pyc\r
-#usr/lib/python2.3/test/test_future1.pyo\r
-#usr/lib/python2.3/test/test_future2.py\r
-#usr/lib/python2.3/test/test_future2.pyc\r
-#usr/lib/python2.3/test/test_future2.pyo\r
-#usr/lib/python2.3/test/test_future3.py\r
-#usr/lib/python2.3/test/test_future3.pyc\r
-#usr/lib/python2.3/test/test_future3.pyo\r
-#usr/lib/python2.3/test/test_gc.py\r
-#usr/lib/python2.3/test/test_gc.pyc\r
-#usr/lib/python2.3/test/test_gc.pyo\r
-#usr/lib/python2.3/test/test_gdbm.py\r
-#usr/lib/python2.3/test/test_gdbm.pyc\r
-#usr/lib/python2.3/test/test_gdbm.pyo\r
-#usr/lib/python2.3/test/test_generators.py\r
-#usr/lib/python2.3/test/test_generators.pyc\r
-#usr/lib/python2.3/test/test_generators.pyo\r
-#usr/lib/python2.3/test/test_getargs.py\r
-#usr/lib/python2.3/test/test_getargs.pyc\r
-#usr/lib/python2.3/test/test_getargs.pyo\r
-#usr/lib/python2.3/test/test_getargs2.py\r
-#usr/lib/python2.3/test/test_getargs2.pyc\r
-#usr/lib/python2.3/test/test_getargs2.pyo\r
-#usr/lib/python2.3/test/test_getopt.py\r
-#usr/lib/python2.3/test/test_getopt.pyc\r
-#usr/lib/python2.3/test/test_getopt.pyo\r
-#usr/lib/python2.3/test/test_gettext.py\r
-#usr/lib/python2.3/test/test_gettext.pyc\r
-#usr/lib/python2.3/test/test_gettext.pyo\r
-#usr/lib/python2.3/test/test_gl.py\r
-#usr/lib/python2.3/test/test_gl.pyc\r
-#usr/lib/python2.3/test/test_gl.pyo\r
-#usr/lib/python2.3/test/test_glob.py\r
-#usr/lib/python2.3/test/test_glob.pyc\r
-#usr/lib/python2.3/test/test_glob.pyo\r
-#usr/lib/python2.3/test/test_global.py\r
-#usr/lib/python2.3/test/test_global.pyc\r
-#usr/lib/python2.3/test/test_global.pyo\r
-#usr/lib/python2.3/test/test_grammar.py\r
-#usr/lib/python2.3/test/test_grammar.pyc\r
-#usr/lib/python2.3/test/test_grammar.pyo\r
-#usr/lib/python2.3/test/test_grp.py\r
-#usr/lib/python2.3/test/test_grp.pyc\r
-#usr/lib/python2.3/test/test_grp.pyo\r
-#usr/lib/python2.3/test/test_gzip.py\r
-#usr/lib/python2.3/test/test_gzip.pyc\r
-#usr/lib/python2.3/test/test_gzip.pyo\r
-#usr/lib/python2.3/test/test_hash.py\r
-#usr/lib/python2.3/test/test_hash.pyc\r
-#usr/lib/python2.3/test/test_hash.pyo\r
-#usr/lib/python2.3/test/test_heapq.py\r
-#usr/lib/python2.3/test/test_heapq.pyc\r
-#usr/lib/python2.3/test/test_heapq.pyo\r
-#usr/lib/python2.3/test/test_hexoct.py\r
-#usr/lib/python2.3/test/test_hexoct.pyc\r
-#usr/lib/python2.3/test/test_hexoct.pyo\r
-#usr/lib/python2.3/test/test_hmac.py\r
-#usr/lib/python2.3/test/test_hmac.pyc\r
-#usr/lib/python2.3/test/test_hmac.pyo\r
-#usr/lib/python2.3/test/test_hotshot.py\r
-#usr/lib/python2.3/test/test_hotshot.pyc\r
-#usr/lib/python2.3/test/test_hotshot.pyo\r
-#usr/lib/python2.3/test/test_htmllib.py\r
-#usr/lib/python2.3/test/test_htmllib.pyc\r
-#usr/lib/python2.3/test/test_htmllib.pyo\r
-#usr/lib/python2.3/test/test_htmlparser.py\r
-#usr/lib/python2.3/test/test_htmlparser.pyc\r
-#usr/lib/python2.3/test/test_htmlparser.pyo\r
-#usr/lib/python2.3/test/test_httplib.py\r
-#usr/lib/python2.3/test/test_httplib.pyc\r
-#usr/lib/python2.3/test/test_httplib.pyo\r
-#usr/lib/python2.3/test/test_imageop.py\r
-#usr/lib/python2.3/test/test_imageop.pyc\r
-#usr/lib/python2.3/test/test_imageop.pyo\r
-#usr/lib/python2.3/test/test_imaplib.py\r
-#usr/lib/python2.3/test/test_imaplib.pyc\r
-#usr/lib/python2.3/test/test_imaplib.pyo\r
-#usr/lib/python2.3/test/test_imgfile.py\r
-#usr/lib/python2.3/test/test_imgfile.pyc\r
-#usr/lib/python2.3/test/test_imgfile.pyo\r
-#usr/lib/python2.3/test/test_imp.py\r
-#usr/lib/python2.3/test/test_imp.pyc\r
-#usr/lib/python2.3/test/test_imp.pyo\r
-#usr/lib/python2.3/test/test_import.py\r
-#usr/lib/python2.3/test/test_import.pyc\r
-#usr/lib/python2.3/test/test_import.pyo\r
-#usr/lib/python2.3/test/test_importhooks.py\r
-#usr/lib/python2.3/test/test_importhooks.pyc\r
-#usr/lib/python2.3/test/test_importhooks.pyo\r
-#usr/lib/python2.3/test/test_inspect.py\r
-#usr/lib/python2.3/test/test_inspect.pyc\r
-#usr/lib/python2.3/test/test_inspect.pyo\r
-#usr/lib/python2.3/test/test_ioctl.py\r
-#usr/lib/python2.3/test/test_ioctl.pyc\r
-#usr/lib/python2.3/test/test_ioctl.pyo\r
-#usr/lib/python2.3/test/test_isinstance.py\r
-#usr/lib/python2.3/test/test_isinstance.pyc\r
-#usr/lib/python2.3/test/test_isinstance.pyo\r
-#usr/lib/python2.3/test/test_iter.py\r
-#usr/lib/python2.3/test/test_iter.pyc\r
-#usr/lib/python2.3/test/test_iter.pyo\r
-#usr/lib/python2.3/test/test_itertools.py\r
-#usr/lib/python2.3/test/test_itertools.pyc\r
-#usr/lib/python2.3/test/test_itertools.pyo\r
-#usr/lib/python2.3/test/test_largefile.py\r
-#usr/lib/python2.3/test/test_largefile.pyc\r
-#usr/lib/python2.3/test/test_largefile.pyo\r
-#usr/lib/python2.3/test/test_linuxaudiodev.py\r
-#usr/lib/python2.3/test/test_linuxaudiodev.pyc\r
-#usr/lib/python2.3/test/test_linuxaudiodev.pyo\r
-#usr/lib/python2.3/test/test_locale.py\r
-#usr/lib/python2.3/test/test_locale.pyc\r
-#usr/lib/python2.3/test/test_locale.pyo\r
-#usr/lib/python2.3/test/test_logging.py\r
-#usr/lib/python2.3/test/test_logging.pyc\r
-#usr/lib/python2.3/test/test_logging.pyo\r
-#usr/lib/python2.3/test/test_long.py\r
-#usr/lib/python2.3/test/test_long.pyc\r
-#usr/lib/python2.3/test/test_long.pyo\r
-#usr/lib/python2.3/test/test_long_future.py\r
-#usr/lib/python2.3/test/test_long_future.pyc\r
-#usr/lib/python2.3/test/test_long_future.pyo\r
-#usr/lib/python2.3/test/test_longexp.py\r
-#usr/lib/python2.3/test/test_longexp.pyc\r
-#usr/lib/python2.3/test/test_longexp.pyo\r
-#usr/lib/python2.3/test/test_macfs.py\r
-#usr/lib/python2.3/test/test_macfs.pyc\r
-#usr/lib/python2.3/test/test_macfs.pyo\r
-#usr/lib/python2.3/test/test_macostools.py\r
-#usr/lib/python2.3/test/test_macostools.pyc\r
-#usr/lib/python2.3/test/test_macostools.pyo\r
-#usr/lib/python2.3/test/test_macpath.py\r
-#usr/lib/python2.3/test/test_macpath.pyc\r
-#usr/lib/python2.3/test/test_macpath.pyo\r
-#usr/lib/python2.3/test/test_mailbox.py\r
-#usr/lib/python2.3/test/test_mailbox.pyc\r
-#usr/lib/python2.3/test/test_mailbox.pyo\r
-#usr/lib/python2.3/test/test_marshal.py\r
-#usr/lib/python2.3/test/test_marshal.pyc\r
-#usr/lib/python2.3/test/test_marshal.pyo\r
-#usr/lib/python2.3/test/test_math.py\r
-#usr/lib/python2.3/test/test_math.pyc\r
-#usr/lib/python2.3/test/test_math.pyo\r
-#usr/lib/python2.3/test/test_md5.py\r
-#usr/lib/python2.3/test/test_md5.pyc\r
-#usr/lib/python2.3/test/test_md5.pyo\r
-#usr/lib/python2.3/test/test_mhlib.py\r
-#usr/lib/python2.3/test/test_mhlib.pyc\r
-#usr/lib/python2.3/test/test_mhlib.pyo\r
-#usr/lib/python2.3/test/test_mimetools.py\r
-#usr/lib/python2.3/test/test_mimetools.pyc\r
-#usr/lib/python2.3/test/test_mimetools.pyo\r
-#usr/lib/python2.3/test/test_mimetypes.py\r
-#usr/lib/python2.3/test/test_mimetypes.pyc\r
-#usr/lib/python2.3/test/test_mimetypes.pyo\r
-#usr/lib/python2.3/test/test_minidom.py\r
-#usr/lib/python2.3/test/test_minidom.pyc\r
-#usr/lib/python2.3/test/test_minidom.pyo\r
-#usr/lib/python2.3/test/test_mmap.py\r
-#usr/lib/python2.3/test/test_mmap.pyc\r
-#usr/lib/python2.3/test/test_mmap.pyo\r
-#usr/lib/python2.3/test/test_module.py\r
-#usr/lib/python2.3/test/test_module.pyc\r
-#usr/lib/python2.3/test/test_module.pyo\r
-#usr/lib/python2.3/test/test_mpz.py\r
-#usr/lib/python2.3/test/test_mpz.pyc\r
-#usr/lib/python2.3/test/test_mpz.pyo\r
-#usr/lib/python2.3/test/test_multifile.py\r
-#usr/lib/python2.3/test/test_multifile.pyc\r
-#usr/lib/python2.3/test/test_multifile.pyo\r
-#usr/lib/python2.3/test/test_mutants.py\r
-#usr/lib/python2.3/test/test_mutants.pyc\r
-#usr/lib/python2.3/test/test_mutants.pyo\r
-#usr/lib/python2.3/test/test_netrc.py\r
-#usr/lib/python2.3/test/test_netrc.pyc\r
-#usr/lib/python2.3/test/test_netrc.pyo\r
-#usr/lib/python2.3/test/test_new.py\r
-#usr/lib/python2.3/test/test_new.pyc\r
-#usr/lib/python2.3/test/test_new.pyo\r
-#usr/lib/python2.3/test/test_nis.py\r
-#usr/lib/python2.3/test/test_nis.pyc\r
-#usr/lib/python2.3/test/test_nis.pyo\r
-#usr/lib/python2.3/test/test_normalization.py\r
-#usr/lib/python2.3/test/test_normalization.pyc\r
-#usr/lib/python2.3/test/test_normalization.pyo\r
-#usr/lib/python2.3/test/test_ntpath.py\r
-#usr/lib/python2.3/test/test_ntpath.pyc\r
-#usr/lib/python2.3/test/test_ntpath.pyo\r
-#usr/lib/python2.3/test/test_opcodes.py\r
-#usr/lib/python2.3/test/test_opcodes.pyc\r
-#usr/lib/python2.3/test/test_opcodes.pyo\r
-#usr/lib/python2.3/test/test_openpty.py\r
-#usr/lib/python2.3/test/test_openpty.pyc\r
-#usr/lib/python2.3/test/test_openpty.pyo\r
-#usr/lib/python2.3/test/test_operations.py\r
-#usr/lib/python2.3/test/test_operations.pyc\r
-#usr/lib/python2.3/test/test_operations.pyo\r
-#usr/lib/python2.3/test/test_operator.py\r
-#usr/lib/python2.3/test/test_operator.pyc\r
-#usr/lib/python2.3/test/test_operator.pyo\r
-#usr/lib/python2.3/test/test_optparse.py\r
-#usr/lib/python2.3/test/test_optparse.pyc\r
-#usr/lib/python2.3/test/test_optparse.pyo\r
-#usr/lib/python2.3/test/test_os.py\r
-#usr/lib/python2.3/test/test_os.pyc\r
-#usr/lib/python2.3/test/test_os.pyo\r
-#usr/lib/python2.3/test/test_ossaudiodev.py\r
-#usr/lib/python2.3/test/test_ossaudiodev.pyc\r
-#usr/lib/python2.3/test/test_ossaudiodev.pyo\r
-#usr/lib/python2.3/test/test_parser.py\r
-#usr/lib/python2.3/test/test_parser.pyc\r
-#usr/lib/python2.3/test/test_parser.pyo\r
-#usr/lib/python2.3/test/test_pep247.py\r
-#usr/lib/python2.3/test/test_pep247.pyc\r
-#usr/lib/python2.3/test/test_pep247.pyo\r
-#usr/lib/python2.3/test/test_pep263.py\r
-#usr/lib/python2.3/test/test_pep263.pyc\r
-#usr/lib/python2.3/test/test_pep263.pyo\r
-#usr/lib/python2.3/test/test_pep277.py\r
-#usr/lib/python2.3/test/test_pep277.pyc\r
-#usr/lib/python2.3/test/test_pep277.pyo\r
-#usr/lib/python2.3/test/test_pickle.py\r
-#usr/lib/python2.3/test/test_pickle.pyc\r
-#usr/lib/python2.3/test/test_pickle.pyo\r
-#usr/lib/python2.3/test/test_pickletools.py\r
-#usr/lib/python2.3/test/test_pickletools.pyc\r
-#usr/lib/python2.3/test/test_pickletools.pyo\r
-#usr/lib/python2.3/test/test_pkg.py\r
-#usr/lib/python2.3/test/test_pkg.pyc\r
-#usr/lib/python2.3/test/test_pkg.pyo\r
-#usr/lib/python2.3/test/test_pkgimport.py\r
-#usr/lib/python2.3/test/test_pkgimport.pyc\r
-#usr/lib/python2.3/test/test_pkgimport.pyo\r
-#usr/lib/python2.3/test/test_plistlib.py\r
-#usr/lib/python2.3/test/test_plistlib.pyc\r
-#usr/lib/python2.3/test/test_plistlib.pyo\r
-#usr/lib/python2.3/test/test_poll.py\r
-#usr/lib/python2.3/test/test_poll.pyc\r
-#usr/lib/python2.3/test/test_poll.pyo\r
-#usr/lib/python2.3/test/test_popen.py\r
-#usr/lib/python2.3/test/test_popen.pyc\r
-#usr/lib/python2.3/test/test_popen.pyo\r
-#usr/lib/python2.3/test/test_popen2.py\r
-#usr/lib/python2.3/test/test_popen2.pyc\r
-#usr/lib/python2.3/test/test_popen2.pyo\r
-#usr/lib/python2.3/test/test_posix.py\r
-#usr/lib/python2.3/test/test_posix.pyc\r
-#usr/lib/python2.3/test/test_posix.pyo\r
-#usr/lib/python2.3/test/test_posixpath.py\r
-#usr/lib/python2.3/test/test_posixpath.pyc\r
-#usr/lib/python2.3/test/test_posixpath.pyo\r
-#usr/lib/python2.3/test/test_pow.py\r
-#usr/lib/python2.3/test/test_pow.pyc\r
-#usr/lib/python2.3/test/test_pow.pyo\r
-#usr/lib/python2.3/test/test_pprint.py\r
-#usr/lib/python2.3/test/test_pprint.pyc\r
-#usr/lib/python2.3/test/test_pprint.pyo\r
-#usr/lib/python2.3/test/test_profile.py\r
-#usr/lib/python2.3/test/test_profile.pyc\r
-#usr/lib/python2.3/test/test_profile.pyo\r
-#usr/lib/python2.3/test/test_profilehooks.py\r
-#usr/lib/python2.3/test/test_profilehooks.pyc\r
-#usr/lib/python2.3/test/test_profilehooks.pyo\r
-#usr/lib/python2.3/test/test_pty.py\r
-#usr/lib/python2.3/test/test_pty.pyc\r
-#usr/lib/python2.3/test/test_pty.pyo\r
-#usr/lib/python2.3/test/test_pwd.py\r
-#usr/lib/python2.3/test/test_pwd.pyc\r
-#usr/lib/python2.3/test/test_pwd.pyo\r
-#usr/lib/python2.3/test/test_pyclbr.py\r
-#usr/lib/python2.3/test/test_pyclbr.pyc\r
-#usr/lib/python2.3/test/test_pyclbr.pyo\r
-#usr/lib/python2.3/test/test_pyexpat.py\r
-#usr/lib/python2.3/test/test_pyexpat.pyc\r
-#usr/lib/python2.3/test/test_pyexpat.pyo\r
-#usr/lib/python2.3/test/test_queue.py\r
-#usr/lib/python2.3/test/test_queue.pyc\r
-#usr/lib/python2.3/test/test_queue.pyo\r
-#usr/lib/python2.3/test/test_quopri.py\r
-#usr/lib/python2.3/test/test_quopri.pyc\r
-#usr/lib/python2.3/test/test_quopri.pyo\r
-#usr/lib/python2.3/test/test_random.py\r
-#usr/lib/python2.3/test/test_random.pyc\r
-#usr/lib/python2.3/test/test_random.pyo\r
-#usr/lib/python2.3/test/test_re.py\r
-#usr/lib/python2.3/test/test_re.pyc\r
-#usr/lib/python2.3/test/test_re.pyo\r
-#usr/lib/python2.3/test/test_regex.py\r
-#usr/lib/python2.3/test/test_regex.pyc\r
-#usr/lib/python2.3/test/test_regex.pyo\r
-#usr/lib/python2.3/test/test_repr.py\r
-#usr/lib/python2.3/test/test_repr.pyc\r
-#usr/lib/python2.3/test/test_repr.pyo\r
-#usr/lib/python2.3/test/test_resource.py\r
-#usr/lib/python2.3/test/test_resource.pyc\r
-#usr/lib/python2.3/test/test_resource.pyo\r
-#usr/lib/python2.3/test/test_rfc822.py\r
-#usr/lib/python2.3/test/test_rfc822.pyc\r
-#usr/lib/python2.3/test/test_rfc822.pyo\r
-#usr/lib/python2.3/test/test_rgbimg.py\r
-#usr/lib/python2.3/test/test_rgbimg.pyc\r
-#usr/lib/python2.3/test/test_rgbimg.pyo\r
-#usr/lib/python2.3/test/test_richcmp.py\r
-#usr/lib/python2.3/test/test_richcmp.pyc\r
-#usr/lib/python2.3/test/test_richcmp.pyo\r
-#usr/lib/python2.3/test/test_robotparser.py\r
-#usr/lib/python2.3/test/test_robotparser.pyc\r
-#usr/lib/python2.3/test/test_robotparser.pyo\r
-#usr/lib/python2.3/test/test_rotor.py\r
-#usr/lib/python2.3/test/test_rotor.pyc\r
-#usr/lib/python2.3/test/test_rotor.pyo\r
-#usr/lib/python2.3/test/test_sax.py\r
-#usr/lib/python2.3/test/test_sax.pyc\r
-#usr/lib/python2.3/test/test_sax.pyo\r
-#usr/lib/python2.3/test/test_scope.py\r
-#usr/lib/python2.3/test/test_scope.pyc\r
-#usr/lib/python2.3/test/test_scope.pyo\r
-#usr/lib/python2.3/test/test_scriptpackages.py\r
-#usr/lib/python2.3/test/test_scriptpackages.pyc\r
-#usr/lib/python2.3/test/test_scriptpackages.pyo\r
-#usr/lib/python2.3/test/test_select.py\r
-#usr/lib/python2.3/test/test_select.pyc\r
-#usr/lib/python2.3/test/test_select.pyo\r
-#usr/lib/python2.3/test/test_sets.py\r
-#usr/lib/python2.3/test/test_sets.pyc\r
-#usr/lib/python2.3/test/test_sets.pyo\r
-#usr/lib/python2.3/test/test_sgmllib.py\r
-#usr/lib/python2.3/test/test_sgmllib.pyc\r
-#usr/lib/python2.3/test/test_sgmllib.pyo\r
-#usr/lib/python2.3/test/test_sha.py\r
-#usr/lib/python2.3/test/test_sha.pyc\r
-#usr/lib/python2.3/test/test_sha.pyo\r
-#usr/lib/python2.3/test/test_shelve.py\r
-#usr/lib/python2.3/test/test_shelve.pyc\r
-#usr/lib/python2.3/test/test_shelve.pyo\r
-#usr/lib/python2.3/test/test_shlex.py\r
-#usr/lib/python2.3/test/test_shlex.pyc\r
-#usr/lib/python2.3/test/test_shlex.pyo\r
-#usr/lib/python2.3/test/test_shutil.py\r
-#usr/lib/python2.3/test/test_shutil.pyc\r
-#usr/lib/python2.3/test/test_shutil.pyo\r
-#usr/lib/python2.3/test/test_signal.py\r
-#usr/lib/python2.3/test/test_signal.pyc\r
-#usr/lib/python2.3/test/test_signal.pyo\r
-#usr/lib/python2.3/test/test_slice.py\r
-#usr/lib/python2.3/test/test_slice.pyc\r
-#usr/lib/python2.3/test/test_slice.pyo\r
-#usr/lib/python2.3/test/test_socket.py\r
-#usr/lib/python2.3/test/test_socket.pyc\r
-#usr/lib/python2.3/test/test_socket.pyo\r
-#usr/lib/python2.3/test/test_socket_ssl.py\r
-#usr/lib/python2.3/test/test_socket_ssl.pyc\r
-#usr/lib/python2.3/test/test_socket_ssl.pyo\r
-#usr/lib/python2.3/test/test_socketserver.py\r
-#usr/lib/python2.3/test/test_socketserver.pyc\r
-#usr/lib/python2.3/test/test_socketserver.pyo\r
-#usr/lib/python2.3/test/test_softspace.py\r
-#usr/lib/python2.3/test/test_softspace.pyc\r
-#usr/lib/python2.3/test/test_softspace.pyo\r
-#usr/lib/python2.3/test/test_sort.py\r
-#usr/lib/python2.3/test/test_sort.pyc\r
-#usr/lib/python2.3/test/test_sort.pyo\r
-#usr/lib/python2.3/test/test_str.py\r
-#usr/lib/python2.3/test/test_str.pyc\r
-#usr/lib/python2.3/test/test_str.pyo\r
-#usr/lib/python2.3/test/test_strftime.py\r
-#usr/lib/python2.3/test/test_strftime.pyc\r
-#usr/lib/python2.3/test/test_strftime.pyo\r
-#usr/lib/python2.3/test/test_string.py\r
-#usr/lib/python2.3/test/test_string.pyc\r
-#usr/lib/python2.3/test/test_string.pyo\r
-#usr/lib/python2.3/test/test_stringprep.py\r
-#usr/lib/python2.3/test/test_stringprep.pyc\r
-#usr/lib/python2.3/test/test_stringprep.pyo\r
-#usr/lib/python2.3/test/test_strop.py\r
-#usr/lib/python2.3/test/test_strop.pyc\r
-#usr/lib/python2.3/test/test_strop.pyo\r
-#usr/lib/python2.3/test/test_strptime.py\r
-#usr/lib/python2.3/test/test_strptime.pyc\r
-#usr/lib/python2.3/test/test_strptime.pyo\r
-#usr/lib/python2.3/test/test_struct.py\r
-#usr/lib/python2.3/test/test_struct.pyc\r
-#usr/lib/python2.3/test/test_struct.pyo\r
-#usr/lib/python2.3/test/test_structseq.py\r
-#usr/lib/python2.3/test/test_structseq.pyc\r
-#usr/lib/python2.3/test/test_structseq.pyo\r
-#usr/lib/python2.3/test/test_sunaudiodev.py\r
-#usr/lib/python2.3/test/test_sunaudiodev.pyc\r
-#usr/lib/python2.3/test/test_sunaudiodev.pyo\r
-#usr/lib/python2.3/test/test_sundry.py\r
-#usr/lib/python2.3/test/test_sundry.pyc\r
-#usr/lib/python2.3/test/test_sundry.pyo\r
-#usr/lib/python2.3/test/test_support.py\r
-#usr/lib/python2.3/test/test_support.pyc\r
-#usr/lib/python2.3/test/test_support.pyo\r
-#usr/lib/python2.3/test/test_symtable.py\r
-#usr/lib/python2.3/test/test_symtable.pyc\r
-#usr/lib/python2.3/test/test_symtable.pyo\r
-#usr/lib/python2.3/test/test_syntax.py\r
-#usr/lib/python2.3/test/test_syntax.pyc\r
-#usr/lib/python2.3/test/test_syntax.pyo\r
-#usr/lib/python2.3/test/test_sys.py\r
-#usr/lib/python2.3/test/test_sys.pyc\r
-#usr/lib/python2.3/test/test_sys.pyo\r
-#usr/lib/python2.3/test/test_tarfile.py\r
-#usr/lib/python2.3/test/test_tarfile.pyc\r
-#usr/lib/python2.3/test/test_tarfile.pyo\r
-#usr/lib/python2.3/test/test_tempfile.py\r
-#usr/lib/python2.3/test/test_tempfile.pyc\r
-#usr/lib/python2.3/test/test_tempfile.pyo\r
-#usr/lib/python2.3/test/test_textwrap.py\r
-#usr/lib/python2.3/test/test_textwrap.pyc\r
-#usr/lib/python2.3/test/test_textwrap.pyo\r
-#usr/lib/python2.3/test/test_thread.py\r
-#usr/lib/python2.3/test/test_thread.pyc\r
-#usr/lib/python2.3/test/test_thread.pyo\r
-#usr/lib/python2.3/test/test_threaded_import.py\r
-#usr/lib/python2.3/test/test_threaded_import.pyc\r
-#usr/lib/python2.3/test/test_threaded_import.pyo\r
-#usr/lib/python2.3/test/test_threadedtempfile.py\r
-#usr/lib/python2.3/test/test_threadedtempfile.pyc\r
-#usr/lib/python2.3/test/test_threadedtempfile.pyo\r
-#usr/lib/python2.3/test/test_threading.py\r
-#usr/lib/python2.3/test/test_threading.pyc\r
-#usr/lib/python2.3/test/test_threading.pyo\r
-#usr/lib/python2.3/test/test_time.py\r
-#usr/lib/python2.3/test/test_time.pyc\r
-#usr/lib/python2.3/test/test_time.pyo\r
-#usr/lib/python2.3/test/test_timeout.py\r
-#usr/lib/python2.3/test/test_timeout.pyc\r
-#usr/lib/python2.3/test/test_timeout.pyo\r
-#usr/lib/python2.3/test/test_timing.py\r
-#usr/lib/python2.3/test/test_timing.pyc\r
-#usr/lib/python2.3/test/test_timing.pyo\r
-#usr/lib/python2.3/test/test_tokenize.py\r
-#usr/lib/python2.3/test/test_tokenize.pyc\r
-#usr/lib/python2.3/test/test_tokenize.pyo\r
-#usr/lib/python2.3/test/test_trace.py\r
-#usr/lib/python2.3/test/test_trace.pyc\r
-#usr/lib/python2.3/test/test_trace.pyo\r
-#usr/lib/python2.3/test/test_traceback.py\r
-#usr/lib/python2.3/test/test_traceback.pyc\r
-#usr/lib/python2.3/test/test_traceback.pyo\r
-#usr/lib/python2.3/test/test_types.py\r
-#usr/lib/python2.3/test/test_types.pyc\r
-#usr/lib/python2.3/test/test_types.pyo\r
-#usr/lib/python2.3/test/test_ucn.py\r
-#usr/lib/python2.3/test/test_ucn.pyc\r
-#usr/lib/python2.3/test/test_ucn.pyo\r
-#usr/lib/python2.3/test/test_unary.py\r
-#usr/lib/python2.3/test/test_unary.pyc\r
-#usr/lib/python2.3/test/test_unary.pyo\r
-#usr/lib/python2.3/test/test_unicode.py\r
-#usr/lib/python2.3/test/test_unicode.pyc\r
-#usr/lib/python2.3/test/test_unicode.pyo\r
-#usr/lib/python2.3/test/test_unicode_file.py\r
-#usr/lib/python2.3/test/test_unicode_file.pyc\r
-#usr/lib/python2.3/test/test_unicode_file.pyo\r
-#usr/lib/python2.3/test/test_unicodedata.py\r
-#usr/lib/python2.3/test/test_unicodedata.pyc\r
-#usr/lib/python2.3/test/test_unicodedata.pyo\r
-#usr/lib/python2.3/test/test_univnewlines.py\r
-#usr/lib/python2.3/test/test_univnewlines.pyc\r
-#usr/lib/python2.3/test/test_univnewlines.pyo\r
-#usr/lib/python2.3/test/test_unpack.py\r
-#usr/lib/python2.3/test/test_unpack.pyc\r
-#usr/lib/python2.3/test/test_unpack.pyo\r
-#usr/lib/python2.3/test/test_urllib.py\r
-#usr/lib/python2.3/test/test_urllib.pyc\r
-#usr/lib/python2.3/test/test_urllib.pyo\r
-#usr/lib/python2.3/test/test_urllib2.py\r
-#usr/lib/python2.3/test/test_urllib2.pyc\r
-#usr/lib/python2.3/test/test_urllib2.pyo\r
-#usr/lib/python2.3/test/test_urllibnet.py\r
-#usr/lib/python2.3/test/test_urllibnet.pyc\r
-#usr/lib/python2.3/test/test_urllibnet.pyo\r
-#usr/lib/python2.3/test/test_urlparse.py\r
-#usr/lib/python2.3/test/test_urlparse.pyc\r
-#usr/lib/python2.3/test/test_urlparse.pyo\r
-#usr/lib/python2.3/test/test_userdict.py\r
-#usr/lib/python2.3/test/test_userdict.pyc\r
-#usr/lib/python2.3/test/test_userdict.pyo\r
-#usr/lib/python2.3/test/test_userlist.py\r
-#usr/lib/python2.3/test/test_userlist.pyc\r
-#usr/lib/python2.3/test/test_userlist.pyo\r
-#usr/lib/python2.3/test/test_userstring.py\r
-#usr/lib/python2.3/test/test_userstring.pyc\r
-#usr/lib/python2.3/test/test_userstring.pyo\r
-#usr/lib/python2.3/test/test_uu.py\r
-#usr/lib/python2.3/test/test_uu.pyc\r
-#usr/lib/python2.3/test/test_uu.pyo\r
-#usr/lib/python2.3/test/test_warnings.py\r
-#usr/lib/python2.3/test/test_warnings.pyc\r
-#usr/lib/python2.3/test/test_warnings.pyo\r
-#usr/lib/python2.3/test/test_wave.py\r
-#usr/lib/python2.3/test/test_wave.pyc\r
-#usr/lib/python2.3/test/test_wave.pyo\r
-#usr/lib/python2.3/test/test_weakref.py\r
-#usr/lib/python2.3/test/test_weakref.pyc\r
-#usr/lib/python2.3/test/test_weakref.pyo\r
-#usr/lib/python2.3/test/test_whichdb.py\r
-#usr/lib/python2.3/test/test_whichdb.pyc\r
-#usr/lib/python2.3/test/test_whichdb.pyo\r
-#usr/lib/python2.3/test/test_winreg.py\r
-#usr/lib/python2.3/test/test_winreg.pyc\r
-#usr/lib/python2.3/test/test_winreg.pyo\r
-#usr/lib/python2.3/test/test_winsound.py\r
-#usr/lib/python2.3/test/test_winsound.pyc\r
-#usr/lib/python2.3/test/test_winsound.pyo\r
-#usr/lib/python2.3/test/test_xmllib.py\r
-#usr/lib/python2.3/test/test_xmllib.pyc\r
-#usr/lib/python2.3/test/test_xmllib.pyo\r
-#usr/lib/python2.3/test/test_xmlrpc.py\r
-#usr/lib/python2.3/test/test_xmlrpc.pyc\r
-#usr/lib/python2.3/test/test_xmlrpc.pyo\r
-#usr/lib/python2.3/test/test_xpickle.py\r
-#usr/lib/python2.3/test/test_xpickle.pyc\r
-#usr/lib/python2.3/test/test_xpickle.pyo\r
-#usr/lib/python2.3/test/test_xreadline.py\r
-#usr/lib/python2.3/test/test_xreadline.pyc\r
-#usr/lib/python2.3/test/test_xreadline.pyo\r
-#usr/lib/python2.3/test/test_zipfile.py\r
-#usr/lib/python2.3/test/test_zipfile.pyc\r
-#usr/lib/python2.3/test/test_zipfile.pyo\r
-#usr/lib/python2.3/test/test_zipimport.py\r
-#usr/lib/python2.3/test/test_zipimport.pyc\r
-#usr/lib/python2.3/test/test_zipimport.pyo\r
-#usr/lib/python2.3/test/test_zlib.py\r
-#usr/lib/python2.3/test/test_zlib.pyc\r
-#usr/lib/python2.3/test/test_zlib.pyo\r
-#usr/lib/python2.3/test/testall.py\r
-#usr/lib/python2.3/test/testall.pyc\r
-#usr/lib/python2.3/test/testall.pyo\r
-#usr/lib/python2.3/test/testcodec.py\r
-#usr/lib/python2.3/test/testcodec.pyc\r
-#usr/lib/python2.3/test/testcodec.pyo\r
-#usr/lib/python2.3/test/testimg.uue\r
-#usr/lib/python2.3/test/testimgr.uue\r
-#usr/lib/python2.3/test/testrgb.uue\r
-#usr/lib/python2.3/test/testtar.tar\r
-#usr/lib/python2.3/test/tf_inherit_check.py\r
-#usr/lib/python2.3/test/tf_inherit_check.pyc\r
-#usr/lib/python2.3/test/tf_inherit_check.pyo\r
-#usr/lib/python2.3/test/tokenize_tests.txt\r
-#usr/lib/python2.3/test/xmltests.py\r
-#usr/lib/python2.3/test/xmltests.pyc\r
-#usr/lib/python2.3/test/xmltests.pyo\r
-#usr/lib/python2.3/textwrap.py\r
-usr/lib/python2.3/textwrap.pyc\r
-#usr/lib/python2.3/textwrap.pyo\r
-#usr/lib/python2.3/this.py\r
-usr/lib/python2.3/this.pyc\r
-#usr/lib/python2.3/this.pyo\r
-#usr/lib/python2.3/threading.py\r
-usr/lib/python2.3/threading.pyc\r
-#usr/lib/python2.3/threading.pyo\r
-#usr/lib/python2.3/timeit.py\r
-usr/lib/python2.3/timeit.pyc\r
-#usr/lib/python2.3/timeit.pyo\r
-#usr/lib/python2.3/toaiff.py\r
-#usr/lib/python2.3/toaiff.pyc\r
-#usr/lib/python2.3/toaiff.pyo\r
-#usr/lib/python2.3/token.py\r
-usr/lib/python2.3/token.pyc\r
-#usr/lib/python2.3/token.pyo\r
-#usr/lib/python2.3/tokenize.py\r
-usr/lib/python2.3/tokenize.pyc\r
-#usr/lib/python2.3/tokenize.pyo\r
-#usr/lib/python2.3/trace.py\r
-usr/lib/python2.3/trace.pyc\r
-#usr/lib/python2.3/trace.pyo\r
-#usr/lib/python2.3/traceback.py\r
-usr/lib/python2.3/traceback.pyc\r
-#usr/lib/python2.3/traceback.pyo\r
-#usr/lib/python2.3/tty.py\r
-usr/lib/python2.3/tty.pyc\r
-#usr/lib/python2.3/tty.pyo\r
-#usr/lib/python2.3/types.py\r
-usr/lib/python2.3/types.pyc\r
-#usr/lib/python2.3/types.pyo\r
-#usr/lib/python2.3/tzparse.py\r
-usr/lib/python2.3/tzparse.pyc\r
-#usr/lib/python2.3/tzparse.pyo\r
-#usr/lib/python2.3/unittest.py\r
-usr/lib/python2.3/unittest.pyc\r
-#usr/lib/python2.3/unittest.pyo\r
-#usr/lib/python2.3/urllib.py\r
-usr/lib/python2.3/urllib.pyc\r
-#usr/lib/python2.3/urllib.pyo\r
-#usr/lib/python2.3/urllib2.py\r
-usr/lib/python2.3/urllib2.pyc\r
-#usr/lib/python2.3/urllib2.pyo\r
-#usr/lib/python2.3/urlparse.py\r
-usr/lib/python2.3/urlparse.pyc\r
-#usr/lib/python2.3/urlparse.pyo\r
-#usr/lib/python2.3/user.py\r
-usr/lib/python2.3/user.pyc\r
-#usr/lib/python2.3/user.pyo\r
-#usr/lib/python2.3/uu.py\r
-usr/lib/python2.3/uu.pyc\r
-#usr/lib/python2.3/uu.pyo\r
-#usr/lib/python2.3/warnings.py\r
-usr/lib/python2.3/warnings.pyc\r
-#usr/lib/python2.3/warnings.pyo\r
-#usr/lib/python2.3/wave.py\r
-#usr/lib/python2.3/wave.pyc\r
-#usr/lib/python2.3/wave.pyo\r
-#usr/lib/python2.3/weakref.py\r
-usr/lib/python2.3/weakref.pyc\r
-#usr/lib/python2.3/weakref.pyo\r
-#usr/lib/python2.3/webbrowser.py\r
-#usr/lib/python2.3/webbrowser.pyc\r
-#usr/lib/python2.3/webbrowser.pyo\r
-#usr/lib/python2.3/whichdb.py\r
-usr/lib/python2.3/whichdb.pyc\r
-#usr/lib/python2.3/whichdb.pyo\r
-#usr/lib/python2.3/whrandom.py\r
-usr/lib/python2.3/whrandom.pyc\r
-#usr/lib/python2.3/whrandom.pyo\r
-#usr/lib/python2.3/xdrlib.py\r
-usr/lib/python2.3/xdrlib.pyc\r
-#usr/lib/python2.3/xdrlib.pyo\r
-#usr/lib/python2.3/xml\r
-#usr/lib/python2.3/xml/__init__.py\r
-usr/lib/python2.3/xml/__init__.pyc\r
-#usr/lib/python2.3/xml/__init__.pyo\r
-#usr/lib/python2.3/xml/dom\r
-#usr/lib/python2.3/xml/dom/NodeFilter.py\r
-usr/lib/python2.3/xml/dom/NodeFilter.pyc\r
-#usr/lib/python2.3/xml/dom/NodeFilter.pyo\r
-#usr/lib/python2.3/xml/dom/__init__.py\r
-usr/lib/python2.3/xml/dom/__init__.pyc\r
-#usr/lib/python2.3/xml/dom/__init__.pyo\r
-#usr/lib/python2.3/xml/dom/domreg.py\r
-usr/lib/python2.3/xml/dom/domreg.pyc\r
-#usr/lib/python2.3/xml/dom/domreg.pyo\r
-#usr/lib/python2.3/xml/dom/expatbuilder.py\r
-usr/lib/python2.3/xml/dom/expatbuilder.pyc\r
-#usr/lib/python2.3/xml/dom/expatbuilder.pyo\r
-#usr/lib/python2.3/xml/dom/minicompat.py\r
-usr/lib/python2.3/xml/dom/minicompat.pyc\r
-#usr/lib/python2.3/xml/dom/minicompat.pyo\r
-#usr/lib/python2.3/xml/dom/minidom.py\r
-usr/lib/python2.3/xml/dom/minidom.pyc\r
-#usr/lib/python2.3/xml/dom/minidom.pyo\r
-#usr/lib/python2.3/xml/dom/pulldom.py\r
-usr/lib/python2.3/xml/dom/pulldom.pyc\r
-#usr/lib/python2.3/xml/dom/pulldom.pyo\r
-#usr/lib/python2.3/xml/dom/xmlbuilder.py\r
-usr/lib/python2.3/xml/dom/xmlbuilder.pyc\r
-#usr/lib/python2.3/xml/dom/xmlbuilder.pyo\r
-#usr/lib/python2.3/xml/parsers\r
-#usr/lib/python2.3/xml/parsers/__init__.py\r
-usr/lib/python2.3/xml/parsers/__init__.pyc\r
-#usr/lib/python2.3/xml/parsers/__init__.pyo\r
-#usr/lib/python2.3/xml/parsers/expat.py\r
-usr/lib/python2.3/xml/parsers/expat.pyc\r
-#usr/lib/python2.3/xml/parsers/expat.pyo\r
-#usr/lib/python2.3/xml/sax\r
-#usr/lib/python2.3/xml/sax/__init__.py\r
-usr/lib/python2.3/xml/sax/__init__.pyc\r
-#usr/lib/python2.3/xml/sax/__init__.pyo\r
-#usr/lib/python2.3/xml/sax/_exceptions.py\r
-usr/lib/python2.3/xml/sax/_exceptions.pyc\r
-#usr/lib/python2.3/xml/sax/_exceptions.pyo\r
-#usr/lib/python2.3/xml/sax/expatreader.py\r
-usr/lib/python2.3/xml/sax/expatreader.pyc\r
-#usr/lib/python2.3/xml/sax/expatreader.pyo\r
-#usr/lib/python2.3/xml/sax/handler.py\r
-usr/lib/python2.3/xml/sax/handler.pyc\r
-#usr/lib/python2.3/xml/sax/handler.pyo\r
-#usr/lib/python2.3/xml/sax/saxutils.py\r
-usr/lib/python2.3/xml/sax/saxutils.pyc\r
-#usr/lib/python2.3/xml/sax/saxutils.pyo\r
-#usr/lib/python2.3/xml/sax/xmlreader.py\r
-usr/lib/python2.3/xml/sax/xmlreader.pyc\r
-#usr/lib/python2.3/xml/sax/xmlreader.pyo\r
-#usr/lib/python2.3/xmllib.py\r
-usr/lib/python2.3/xmllib.pyc\r
-#usr/lib/python2.3/xmllib.pyo\r
-#usr/lib/python2.3/xmlrpclib.py\r
-usr/lib/python2.3/xmlrpclib.pyc\r
-#usr/lib/python2.3/xmlrpclib.pyo\r
-#usr/lib/python2.3/zipfile.py\r
-usr/lib/python2.3/zipfile.pyc\r
-#usr/lib/python2.3/zipfile.pyo\r
-#usr/share/man/man1/python.1\r
-##\r
-## expat-1.95.7\r
-##\r
-#usr/bin/xmlwf\r
-#usr/include/expat.h\r
-#usr/lib/libexpat.a\r
-#usr/lib/libexpat.la\r
-usr/lib/libexpat.so\r
-usr/lib/libexpat.so.0\r
-usr/lib/libexpat.so.0.5.0\r
-#usr/share/man/man1/xmlwf.1\r
-##\r
-## gdbm-1.8.3\r
-##\r
-#usr/include/gdbm.h\r
-#usr/lib/libgdbm.a\r
-#usr/lib/libgdbm.la\r
-usr/lib/libgdbm.so\r
-usr/lib/libgdbm.so.3\r
-usr/lib/libgdbm.so.3.0.0\r
-#usr/share/info/gdbm.info\r
-#usr/share/man/man3/gdbm.3\r
-##\r
-## gmp-4.1.2\r
-##\r
-#usr/include/gmp.h\r
-#usr/lib/libgmp.a\r
-#usr/lib/libgmp.la\r
-usr/lib/libgmp.so\r
-usr/lib/libgmp.so.3\r
-usr/lib/libgmp.so.3.3.2\r
-#usr/share/info/gmp.info\r
-#usr/share/info/gmp.info-1\r
-#usr/share/info/gmp.info-2\r
-#usr/share/info/gmp.info-3\r
-#usr/share/info/gmp.info-4\r
-#usr/share/info/gmp.info-5\r
-#usr/share/info/gmp.info-6\r
-#usr/share/info/gmp.info-7\r
-#usr/share/info/gmp.info-8\r
-#usr/share/info/gmp.info-9\r
-##\r
-## libnet-1.1.2.1\r
-##\r
-#usr/include/libnet\r
-#usr/include/libnet/libnet-asn1.h\r
-#usr/include/libnet/libnet-functions.h\r
-#usr/include/libnet/libnet-headers.h\r
-#usr/include/libnet/libnet-macros.h\r
-#usr/include/libnet/libnet-structures.h\r
-#usr/include/libnet/libnet-types.h\r
-#usr/include/libnet.h\r
-#usr/lib/libnet.a\r
-##\r
-## libpcap-0.8.3\r
-##\r
-#usr/include/net/bpf.h\r
-#usr/include/pcap-namedb.h\r
-#usr/include/pcap.h\r
-#usr/lib/libpcap.a\r
-usr/lib/libpcap.so.0.8.3\r
-usr/lib/libpcap.so\r
-usr/lib/libpcap.so.0\r
-usr/lib/libpcap.so.0.8\r
-#usr/share/man/man3/pcap.3\r
-##\r
-## libpng-1.2.8\r
-##\r
-#usr/bin/libpng-config\r
-#usr/bin/libpng12-config\r
-#usr/include/libpng\r
-#usr/include/libpng12\r
-#usr/include/libpng12/png.h\r
-#usr/include/libpng12/pngconf.h\r
-#usr/include/png.h\r
-#usr/include/pngconf.h\r
-#usr/lib/libpng.a\r
-usr/lib/libpng.so\r
-usr/lib/libpng.so.3\r
-usr/lib/libpng.so.3.1.2.8\r
-#usr/lib/libpng12.a\r
-#usr/lib/libpng12.so\r
-#usr/lib/libpng12.so.0\r
-#usr/lib/libpng12.so.0.1.2.8\r
-#usr/lib/pkgconfig\r
-#usr/lib/pkgconfig/libpng.pc\r
-#usr/lib/pkgconfig/libpng12.pc\r
-#usr/share/man/man3/libpng.3\r
-#usr/share/man/man3/libpngpf.3\r
-#usr/share/man/man5/png.5\r
-##\r
-## libsafe-2.0-16\r
-##\r
-etc/ld.so.preload\r
-lib/libsafe.so.2.0.16\r
-lib/libsafe.so.2\r
-#usr/share/man/man8/libsafe.8\r
-##\r
-## gd-2.0.20\r
-##\r
-#usr/bin/annotate\r
-#usr/bin/bdftogd\r
-#usr/bin/gd2copypal\r
-#usr/bin/gd2topng\r
-#usr/bin/gdlib-config\r
-#usr/bin/gdparttopng\r
-#usr/bin/gdtojpeg\r
-#usr/bin/gdtopng\r
-#usr/bin/pngtogd\r
-#usr/bin/pngtogd2\r
-#usr/bin/webpng\r
-#usr/include/gd.h\r
-#usr/include/gdfx.h\r
-#usr/include/gd_io.h\r
-#usr/include/gdcache.h\r
-#usr/include/gdfontg.h\r
-#usr/include/gdfontl.h\r
-#usr/include/gdfontmb.h\r
-#usr/include/gdfonts.h\r
-#usr/include/gdfontt.h\r
-#usr/lib/libgd.a\r
-#usr/lib/libgd.la\r
-usr/lib/libgd.so\r
-usr/lib/libgd.so.2\r
-usr/lib/libgd.so.2.0.0\r
-##\r
-## popt-1.7\r
-##\r
-#usr/include/popt.h\r
-#usr/lib/libpopt.a\r
-#usr/lib/libpopt.la\r
-usr/lib/libpopt.so\r
-usr/lib/libpopt.so.0\r
-usr/lib/libpopt.so.0.0.0\r
-#usr/share/man/man3/popt.3\r
-##\r
-## slang-1.4.5-mini\r
-##\r
-#usr/include/slang\r
-#usr/include/slang/slang.h\r
-#usr/include/slang/slcurses.h\r
-#usr/lib/libslang.a\r
-##\r
-## newt-utf8_0.50.17\r
-##\r
-#usr/include/newt.h\r
-usr/lib/libnewt-utf8.so.0.50.17\r
-usr/lib/libnewt.so\r
-usr/lib/libnewt.so.0.50\r
-usr/lib/python2.3/site-packages/_snackmodule.so\r
-#usr/lib/python2.3/site-packages/snack.py\r
-usr/lib/python2.3/site-packages/snack.pyc\r
-##\r
-## libcap-1.10\r
-##\r
-#usr/include/sys/capability.h\r
-#usr/share/man/man3/cap_init.3\r
-#usr/share/man/man3/cap_free.3\r
-#usr/share/man/man3/cap_dup.3\r
-#usr/share/man/man3/cap_clear.3\r
-#usr/share/man/man3/cap_get_flag.3\r
-#usr/share/man/man3/cap_set_flag.3\r
-#usr/share/man/man3/cap_get_proc.3\r
-#usr/share/man/man3/cap_set_proc.3\r
-#usr/share/man/man3/cap_copy_ext.3\r
-#usr/share/man/man3/cap_size.3\r
-#usr/share/man/man3/cap_copy_int.3\r
-#usr/share/man/man3/cap_from_text.3\r
-#usr/share/man/man3/cap_to_text.3\r
-#usr/share/man/man3/_cap_names.3\r
-#usr/share/man/man3/capsetp.3\r
-#usr/share/man/man3/capgetp.3\r
-lib/libcap.so.1.10\r
-lib/libcap.so.1\r
-lib/libcap.so\r
-sbin/getpcaps\r
-sbin/setpcaps\r
-sbin/execcap\r
-sbin/sucap\r
-##\r
-## libusb-0.1.7\r
-##\r
-#usr/bin/libusb-config\r
-#usr/include/usb.h\r
-usr/lib/libusb-0.1.so.4\r
-usr/lib/libusb-0.1.so.4.3.0\r
-#usr/lib/libusb.a\r
-#usr/lib/libusb.la\r
-usr/lib/libusb.so\r
-##\r
-## linux-atm-2.4.1\r
-##\r
-#etc/atmsigd.conf\r
-#etc/hosts.atm\r
-usr/bin/aread\r
-usr/bin/atmdiag\r
-#usr/bin/atmdump\r
-#usr/bin/awrite\r
-#usr/bin/saaldump\r
-#usr/bin/sonetdiag\r
-#usr/bin/ttcp_atm\r
-#usr/include/atm.h\r
-#usr/include/atmarp.h\r
-#usr/include/atmarpd.h\r
-#usr/include/atmd.h\r
-#usr/include/atmsap.h\r
-#usr/lib/libatm.a\r
-#usr/lib/libatm.la\r
-usr/lib/libatm.so\r
-usr/lib/libatm.so.1\r
-usr/lib/libatm.so.1.0.0\r
-#usr/sbin/atmaddr\r
-usr/sbin/atmarp\r
-usr/sbin/atmarpd\r
-usr/sbin/atmloop\r
-usr/sbin/atmsigd\r
-usr/sbin/atmtcp\r
-#usr/sbin/bus\r
-#usr/sbin/enitune\r
-#usr/sbin/esi\r
-#usr/sbin/ilmid\r
-#usr/sbin/lecs\r
-#usr/sbin/les\r
-#usr/sbin/mpcd\r
-#usr/sbin/zeppelin\r
-#usr/sbin/zntune\r
-#usr/share/man/man4/atmsigd.conf.4\r
-#usr/share/man/man7/qos.7\r
-#usr/share/man/man7/sap.7\r
-#usr/share/man/man8/atmaddr.8\r
-#usr/share/man/man8/atmarp.8\r
-#usr/share/man/man8/atmarpd.8\r
-#usr/share/man/man8/atmdiag.8\r
-#usr/share/man/man8/atmdump.8\r
-#usr/share/man/man8/atmloop.8\r
-#usr/share/man/man8/atmsigd.8\r
-#usr/share/man/man8/atmtcp.8\r
-#usr/share/man/man8/bus.8\r
-#usr/share/man/man8/esi.8\r
-#usr/share/man/man8/lecs.8\r
-#usr/share/man/man8/les.8\r
-#usr/share/man/man8/mpcd.8\r
-#usr/share/man/man8/zeppelin.8\r
-##\r
-## openssl-0.9.7i\r
-##\r
-#etc/ssl\r
-#etc/ssl/certs\r
-#etc/ssl/misc\r
-#etc/ssl/misc/CA.pl\r
-#etc/ssl/misc/CA.sh\r
-#etc/ssl/misc/c_hash\r
-#etc/ssl/misc/c_info\r
-#etc/ssl/misc/c_issuer\r
-#etc/ssl/misc/c_name\r
-etc/ssl/openssl.cnf\r
-#etc/ssl/private\r
-#usr/bin/c_rehash\r
-usr/bin/openssl\r
-#usr/bin/openssl_fips_fingerprint\r
-#usr/include/openssl\r
-#usr/include/openssl/aes.h\r
-#usr/include/openssl/asn1.h\r
-#usr/include/openssl/asn1_mac.h\r
-#usr/include/openssl/asn1t.h\r
-#usr/include/openssl/bio.h\r
-#usr/include/openssl/blowfish.h\r
-#usr/include/openssl/bn.h\r
-#usr/include/openssl/buffer.h\r
-#usr/include/openssl/cast.h\r
-#usr/include/openssl/comp.h\r
-#usr/include/openssl/conf.h\r
-#usr/include/openssl/conf_api.h\r
-#usr/include/openssl/crypto.h\r
-#usr/include/openssl/des.h\r
-#usr/include/openssl/des_old.h\r
-#usr/include/openssl/dh.h\r
-#usr/include/openssl/dsa.h\r
-#usr/include/openssl/dso.h\r
-#usr/include/openssl/e_os2.h\r
-#usr/include/openssl/ebcdic.h\r
-#usr/include/openssl/engine.h\r
-#usr/include/openssl/err.h\r
-#usr/include/openssl/evp.h\r
-#usr/include/openssl/fips.h\r
-#usr/include/openssl/fips_rand.h\r
-#usr/include/openssl/fips_sha.h\r
-#usr/include/openssl/hmac.h\r
-#usr/include/openssl/krb5_asn.h\r
-#usr/include/openssl/kssl.h\r
-#usr/include/openssl/lhash.h\r
-#usr/include/openssl/md2.h\r
-#usr/include/openssl/md4.h\r
-#usr/include/openssl/md5.h\r
-#usr/include/openssl/obj_mac.h\r
-#usr/include/openssl/objects.h\r
-#usr/include/openssl/ocsp.h\r
-#usr/include/openssl/opensslconf.h\r
-#usr/include/openssl/opensslv.h\r
-#usr/include/openssl/ossl_typ.h\r
-#usr/include/openssl/pem.h\r
-#usr/include/openssl/pem2.h\r
-#usr/include/openssl/pkcs12.h\r
-#usr/include/openssl/pkcs7.h\r
-#usr/include/openssl/rand.h\r
-#usr/include/openssl/rc2.h\r
-#usr/include/openssl/rc4.h\r
-#usr/include/openssl/ripemd.h\r
-#usr/include/openssl/rsa.h\r
-#usr/include/openssl/safestack.h\r
-#usr/include/openssl/sha.h\r
-#usr/include/openssl/ssl.h\r
-#usr/include/openssl/ssl2.h\r
-#usr/include/openssl/ssl23.h\r
-#usr/include/openssl/ssl3.h\r
-#usr/include/openssl/stack.h\r
-#usr/include/openssl/symhacks.h\r
-#usr/include/openssl/tls1.h\r
-#usr/include/openssl/tmdiff.h\r
-#usr/include/openssl/txt_db.h\r
-#usr/include/openssl/ui.h\r
-#usr/include/openssl/ui_compat.h\r
-#usr/include/openssl/x509.h\r
-#usr/include/openssl/x509_vfy.h\r
-#usr/include/openssl/x509v3.h\r
-#usr/lib/libcrypto.a\r
-#usr/lib/libcrypto.a.sha1\r
-usr/lib/libcrypto.so\r
-usr/lib/libcrypto.so.0\r
-usr/lib/libcrypto.so.0.9.7\r
-#usr/lib/libcrypto.so.0.9.7.sha1\r
-#usr/lib/libssl.a\r
-usr/lib/libssl.so\r
-usr/lib/libssl.so.0\r
-usr/lib/libssl.so.0.9.7\r
-#usr/lib/pkgconfig\r
-#usr/lib/pkgconfig/openssl.pc\r
-#usr/share/man/man1/CA.pl.1\r
-#usr/share/man/man1/asn1parse.1\r
-#usr/share/man/man1/ca.1\r
-#usr/share/man/man1/ciphers.1\r
-#usr/share/man/man1/crl.1\r
-#usr/share/man/man1/crl2pkcs7.1\r
-#usr/share/man/man1/dgst.1\r
-#usr/share/man/man1/dhparam.1\r
-#usr/share/man/man1/dsa.1\r
-#usr/share/man/man1/dsaparam.1\r
-#usr/share/man/man1/enc.1\r
-#usr/share/man/man1/errstr.1\r
-#usr/share/man/man1/gendsa.1\r
-#usr/share/man/man1/genrsa.1\r
-#usr/share/man/man1/md2.1\r
-#usr/share/man/man1/md4.1\r
-#usr/share/man/man1/md5.1\r
-#usr/share/man/man1/mdc2.1\r
-#usr/share/man/man1/nseq.1\r
-#usr/share/man/man1/ocsp.1\r
-#usr/share/man/man1/openssl.1\r
-#usr/share/man/man1/pkcs12.1\r
-#usr/share/man/man1/pkcs7.1\r
-#usr/share/man/man1/pkcs8.1\r
-#usr/share/man/man1/rand.1\r
-#usr/share/man/man1/req.1\r
-#usr/share/man/man1/ripemd160.1\r
-#usr/share/man/man1/rsa.1\r
-#usr/share/man/man1/rsautl.1\r
-#usr/share/man/man1/s_client.1\r
-#usr/share/man/man1/s_server.1\r
-#usr/share/man/man1/s_time.1\r
-#usr/share/man/man1/sess_id.1\r
-#usr/share/man/man1/sha.1\r
-#usr/share/man/man1/sha1.1\r
-#usr/share/man/man1/smime.1\r
-#usr/share/man/man1/speed.1\r
-#usr/share/man/man1/spkac.1\r
-#usr/share/man/man1/verify.1\r
-#usr/share/man/man1/version.1\r
-#usr/share/man/man1/x509.1\r
-#usr/share/man/man3/ASN1_OBJECT_free.3\r
-#usr/share/man/man3/ASN1_OBJECT_new.3\r
-#usr/share/man/man3/ASN1_STRING_cmp.3\r
-#usr/share/man/man3/ASN1_STRING_data.3\r
-#usr/share/man/man3/ASN1_STRING_dup.3\r
-#usr/share/man/man3/ASN1_STRING_free.3\r
-#usr/share/man/man3/ASN1_STRING_length.3\r
-#usr/share/man/man3/ASN1_STRING_length_set.3\r
-#usr/share/man/man3/ASN1_STRING_new.3\r
-#usr/share/man/man3/ASN1_STRING_print_ex.3\r
-#usr/share/man/man3/ASN1_STRING_print_ex_fp.3\r
-#usr/share/man/man3/ASN1_STRING_set.3\r
-#usr/share/man/man3/ASN1_STRING_type.3\r
-#usr/share/man/man3/ASN1_STRING_type_new.3\r
-#usr/share/man/man3/BF_cbc_encrypt.3\r
-#usr/share/man/man3/BF_cfb64_encrypt.3\r
-#usr/share/man/man3/BF_decrypt.3\r
-#usr/share/man/man3/BF_ecb_encrypt.3\r
-#usr/share/man/man3/BF_encrypt.3\r
-#usr/share/man/man3/BF_ofb64_encrypt.3\r
-#usr/share/man/man3/BF_options.3\r
-#usr/share/man/man3/BF_set_key.3\r
-#usr/share/man/man3/BIO_append_filename.3\r
-#usr/share/man/man3/BIO_callback_ctrl.3\r
-#usr/share/man/man3/BIO_ctrl.3\r
-#usr/share/man/man3/BIO_ctrl_get_read_request.3\r
-#usr/share/man/man3/BIO_ctrl_get_write_guarantee.3\r
-#usr/share/man/man3/BIO_ctrl_pending.3\r
-#usr/share/man/man3/BIO_ctrl_reset_read_request.3\r
-#usr/share/man/man3/BIO_ctrl_wpending.3\r
-#usr/share/man/man3/BIO_debug_callback.3\r
-#usr/share/man/man3/BIO_destroy_bio_pair.3\r
-#usr/share/man/man3/BIO_do_accept.3\r
-#usr/share/man/man3/BIO_do_connect.3\r
-#usr/share/man/man3/BIO_eof.3\r
-#usr/share/man/man3/BIO_f_base64.3\r
-#usr/share/man/man3/BIO_f_buffer.3\r
-#usr/share/man/man3/BIO_f_cipher.3\r
-#usr/share/man/man3/BIO_f_md.3\r
-#usr/share/man/man3/BIO_f_null.3\r
-#usr/share/man/man3/BIO_f_ssl.3\r
-#usr/share/man/man3/BIO_find_type.3\r
-#usr/share/man/man3/BIO_flush.3\r
-#usr/share/man/man3/BIO_free.3\r
-#usr/share/man/man3/BIO_free_all.3\r
-#usr/share/man/man3/BIO_get_accept_port.3\r
-#usr/share/man/man3/BIO_get_bind_mode.3\r
-#usr/share/man/man3/BIO_get_callback.3\r
-#usr/share/man/man3/BIO_get_callback_arg.3\r
-#usr/share/man/man3/BIO_get_cipher_ctx.3\r
-#usr/share/man/man3/BIO_get_cipher_status.3\r
-#usr/share/man/man3/BIO_get_close.3\r
-#usr/share/man/man3/BIO_get_conn_hostname.3\r
-#usr/share/man/man3/BIO_get_conn_int_port.3\r
-#usr/share/man/man3/BIO_get_conn_ip.3\r
-#usr/share/man/man3/BIO_get_conn_port.3\r
-#usr/share/man/man3/BIO_get_fd.3\r
-#usr/share/man/man3/BIO_get_fp.3\r
-#usr/share/man/man3/BIO_get_info_callback.3\r
-#usr/share/man/man3/BIO_get_md.3\r
-#usr/share/man/man3/BIO_get_md_ctx.3\r
-#usr/share/man/man3/BIO_get_mem_data.3\r
-#usr/share/man/man3/BIO_get_mem_ptr.3\r
-#usr/share/man/man3/BIO_get_num_renegotiates.3\r
-#usr/share/man/man3/BIO_get_read_request.3\r
-#usr/share/man/man3/BIO_get_retry_BIO.3\r
-#usr/share/man/man3/BIO_get_retry_reason.3\r
-#usr/share/man/man3/BIO_get_ssl.3\r
-#usr/share/man/man3/BIO_get_write_buf_size.3\r
-#usr/share/man/man3/BIO_get_write_guarantee.3\r
-#usr/share/man/man3/BIO_gets.3\r
-#usr/share/man/man3/BIO_int_ctrl.3\r
-#usr/share/man/man3/BIO_make_bio_pair.3\r
-#usr/share/man/man3/BIO_new.3\r
-#usr/share/man/man3/BIO_new_bio_pair.3\r
-#usr/share/man/man3/BIO_new_buffer_ssl_connect.3\r
-#usr/share/man/man3/BIO_new_fd.3\r
-#usr/share/man/man3/BIO_new_file.3\r
-#usr/share/man/man3/BIO_new_fp.3\r
-#usr/share/man/man3/BIO_new_mem_buf.3\r
-#usr/share/man/man3/BIO_new_socket.3\r
-#usr/share/man/man3/BIO_new_ssl.3\r
-#usr/share/man/man3/BIO_new_ssl_connect.3\r
-#usr/share/man/man3/BIO_next.3\r
-#usr/share/man/man3/BIO_pending.3\r
-#usr/share/man/man3/BIO_pop.3\r
-#usr/share/man/man3/BIO_ptr_ctrl.3\r
-#usr/share/man/man3/BIO_push.3\r
-#usr/share/man/man3/BIO_puts.3\r
-#usr/share/man/man3/BIO_read.3\r
-#usr/share/man/man3/BIO_read_filename.3\r
-#usr/share/man/man3/BIO_reset.3\r
-#usr/share/man/man3/BIO_retry_type.3\r
-#usr/share/man/man3/BIO_rw_filename.3\r
-#usr/share/man/man3/BIO_s_accept.3\r
-#usr/share/man/man3/BIO_s_bio.3\r
-#usr/share/man/man3/BIO_s_connect.3\r
-#usr/share/man/man3/BIO_s_fd.3\r
-#usr/share/man/man3/BIO_s_file.3\r
-#usr/share/man/man3/BIO_s_mem.3\r
-#usr/share/man/man3/BIO_s_null.3\r
-#usr/share/man/man3/BIO_s_socket.3\r
-#usr/share/man/man3/BIO_seek.3\r
-#usr/share/man/man3/BIO_set.3\r
-#usr/share/man/man3/BIO_set_accept_bios.3\r
-#usr/share/man/man3/BIO_set_accept_port.3\r
-#usr/share/man/man3/BIO_set_bind_mode.3\r
-#usr/share/man/man3/BIO_set_callback.3\r
-#usr/share/man/man3/BIO_set_callback_arg.3\r
-#usr/share/man/man3/BIO_set_cipher.3\r
-#usr/share/man/man3/BIO_set_close.3\r
-#usr/share/man/man3/BIO_set_conn_hostname.3\r
-#usr/share/man/man3/BIO_set_conn_int_port.3\r
-#usr/share/man/man3/BIO_set_conn_ip.3\r
-#usr/share/man/man3/BIO_set_conn_port.3\r
-#usr/share/man/man3/BIO_set_fd.3\r
-#usr/share/man/man3/BIO_set_fp.3\r
-#usr/share/man/man3/BIO_set_info_callback.3\r
-#usr/share/man/man3/BIO_set_md.3\r
-#usr/share/man/man3/BIO_set_mem_buf.3\r
-#usr/share/man/man3/BIO_set_mem_eof_return.3\r
-#usr/share/man/man3/BIO_set_nbio.3\r
-#usr/share/man/man3/BIO_set_nbio_accept.3\r
-#usr/share/man/man3/BIO_set_ssl.3\r
-#usr/share/man/man3/BIO_set_ssl_mode.3\r
-#usr/share/man/man3/BIO_set_ssl_renegotiate_bytes.3\r
-#usr/share/man/man3/BIO_set_ssl_renegotiate_timeout.3\r
-#usr/share/man/man3/BIO_set_write_buf_size.3\r
-#usr/share/man/man3/BIO_should_io_special.3\r
-#usr/share/man/man3/BIO_should_read.3\r
-#usr/share/man/man3/BIO_should_retry.3\r
-#usr/share/man/man3/BIO_should_write.3\r
-#usr/share/man/man3/BIO_shutdown_wr.3\r
-#usr/share/man/man3/BIO_ssl_copy_session_id.3\r
-#usr/share/man/man3/BIO_ssl_shutdown.3\r
-#usr/share/man/man3/BIO_tell.3\r
-#usr/share/man/man3/BIO_vfree.3\r
-#usr/share/man/man3/BIO_wpending.3\r
-#usr/share/man/man3/BIO_write.3\r
-#usr/share/man/man3/BIO_write_filename.3\r
-#usr/share/man/man3/BN_CTX_end.3\r
-#usr/share/man/man3/BN_CTX_free.3\r
-#usr/share/man/man3/BN_CTX_get.3\r
-#usr/share/man/man3/BN_CTX_init.3\r
-#usr/share/man/man3/BN_CTX_new.3\r
-#usr/share/man/man3/BN_CTX_start.3\r
-#usr/share/man/man3/BN_MONT_CTX_copy.3\r
-#usr/share/man/man3/BN_MONT_CTX_free.3\r
-#usr/share/man/man3/BN_MONT_CTX_init.3\r
-#usr/share/man/man3/BN_MONT_CTX_new.3\r
-#usr/share/man/man3/BN_MONT_CTX_set.3\r
-#usr/share/man/man3/BN_RECP_CTX_free.3\r
-#usr/share/man/man3/BN_RECP_CTX_init.3\r
-#usr/share/man/man3/BN_RECP_CTX_new.3\r
-#usr/share/man/man3/BN_RECP_CTX_set.3\r
-#usr/share/man/man3/BN_add.3\r
-#usr/share/man/man3/BN_add_word.3\r
-#usr/share/man/man3/BN_bin2bn.3\r
-#usr/share/man/man3/BN_bn2bin.3\r
-#usr/share/man/man3/BN_bn2dec.3\r
-#usr/share/man/man3/BN_bn2hex.3\r
-#usr/share/man/man3/BN_bn2mpi.3\r
-#usr/share/man/man3/BN_clear.3\r
-#usr/share/man/man3/BN_clear_bit.3\r
-#usr/share/man/man3/BN_clear_free.3\r
-#usr/share/man/man3/BN_cmp.3\r
-#usr/share/man/man3/BN_copy.3\r
-#usr/share/man/man3/BN_dec2bn.3\r
-#usr/share/man/man3/BN_div.3\r
-#usr/share/man/man3/BN_div_recp.3\r
-#usr/share/man/man3/BN_div_word.3\r
-#usr/share/man/man3/BN_dup.3\r
-#usr/share/man/man3/BN_exp.3\r
-#usr/share/man/man3/BN_free.3\r
-#usr/share/man/man3/BN_from_montgomery.3\r
-#usr/share/man/man3/BN_gcd.3\r
-#usr/share/man/man3/BN_generate_prime.3\r
-#usr/share/man/man3/BN_get_word.3\r
-#usr/share/man/man3/BN_hex2bn.3\r
-#usr/share/man/man3/BN_init.3\r
-#usr/share/man/man3/BN_is_bit_set.3\r
-#usr/share/man/man3/BN_is_odd.3\r
-#usr/share/man/man3/BN_is_one.3\r
-#usr/share/man/man3/BN_is_prime.3\r
-#usr/share/man/man3/BN_is_prime_fasttest.3\r
-#usr/share/man/man3/BN_is_word.3\r
-#usr/share/man/man3/BN_is_zero.3\r
-#usr/share/man/man3/BN_lshift.3\r
-#usr/share/man/man3/BN_lshift1.3\r
-#usr/share/man/man3/BN_mask_bits.3\r
-#usr/share/man/man3/BN_mod.3\r
-#usr/share/man/man3/BN_mod_add.3\r
-#usr/share/man/man3/BN_mod_exp.3\r
-#usr/share/man/man3/BN_mod_inverse.3\r
-#usr/share/man/man3/BN_mod_mul.3\r
-#usr/share/man/man3/BN_mod_mul_montgomery.3\r
-#usr/share/man/man3/BN_mod_mul_reciprocal.3\r
-#usr/share/man/man3/BN_mod_sqr.3\r
-#usr/share/man/man3/BN_mod_sub.3\r
-#usr/share/man/man3/BN_mod_word.3\r
-#usr/share/man/man3/BN_mpi2bn.3\r
-#usr/share/man/man3/BN_mul.3\r
-#usr/share/man/man3/BN_mul_word.3\r
-#usr/share/man/man3/BN_new.3\r
-#usr/share/man/man3/BN_nnmod.3\r
-#usr/share/man/man3/BN_num_bits.3\r
-#usr/share/man/man3/BN_num_bits_word.3\r
-#usr/share/man/man3/BN_num_bytes.3\r
-#usr/share/man/man3/BN_one.3\r
-#usr/share/man/man3/BN_print.3\r
-#usr/share/man/man3/BN_print_fp.3\r
-#usr/share/man/man3/BN_pseudo_rand.3\r
-#usr/share/man/man3/BN_rand.3\r
-#usr/share/man/man3/BN_rshift.3\r
-#usr/share/man/man3/BN_rshift1.3\r
-#usr/share/man/man3/BN_set_bit.3\r
-#usr/share/man/man3/BN_set_word.3\r
-#usr/share/man/man3/BN_sqr.3\r
-#usr/share/man/man3/BN_sub.3\r
-#usr/share/man/man3/BN_sub_word.3\r
-#usr/share/man/man3/BN_swap.3\r
-#usr/share/man/man3/BN_to_montgomery.3\r
-#usr/share/man/man3/BN_ucmp.3\r
-#usr/share/man/man3/BN_value_one.3\r
-#usr/share/man/man3/BN_zero.3\r
-#usr/share/man/man3/BUF_MEM_free.3\r
-#usr/share/man/man3/BUF_MEM_grow.3\r
-#usr/share/man/man3/BUF_MEM_new.3\r
-#usr/share/man/man3/BUF_strdup.3\r
-#usr/share/man/man3/CONF_modules_free.3\r
-#usr/share/man/man3/CONF_modules_load.3\r
-#usr/share/man/man3/CONF_modules_load_file.3\r
-#usr/share/man/man3/CONF_modules_unload.3\r
-#usr/share/man/man3/CRYPTO_destroy_dynlockid.3\r
-#usr/share/man/man3/CRYPTO_get_ex_data.3\r
-#usr/share/man/man3/CRYPTO_get_new_dynlockid.3\r
-#usr/share/man/man3/CRYPTO_lock.3\r
-#usr/share/man/man3/CRYPTO_num_locks.3\r
-#usr/share/man/man3/CRYPTO_set_dynlock_create_callback.3\r
-#usr/share/man/man3/CRYPTO_set_dynlock_destroy_callback.3\r
-#usr/share/man/man3/CRYPTO_set_dynlock_lock_callback.3\r
-#usr/share/man/man3/CRYPTO_set_ex_data.3\r
-#usr/share/man/man3/CRYPTO_set_id_callback.3\r
-#usr/share/man/man3/CRYPTO_set_locking_callback.3\r
-#usr/share/man/man3/DES_cbc_cksum.3\r
-#usr/share/man/man3/DES_cfb64_encrypt.3\r
-#usr/share/man/man3/DES_cfb_encrypt.3\r
-#usr/share/man/man3/DES_crypt.3\r
-#usr/share/man/man3/DES_ecb2_encrypt.3\r
-#usr/share/man/man3/DES_ecb3_encrypt.3\r
-#usr/share/man/man3/DES_ecb_encrypt.3\r
-#usr/share/man/man3/DES_ede2_cbc_encrypt.3\r
-#usr/share/man/man3/DES_ede2_cfb64_encrypt.3\r
-#usr/share/man/man3/DES_ede2_ofb64_encrypt.3\r
-#usr/share/man/man3/DES_ede3_cbc_encrypt.3\r
-#usr/share/man/man3/DES_ede3_cbcm_encrypt.3\r
-#usr/share/man/man3/DES_ede3_cfb64_encrypt.3\r
-#usr/share/man/man3/DES_ede3_ofb64_encrypt.3\r
-#usr/share/man/man3/DES_enc_read.3\r
-#usr/share/man/man3/DES_enc_write.3\r
-#usr/share/man/man3/DES_fcrypt.3\r
-#usr/share/man/man3/DES_is_weak_key.3\r
-#usr/share/man/man3/DES_key_sched.3\r
-#usr/share/man/man3/DES_ncbc_encrypt.3\r
-#usr/share/man/man3/DES_ofb64_encrypt.3\r
-#usr/share/man/man3/DES_ofb_encrypt.3\r
-#usr/share/man/man3/DES_pcbc_encrypt.3\r
-#usr/share/man/man3/DES_quad_cksum.3\r
-#usr/share/man/man3/DES_random_key.3\r
-#usr/share/man/man3/DES_set_key.3\r
-#usr/share/man/man3/DES_set_key_checked.3\r
-#usr/share/man/man3/DES_set_key_unchecked.3\r
-#usr/share/man/man3/DES_set_odd_parity.3\r
-#usr/share/man/man3/DES_string_to_2keys.3\r
-#usr/share/man/man3/DES_string_to_key.3\r
-#usr/share/man/man3/DES_xcbc_encrypt.3\r
-#usr/share/man/man3/DH_OpenSSL.3\r
-#usr/share/man/man3/DH_check.3\r
-#usr/share/man/man3/DH_compute_key.3\r
-#usr/share/man/man3/DH_free.3\r
-#usr/share/man/man3/DH_generate_key.3\r
-#usr/share/man/man3/DH_generate_parameters.3\r
-#usr/share/man/man3/DH_get_default_method.3\r
-#usr/share/man/man3/DH_get_ex_data.3\r
-#usr/share/man/man3/DH_get_ex_new_index.3\r
-#usr/share/man/man3/DH_new.3\r
-#usr/share/man/man3/DH_new_method.3\r
-#usr/share/man/man3/DH_set_default_method.3\r
-#usr/share/man/man3/DH_set_ex_data.3\r
-#usr/share/man/man3/DH_set_method.3\r
-#usr/share/man/man3/DH_size.3\r
-#usr/share/man/man3/DHparams_print.3\r
-#usr/share/man/man3/DHparams_print_fp.3\r
-#usr/share/man/man3/DSA_OpenSSL.3\r
-#usr/share/man/man3/DSA_SIG_free.3\r
-#usr/share/man/man3/DSA_SIG_new.3\r
-#usr/share/man/man3/DSA_do_sign.3\r
-#usr/share/man/man3/DSA_do_verify.3\r
-#usr/share/man/man3/DSA_dup_DH.3\r
-#usr/share/man/man3/DSA_free.3\r
-#usr/share/man/man3/DSA_generate_key.3\r
-#usr/share/man/man3/DSA_generate_parameters.3\r
-#usr/share/man/man3/DSA_get_default_method.3\r
-#usr/share/man/man3/DSA_get_ex_data.3\r
-#usr/share/man/man3/DSA_get_ex_new_index.3\r
-#usr/share/man/man3/DSA_new.3\r
-#usr/share/man/man3/DSA_new_method.3\r
-#usr/share/man/man3/DSA_print.3\r
-#usr/share/man/man3/DSA_print_fp.3\r
-#usr/share/man/man3/DSA_set_default_method.3\r
-#usr/share/man/man3/DSA_set_ex_data.3\r
-#usr/share/man/man3/DSA_set_method.3\r
-#usr/share/man/man3/DSA_sign.3\r
-#usr/share/man/man3/DSA_sign_setup.3\r
-#usr/share/man/man3/DSA_size.3\r
-#usr/share/man/man3/DSA_verify.3\r
-#usr/share/man/man3/DSAparams_print.3\r
-#usr/share/man/man3/DSAparams_print_fp.3\r
-#usr/share/man/man3/ERR_GET_FUNC.3\r
-#usr/share/man/man3/ERR_GET_LIB.3\r
-#usr/share/man/man3/ERR_GET_REASON.3\r
-#usr/share/man/man3/ERR_PACK.3\r
-#usr/share/man/man3/ERR_add_error_data.3\r
-#usr/share/man/man3/ERR_clear_error.3\r
-#usr/share/man/man3/ERR_error_string.3\r
-#usr/share/man/man3/ERR_error_string_n.3\r
-#usr/share/man/man3/ERR_free_strings.3\r
-#usr/share/man/man3/ERR_func_error_string.3\r
-#usr/share/man/man3/ERR_get_error.3\r
-#usr/share/man/man3/ERR_get_error_line.3\r
-#usr/share/man/man3/ERR_get_error_line_data.3\r
-#usr/share/man/man3/ERR_get_next_error_library.3\r
-#usr/share/man/man3/ERR_lib_error_string.3\r
-#usr/share/man/man3/ERR_load_UI_strings.3\r
-#usr/share/man/man3/ERR_load_crypto_strings.3\r
-#usr/share/man/man3/ERR_load_strings.3\r
-#usr/share/man/man3/ERR_peek_error.3\r
-#usr/share/man/man3/ERR_peek_error_line.3\r
-#usr/share/man/man3/ERR_peek_error_line_data.3\r
-#usr/share/man/man3/ERR_peek_last_error.3\r
-#usr/share/man/man3/ERR_peek_last_error_line.3\r
-#usr/share/man/man3/ERR_peek_last_error_line_data.3\r
-#usr/share/man/man3/ERR_print_errors.3\r
-#usr/share/man/man3/ERR_print_errors_fp.3\r
-#usr/share/man/man3/ERR_put_error.3\r
-#usr/share/man/man3/ERR_reason_error_string.3\r
-#usr/share/man/man3/ERR_remove_state.3\r
-#usr/share/man/man3/EVP_BytesToKey.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_block_size.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_cipher.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_cleanup.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_ctrl.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_flags.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_get_app_data.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_init.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_iv_length.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_key_length.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_mode.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_nid.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_set_app_data.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_set_key_length.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_set_padding.3\r
-#usr/share/man/man3/EVP_CIPHER_CTX_type.3\r
-#usr/share/man/man3/EVP_CIPHER_asn1_to_param.3\r
-#usr/share/man/man3/EVP_CIPHER_block_size.3\r
-#usr/share/man/man3/EVP_CIPHER_flags.3\r
-#usr/share/man/man3/EVP_CIPHER_iv_length.3\r
-#usr/share/man/man3/EVP_CIPHER_key_length.3\r
-#usr/share/man/man3/EVP_CIPHER_mode.3\r
-#usr/share/man/man3/EVP_CIPHER_nid.3\r
-#usr/share/man/man3/EVP_CIPHER_param_to_asn1.3\r
-#usr/share/man/man3/EVP_CIPHER_type.3\r
-#usr/share/man/man3/EVP_CipherFinal.3\r
-#usr/share/man/man3/EVP_CipherFinal_ex.3\r
-#usr/share/man/man3/EVP_CipherInit.3\r
-#usr/share/man/man3/EVP_CipherInit_ex.3\r
-#usr/share/man/man3/EVP_CipherUpdate.3\r
-#usr/share/man/man3/EVP_DecryptFinal.3\r
-#usr/share/man/man3/EVP_DecryptFinal_ex.3\r
-#usr/share/man/man3/EVP_DecryptInit.3\r
-#usr/share/man/man3/EVP_DecryptInit_ex.3\r
-#usr/share/man/man3/EVP_DecryptUpdate.3\r
-#usr/share/man/man3/EVP_DigestFinal_ex.3\r
-#usr/share/man/man3/EVP_DigestInit.3\r
-#usr/share/man/man3/EVP_DigestInit_ex.3\r
-#usr/share/man/man3/EVP_DigestUpdate.3\r
-#usr/share/man/man3/EVP_EncryptFinal.3\r
-#usr/share/man/man3/EVP_EncryptFinal_ex.3\r
-#usr/share/man/man3/EVP_EncryptInit.3\r
-#usr/share/man/man3/EVP_EncryptInit_ex.3\r
-#usr/share/man/man3/EVP_EncryptUpdate.3\r
-#usr/share/man/man3/EVP_MAX_MD_SIZE.3\r
-#usr/share/man/man3/EVP_MD_CTX_block_size.3\r
-#usr/share/man/man3/EVP_MD_CTX_cleanup.3\r
-#usr/share/man/man3/EVP_MD_CTX_copy.3\r
-#usr/share/man/man3/EVP_MD_CTX_copy_ex.3\r
-#usr/share/man/man3/EVP_MD_CTX_create.3\r
-#usr/share/man/man3/EVP_MD_CTX_destroy.3\r
-#usr/share/man/man3/EVP_MD_CTX_init.3\r
-#usr/share/man/man3/EVP_MD_CTX_md.3\r
-#usr/share/man/man3/EVP_MD_CTX_size.3\r
-#usr/share/man/man3/EVP_MD_CTX_type.3\r
-#usr/share/man/man3/EVP_MD_block_size.3\r
-#usr/share/man/man3/EVP_MD_pkey_type.3\r
-#usr/share/man/man3/EVP_MD_size.3\r
-#usr/share/man/man3/EVP_MD_type.3\r
-#usr/share/man/man3/EVP_OpenFinal.3\r
-#usr/share/man/man3/EVP_OpenInit.3\r
-#usr/share/man/man3/EVP_OpenUpdate.3\r
-#usr/share/man/man3/EVP_PKEY_assign_DH.3\r
-#usr/share/man/man3/EVP_PKEY_assign_DSA.3\r
-#usr/share/man/man3/EVP_PKEY_assign_EC_KEY.3\r
-#usr/share/man/man3/EVP_PKEY_assign_RSA.3\r
-#usr/share/man/man3/EVP_PKEY_free.3\r
-#usr/share/man/man3/EVP_PKEY_get1_DH.3\r
-#usr/share/man/man3/EVP_PKEY_get1_DSA.3\r
-#usr/share/man/man3/EVP_PKEY_get1_EC_KEY.3\r
-#usr/share/man/man3/EVP_PKEY_get1_RSA.3\r
-#usr/share/man/man3/EVP_PKEY_new.3\r
-#usr/share/man/man3/EVP_PKEY_set1_DH.3\r
-#usr/share/man/man3/EVP_PKEY_set1_DSA.3\r
-#usr/share/man/man3/EVP_PKEY_set1_EC_KEY.3\r
-#usr/share/man/man3/EVP_PKEY_set1_RSA.3\r
-#usr/share/man/man3/EVP_PKEY_type.3\r
-#usr/share/man/man3/EVP_SealFinal.3\r
-#usr/share/man/man3/EVP_SealInit.3\r
-#usr/share/man/man3/EVP_SealUpdate.3\r
-#usr/share/man/man3/EVP_SignFinal.3\r
-#usr/share/man/man3/EVP_SignInit.3\r
-#usr/share/man/man3/EVP_SignUpdate.3\r
-#usr/share/man/man3/EVP_VerifyFinal.3\r
-#usr/share/man/man3/EVP_VerifyInit.3\r
-#usr/share/man/man3/EVP_VerifyUpdate.3\r
-#usr/share/man/man3/EVP_dss.3\r
-#usr/share/man/man3/EVP_dss1.3\r
-#usr/share/man/man3/EVP_get_cipherbyname.3\r
-#usr/share/man/man3/EVP_get_cipherbynid.3\r
-#usr/share/man/man3/EVP_get_cipherbyobj.3\r
-#usr/share/man/man3/EVP_get_digestbyname.3\r
-#usr/share/man/man3/EVP_get_digestbynid.3\r
-#usr/share/man/man3/EVP_get_digestbyobj.3\r
-#usr/share/man/man3/EVP_md2.3\r
-#usr/share/man/man3/EVP_md5.3\r
-#usr/share/man/man3/EVP_md_null.3\r
-#usr/share/man/man3/EVP_mdc2.3\r
-#usr/share/man/man3/EVP_ripemd160.3\r
-#usr/share/man/man3/EVP_sha.3\r
-#usr/share/man/man3/EVP_sha1.3\r
-#usr/share/man/man3/HMAC.3\r
-#usr/share/man/man3/HMAC_Final.3\r
-#usr/share/man/man3/HMAC_Init.3\r
-#usr/share/man/man3/HMAC_Update.3\r
-#usr/share/man/man3/HMAC_cleanup.3\r
-#usr/share/man/man3/MD2.3\r
-#usr/share/man/man3/MD2_Final.3\r
-#usr/share/man/man3/MD2_Init.3\r
-#usr/share/man/man3/MD2_Update.3\r
-#usr/share/man/man3/MD4.3\r
-#usr/share/man/man3/MD4_Final.3\r
-#usr/share/man/man3/MD4_Init.3\r
-#usr/share/man/man3/MD4_Update.3\r
-#usr/share/man/man3/MD5.3\r
-#usr/share/man/man3/MD5_Final.3\r
-#usr/share/man/man3/MD5_Init.3\r
-#usr/share/man/man3/MD5_Update.3\r
-#usr/share/man/man3/MDC2.3\r
-#usr/share/man/man3/MDC2_Final.3\r
-#usr/share/man/man3/MDC2_Init.3\r
-#usr/share/man/man3/MDC2_Update.3\r
-#usr/share/man/man3/OBJ_cleanup.3\r
-#usr/share/man/man3/OBJ_cmp.3\r
-#usr/share/man/man3/OBJ_create.3\r
-#usr/share/man/man3/OBJ_dup.3\r
-#usr/share/man/man3/OBJ_ln2nid.3\r
-#usr/share/man/man3/OBJ_nid2ln.3\r
-#usr/share/man/man3/OBJ_nid2obj.3\r
-#usr/share/man/man3/OBJ_nid2sn.3\r
-#usr/share/man/man3/OBJ_obj2nid.3\r
-#usr/share/man/man3/OBJ_obj2txt.3\r
-#usr/share/man/man3/OBJ_sn2nid.3\r
-#usr/share/man/man3/OBJ_txt2nid.3\r
-#usr/share/man/man3/OBJ_txt2obj.3\r
-#usr/share/man/man3/OPENSSL_VERSION_NUMBER.3\r
-#usr/share/man/man3/OPENSSL_config.3\r
-#usr/share/man/man3/OPENSSL_load_builtin_modules.3\r
-#usr/share/man/man3/OPENSSL_no_config.3\r
-#usr/share/man/man3/OpenSSL_add_all_algorithms.3\r
-#usr/share/man/man3/OpenSSL_add_all_ciphers.3\r
-#usr/share/man/man3/OpenSSL_add_all_digests.3\r
-#usr/share/man/man3/OpenSSL_add_ssl_algorithms.3\r
-#usr/share/man/man3/PEM.3\r
-#usr/share/man/man3/PKCS12_create.3\r
-#usr/share/man/man3/PKCS12_parse.3\r
-#usr/share/man/man3/PKCS7_decrypt.3\r
-#usr/share/man/man3/PKCS7_encrypt.3\r
-#usr/share/man/man3/PKCS7_sign.3\r
-#usr/share/man/man3/PKCS7_verify.3\r
-#usr/share/man/man3/RAND_SSLeay.3\r
-#usr/share/man/man3/RAND_add.3\r
-#usr/share/man/man3/RAND_bytes.3\r
-#usr/share/man/man3/RAND_cleanup.3\r
-#usr/share/man/man3/RAND_egd.3\r
-#usr/share/man/man3/RAND_event.3\r
-#usr/share/man/man3/RAND_file_name.3\r
-#usr/share/man/man3/RAND_get_rand_method.3\r
-#usr/share/man/man3/RAND_load_file.3\r
-#usr/share/man/man3/RAND_pseudo_bytes.3\r
-#usr/share/man/man3/RAND_screen.3\r
-#usr/share/man/man3/RAND_seed.3\r
-#usr/share/man/man3/RAND_set_rand_method.3\r
-#usr/share/man/man3/RAND_status.3\r
-#usr/share/man/man3/RAND_write_file.3\r
-#usr/share/man/man3/RC4.3\r
-#usr/share/man/man3/RC4_set_key.3\r
-#usr/share/man/man3/RIPEMD160.3\r
-#usr/share/man/man3/RIPEMD160_Final.3\r
-#usr/share/man/man3/RIPEMD160_Init.3\r
-#usr/share/man/man3/RIPEMD160_Update.3\r
-#usr/share/man/man3/RSA_PKCS1_SSLeay.3\r
-#usr/share/man/man3/RSA_blinding_off.3\r
-#usr/share/man/man3/RSA_blinding_on.3\r
-#usr/share/man/man3/RSA_check_key.3\r
-#usr/share/man/man3/RSA_flags.3\r
-#usr/share/man/man3/RSA_free.3\r
-#usr/share/man/man3/RSA_generate_key.3\r
-#usr/share/man/man3/RSA_get_default_method.3\r
-#usr/share/man/man3/RSA_get_ex_data.3\r
-#usr/share/man/man3/RSA_get_ex_new_index.3\r
-#usr/share/man/man3/RSA_get_method.3\r
-#usr/share/man/man3/RSA_new.3\r
-#usr/share/man/man3/RSA_new_method.3\r
-#usr/share/man/man3/RSA_null_method.3\r
-#usr/share/man/man3/RSA_padding_add_PKCS1_OAEP.3\r
-#usr/share/man/man3/RSA_padding_add_PKCS1_type_1.3\r
-#usr/share/man/man3/RSA_padding_add_PKCS1_type_2.3\r
-#usr/share/man/man3/RSA_padding_add_SSLv23.3\r
-#usr/share/man/man3/RSA_padding_add_none.3\r
-#usr/share/man/man3/RSA_padding_check_PKCS1_OAEP.3\r
-#usr/share/man/man3/RSA_padding_check_PKCS1_type_1.3\r
-#usr/share/man/man3/RSA_padding_check_PKCS1_type_2.3\r
-#usr/share/man/man3/RSA_padding_check_SSLv23.3\r
-#usr/share/man/man3/RSA_padding_check_none.3\r
-#usr/share/man/man3/RSA_print.3\r
-#usr/share/man/man3/RSA_print_fp.3\r
-#usr/share/man/man3/RSA_private_decrypt.3\r
-#usr/share/man/man3/RSA_private_encrypt.3\r
-#usr/share/man/man3/RSA_public_decrypt.3\r
-#usr/share/man/man3/RSA_public_encrypt.3\r
-#usr/share/man/man3/RSA_set_default_method.3\r
-#usr/share/man/man3/RSA_set_ex_data.3\r
-#usr/share/man/man3/RSA_set_method.3\r
-#usr/share/man/man3/RSA_sign.3\r
-#usr/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3\r
-#usr/share/man/man3/RSA_size.3\r
-#usr/share/man/man3/RSA_verify.3\r
-#usr/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3\r
-#usr/share/man/man3/SHA1.3\r
-#usr/share/man/man3/SHA1_Final.3\r
-#usr/share/man/man3/SHA1_Init.3\r
-#usr/share/man/man3/SHA1_Update.3\r
-#usr/share/man/man3/SMIME_read_PKCS7.3\r
-#usr/share/man/man3/SMIME_write_PKCS7.3\r
-#usr/share/man/man3/SSL.3\r
-#usr/share/man/man3/SSL_CIPHER_description.3\r
-#usr/share/man/man3/SSL_CIPHER_get_bits.3\r
-#usr/share/man/man3/SSL_CIPHER_get_name.3\r
-#usr/share/man/man3/SSL_CIPHER_get_version.3\r
-#usr/share/man/man3/SSL_COMP_add_compression_method.3\r
-#usr/share/man/man3/SSL_CTX_add_client_CA.3\r
-#usr/share/man/man3/SSL_CTX_add_extra_chain_cert.3\r
-#usr/share/man/man3/SSL_CTX_add_session.3\r
-#usr/share/man/man3/SSL_CTX_callback_ctrl.3\r
-#usr/share/man/man3/SSL_CTX_check_private_key.3\r
-#usr/share/man/man3/SSL_CTX_ctrl.3\r
-#usr/share/man/man3/SSL_CTX_flush_sessions.3\r
-#usr/share/man/man3/SSL_CTX_free.3\r
-#usr/share/man/man3/SSL_CTX_get_cert_store.3\r
-#usr/share/man/man3/SSL_CTX_get_client_CA_list.3\r
-#usr/share/man/man3/SSL_CTX_get_client_cert_cb.3\r
-#usr/share/man/man3/SSL_CTX_get_ex_data.3\r
-#usr/share/man/man3/SSL_CTX_get_ex_new_index.3\r
-#usr/share/man/man3/SSL_CTX_get_info_callback.3\r
-#usr/share/man/man3/SSL_CTX_get_max_cert_list.3\r
-#usr/share/man/man3/SSL_CTX_get_mode.3\r
-#usr/share/man/man3/SSL_CTX_get_options.3\r
-#usr/share/man/man3/SSL_CTX_get_quiet_shutdown.3\r
-#usr/share/man/man3/SSL_CTX_get_session_cache_mode.3\r
-#usr/share/man/man3/SSL_CTX_get_timeout.3\r
-#usr/share/man/man3/SSL_CTX_get_verify_callback.3\r
-#usr/share/man/man3/SSL_CTX_get_verify_depth.3\r
-#usr/share/man/man3/SSL_CTX_get_verify_mode.3\r
-#usr/share/man/man3/SSL_CTX_load_verify_locations.3\r
-#usr/share/man/man3/SSL_CTX_need_tmp_rsa.3\r
-#usr/share/man/man3/SSL_CTX_new.3\r
-#usr/share/man/man3/SSL_CTX_remove_session.3\r
-#usr/share/man/man3/SSL_CTX_sess_accept.3\r
-#usr/share/man/man3/SSL_CTX_sess_accept_good.3\r
-#usr/share/man/man3/SSL_CTX_sess_accept_renegotiate.3\r
-#usr/share/man/man3/SSL_CTX_sess_cache_full.3\r
-#usr/share/man/man3/SSL_CTX_sess_cb_hits.3\r
-#usr/share/man/man3/SSL_CTX_sess_connect.3\r
-#usr/share/man/man3/SSL_CTX_sess_connect_good.3\r
-#usr/share/man/man3/SSL_CTX_sess_connect_renegotiate.3\r
-#usr/share/man/man3/SSL_CTX_sess_get_cache_size.3\r
-#usr/share/man/man3/SSL_CTX_sess_get_get_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_get_new_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_get_remove_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_hits.3\r
-#usr/share/man/man3/SSL_CTX_sess_misses.3\r
-#usr/share/man/man3/SSL_CTX_sess_number.3\r
-#usr/share/man/man3/SSL_CTX_sess_set_cache_size.3\r
-#usr/share/man/man3/SSL_CTX_sess_set_get_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_set_new_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_set_remove_cb.3\r
-#usr/share/man/man3/SSL_CTX_sess_timeouts.3\r
-#usr/share/man/man3/SSL_CTX_sessions.3\r
-#usr/share/man/man3/SSL_CTX_set_cert_store.3\r
-#usr/share/man/man3/SSL_CTX_set_cert_verify_callback.3\r
-#usr/share/man/man3/SSL_CTX_set_cipher_list.3\r
-#usr/share/man/man3/SSL_CTX_set_client_CA_list.3\r
-#usr/share/man/man3/SSL_CTX_set_client_cert_cb.3\r
-#usr/share/man/man3/SSL_CTX_set_default_passwd_cb.3\r
-#usr/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3\r
-#usr/share/man/man3/SSL_CTX_set_ex_data.3\r
-#usr/share/man/man3/SSL_CTX_set_generate_session_id.3\r
-#usr/share/man/man3/SSL_CTX_set_info_callback.3\r
-#usr/share/man/man3/SSL_CTX_set_max_cert_list.3\r
-#usr/share/man/man3/SSL_CTX_set_mode.3\r
-#usr/share/man/man3/SSL_CTX_set_msg_callback.3\r
-#usr/share/man/man3/SSL_CTX_set_msg_callback_arg.3\r
-#usr/share/man/man3/SSL_CTX_set_options.3\r
-#usr/share/man/man3/SSL_CTX_set_quiet_shutdown.3\r
-#usr/share/man/man3/SSL_CTX_set_session_cache_mode.3\r
-#usr/share/man/man3/SSL_CTX_set_session_id_context.3\r
-#usr/share/man/man3/SSL_CTX_set_ssl_version.3\r
-#usr/share/man/man3/SSL_CTX_set_timeout.3\r
-#usr/share/man/man3/SSL_CTX_set_tmp_dh.3\r
-#usr/share/man/man3/SSL_CTX_set_tmp_dh_callback.3\r
-#usr/share/man/man3/SSL_CTX_set_tmp_rsa.3\r
-#usr/share/man/man3/SSL_CTX_set_tmp_rsa_callback.3\r
-#usr/share/man/man3/SSL_CTX_set_verify.3\r
-#usr/share/man/man3/SSL_CTX_set_verify_depth.3\r
-#usr/share/man/man3/SSL_CTX_use_PrivateKey.3\r
-#usr/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3\r
-#usr/share/man/man3/SSL_CTX_use_PrivateKey_file.3\r
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey.3\r
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3\r
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3\r
-#usr/share/man/man3/SSL_CTX_use_certificate.3\r
-#usr/share/man/man3/SSL_CTX_use_certificate_ASN1.3\r
-#usr/share/man/man3/SSL_CTX_use_certificate_chain_file.3\r
-#usr/share/man/man3/SSL_CTX_use_certificate_file.3\r
-#usr/share/man/man3/SSL_SESSION_free.3\r
-#usr/share/man/man3/SSL_SESSION_get_ex_data.3\r
-#usr/share/man/man3/SSL_SESSION_get_ex_new_index.3\r
-#usr/share/man/man3/SSL_SESSION_get_time.3\r
-#usr/share/man/man3/SSL_SESSION_get_timeout.3\r
-#usr/share/man/man3/SSL_SESSION_set_ex_data.3\r
-#usr/share/man/man3/SSL_SESSION_set_time.3\r
-#usr/share/man/man3/SSL_accept.3\r
-#usr/share/man/man3/SSL_add_client_CA.3\r
-#usr/share/man/man3/SSL_add_session.3\r
-#usr/share/man/man3/SSL_alert_desc_string.3\r
-#usr/share/man/man3/SSL_alert_desc_string_long.3\r
-#usr/share/man/man3/SSL_alert_type_string.3\r
-#usr/share/man/man3/SSL_alert_type_string_long.3\r
-#usr/share/man/man3/SSL_callback_ctrl.3\r
-#usr/share/man/man3/SSL_check_private_key.3\r
-#usr/share/man/man3/SSL_clear.3\r
-#usr/share/man/man3/SSL_connect.3\r
-#usr/share/man/man3/SSL_ctrl.3\r
-#usr/share/man/man3/SSL_do_handshake.3\r
-#usr/share/man/man3/SSL_flush_sessions.3\r
-#usr/share/man/man3/SSL_free.3\r
-#usr/share/man/man3/SSL_get_SSL_CTX.3\r
-#usr/share/man/man3/SSL_get_accept_state.3\r
-#usr/share/man/man3/SSL_get_cipher.3\r
-#usr/share/man/man3/SSL_get_cipher_bits.3\r
-#usr/share/man/man3/SSL_get_cipher_list.3\r
-#usr/share/man/man3/SSL_get_cipher_name.3\r
-#usr/share/man/man3/SSL_get_cipher_version.3\r
-#usr/share/man/man3/SSL_get_ciphers.3\r
-#usr/share/man/man3/SSL_get_client_CA_list.3\r
-#usr/share/man/man3/SSL_get_current_cipher.3\r
-#usr/share/man/man3/SSL_get_default_timeout.3\r
-#usr/share/man/man3/SSL_get_error.3\r
-#usr/share/man/man3/SSL_get_ex_data.3\r
-#usr/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3\r
-#usr/share/man/man3/SSL_get_ex_new_index.3\r
-#usr/share/man/man3/SSL_get_fd.3\r
-#usr/share/man/man3/SSL_get_info_callback.3\r
-#usr/share/man/man3/SSL_get_max_cert_list.3\r
-#usr/share/man/man3/SSL_get_mode.3\r
-#usr/share/man/man3/SSL_get_msg_callback_arg.3\r
-#usr/share/man/man3/SSL_get_options.3\r
-#usr/share/man/man3/SSL_get_peer_cert_chain.3\r
-#usr/share/man/man3/SSL_get_peer_certificate.3\r
-#usr/share/man/man3/SSL_get_quiet_shutdown.3\r
-#usr/share/man/man3/SSL_get_rbio.3\r
-#usr/share/man/man3/SSL_get_session.3\r
-#usr/share/man/man3/SSL_get_shutdown.3\r
-#usr/share/man/man3/SSL_get_ssl_method.3\r
-#usr/share/man/man3/SSL_get_verify_callback.3\r
-#usr/share/man/man3/SSL_get_verify_depth.3\r
-#usr/share/man/man3/SSL_get_verify_mode.3\r
-#usr/share/man/man3/SSL_get_verify_result.3\r
-#usr/share/man/man3/SSL_get_version.3\r
-#usr/share/man/man3/SSL_has_matching_session_id.3\r
-#usr/share/man/man3/SSL_library_init.3\r
-#usr/share/man/man3/SSL_load_client_CA_file.3\r
-#usr/share/man/man3/SSL_load_error_strings.3\r
-#usr/share/man/man3/SSL_need_tmp_rsa.3\r
-#usr/share/man/man3/SSL_new.3\r
-#usr/share/man/man3/SSL_pending.3\r
-#usr/share/man/man3/SSL_read.3\r
-#usr/share/man/man3/SSL_remove_session.3\r
-#usr/share/man/man3/SSL_rstate_string.3\r
-#usr/share/man/man3/SSL_rstate_string_long.3\r
-#usr/share/man/man3/SSL_session_reused.3\r
-#usr/share/man/man3/SSL_set_bio.3\r
-#usr/share/man/man3/SSL_set_cipher_list.3\r
-#usr/share/man/man3/SSL_set_client_CA_list.3\r
-#usr/share/man/man3/SSL_set_connect_state.3\r
-#usr/share/man/man3/SSL_set_ex_data.3\r
-#usr/share/man/man3/SSL_set_fd.3\r
-#usr/share/man/man3/SSL_set_generate_session_id.3\r
-#usr/share/man/man3/SSL_set_info_callback.3\r
-#usr/share/man/man3/SSL_set_max_cert_list.3\r
-#usr/share/man/man3/SSL_set_mode.3\r
-#usr/share/man/man3/SSL_set_msg_callback.3\r
-#usr/share/man/man3/SSL_set_options.3\r
-#usr/share/man/man3/SSL_set_quiet_shutdown.3\r
-#usr/share/man/man3/SSL_set_session.3\r
-#usr/share/man/man3/SSL_set_session_id_context.3\r
-#usr/share/man/man3/SSL_set_shutdown.3\r
-#usr/share/man/man3/SSL_set_ssl_method.3\r
-#usr/share/man/man3/SSL_set_tmp_dh.3\r
-#usr/share/man/man3/SSL_set_tmp_dh_callback.3\r
-#usr/share/man/man3/SSL_set_tmp_rsa.3\r
-#usr/share/man/man3/SSL_set_tmp_rsa_callback.3\r
-#usr/share/man/man3/SSL_set_verify.3\r
-#usr/share/man/man3/SSL_set_verify_depth.3\r
-#usr/share/man/man3/SSL_set_verify_result.3\r
-#usr/share/man/man3/SSL_shutdown.3\r
-#usr/share/man/man3/SSL_state_string.3\r
-#usr/share/man/man3/SSL_state_string_long.3\r
-#usr/share/man/man3/SSL_use_PrivateKey.3\r
-#usr/share/man/man3/SSL_use_PrivateKey_ASN1.3\r
-#usr/share/man/man3/SSL_use_PrivateKey_file.3\r
-#usr/share/man/man3/SSL_use_RSAPrivateKey.3\r
-#usr/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3\r
-#usr/share/man/man3/SSL_use_RSAPrivateKey_file.3\r
-#usr/share/man/man3/SSL_use_certificate.3\r
-#usr/share/man/man3/SSL_use_certificate_ASN1.3\r
-#usr/share/man/man3/SSL_use_certificate_file.3\r
-#usr/share/man/man3/SSL_want.3\r
-#usr/share/man/man3/SSL_want_nothing.3\r
-#usr/share/man/man3/SSL_want_read.3\r
-#usr/share/man/man3/SSL_want_write.3\r
-#usr/share/man/man3/SSL_want_x509_lookup.3\r
-#usr/share/man/man3/SSL_write.3\r
-#usr/share/man/man3/SSLeay.3\r
-#usr/share/man/man3/SSLeay_add_ssl_algorithms.3\r
-#usr/share/man/man3/SSLeay_version.3\r
-#usr/share/man/man3/UI_OpenSSL.3\r
-#usr/share/man/man3/UI_add_error_string.3\r
-#usr/share/man/man3/UI_add_info_string.3\r
-#usr/share/man/man3/UI_add_input_boolean.3\r
-#usr/share/man/man3/UI_add_input_string.3\r
-#usr/share/man/man3/UI_add_user_data.3\r
-#usr/share/man/man3/UI_add_verify_string.3\r
-#usr/share/man/man3/UI_construct_prompt.3\r
-#usr/share/man/man3/UI_ctrl.3\r
-#usr/share/man/man3/UI_dup_error_string.3\r
-#usr/share/man/man3/UI_dup_info_string.3\r
-#usr/share/man/man3/UI_dup_input_boolean.3\r
-#usr/share/man/man3/UI_dup_input_string.3\r
-#usr/share/man/man3/UI_dup_verify_string.3\r
-#usr/share/man/man3/UI_free.3\r
-#usr/share/man/man3/UI_get0_result.3\r
-#usr/share/man/man3/UI_get0_user_data.3\r
-#usr/share/man/man3/UI_get_default_method.3\r
-#usr/share/man/man3/UI_get_method.3\r
-#usr/share/man/man3/UI_new.3\r
-#usr/share/man/man3/UI_new_method.3\r
-#usr/share/man/man3/UI_process.3\r
-#usr/share/man/man3/UI_set_default_method.3\r
-#usr/share/man/man3/UI_set_method.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_NID.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_txt.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_get_data.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_get_object.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_set_data.3\r
-#usr/share/man/man3/X509_NAME_ENTRY_set_object.3\r
-#usr/share/man/man3/X509_NAME_add_entry.3\r
-#usr/share/man/man3/X509_NAME_add_entry_by_NID.3\r
-#usr/share/man/man3/X509_NAME_add_entry_by_OBJ.3\r
-#usr/share/man/man3/X509_NAME_add_entry_by_txt.3\r
-#usr/share/man/man3/X509_NAME_delete_entry.3\r
-#usr/share/man/man3/X509_NAME_entry_count.3\r
-#usr/share/man/man3/X509_NAME_get_entry.3\r
-#usr/share/man/man3/X509_NAME_get_index_by_NID.3\r
-#usr/share/man/man3/X509_NAME_get_index_by_OBJ.3\r
-#usr/share/man/man3/X509_NAME_get_text_by_NID.3\r
-#usr/share/man/man3/X509_NAME_get_text_by_OBJ.3\r
-#usr/share/man/man3/X509_NAME_oneline.3\r
-#usr/share/man/man3/X509_NAME_print.3\r
-#usr/share/man/man3/X509_NAME_print_ex.3\r
-#usr/share/man/man3/X509_NAME_print_ex_fp.3\r
-#usr/share/man/man3/X509_free.3\r
-#usr/share/man/man3/X509_new.3\r
-#usr/share/man/man3/bio.3\r
-#usr/share/man/man3/blowfish.3\r
-#usr/share/man/man3/bn.3\r
-#usr/share/man/man3/bn_add_words.3\r
-#usr/share/man/man3/bn_check_top.3\r
-#usr/share/man/man3/bn_cmp_words.3\r
-#usr/share/man/man3/bn_div_words.3\r
-#usr/share/man/man3/bn_dump.3\r
-#usr/share/man/man3/bn_expand.3\r
-#usr/share/man/man3/bn_expand2.3\r
-#usr/share/man/man3/bn_fix_top.3\r
-#usr/share/man/man3/bn_internal.3\r
-#usr/share/man/man3/bn_mul_add_words.3\r
-#usr/share/man/man3/bn_mul_comba4.3\r
-#usr/share/man/man3/bn_mul_comba8.3\r
-#usr/share/man/man3/bn_mul_high.3\r
-#usr/share/man/man3/bn_mul_low_normal.3\r
-#usr/share/man/man3/bn_mul_low_recursive.3\r
-#usr/share/man/man3/bn_mul_normal.3\r
-#usr/share/man/man3/bn_mul_part_recursive.3\r
-#usr/share/man/man3/bn_mul_recursive.3\r
-#usr/share/man/man3/bn_mul_words.3\r
-#usr/share/man/man3/bn_print.3\r
-#usr/share/man/man3/bn_set_high.3\r
-#usr/share/man/man3/bn_set_low.3\r
-#usr/share/man/man3/bn_set_max.3\r
-#usr/share/man/man3/bn_sqr_comba4.3\r
-#usr/share/man/man3/bn_sqr_comba8.3\r
-#usr/share/man/man3/bn_sqr_normal.3\r
-#usr/share/man/man3/bn_sqr_recursive.3\r
-#usr/share/man/man3/bn_sqr_words.3\r
-#usr/share/man/man3/bn_sub_words.3\r
-#usr/share/man/man3/bn_wexpand.3\r
-#usr/share/man/man3/buffer.3\r
-#usr/share/man/man3/crypto.3\r
-#usr/share/man/man3/d2i_509_CRL_fp.3\r
-#usr/share/man/man3/d2i_ASN1_OBJECT.3\r
-#usr/share/man/man3/d2i_DHparams.3\r
-#usr/share/man/man3/d2i_DSAPrivateKey.3\r
-#usr/share/man/man3/d2i_DSAPublicKey.3\r
-#usr/share/man/man3/d2i_DSA_PUBKEY.3\r
-#usr/share/man/man3/d2i_DSA_SIG.3\r
-#usr/share/man/man3/d2i_Netscape_RSA.3\r
-#usr/share/man/man3/d2i_PKCS8PrivateKey.3\r
-#usr/share/man/man3/d2i_PKCS8PrivateKey_bio.3\r
-#usr/share/man/man3/d2i_PKCS8PrivateKey_fp.3\r
-#usr/share/man/man3/d2i_RSAPrivateKey.3\r
-#usr/share/man/man3/d2i_RSAPublicKey.3\r
-#usr/share/man/man3/d2i_RSA_PUBKEY.3\r
-#usr/share/man/man3/d2i_SSL_SESSION.3\r
-#usr/share/man/man3/d2i_X509.3\r
-#usr/share/man/man3/d2i_X509_ALGOR.3\r
-#usr/share/man/man3/d2i_X509_CRL.3\r
-#usr/share/man/man3/d2i_X509_CRL_bio.3\r
-#usr/share/man/man3/d2i_X509_NAME.3\r
-#usr/share/man/man3/d2i_X509_REQ.3\r
-#usr/share/man/man3/d2i_X509_REQ_bio.3\r
-#usr/share/man/man3/d2i_X509_REQ_fp.3\r
-#usr/share/man/man3/d2i_X509_SIG.3\r
-#usr/share/man/man3/d2i_X509_bio.3\r
-#usr/share/man/man3/d2i_X509_fp.3\r
-#usr/share/man/man3/des.3\r
-#usr/share/man/man3/des_read_2passwords.3\r
-#usr/share/man/man3/des_read_password.3\r
-#usr/share/man/man3/des_read_pw.3\r
-#usr/share/man/man3/des_read_pw_string.3\r
-#usr/share/man/man3/dh.3\r
-#usr/share/man/man3/dsa.3\r
-#usr/share/man/man3/engine.3\r
-#usr/share/man/man3/evp.3\r
-#usr/share/man/man3/hmac.3\r
-#usr/share/man/man3/i2d_ASN1_OBJECT.3\r
-#usr/share/man/man3/i2d_DHparams.3\r
-#usr/share/man/man3/i2d_DSAPrivateKey.3\r
-#usr/share/man/man3/i2d_DSAPublicKey.3\r
-#usr/share/man/man3/i2d_DSA_PUBKEY.3\r
-#usr/share/man/man3/i2d_DSA_SIG.3\r
-#usr/share/man/man3/i2d_Netscape_RSA.3\r
-#usr/share/man/man3/i2d_PKCS8PrivateKey_bio.3\r
-#usr/share/man/man3/i2d_PKCS8PrivateKey_fp.3\r
-#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3\r
-#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3\r
-#usr/share/man/man3/i2d_RSAPrivateKey.3\r
-#usr/share/man/man3/i2d_RSAPublicKey.3\r
-#usr/share/man/man3/i2d_RSA_PUBKEY.3\r
-#usr/share/man/man3/i2d_SSL_SESSION.3\r
-#usr/share/man/man3/i2d_X509.3\r
-#usr/share/man/man3/i2d_X509_ALGOR.3\r
-#usr/share/man/man3/i2d_X509_CRL.3\r
-#usr/share/man/man3/i2d_X509_CRL_bio.3\r
-#usr/share/man/man3/i2d_X509_CRL_fp.3\r
-#usr/share/man/man3/i2d_X509_NAME.3\r
-#usr/share/man/man3/i2d_X509_REQ.3\r
-#usr/share/man/man3/i2d_X509_REQ_bio.3\r
-#usr/share/man/man3/i2d_X509_REQ_fp.3\r
-#usr/share/man/man3/i2d_X509_SIG.3\r
-#usr/share/man/man3/i2d_X509_bio.3\r
-#usr/share/man/man3/i2d_X509_fp.3\r
-#usr/share/man/man3/lh_delete.3\r
-#usr/share/man/man3/lh_doall.3\r
-#usr/share/man/man3/lh_doall_arg.3\r
-#usr/share/man/man3/lh_error.3\r
-#usr/share/man/man3/lh_free.3\r
-#usr/share/man/man3/lh_insert.3\r
-#usr/share/man/man3/lh_new.3\r
-#usr/share/man/man3/lh_node_stats.3\r
-#usr/share/man/man3/lh_node_stats_bio.3\r
-#usr/share/man/man3/lh_node_usage_stats.3\r
-#usr/share/man/man3/lh_node_usage_stats_bio.3\r
-#usr/share/man/man3/lh_retrieve.3\r
-#usr/share/man/man3/lh_stats.3\r
-#usr/share/man/man3/lh_stats_bio.3\r
-#usr/share/man/man3/lhash.3\r
-#usr/share/man/man3/md5.3\r
-#usr/share/man/man3/mdc2.3\r
-#usr/share/man/man3/pem.3\r
-#usr/share/man/man3/rc4.3\r
-#usr/share/man/man3/ripemd.3\r
-#usr/share/man/man3/rsa.3\r
-#usr/share/man/man3/sha.3\r
-#usr/share/man/man3/ssl.3\r
-#usr/share/man/man3/ui.3\r
-#usr/share/man/man3/ui_compat.3\r
-#usr/share/man/man5/config.5\r
-#usr/share/man/man7/Modes_of_DES.7\r
-#usr/share/man/man7/des_modes.7\r
-##\r
-## pciutils-2.1.11\r
-##\r
-#usr/include/pci\r
-#usr/include/pci/config.h\r
-#usr/include/pci/header.h\r
-#usr/include/pci/pci.h\r
-#usr/lib/libpci.a\r
-usr/sbin/lspci\r
-usr/sbin/setpci\r
-#usr/sbin/update-pciids\r
-#usr/share/man/man8/lspci.8\r
-#usr/share/man/man8/setpci.8\r
-#usr/share/man/man8/update-pciids.8\r
-#usr/share/pci.ids\r
-##\r
-## pcre-4.5\r
-##\r
-#usr/bin/pcregrep\r
-#usr/bin/pcretest\r
-#usr/bin/pcre-config\r
-#usr/include/pcre.h\r
-#usr/include/pcreposix.h\r
-usr/lib/libpcre.so.0.0.1\r
-usr/lib/libpcre.so.0\r
-usr/lib/libpcre.so\r
-#usr/lib/libpcre.la\r
-#usr/lib/libpcreposix.so.0.0.0\r
-#usr/lib/libpcreposix.so.0\r
-#usr/lib/libpcreposix.so\r
-#usr/lib/libpcreposix.la\r
-#usr/share/man/man1/pcregrep.1\r
-#usr/share/man/man1/pcretest.1\r
-#usr/share/man/man3/pcre.3\r
-#usr/share/man/man3/pcreapi.3\r
-#usr/share/man/man3/pcrebuild.3\r
-#usr/share/man/man3/pcrecallout.3\r
-#usr/share/man/man3/pcrecompat.3\r
-#usr/share/man/man3/pcrepattern.3\r
-#usr/share/man/man3/pcreperform.3\r
-#usr/share/man/man3/pcreposix.3\r
-#usr/share/man/man3/pcresample.3\r
-#usr/share/man/man3/pcre_compile.3\r
-#usr/share/man/man3/pcre_config.3\r
-#usr/share/man/man3/pcre_copy_named_substring.3\r
-#usr/share/man/man3/pcre_copy_substring.3\r
-#usr/share/man/man3/pcre_exec.3\r
-#usr/share/man/man3/pcre_free_substring.3\r
-#usr/share/man/man3/pcre_free_substring_list.3\r
-#usr/share/man/man3/pcre_fullinfo.3\r
-#usr/share/man/man3/pcre_get_named_substring.3\r
-#usr/share/man/man3/pcre_get_stringnumber.3\r
-#usr/share/man/man3/pcre_get_substring.3\r
-#usr/share/man/man3/pcre_get_substring_list.3\r
-#usr/share/man/man3/pcre_info.3\r
-#usr/share/man/man3/pcre_maketables.3\r
-#usr/share/man/man3/pcre_study.3\r
-#usr/share/man/man3/pcre_version.3\r
-##\r
-## 3cp4218-2003-10-22\r
-##\r
-usr/sbin/3cextract\r
-usr/sbin/3cload\r
-usr/sbin/3cioctl\r
-usr/sbin/ez-usb.bin\r
-usr/sbin/3cinit.bin\r
-usr/sbin/3cmain.bin\r
-#usr/share/locale/es/LC_MESSAGES/3cioctl.mo\r
-#usr/share/locale/es/LC_MESSAGES/3cload.mo\r
-#lib/modules/2.4.31/kernel/drivers/usb/3cp4218.o.gz\r
-##\r
-## 3cp4218-2003-10-22-smp\r
-##\r
-#usr/sbin/3cextract\r
-#usr/sbin/3cload\r
-#usr/sbin/3cioctl\r
-#usr/sbin/ez-usb.bin\r
-#usr/sbin/3cinit.bin\r
-#usr/sbin/3cmain.bin\r
-#usr/share/locale/es/LC_MESSAGES/3cioctl.mo\r
-#usr/share/locale/es/LC_MESSAGES/3cload.mo\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/3cp4218.o.gz\r
-##\r
-## amedyn-2004-08-04\r
-##\r
-usr/bin/br2684ctl\r
-usr/sbin/amload\r
-usr/sbin/amioctl\r
-usr/sbin/fw-usb.bin\r
-usr/sbin/Fw-usb_A.bin\r
-#lib/modules/2.4.31/kernel/drivers/usb/amedyn.o.gz\r
-##\r
-## amedyn-2004-08-04-smp\r
-##\r
-#usr/sbin/amload\r
-#usr/sbin/amioctl\r
-#usr/sbin/fw-usb.bin\r
-#usr/sbin/Fw-usb_A.bin\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/amedyn.o.gz\r
-##\r
-## apache_1.3.34 mod_ssl-2.8.25-1.3.34 mm-1.4.0\r
-##\r
-#etc/httpd\r
-#etc/httpd/conf\r
-#etc/httpd/conf/access.conf\r
-#etc/httpd/conf/access.conf.default\r
-etc/httpd/conf/hostname.conf\r
-etc/httpd/conf/httpd.conf\r
-#etc/httpd/conf/httpd.conf.default\r
-#etc/httpd/conf/magic\r
-#etc/httpd/conf/magic.default\r
-#etc/httpd/conf/mime.types\r
-#etc/httpd/conf/mime.types.default\r
-#etc/httpd/conf/srm.conf\r
-#etc/httpd/conf/srm.conf.default\r
-#etc/httpd/conf/ssl.crl\r
-#etc/httpd/conf/ssl.crl/Makefile\r
-#etc/httpd/conf/ssl.crl/README.CRL\r
-#etc/httpd/conf/ssl.crt\r
-#etc/httpd/conf/ssl.crt/0cf14d7d.0\r
-#etc/httpd/conf/ssl.crt/5d8360e1.0\r
-#etc/httpd/conf/ssl.crt/82ab5372.0\r
-#etc/httpd/conf/ssl.crt/Makefile\r
-#etc/httpd/conf/ssl.crt/README.CRT\r
-#etc/httpd/conf/ssl.crt/ca-bundle.crt\r
-#etc/httpd/conf/ssl.crt/e52d41d0.0\r
-#etc/httpd/conf/ssl.crt/server.crt\r
-#etc/httpd/conf/ssl.crt/snakeoil-ca-dsa.crt\r
-#etc/httpd/conf/ssl.crt/snakeoil-ca-rsa.crt\r
-#etc/httpd/conf/ssl.crt/snakeoil-dsa.crt\r
-#etc/httpd/conf/ssl.crt/snakeoil-rsa.crt\r
-#etc/httpd/conf/ssl.csr\r
-#etc/httpd/conf/ssl.csr/README.CSR\r
-#etc/httpd/conf/ssl.csr/server.csr\r
-#etc/httpd/conf/ssl.key\r
-#etc/httpd/conf/ssl.key/README.KEY\r
-#etc/httpd/conf/ssl.key/server.key\r
-#etc/httpd/conf/ssl.key/snakeoil-ca-dsa.key\r
-#etc/httpd/conf/ssl.key/snakeoil-ca-rsa.key\r
-#etc/httpd/conf/ssl.key/snakeoil-dsa.key\r
-#etc/httpd/conf/ssl.key/snakeoil-rsa.key\r
-#etc/httpd/conf/ssl.prm\r
-#etc/httpd/conf/ssl.prm/README.PRM\r
-#etc/httpd/conf/ssl.prm/snakeoil-ca-dsa.prm\r
-#etc/httpd/conf/ssl.prm/snakeoil-dsa.prm\r
-#home/httpd\r
-#home/httpd/cgi-bin\r
-home/httpd/cgi-bin/aliases.cgi\r
-home/httpd/cgi-bin/backup.cgi\r
-#home/httpd/cgi-bin/base.cgi\r
-home/httpd/cgi-bin/changepw.cgi\r
-home/httpd/cgi-bin/connections.cgi\r
-home/httpd/cgi-bin/credits.cgi\r
-home/httpd/cgi-bin/ddns.cgi\r
-home/httpd/cgi-bin/dhcp.cgi\r
-home/httpd/cgi-bin/dial.cgi\r
-home/httpd/cgi-bin/dmzholes.cgi\r
-home/httpd/cgi-bin/graphs.cgi\r
-home/httpd/cgi-bin/gui.cgi\r
-home/httpd/cgi-bin/hosts.cgi\r
-home/httpd/cgi-bin/ids.cgi\r
-home/httpd/cgi-bin/index.cgi\r
-home/httpd/cgi-bin/ipinfo.cgi\r
-#home/httpd/cgi-bin/logs.cgi\r
-home/httpd/cgi-bin/logs.cgi/config.dat\r
-home/httpd/cgi-bin/logs.cgi/firewalllog.dat\r
-home/httpd/cgi-bin/logs.cgi/ids.dat\r
-home/httpd/cgi-bin/logs.cgi/log.dat\r
-home/httpd/cgi-bin/logs.cgi/proxylog.dat\r
-home/httpd/cgi-bin/logs.cgi/summary.dat\r
-home/httpd/cgi-bin/modem.cgi\r
-home/httpd/cgi-bin/netstatus.cgi\r
-#home/httpd/cgi-bin/networks.cgi\r
-home/httpd/cgi-bin/optionsfw.cgi\r
-home/httpd/cgi-bin/portfw.cgi\r
-home/httpd/cgi-bin/pppsetup.cgi\r
-#home/httpd/cgi-bin/printenv\r
-home/httpd/cgi-bin/proxy.cgi\r
-home/httpd/cgi-bin/proxygraphs.cgi\r
-home/httpd/cgi-bin/remote.cgi\r
-#home/httpd/cgi-bin/services.cgi\r
-home/httpd/cgi-bin/shaping.cgi\r
-home/httpd/cgi-bin/shutdown.cgi\r
-home/httpd/cgi-bin/status.cgi\r
-#home/httpd/cgi-bin/test-cgi\r
-home/httpd/cgi-bin/time.cgi\r
-home/httpd/cgi-bin/updates.cgi\r
-home/httpd/cgi-bin/upload.cgi\r
-home/httpd/cgi-bin/vpnmain.cgi\r
-home/httpd/cgi-bin/wireless.cgi\r
-home/httpd/cgi-bin/xtaccess.cgi\r
-#home/httpd/htdocs\r
-#home/httpd/htdocs/apache_pb.gif\r
-#home/httpd/htdocs/index.html.ca\r
-#home/httpd/htdocs/index.html.cz\r
-#home/httpd/htdocs/index.html.de\r
-#home/httpd/htdocs/index.html.dk\r
-#home/httpd/htdocs/index.html.ee\r
-#home/httpd/htdocs/index.html.el\r
-#home/httpd/htdocs/index.html.en\r
-#home/httpd/htdocs/index.html.es\r
-#home/httpd/htdocs/index.html.fr\r
-#home/httpd/htdocs/index.html.he.iso8859-8\r
-#home/httpd/htdocs/index.html.hu\r
-#home/httpd/htdocs/index.html.it\r
-#home/httpd/htdocs/index.html.ja.jis\r
-#home/httpd/htdocs/index.html.kr.iso-kr\r
-#home/httpd/htdocs/index.html.lb.utf8\r
-#home/httpd/htdocs/index.html.nl\r
-#home/httpd/htdocs/index.html.nn\r
-#home/httpd/htdocs/index.html.no\r
-#home/httpd/htdocs/index.html.po.iso-pl\r
-#home/httpd/htdocs/index.html.pt\r
-#home/httpd/htdocs/index.html.pt-br\r
-#home/httpd/htdocs/index.html.ru.cp-1251\r
-#home/httpd/htdocs/index.html.ru.cp866\r
-#home/httpd/htdocs/index.html.ru.iso-ru\r
-#home/httpd/htdocs/index.html.ru.koi8-r\r
-#home/httpd/htdocs/index.html.ru.ucs2\r
-#home/httpd/htdocs/index.html.ru.ucs4\r
-#home/httpd/htdocs/index.html.ru.utf8\r
-#home/httpd/htdocs/index.html.se\r
-#home/httpd/htdocs/index.html.zh-tw.big5\r
-#home/httpd/htdocs/manual\r
-#home/httpd/htdocs/manual/LICENSE\r
-#home/httpd/htdocs/manual/bind.html.en\r
-#home/httpd/htdocs/manual/bind.html.fr\r
-#home/httpd/htdocs/manual/bind.html.html\r
-#home/httpd/htdocs/manual/bind.html.ja.jis\r
-#home/httpd/htdocs/manual/configuring.html.en\r
-#home/httpd/htdocs/manual/configuring.html.fr\r
-#home/httpd/htdocs/manual/configuring.html.html\r
-#home/httpd/htdocs/manual/configuring.html.ja.jis\r
-#home/httpd/htdocs/manual/content-negotiation.html.en\r
-#home/httpd/htdocs/manual/content-negotiation.html.html\r
-#home/httpd/htdocs/manual/content-negotiation.html.ja.jis\r
-#home/httpd/htdocs/manual/custom-error.html.en\r
-#home/httpd/htdocs/manual/custom-error.html.fr\r
-#home/httpd/htdocs/manual/custom-error.html.html\r
-#home/httpd/htdocs/manual/custom-error.html.ja.jis\r
-#home/httpd/htdocs/manual/cygwin.html\r
-#home/httpd/htdocs/manual/dns-caveats.html.en\r
-#home/httpd/htdocs/manual/dns-caveats.html.fr\r
-#home/httpd/htdocs/manual/dns-caveats.html.html\r
-#home/httpd/htdocs/manual/dns-caveats.html.ja.jis\r
-#home/httpd/htdocs/manual/dso.html\r
-#home/httpd/htdocs/manual/ebcdic.html\r
-#home/httpd/htdocs/manual/env.html.en\r
-#home/httpd/htdocs/manual/env.html.html\r
-#home/httpd/htdocs/manual/env.html.ja.jis\r
-#home/httpd/htdocs/manual/footer.html\r
-#home/httpd/htdocs/manual/handler.html.en\r
-#home/httpd/htdocs/manual/handler.html.html\r
-#home/httpd/htdocs/manual/handler.html.ja.jis\r
-#home/httpd/htdocs/manual/header.html\r
-#home/httpd/htdocs/manual/howto\r
-#home/httpd/htdocs/manual/howto/auth.html\r
-#home/httpd/htdocs/manual/howto/cgi.html.en\r
-#home/httpd/htdocs/manual/howto/cgi.html.html\r
-#home/httpd/htdocs/manual/howto/cgi.html.ja.jis\r
-#home/httpd/htdocs/manual/howto/footer.html\r
-#home/httpd/htdocs/manual/howto/header.html\r
-#home/httpd/htdocs/manual/howto/htaccess.html\r
-#home/httpd/htdocs/manual/howto/ssi.html.en\r
-#home/httpd/htdocs/manual/howto/ssi.html.html\r
-#home/httpd/htdocs/manual/howto/ssi.html.ja.jis\r
-#home/httpd/htdocs/manual/images\r
-#home/httpd/htdocs/manual/images/apache_header.gif\r
-#home/httpd/htdocs/manual/images/apache_pb.gif\r
-#home/httpd/htdocs/manual/images/custom_errordocs.gif\r
-#home/httpd/htdocs/manual/images/feather.jpg\r
-#home/httpd/htdocs/manual/images/home.gif\r
-#home/httpd/htdocs/manual/images/index.gif\r
-#home/httpd/htdocs/manual/images/mod_rewrite_fig1.fig\r
-#home/httpd/htdocs/manual/images/mod_rewrite_fig1.gif\r
-#home/httpd/htdocs/manual/images/mod_rewrite_fig2.fig\r
-#home/httpd/htdocs/manual/images/mod_rewrite_fig2.gif\r
-#home/httpd/htdocs/manual/images/mod_ssl_sb.gif\r
-#home/httpd/htdocs/manual/images/openssl_ics.gif\r
-#home/httpd/htdocs/manual/images/pixel.gif\r
-#home/httpd/htdocs/manual/images/sub.gif\r
-#home/httpd/htdocs/manual/index.html.en\r
-#home/httpd/htdocs/manual/index.html.fr\r
-#home/httpd/htdocs/manual/index.html.html\r
-#home/httpd/htdocs/manual/index.html.ja.jis\r
-#home/httpd/htdocs/manual/install-tpf.html\r
-#home/httpd/htdocs/manual/install-ztpf.html\r
-#home/httpd/htdocs/manual/install.html.en\r
-#home/httpd/htdocs/manual/install.html.es\r
-#home/httpd/htdocs/manual/install.html.fr\r
-#home/httpd/htdocs/manual/install.html.html\r
-#home/httpd/htdocs/manual/install.html.ja.jis\r
-#home/httpd/htdocs/manual/invoking.html.en\r
-#home/httpd/htdocs/manual/invoking.html.fr\r
-#home/httpd/htdocs/manual/invoking.html.html\r
-#home/httpd/htdocs/manual/invoking.html.ja.jis\r
-#home/httpd/htdocs/manual/keepalive.html.en\r
-#home/httpd/htdocs/manual/keepalive.html.html\r
-#home/httpd/htdocs/manual/keepalive.html.ja.jis\r
-#home/httpd/htdocs/manual/location.html.en\r
-#home/httpd/htdocs/manual/location.html.html\r
-#home/httpd/htdocs/manual/location.html.ja.jis\r
-#home/httpd/htdocs/manual/logs.html\r
-#home/httpd/htdocs/manual/man-template.html\r
-#home/httpd/htdocs/manual/misc\r
-#home/httpd/htdocs/manual/misc/API.html\r
-#home/httpd/htdocs/manual/misc/FAQ.html\r
-#home/httpd/htdocs/manual/misc/HTTP_Features.tsv\r
-#home/httpd/htdocs/manual/misc/client_block_api.html\r
-#home/httpd/htdocs/manual/misc/compat_notes.html\r
-#home/httpd/htdocs/manual/misc/custom_errordocs.html\r
-#home/httpd/htdocs/manual/misc/descriptors.html\r
-#home/httpd/htdocs/manual/misc/fin_wait_2.html\r
-#home/httpd/htdocs/manual/misc/footer.html\r
-#home/httpd/htdocs/manual/misc/header.html\r
-#home/httpd/htdocs/manual/misc/howto.html\r
-#home/httpd/htdocs/manual/misc/index.html\r
-#home/httpd/htdocs/manual/misc/known_client_problems.html\r
-#home/httpd/htdocs/manual/misc/nopgp.html\r
-#home/httpd/htdocs/manual/misc/perf-bsd44.html\r
-#home/httpd/htdocs/manual/misc/perf-dec.html\r
-#home/httpd/htdocs/manual/misc/perf-hp.html\r
-#home/httpd/htdocs/manual/misc/perf-tuning.html\r
-#home/httpd/htdocs/manual/misc/perf.html\r
-#home/httpd/htdocs/manual/misc/rewriteguide.html\r
-#home/httpd/htdocs/manual/misc/security_tips.html\r
-#home/httpd/htdocs/manual/misc/tutorials.html\r
-#home/httpd/htdocs/manual/misc/vif-info.html\r
-#home/httpd/htdocs/manual/misc/windoz_keepalive.html\r
-#home/httpd/htdocs/manual/mod\r
-#home/httpd/htdocs/manual/mod/core.html.en\r
-#home/httpd/htdocs/manual/mod/core.html.fr\r
-#home/httpd/htdocs/manual/mod/core.html.html\r
-#home/httpd/htdocs/manual/mod/core.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/directive-dict.html.en\r
-#home/httpd/htdocs/manual/mod/directive-dict.html.fr\r
-#home/httpd/htdocs/manual/mod/directive-dict.html.html\r
-#home/httpd/htdocs/manual/mod/directive-dict.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/directives.html.de\r
-#home/httpd/htdocs/manual/mod/directives.html.en\r
-#home/httpd/htdocs/manual/mod/directives.html.fr\r
-#home/httpd/htdocs/manual/mod/directives.html.html\r
-#home/httpd/htdocs/manual/mod/directives.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/footer.html\r
-#home/httpd/htdocs/manual/mod/header.html\r
-#home/httpd/htdocs/manual/mod/index-bytype.html.en\r
-#home/httpd/htdocs/manual/mod/index-bytype.html.fr\r
-#home/httpd/htdocs/manual/mod/index-bytype.html.html\r
-#home/httpd/htdocs/manual/mod/index-bytype.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/index.html.en\r
-#home/httpd/htdocs/manual/mod/index.html.fr\r
-#home/httpd/htdocs/manual/mod/index.html.html\r
-#home/httpd/htdocs/manual/mod/index.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_access.html.en\r
-#home/httpd/htdocs/manual/mod/mod_access.html.html\r
-#home/httpd/htdocs/manual/mod/mod_access.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_actions.html.en\r
-#home/httpd/htdocs/manual/mod/mod_actions.html.html\r
-#home/httpd/htdocs/manual/mod/mod_actions.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_alias.html.en\r
-#home/httpd/htdocs/manual/mod/mod_alias.html.html\r
-#home/httpd/htdocs/manual/mod/mod_alias.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_asis.html.en\r
-#home/httpd/htdocs/manual/mod/mod_asis.html.html\r
-#home/httpd/htdocs/manual/mod/mod_asis.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_auth.html.en\r
-#home/httpd/htdocs/manual/mod/mod_auth.html.html\r
-#home/httpd/htdocs/manual/mod/mod_auth.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_auth_anon.html\r
-#home/httpd/htdocs/manual/mod/mod_auth_db.html\r
-#home/httpd/htdocs/manual/mod/mod_auth_dbm.html\r
-#home/httpd/htdocs/manual/mod/mod_auth_digest.html\r
-#home/httpd/htdocs/manual/mod/mod_autoindex.html.en\r
-#home/httpd/htdocs/manual/mod/mod_autoindex.html.html\r
-#home/httpd/htdocs/manual/mod/mod_autoindex.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_browser.html\r
-#home/httpd/htdocs/manual/mod/mod_cern_meta.html\r
-#home/httpd/htdocs/manual/mod/mod_cgi.html.en\r
-#home/httpd/htdocs/manual/mod/mod_cgi.html.html\r
-#home/httpd/htdocs/manual/mod/mod_cgi.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_cookies.html\r
-#home/httpd/htdocs/manual/mod/mod_define.html\r
-#home/httpd/htdocs/manual/mod/mod_digest.html\r
-#home/httpd/htdocs/manual/mod/mod_dir.html.en\r
-#home/httpd/htdocs/manual/mod/mod_dir.html.html\r
-#home/httpd/htdocs/manual/mod/mod_dir.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_dld.html\r
-#home/httpd/htdocs/manual/mod/mod_env.html.en\r
-#home/httpd/htdocs/manual/mod/mod_env.html.html\r
-#home/httpd/htdocs/manual/mod/mod_env.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_example.html\r
-#home/httpd/htdocs/manual/mod/mod_expires.html\r
-#home/httpd/htdocs/manual/mod/mod_headers.html\r
-#home/httpd/htdocs/manual/mod/mod_imap.html\r
-#home/httpd/htdocs/manual/mod/mod_include.html\r
-#home/httpd/htdocs/manual/mod/mod_info.html.en\r
-#home/httpd/htdocs/manual/mod/mod_info.html.html\r
-#home/httpd/htdocs/manual/mod/mod_info.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_isapi.html\r
-#home/httpd/htdocs/manual/mod/mod_log_agent.html\r
-#home/httpd/htdocs/manual/mod/mod_log_common.html\r
-#home/httpd/htdocs/manual/mod/mod_log_config.html.en\r
-#home/httpd/htdocs/manual/mod/mod_log_config.html.html\r
-#home/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_log_forensic.html.en\r
-#home/httpd/htdocs/manual/mod/mod_log_forensic.html.html\r
-#home/httpd/htdocs/manual/mod/mod_log_referer.html\r
-#home/httpd/htdocs/manual/mod/mod_mime.html.en\r
-#home/httpd/htdocs/manual/mod/mod_mime.html.html\r
-#home/httpd/htdocs/manual/mod/mod_mime.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_mime_magic.html\r
-#home/httpd/htdocs/manual/mod/mod_mmap_static.html\r
-#home/httpd/htdocs/manual/mod/mod_negotiation.html.en\r
-#home/httpd/htdocs/manual/mod/mod_negotiation.html.html\r
-#home/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_proxy.html\r
-#home/httpd/htdocs/manual/mod/mod_rewrite.html.en\r
-#home/httpd/htdocs/manual/mod/mod_rewrite.html.html\r
-#home/httpd/htdocs/manual/mod/mod_rewrite.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_setenvif.html.en\r
-#home/httpd/htdocs/manual/mod/mod_setenvif.html.html\r
-#home/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_so.html.en\r
-#home/httpd/htdocs/manual/mod/mod_so.html.html\r
-#home/httpd/htdocs/manual/mod/mod_so.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_speling.html.en\r
-#home/httpd/htdocs/manual/mod/mod_speling.html.html\r
-#home/httpd/htdocs/manual/mod/mod_speling.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_ssl\r
-#home/httpd/htdocs/manual/mod/mod_ssl/index.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover_logo.jpg\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover_title.jpg\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_glossary.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_glossary.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig1.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig2.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig3.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview_fig1.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.gfont000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.html\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.wml\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-chapter.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-1.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-2.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-3.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-4.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-5.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-6.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-7.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.imgdot-1x1-000000.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.imgdot-1x1-transp.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.inc\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-next-n.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-next-s.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-prev-n.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-prev-s.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-abstract.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-compat.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-faq.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-gloss.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-howto.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-intro.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-over.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-preface.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-ref.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-toc.gif\r
-#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-tutor.gif\r
-#home/httpd/htdocs/manual/mod/mod_status.html\r
-#home/httpd/htdocs/manual/mod/mod_unique_id.html.en\r
-#home/httpd/htdocs/manual/mod/mod_unique_id.html.html\r
-#home/httpd/htdocs/manual/mod/mod_unique_id.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_userdir.html.en\r
-#home/httpd/htdocs/manual/mod/mod_userdir.html.html\r
-#home/httpd/htdocs/manual/mod/mod_userdir.html.ja.jis\r
-#home/httpd/htdocs/manual/mod/mod_usertrack.html\r
-#home/httpd/htdocs/manual/mod/mod_vhost_alias.html\r
-#home/httpd/htdocs/manual/mod/module-dict.html.en\r
-#home/httpd/htdocs/manual/mod/module-dict.html.html\r
-#home/httpd/htdocs/manual/mod/module-dict.html.ja.jis\r
-#home/httpd/htdocs/manual/mpeix.html\r
-#home/httpd/htdocs/manual/multilogs.html\r
-#home/httpd/htdocs/manual/netware.html\r
-#home/httpd/htdocs/manual/new_features_1_0.html\r
-#home/httpd/htdocs/manual/new_features_1_1.html\r
-#home/httpd/htdocs/manual/new_features_1_2.html\r
-#home/httpd/htdocs/manual/new_features_1_3.html.en\r
-#home/httpd/htdocs/manual/new_features_1_3.html.html\r
-#home/httpd/htdocs/manual/new_features_1_3.html.ja.jis\r
-#home/httpd/htdocs/manual/process-model.html.en\r
-#home/httpd/htdocs/manual/process-model.html.html\r
-#home/httpd/htdocs/manual/process-model.html.ja.jis\r
-#home/httpd/htdocs/manual/programs\r
-#home/httpd/htdocs/manual/programs/ab.html\r
-#home/httpd/htdocs/manual/programs/apachectl.html.en\r
-#home/httpd/htdocs/manual/programs/apachectl.html.html\r
-#home/httpd/htdocs/manual/programs/apachectl.html.ja.jis\r
-#home/httpd/htdocs/manual/programs/apxs.html\r
-#home/httpd/htdocs/manual/programs/dbmmanage.html\r
-#home/httpd/htdocs/manual/programs/footer.html\r
-#home/httpd/htdocs/manual/programs/header.html\r
-#home/httpd/htdocs/manual/programs/htdigest.html\r
-#home/httpd/htdocs/manual/programs/htpasswd.html.en\r
-#home/httpd/htdocs/manual/programs/htpasswd.html.html\r
-#home/httpd/htdocs/manual/programs/htpasswd.html.ja.jis\r
-#home/httpd/htdocs/manual/programs/httpd.html.en\r
-#home/httpd/htdocs/manual/programs/httpd.html.html\r
-#home/httpd/htdocs/manual/programs/httpd.html.ja.jis\r
-#home/httpd/htdocs/manual/programs/index.html.en\r
-#home/httpd/htdocs/manual/programs/index.html.html\r
-#home/httpd/htdocs/manual/programs/index.html.ja.jis\r
-#home/httpd/htdocs/manual/programs/logresolve.html\r
-#home/httpd/htdocs/manual/programs/other.html\r
-#home/httpd/htdocs/manual/programs/rotatelogs.html\r
-#home/httpd/htdocs/manual/programs/suexec.html.en\r
-#home/httpd/htdocs/manual/programs/suexec.html.html\r
-#home/httpd/htdocs/manual/programs/suexec.html.ja.jis\r
-#home/httpd/htdocs/manual/readme-tpf.html\r
-#home/httpd/htdocs/manual/sections.html.en\r
-#home/httpd/htdocs/manual/sections.html.html\r
-#home/httpd/htdocs/manual/sections.html.ja.jis\r
-#home/httpd/htdocs/manual/server-wide.html.en\r
-#home/httpd/htdocs/manual/server-wide.html.fr\r
-#home/httpd/htdocs/manual/server-wide.html.html\r
-#home/httpd/htdocs/manual/server-wide.html.ja.jis\r
-#home/httpd/htdocs/manual/sitemap.html\r
-#home/httpd/htdocs/manual/sourcereorg.html\r
-#home/httpd/htdocs/manual/stopping.html.en\r
-#home/httpd/htdocs/manual/stopping.html.fr\r
-#home/httpd/htdocs/manual/stopping.html.html\r
-#home/httpd/htdocs/manual/suexec.html.en\r
-#home/httpd/htdocs/manual/suexec.html.html\r
-#home/httpd/htdocs/manual/suexec.html.ja.jis\r
-#home/httpd/htdocs/manual/suexec_1_2.html\r
-#home/httpd/htdocs/manual/unixware.html\r
-#home/httpd/htdocs/manual/upgrading_to_1_3.html\r
-#home/httpd/htdocs/manual/urlmapping.html\r
-#home/httpd/htdocs/manual/vhosts\r
-#home/httpd/htdocs/manual/vhosts/details.html\r
-#home/httpd/htdocs/manual/vhosts/details_1_2.html\r
-#home/httpd/htdocs/manual/vhosts/examples.html\r
-#home/httpd/htdocs/manual/vhosts/fd-limits.html.en\r
-#home/httpd/htdocs/manual/vhosts/fd-limits.html.html\r
-#home/httpd/htdocs/manual/vhosts/fd-limits.html.ja.jis\r
-#home/httpd/htdocs/manual/vhosts/footer.html\r
-#home/httpd/htdocs/manual/vhosts/header.html\r
-#home/httpd/htdocs/manual/vhosts/host.html\r
-#home/httpd/htdocs/manual/vhosts/index.html.en\r
-#home/httpd/htdocs/manual/vhosts/index.html.html\r
-#home/httpd/htdocs/manual/vhosts/index.html.ja.jis\r
-#home/httpd/htdocs/manual/vhosts/ip-based.html\r
-#home/httpd/htdocs/manual/vhosts/mass.html\r
-#home/httpd/htdocs/manual/vhosts/name-based.html.en\r
-#home/httpd/htdocs/manual/vhosts/name-based.html.html\r
-#home/httpd/htdocs/manual/vhosts/name-based.html.ja.jis\r
-#home/httpd/htdocs/manual/vhosts/vhosts-in-depth.html\r
-#home/httpd/htdocs/manual/vhosts/virtual-host.html\r
-#home/httpd/htdocs/manual/win_compiling.html.en\r
-#home/httpd/htdocs/manual/win_compiling.html.html\r
-#home/httpd/htdocs/manual/win_compiling.html.ja.jis\r
-#home/httpd/htdocs/manual/win_service.html.en\r
-#home/httpd/htdocs/manual/win_service.html.html\r
-#home/httpd/htdocs/manual/win_service.html.ja.jis\r
-#home/httpd/htdocs/manual/windows.html.en\r
-#home/httpd/htdocs/manual/windows.html.html\r
-#home/httpd/htdocs/manual/windows.html.ja.jis\r
-home/httpd/html\r
-#home/httpd/html/backup\r
-#home/httpd/html/blob.gif\r
-#home/httpd/html/favicon.ico\r
-#home/httpd/html/images\r
-#home/httpd/html/images/add.gif\r
-#home/httpd/html/images/addblue.gif\r
-#home/httpd/html/images/bounceback.png\r
-#home/httpd/html/images/boxbottom1.png\r
-#home/httpd/html/images/boxbottom2.png\r
-#home/httpd/html/images/boxbottom3.png\r
-#home/httpd/html/images/boxleft.png\r
-#home/httpd/html/images/boxright.png\r
-#home/httpd/html/images/boxtop1.png\r
-#home/httpd/html/images/boxtop2.png\r
-#home/httpd/html/images/boxtop3.png\r
-#home/httpd/html/images/clock.gif\r
-#home/httpd/html/images/delete.gif\r
-#home/httpd/html/images/download.png\r
-#home/httpd/html/images/edit.gif\r
-#home/httpd/html/images/floppy.gif\r
-#home/httpd/html/images/forward.gif\r
-#home/httpd/html/images/header.png\r
-#home/httpd/html/images/info.gif\r
-#home/httpd/html/images/null.gif\r
-#home/httpd/html/images/off.gif\r
-#home/httpd/html/images/on.gif\r
-#home/httpd/html/images/reload.gif\r
-#home/httpd/html/images/sflogo.png\r
-#home/httpd/html/images/web-support.png\r
-#home/httpd/html/include\r
-#home/httpd/html/include/domMenu.js\r
-#home/httpd/html/include/ipcop.css\r
-#home/httpd/html/index.cgi\r
-#home/httpd/html/ipcop_big.gif\r
-#home/httpd/icons\r
-#home/httpd/icons/README\r
-#home/httpd/icons/a.gif\r
-#home/httpd/icons/a.png\r
-#home/httpd/icons/alert.black.gif\r
-#home/httpd/icons/alert.black.png\r
-#home/httpd/icons/alert.red.gif\r
-#home/httpd/icons/alert.red.png\r
-#home/httpd/icons/apache_pb.gif\r
-#home/httpd/icons/apache_pb.png\r
-#home/httpd/icons/back.gif\r
-#home/httpd/icons/back.png\r
-#home/httpd/icons/ball.gray.gif\r
-#home/httpd/icons/ball.gray.png\r
-#home/httpd/icons/ball.red.gif\r
-#home/httpd/icons/ball.red.png\r
-#home/httpd/icons/binary.gif\r
-#home/httpd/icons/binary.png\r
-#home/httpd/icons/binhex.gif\r
-#home/httpd/icons/binhex.png\r
-#home/httpd/icons/blank.gif\r
-#home/httpd/icons/blank.png\r
-#home/httpd/icons/bomb.gif\r
-#home/httpd/icons/bomb.png\r
-#home/httpd/icons/box1.gif\r
-#home/httpd/icons/box1.png\r
-#home/httpd/icons/box2.gif\r
-#home/httpd/icons/box2.png\r
-#home/httpd/icons/broken.gif\r
-#home/httpd/icons/broken.png\r
-#home/httpd/icons/burst.gif\r
-#home/httpd/icons/burst.png\r
-#home/httpd/icons/c.gif\r
-#home/httpd/icons/c.png\r
-#home/httpd/icons/comp.blue.gif\r
-#home/httpd/icons/comp.blue.png\r
-#home/httpd/icons/comp.gray.gif\r
-#home/httpd/icons/comp.gray.png\r
-#home/httpd/icons/compressed.gif\r
-#home/httpd/icons/compressed.png\r
-#home/httpd/icons/continued.gif\r
-#home/httpd/icons/continued.png\r
-#home/httpd/icons/dir.gif\r
-#home/httpd/icons/dir.png\r
-#home/httpd/icons/diskimg.gif\r
-#home/httpd/icons/diskimg.png\r
-#home/httpd/icons/down.gif\r
-#home/httpd/icons/down.png\r
-#home/httpd/icons/dvi.gif\r
-#home/httpd/icons/dvi.png\r
-#home/httpd/icons/f.gif\r
-#home/httpd/icons/f.png\r
-#home/httpd/icons/folder.gif\r
-#home/httpd/icons/folder.open.gif\r
-#home/httpd/icons/folder.open.png\r
-#home/httpd/icons/folder.png\r
-#home/httpd/icons/folder.sec.gif\r
-#home/httpd/icons/folder.sec.png\r
-#home/httpd/icons/forward.gif\r
-#home/httpd/icons/forward.png\r
-#home/httpd/icons/generic.gif\r
-#home/httpd/icons/generic.png\r
-#home/httpd/icons/generic.red.gif\r
-#home/httpd/icons/generic.red.png\r
-#home/httpd/icons/generic.sec.gif\r
-#home/httpd/icons/generic.sec.png\r
-#home/httpd/icons/hand.right.gif\r
-#home/httpd/icons/hand.right.png\r
-#home/httpd/icons/hand.up.gif\r
-#home/httpd/icons/hand.up.png\r
-#home/httpd/icons/icon.sheet.gif\r
-#home/httpd/icons/icon.sheet.png\r
-#home/httpd/icons/image1.gif\r
-#home/httpd/icons/image1.png\r
-#home/httpd/icons/image2.gif\r
-#home/httpd/icons/image2.png\r
-#home/httpd/icons/image3.gif\r
-#home/httpd/icons/image3.png\r
-#home/httpd/icons/index.gif\r
-#home/httpd/icons/index.png\r
-#home/httpd/icons/layout.gif\r
-#home/httpd/icons/layout.png\r
-#home/httpd/icons/left.gif\r
-#home/httpd/icons/left.png\r
-#home/httpd/icons/link.gif\r
-#home/httpd/icons/link.png\r
-#home/httpd/icons/movie.gif\r
-#home/httpd/icons/movie.png\r
-#home/httpd/icons/p.gif\r
-#home/httpd/icons/p.png\r
-#home/httpd/icons/patch.gif\r
-#home/httpd/icons/patch.png\r
-#home/httpd/icons/pdf.gif\r
-#home/httpd/icons/pdf.png\r
-#home/httpd/icons/pie0.gif\r
-#home/httpd/icons/pie0.png\r
-#home/httpd/icons/pie1.gif\r
-#home/httpd/icons/pie1.png\r
-#home/httpd/icons/pie2.gif\r
-#home/httpd/icons/pie2.png\r
-#home/httpd/icons/pie3.gif\r
-#home/httpd/icons/pie3.png\r
-#home/httpd/icons/pie4.gif\r
-#home/httpd/icons/pie4.png\r
-#home/httpd/icons/pie5.gif\r
-#home/httpd/icons/pie5.png\r
-#home/httpd/icons/pie6.gif\r
-#home/httpd/icons/pie6.png\r
-#home/httpd/icons/pie7.gif\r
-#home/httpd/icons/pie7.png\r
-#home/httpd/icons/pie8.gif\r
-#home/httpd/icons/pie8.png\r
-#home/httpd/icons/portal.gif\r
-#home/httpd/icons/portal.png\r
-#home/httpd/icons/ps.gif\r
-#home/httpd/icons/ps.png\r
-#home/httpd/icons/quill.gif\r
-#home/httpd/icons/quill.png\r
-#home/httpd/icons/right.gif\r
-#home/httpd/icons/right.png\r
-#home/httpd/icons/screw1.gif\r
-#home/httpd/icons/screw1.png\r
-#home/httpd/icons/screw2.gif\r
-#home/httpd/icons/screw2.png\r
-#home/httpd/icons/script.gif\r
-#home/httpd/icons/script.png\r
-#home/httpd/icons/small\r
-#home/httpd/icons/small/README.txt\r
-#home/httpd/icons/small/back.gif\r
-#home/httpd/icons/small/back.png\r
-#home/httpd/icons/small/binary.gif\r
-#home/httpd/icons/small/binary.png\r
-#home/httpd/icons/small/binhex.gif\r
-#home/httpd/icons/small/binhex.png\r
-#home/httpd/icons/small/blank.gif\r
-#home/httpd/icons/small/blank.png\r
-#home/httpd/icons/small/broken.gif\r
-#home/httpd/icons/small/broken.png\r
-#home/httpd/icons/small/burst.gif\r
-#home/httpd/icons/small/burst.png\r
-#home/httpd/icons/small/comp1.gif\r
-#home/httpd/icons/small/comp1.png\r
-#home/httpd/icons/small/comp2.gif\r
-#home/httpd/icons/small/comp2.png\r
-#home/httpd/icons/small/compressed.gif\r
-#home/httpd/icons/small/compressed.png\r
-#home/httpd/icons/small/continued.gif\r
-#home/httpd/icons/small/continued.png\r
-#home/httpd/icons/small/dir.gif\r
-#home/httpd/icons/small/dir.png\r
-#home/httpd/icons/small/dir2.gif\r
-#home/httpd/icons/small/dir2.png\r
-#home/httpd/icons/small/doc.gif\r
-#home/httpd/icons/small/doc.png\r
-#home/httpd/icons/small/forward.gif\r
-#home/httpd/icons/small/forward.png\r
-#home/httpd/icons/small/generic.gif\r
-#home/httpd/icons/small/generic.png\r
-#home/httpd/icons/small/generic2.gif\r
-#home/httpd/icons/small/generic2.png\r
-#home/httpd/icons/small/generic3.gif\r
-#home/httpd/icons/small/generic3.png\r
-#home/httpd/icons/small/image.gif\r
-#home/httpd/icons/small/image.png\r
-#home/httpd/icons/small/image2.gif\r
-#home/httpd/icons/small/image2.png\r
-#home/httpd/icons/small/index.gif\r
-#home/httpd/icons/small/index.png\r
-#home/httpd/icons/small/key.gif\r
-#home/httpd/icons/small/key.png\r
-#home/httpd/icons/small/movie.gif\r
-#home/httpd/icons/small/movie.png\r
-#home/httpd/icons/small/patch.gif\r
-#home/httpd/icons/small/patch.png\r
-#home/httpd/icons/small/ps.gif\r
-#home/httpd/icons/small/ps.png\r
-#home/httpd/icons/small/rainbow.gif\r
-#home/httpd/icons/small/rainbow.png\r
-#home/httpd/icons/small/sound.gif\r
-#home/httpd/icons/small/sound.png\r
-#home/httpd/icons/small/sound2.gif\r
-#home/httpd/icons/small/sound2.png\r
-#home/httpd/icons/small/tar.gif\r
-#home/httpd/icons/small/tar.png\r
-#home/httpd/icons/small/text.gif\r
-#home/httpd/icons/small/text.png\r
-#home/httpd/icons/small/transfer.gif\r
-#home/httpd/icons/small/transfer.png\r
-#home/httpd/icons/small/unknown.gif\r
-#home/httpd/icons/small/unknown.png\r
-#home/httpd/icons/small/uu.gif\r
-#home/httpd/icons/small/uu.png\r
-#home/httpd/icons/sound1.gif\r
-#home/httpd/icons/sound1.png\r
-#home/httpd/icons/sound2.gif\r
-#home/httpd/icons/sound2.png\r
-#home/httpd/icons/sphere1.gif\r
-#home/httpd/icons/sphere1.png\r
-#home/httpd/icons/sphere2.gif\r
-#home/httpd/icons/sphere2.png\r
-#home/httpd/icons/tar.gif\r
-#home/httpd/icons/tar.png\r
-#home/httpd/icons/tex.gif\r
-#home/httpd/icons/tex.png\r
-#home/httpd/icons/text.gif\r
-#home/httpd/icons/text.png\r
-#home/httpd/icons/transfer.gif\r
-#home/httpd/icons/transfer.png\r
-#home/httpd/icons/unknown.gif\r
-#home/httpd/icons/unknown.png\r
-#home/httpd/icons/up.gif\r
-#home/httpd/icons/up.png\r
-#home/httpd/icons/uu.gif\r
-#home/httpd/icons/uu.png\r
-#home/httpd/icons/uuencoded.gif\r
-#home/httpd/icons/uuencoded.png\r
-#home/httpd/icons/world1.gif\r
-#home/httpd/icons/world1.png\r
-#home/httpd/icons/world2.gif\r
-#home/httpd/icons/world2.png\r
-#usr/bin/ab\r
-#usr/bin/apachectl\r
-#usr/bin/apxs\r
-#usr/bin/checkgid\r
-#usr/bin/dbmmanage\r
-#usr/bin/htdigest\r
-usr/bin/htpasswd\r
-#usr/bin/logresolve\r
-#usr/bin/rotatelogs\r
-#usr/include/apache\r
-#usr/include/apache/ap.h\r
-#usr/include/apache/ap_alloc.h\r
-#usr/include/apache/ap_compat.h\r
-#usr/include/apache/ap_config.h\r
-#usr/include/apache/ap_config_auto.h\r
-#usr/include/apache/ap_ctx.h\r
-#usr/include/apache/ap_ctype.h\r
-#usr/include/apache/ap_ebcdic.h\r
-#usr/include/apache/ap_hook.h\r
-#usr/include/apache/ap_md5.h\r
-#usr/include/apache/ap_mm.h\r
-#usr/include/apache/ap_mmn.h\r
-#usr/include/apache/ap_sha1.h\r
-#usr/include/apache/buff.h\r
-#usr/include/apache/compat.h\r
-#usr/include/apache/conf.h\r
-#usr/include/apache/explain.h\r
-#usr/include/apache/fnmatch.h\r
-#usr/include/apache/hsregex.h\r
-#usr/include/apache/http_conf_globals.h\r
-#usr/include/apache/http_config.h\r
-#usr/include/apache/http_core.h\r
-#usr/include/apache/http_log.h\r
-#usr/include/apache/http_main.h\r
-#usr/include/apache/http_protocol.h\r
-#usr/include/apache/http_request.h\r
-#usr/include/apache/http_vhost.h\r
-#usr/include/apache/httpd.h\r
-#usr/include/apache/multithread.h\r
-#usr/include/apache/os-inline.c\r
-#usr/include/apache/os.h\r
-#usr/include/apache/rfc1413.h\r
-#usr/include/apache/scoreboard.h\r
-#usr/include/apache/util_date.h\r
-#usr/include/apache/util_md5.h\r
-#usr/include/apache/util_script.h\r
-#usr/include/apache/util_uri.h\r
-#usr/include/apache/xml\r
-#usr/include/apache/xml/asciitab.h\r
-#usr/include/apache/xml/hashtable.h\r
-#usr/include/apache/xml/iasciitab.h\r
-#usr/include/apache/xml/latin1tab.h\r
-#usr/include/apache/xml/nametab.h\r
-#usr/include/apache/xml/utf8tab.h\r
-#usr/include/apache/xml/xmldef.h\r
-#usr/include/apache/xml/xmlparse.h\r
-#usr/include/apache/xml/xmlrole.h\r
-#usr/include/apache/xml/xmltok.h\r
-#usr/include/apache/xml/xmltok_impl.h\r
-#usr/libexec\r
-usr/sbin/httpd\r
-#usr/share/man/man1/dbmmanage.1\r
-#usr/share/man/man1/htdigest.1\r
-#usr/share/man/man1/htpasswd.1\r
-#usr/share/man/man8/ab.8\r
-#usr/share/man/man8/apachectl.8\r
-#usr/share/man/man8/apxs.8\r
-#usr/share/man/man8/httpd.8\r
-#usr/share/man/man8/logresolve.8\r
-#usr/share/man/man8/rotatelogs.8\r
-var/log/httpd\r
-#var/proxy\r
-##\r
-## arping-2.0.5\r
-##\r
-usr/sbin/arping\r
-##\r
-## beep-1.2.2\r
-##\r
-usr/bin/beep\r
-##\r
-## bind-9.2.5\r
-##\r
-usr/bin/host\r
-usr/bin/nsupdate\r
-##\r
-## capi4k-utils-2004-10-06\r
-##\r
-#etc/ppp/peers/isdn\r
-#etc/ppp/peers/isdn/arcor\r
-#etc/ppp/peers/isdn/otelo\r
-#etc/ppp/peers/isdn/talkline\r
-#etc/ppp/peers/isdn/avm\r
-#etc/ppp/peers/isdn/avm-ml\r
-#etc/ppp/peers/isdn/leased\r
-#etc/drdsl\r
-#etc/drdsl/adsl.conf\r
-#usr/include/capi20.h\r
-#usr/include/capiutils.h\r
-#usr/include/capicmd.h\r
-usr/lib/pppd/2.4.2/capiplugin.so\r
-usr/lib/pppd/2.4.2/userpass.so\r
-#usr/lib/libcapi20dyn.a\r
-usr/lib/libcapi20.so.2.0.9\r
-usr/lib/libcapi20.so.2\r
-usr/lib/libcapi20.so\r
-#usr/lib/libcapi20.la\r
-#usr/lib/libcapi20.a\r
-usr/sbin/capiinit\r
-#usr/share/man/man8/avmcapictrl.8\r
-#usr/share/man/man8/capiplugin.8\r
-#sbin/avmcapictrl\r
-##\r
-## cdrtools-2.01\r
-##\r
-#usr/bin/cdda2wav\r
-#usr/bin/cdrecord\r
-#usr/bin/devdump\r
-#usr/bin/isodebug\r
-#usr/bin/isodump\r
-#usr/bin/isoinfo\r
-#usr/bin/isovfy\r
-#usr/bin/mkhybrid\r
-#usr/bin/mkisofs\r
-#usr/bin/readcd\r
-#usr/bin/scgcheck\r
-#usr/bin/skel\r
-#usr/include/align.h\r
-#usr/include/avoffset.h\r
-#usr/lib/libdeflt.a\r
-#usr/lib/libedc_ecc.a\r
-#usr/lib/libfile.a\r
-#usr/lib/libhfs.a\r
-#usr/lib/libparanoia.a\r
-#usr/lib/librscg.a\r
-#usr/lib/libscg.a\r
-#usr/lib/libschily.a\r
-#usr/lib/libunls.a\r
-#usr/sbin/rscsi\r
-#usr/share/man/man1/cdda2ogg.1\r
-#usr/share/man/man1/cdda2wav.1\r
-#usr/share/man/man1/cdrecord.1\r
-#usr/share/man/man1/readcd.1\r
-#usr/share/man/man1/scgcheck.1\r
-#usr/share/man/man5/makefiles.5\r
-#usr/share/man/man5/makerules.5\r
-#usr/share/man/man8/isoinfo.8\r
-#usr/share/man/man8/mkhybrid.8\r
-#usr/share/man/man8/mkisofs.8\r
-##\r
-## CnxADSL-TgrATMcln-20041004\r
-##\r
-lib/modules/2.4.31/misc/CnxADSL.o.gz\r
-usr/sbin/cnxadslconfig\r
-usr/sbin/cnxadslstatus\r
-#usr/sbin/cnxadslautolog\r
-#etc/Conexant\r
-etc/Conexant/CnxTgF.hex\r
-etc/Conexant/CnxYkF.hex\r
-etc/Conexant/cnxadsl.conf\r
-etc/Conexant/cnxadslload\r
-etc/Conexant/cnxadslctl.conf\r
-##\r
-## CnxADSL-TgrATMcln-20041004-smp\r
-##\r
-lib/modules/2.4.31-smp/misc/CnxADSL.o.gz\r
-##\r
-## configroot\r
-##\r
-var/ipfire\r
-#var/ipcop/alcatelusb\r
-#var/ipcop/auth\r
-#var/ipcop/auth/users\r
-#var/ipcop/backup\r
-#var/ipcop/backup/exclude.hardware\r
-#var/ipcop/backup/exclude.system\r
-#var/ipcop/backup/exclude.user\r
-#var/ipcop/backup/include.system\r
-#var/ipcop/backup/include.user\r
-#var/ipcop/backup/sets\r
-#var/ipcop/ca\r
-#var/ipcop/certs\r
-#var/ipcop/certs/index.txt\r
-#var/ipcop/certs/serial\r
-#var/ipcop/cnx_pci\r
-#var/ipcop/countries.pl\r
-#var/ipcop/crls\r
-#var/ipcop/ddns\r
-#var/ipcop/ddns/config\r
-#var/ipcop/ddns/ipcache\r
-#var/ipcop/ddns/noipsettings\r
-#var/ipcop/ddns/settings\r
-#var/ipcop/dhcp\r
-#var/ipcop/dhcp/advoptions\r
-#var/ipcop/dhcp/advoptions-list\r
-#var/ipcop/dhcp/fixleases\r
-#var/ipcop/dhcp/settings\r
-#var/ipcop/dhcpc\r
-#var/ipcop/dhcpc/dhcpcd.exe\r
-#var/ipcop/dmzholes\r
-#var/ipcop/dmzholes/config\r
-#var/ipcop/eagle-usb\r
-#var/ipcop/eciadsl\r
-#var/ipcop/ethernet\r
-#var/ipcop/ethernet/aliases\r
-#var/ipcop/ethernet/settings\r
-#var/ipcop/general-functions.pl\r
-#var/ipcop/header.pl\r
-#var/ipcop/isdn\r
-#var/ipcop/isdn/settings\r
-#var/ipcop/key\r
-#var/ipcop/key/ipcop.gpg\r
-#var/ipcop/lang.pl\r
-#var/ipcop/langs\r
-#var/ipcop/langs/bz.pl\r
-#var/ipcop/langs/cs.pl\r
-#var/ipcop/langs/da.pl\r
-#var/ipcop/langs/de.pl\r
-#var/ipcop/langs/el.pl\r
-#var/ipcop/langs/en.pl\r
-#var/ipcop/langs/es.pl\r
-#var/ipcop/langs/fi.pl\r
-#var/ipcop/langs/fr.pl\r
-#var/ipcop/langs/hu.pl\r
-#var/ipcop/langs/it.pl\r
-#var/ipcop/langs/la.pl\r
-#var/ipcop/langs/list\r
-#var/ipcop/langs/lt.pl\r
-#var/ipcop/langs/nl.pl\r
-#var/ipcop/langs/no.pl\r
-#var/ipcop/langs/pl.pl\r
-#var/ipcop/langs/pt.pl\r
-#var/ipcop/langs/ro.pl\r
-#var/ipcop/langs/ru.pl\r
-#var/ipcop/langs/so.pl\r
-#var/ipcop/langs/sv.pl\r
-#var/ipcop/langs/th.pl\r
-#var/ipcop/langs/tr.pl\r
-#var/ipcop/langs/vi.pl\r
-#var/ipcop/langs/zh.pl\r
-#var/ipcop/logging\r
-#var/ipcop/logging/settings\r
-#var/ipcop/main\r
-#var/ipcop/main/hosts\r
-#var/ipcop/main/settings\r
-#var/ipcop/modem\r
-#var/ipcop/modem/defaults\r
-#var/ipcop/modem/settings\r
-#var/ipcop/patches\r
-#var/ipcop/patches/available\r
-#var/ipcop/patches/installed\r
-#var/ipcop/portfw\r
-#var/ipcop/portfw/config\r
-#var/ipcop/ppp\r
-#var/ipcop/ppp/fake-resolv.conf\r
-#var/ipcop/ppp/settings\r
-#var/ipcop/ppp/settings-1\r
-#var/ipcop/ppp/settings-2\r
-#var/ipcop/ppp/settings-3\r
-#var/ipcop/ppp/settings-4\r
-#var/ipcop/ppp/settings-5\r
-#var/ipcop/proxy\r
-#var/ipcop/proxy/acl-1.4\r
-#var/ipcop/proxy/settings\r
-#var/ipcop/red\r
-#var/ipcop/remote\r
-#var/ipcop/remote/settings\r
-#var/ipcop/shaping\r
-#var/ipcop/shaping/config\r
-#var/ipcop/shaping/settings\r
-#var/ipcop/snort\r
-#var/ipcop/snort/settings\r
-#var/ipcop/time\r
-#var/ipcop/time/settings\r
-#var/ipcop/vpn\r
-#var/ipcop/vpn/caconfig\r
-#var/ipcop/vpn/config\r
-#var/ipcop/vpn/ipsec.conf\r
-#var/ipcop/vpn/ipsec.secrets\r
-#var/ipcop/vpn/settings\r
-#var/ipcop/wireless\r
-#var/ipcop/wireless/config\r
-#var/ipcop/wireless/settings\r
-#var/ipcop/xtaccess\r
-#var/ipcop/xtaccess/config\r
-##\r
-## cxacru-2003-10-05\r
-##\r
-#lib/modules/2.4.31/kernel/drivers/usb/cxacru.o.gz\r
-usr/sbin/cxfirm1.bin\r
-usr/sbin/cxfirm2.bin\r
-usr/sbin/cxfirm3.bin\r
-usr/sbin/cxfirm4.bin\r
-usr/sbin/cxfirm5.bin\r
-usr/sbin/cxioctl\r
-usr/sbin/cxload\r
-##\r
-## cxacru-2003-10-05-smp\r
-##\r
-#lib/modules/2.4.31-smp/kernel/drivers/usb/cxacru.o.gz\r
-#usr/sbin/cxfirm1.bin\r
-#usr/sbin/cxfirm2.bin\r
-#usr/sbin/cxfirm3.bin\r
-#usr/sbin/cxfirm4.bin\r
-#usr/sbin/cxfirm5.bin\r
-#usr/sbin/cxioctl\r
-#usr/sbin/cxload\r
-##\r
-## dhcp-3.0.2\r
-##\r
-etc/dhcpd.conf\r
-#sbin/dhclient\r
-#sbin/dhclient-script\r
-#usr/bin/omshell\r
-#usr/local/include/dhcpctl.h\r
-#usr/local/include/isc-dhcp\r
-#usr/local/include/isc-dhcp/boolean.h\r
-#usr/local/include/isc-dhcp/dst.h\r
-#usr/local/include/isc-dhcp/int.h\r
-#usr/local/include/isc-dhcp/lang.h\r
-#usr/local/include/isc-dhcp/list.h\r
-#usr/local/include/isc-dhcp/result.h\r
-#usr/local/include/isc-dhcp/types.h\r
-#usr/local/include/omapip\r
-#usr/local/include/omapip/alloc.h\r
-#usr/local/include/omapip/buffer.h\r
-#usr/local/include/omapip/omapip.h\r
-#usr/local/lib/libdhcpctl.a\r
-#usr/local/lib/libomapi.a\r
-usr/sbin/dhcpd\r
-#usr/sbin/dhcrelay\r
-#usr/share/man/man1/omshell.1\r
-#usr/share/man/man3/dhcpctl.3\r
-#usr/share/man/man3/omapi.3\r
-#usr/share/man/man3/omshell.3\r
-#usr/share/man/man5/dhclient.conf.5\r
-#usr/share/man/man5/dhclient.leases.5\r
-#usr/share/man/man5/dhcp-eval.5\r
-#usr/share/man/man5/dhcp-options.5\r
-#usr/share/man/man5/dhcpd.conf.5\r
-#usr/share/man/man5/dhcpd.leases.5\r
-#usr/share/man/man8/dhclient-script.8\r
-#usr/share/man/man8/dhclient.8\r
-#usr/share/man/man8/dhcpd.8\r
-#usr/share/man/man8/dhcrelay.8\r
-#var/state\r
-#var/state/dhcp\r
-var/state/dhcp/dhcpd.leases\r
-##\r
-## dhcpcd-1.3.22-pl4\r
-##\r
-#etc/dhcpc\r
-usr/sbin/dhcpcd\r
-#usr/share/man/man8/dhcpcd.8\r
-##\r
-## dnsmasq-2.22\r
-##\r
-usr/sbin/dnsmasq\r
-#usr/share/man/man8/dnsmasq.8\r
-##\r
-## dosfstools-2.11\r
-##\r
-#sbin/dosfsck\r
-#sbin/fsck.msdos\r
-#sbin/fsck.vfat\r
-#sbin/mkdosfs\r
-#sbin/mkfs.msdos\r
-#sbin/mkfs.vfat\r
-#usr/share/man/man8/dosfsck.8\r
-#usr/share/man/man8/fsck.msdos.8\r
-#usr/share/man/man8/fsck.vfat.8\r
-#usr/share/man/man8/mkdosfs.8\r
-#usr/share/man/man8/mkfs.msdos.8\r
-#usr/share/man/man8/mkfs.vfat.8\r
-##\r
-## eagle-usb-2.3.2\r
-##\r
-#etc/eagle-usb\r
-etc/eagle-usb/CMVeiWO.txt\r
-etc/eagle-usb/CMVepES.txt\r
-etc/eagle-usb/CMVepES03.txt\r
-etc/eagle-usb/CMVepFR.txt\r
-etc/eagle-usb/CMVepFR04.txt\r
-etc/eagle-usb/CMVepFR10.txt\r
-etc/eagle-usb/CMVepIT.txt\r
-etc/eagle-usb/CMVepWO.txt\r
-#etc/eagle-usb/eagle-usb.conf.template\r
-#lib/modules/2.4.31/misc\r
-lib/modules/2.4.31/misc/eagle-usb.o.gz\r
-usr/sbin/eaglectrl\r
-usr/sbin/eaglestat\r
-usr/sbin/pppoa\r
-#usr/share/eagle-usb\r
-#usr/share/eagle-usb/dsp\r
-usr/share/eagle-usb/dsp/dsp_code_isdn.bin\r
-usr/share/eagle-usb/dsp/dsp_code_pots.bin\r
-##\r
-## eagle-usb-2.3.2-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc\r
-lib/modules/2.4.31-smp/misc/eagle-usb.o.gz\r
-##\r
-## eciadsl-usermode-0.11\r
-##\r
-#etc/eciadsl\r
-etc/eciadsl/eciadsl.conf\r
-etc/eciadsl/firmware00.bin\r
-etc/eciadsl/modems.db\r
-usr/sbin/eciadsl-firmware\r
-usr/sbin/eciadsl-pppoeci\r
-usr/sbin/eciadsl-synch\r
-##\r
-## ethtool-3\r
-##\r
-usr/sbin/ethtool\r
-#usr/share/man/man8/ethtool.8\r
-##\r
-## ez-ipupdate-3.0.11b8\r
-##\r
-usr/bin/ez-ipupdate\r
-##\r
-## fcdsl-suse8.1-03.11.02\r
-##\r
-#etc/fcdsl/fcdsl.conf\r
-#usr/lib/isdn/fdslbase.bin\r
-#lib/modules/2.4.31/misc/fcdsl.o.gz\r
-##\r
-## fcdsl2-suse8.1-03.11.03\r
-##\r
-#etc/fcdsl/fcdsl2.conf\r
-#usr/lib/isdn/fds2base.bin\r
-#lib/modules/2.4.31/misc/fcdsl2.o.gz\r
-##\r
-## fcdslsl-suse8.1-03.11.02\r
-##\r
-#etc/fcdsl/fcdslsl.conf\r
-#usr/lib/isdn/fdssbase.bin\r
-#lib/modules/2.4.31/misc/fcdslsl.o.gz\r
-##\r
-## fcdslusb-suse8.1-03.11.02\r
-##\r
-#etc/fcdsl/fcdslusb.conf\r
-#usr/lib/isdn/fdsubase.frm\r
-#lib/modules/2.4.31/misc/fcdslusb.o.gz\r
-##\r
-## fcdslslusb-suse8.1-03.11.04\r
-##\r
-#etc/fcdsl/fcdslslusb.conf\r
-#usr/lib/isdn/fdlubase.frm\r
-#lib/modules/2.4.31/misc/fcdslslusb.o.gz\r
-##\r
-## fcdsl-suse8.1-03.11.02-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc/fcdsl.o.gz\r
-##\r
-## fcdsl2-suse8.1-03.11.03-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc/fcdsl2.o.gz\r
-##\r
-## fcdslsl-suse8.1-03.11.02-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc/fcdslsl.o.gz\r
-##\r
-## fcdslusb-suse8.1-03.11.02-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc/fcdslusb.o.gz\r
-##\r
-## fcdslslusb-suse8.1-03.11.04-smp\r
-##\r
-#lib/modules/2.4.31-smp/misc/fcdslslusb.o.gz\r
-##\r
-## fcron-2.0.2\r
-##\r
-etc/fcron.allow\r
-etc/fcron.conf\r
-etc/fcron.deny\r
-usr/bin/fcronsighup\r
-usr/bin/fcrontab\r
-usr/sbin/fcron\r
-#usr/share/doc/fcron-2.0.1\r
-#usr/share/doc/fcron-2.0.1/fcron.conf.5.html\r
-#usr/share/doc/fcron-2.0.1/LICENSE\r
-#usr/share/doc/fcron-2.0.1/README\r
-#usr/share/doc/fcron-2.0.1/fcron.8.html\r
-#usr/share/doc/fcron-2.0.1/CHANGES\r
-#usr/share/doc/fcron-2.0.1/fcrontab.1.html\r
-#usr/share/doc/fcron-2.0.1/fcrontab.5.html\r
-#usr/share/man/man1/fcrontab.1\r
-#usr/share/man/man3/bitstring.3\r
-#usr/share/man/man5/fcrontab.5\r
-#usr/share/man/man5/fcron.conf.5\r
-#usr/share/man/man8/fcron.8\r
-var/spool/cron/root.orig\r
-var/spool/cron/new.root\r
-##\r
-## GD-2.12\r
-##\r
-#usr/lib/perl5/5.8.5/i386-linux/perllocal.pod\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/GD\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/GD.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/GD/Polyline.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/GD.bs\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/GD.so\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/autosplit.ix\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/qd.pl\r
-#usr/share/man/man3/GD.3\r
-#usr/share/man/man3/GD::Polyline.3\r
-##\r
-## gnupg-1.4.2\r
-##\r
-#root/.gnupg\r
-root/.gnupg/gpg.conf\r
-root/.gnupg/pubring.gpg\r
-#root/.gnupg/pubring.gpg~\r
-root/.gnupg/secring.gpg\r
-root/.gnupg/trustdb.gpg\r
-usr/bin/gpg\r
-#usr/bin/gpgsplit\r
-#usr/bin/gpgv\r
-#usr/libexec/gnupg\r
-#usr/share/gnupg\r
-#usr/share/gnupg/FAQ\r
-#usr/share/gnupg/faq.html\r
-#usr/share/gnupg/options.skel\r
-#usr/share/info/gpg.info\r
-#usr/share/info/gpgv.info\r
-#usr/share/man/man1/gpg.1\r
-#usr/share/man/man1/gpgv.1\r
-#usr/share/man/man7/gnupg.7\r
-##\r
-## hdparm-6.3\r
-##\r
-sbin/hdparm\r
-#usr/share/man/man8/hdparm.8\r
-##\r
-## ibod\r
-##\r
-etc/ppp/ibod.cf\r
-usr/sbin/ibod\r
-##\r
-## initscripts\r
-##\r
-#etc/rc.d\r
-#etc/rc.d/helper\r
-etc/rc.d/helper/getdnsfromdhcpc.pl\r
-etc/rc.d/helper/writeipac.pl\r
-etc/rc.d/rc.3cp4218usbadsl\r
-etc/rc.d/rc.alcatelusb\r
-etc/rc.d/rc.alcatelusbk\r
-etc/rc.d/rc.amedynusbadsl\r
-etc/rc.d/rc.bewanadsl\r
-etc/rc.d/rc.conexantusbadsl\r
-etc/rc.d/rc.conexantpciadsl\r
-etc/rc.d/rc.connectioncheck\r
-etc/rc.d/rc.eagleusbadsl\r
-etc/rc.d/rc.eciadsl\r
-etc/rc.d/rc.firewall\r
-etc/rc.d/rc.firewall.local\r
-etc/rc.d/rc.flash.down\r
-etc/rc.d/rc.flash.up\r
-etc/rc.d/rc.fritzdsl\r
-etc/rc.d/rc.halt\r
-etc/rc.d/rc.isdn\r
-etc/rc.d/rc.local\r
-etc/rc.d/rc.netaddress.down\r
-etc/rc.d/rc.netaddress.up\r
-etc/rc.d/rc.network\r
-etc/rc.d/rc.pulsardsl\r
-etc/rc.d/rc.red\r
-etc/rc.d/rc.sysinit\r
-etc/rc.d/rc.updatered\r
-##\r
-## iptables-1.3.4\r
-##\r
-#lib/iptables\r
-lib/iptables/libipt_CLASSIFY.so\r
-lib/iptables/libipt_CONNMARK.so\r
-lib/iptables/libipt_DNAT.so\r
-lib/iptables/libipt_DSCP.so\r
-lib/iptables/libipt_ECN.so\r
-lib/iptables/libipt_IPV4OPTSSTRIP.so\r
-lib/iptables/libipt_LOG.so\r
-lib/iptables/libipt_MARK.so\r
-lib/iptables/libipt_MASQUERADE.so\r
-lib/iptables/libipt_MIRROR.so\r
-lib/iptables/libipt_NETLINK.so\r
-lib/iptables/libipt_NETMAP.so\r
-lib/iptables/libipt_NFQUEUE.so\r
-lib/iptables/libipt_NOTRACK.so\r
-lib/iptables/libipt_POOL.so\r
-lib/iptables/libipt_REDIRECT.so\r
-lib/iptables/libipt_REJECT.so\r
-lib/iptables/libipt_SAME.so\r
-lib/iptables/libipt_SET.so\r
-lib/iptables/libipt_SNAT.so\r
-lib/iptables/libipt_TARPIT.so\r
-lib/iptables/libipt_TCPMSS.so\r
-lib/iptables/libipt_TOS.so\r
-lib/iptables/libipt_TRACE.so\r
-lib/iptables/libipt_TTL.so\r
-lib/iptables/libipt_ULOG.so\r
-lib/iptables/libipt_addrtype.so\r
-lib/iptables/libipt_ah.so\r
-lib/iptables/libipt_comment.so\r
-lib/iptables/libipt_connlimit.so\r
-lib/iptables/libipt_connmark.so\r
-lib/iptables/libipt_conntrack.so\r
-lib/iptables/libipt_dscp.so\r
-lib/iptables/libipt_dstlimit.so\r
-lib/iptables/libipt_ecn.so\r
-lib/iptables/libipt_esp.so\r
-lib/iptables/libipt_fuzzy.so\r
-lib/iptables/libipt_hashlimit.so\r
-lib/iptables/libipt_helper.so\r
-lib/iptables/libipt_icmp.so\r
-lib/iptables/libipt_iprange.so\r
-lib/iptables/libipt_ipv4options.so\r
-lib/iptables/libipt_length.so\r
-lib/iptables/libipt_limit.so\r
-lib/iptables/libipt_mac.so\r
-lib/iptables/libipt_mark.so\r
-lib/iptables/libipt_mport.so\r
-lib/iptables/libipt_multiport.so\r
-lib/iptables/libipt_nth.so\r
-lib/iptables/libipt_osf.so\r
-lib/iptables/libipt_owner.so\r
-lib/iptables/libipt_physdev.so\r
-lib/iptables/libipt_pkttype.so\r
-lib/iptables/libipt_pool.so\r
-lib/iptables/libipt_psd.so\r
-lib/iptables/libipt_quota.so\r
-lib/iptables/libipt_random.so\r
-lib/iptables/libipt_realm.so\r
-lib/iptables/libipt_recent.so\r
-lib/iptables/libipt_rpc.so\r
-lib/iptables/libipt_sctp.so\r
-lib/iptables/libipt_set.so\r
-lib/iptables/libipt_standard.so\r
-lib/iptables/libipt_state.so\r
-lib/iptables/libipt_string.so\r
-lib/iptables/libipt_tcp.so\r
-lib/iptables/libipt_tcpmss.so\r
-lib/iptables/libipt_time.so\r
-lib/iptables/libipt_tos.so\r
-lib/iptables/libipt_ttl.so\r
-lib/iptables/libipt_u32.so\r
-lib/iptables/libipt_udp.so\r
-lib/iptables/libipt_unclean.so\r
-sbin/iptables\r
-#sbin/iptables-restore\r
-#sbin/iptables-save\r
-#usr/share/man/man8/iptables-restore.8\r
-#usr/share/man/man8/iptables-save.8\r
-#usr/share/man/man8/iptables.8\r
-##\r
-## ipac-ng-1.31\r
-##\r
-bin/mail\r
-#etc/ipac-ng\r
-etc/ipac-ng/ipac.conf\r
-etc/ipac-ng/rules.conf\r
-usr/sbin/fetchipac\r
-#usr/sbin/ipac-convert\r
-usr/sbin/ipacsum\r
-#usr/share/man/man8/fetchipac.8\r
-#usr/share/man/man8/ipac-convert.8\r
-#usr/share/man/man8/ipacsum.8\r
-var/log/ip-acct\r
-##\r
-## ipaddr-1.2\r
-##\r
-#usr/lib/python2.3/ipaddr.py\r
-usr/lib/python2.3/ipaddr.pyc\r
-##\r
-## iproute2-2.4.7-now-ss010824\r
-##\r
-sbin/ip\r
-sbin/rtmon\r
-sbin/tc\r
-##\r
-## isapnptools-1.26\r
-##\r
-#usr/include/isapnp\r
-#usr/include/isapnp/callbacks.h\r
-#usr/include/isapnp/errcodes.h\r
-#usr/include/isapnp/errenum.h\r
-#usr/include/isapnp/iopl.h\r
-#usr/include/isapnp/mysnprtf.h\r
-#usr/include/isapnp/pnp-access.h\r
-#usr/include/isapnp/pnp.h\r
-#usr/include/isapnp/realtime.h\r
-#usr/include/isapnp/release.h\r
-#usr/include/isapnp/res-access.h\r
-#usr/include/isapnp/resource.h\r
-#usr/lib/libisapnp.a\r
-usr/sbin/isapnp\r
-#usr/sbin/pnpdump\r
-#usr/share/man/man5/isapnp.conf.5\r
-#usr/share/man/man8/isapnp.8\r
-#usr/share/man/man8/pnpdump.8\r
-##\r
-## isdn4k-utils.v3.2p1\r
-##\r
-#usr/lib/isdn/ISAR.BIN\r
-#usr/lib/isdn/dnload.bin\r
-#usr/lib/isdn/ds4bri.bit\r
-#usr/lib/isdn/dspdload.bin\r
-#usr/lib/isdn/loadpg.bin\r
-#usr/lib/isdn/pc_1t_ca.bin\r
-#usr/lib/isdn/pc_eu_ca.bin\r
-#usr/lib/isdn/prload.bin\r
-#usr/lib/isdn/te_dmlt.pm\r
-#usr/lib/isdn/te_etsi.p\r
-#usr/lib/isdn/te_etsi.qm0\r
-#usr/lib/isdn/te_etsi.qm1\r
-#usr/lib/isdn/te_etsi.qm2\r
-#usr/lib/isdn/te_etsi.qm3\r
-#usr/lib/isdn/te_etsi.sm\r
-#usr/lib/isdn/te_etsi.sq\r
-#usr/lib/isdn/te_etsi.sx\r
-#usr/lib/isdn/te_etsi.sy\r
-#usr/sbin/divaload\r
-#usr/sbin/divalog\r
-#usr/sbin/divalogd\r
-#usr/sbin/eiconctrl\r
-#usr/sbin/hisaxctrl\r
-#usr/sbin/icnctrl\r
-usr/sbin/ipppd\r
-usr/sbin/isdnctrl\r
-#usr/sbin/pcbitctl\r
-#usr/share/man/man4/isdn_audio.4\r
-#usr/share/man/man4/isdnctrl.4\r
-#usr/share/man/man4/isdninfo.4\r
-#usr/share/man/man4/ttyI.4\r
-#usr/share/man/man7/isdn_cause.7\r
-#usr/share/man/man8/.isdnctrl_conf.8\r
-#usr/share/man/man8/eiconctrl.8\r
-#usr/share/man/man8/hisaxctrl.8\r
-#usr/share/man/man8/icnctrl.8\r
-#usr/share/man/man8/ipppd.8\r
-#usr/share/man/man8/isdnctrl.8\r
-#usr/share/man/man8/pcbitctl.8\r
-##\r
-## kudzu-0.99.50\r
-##\r
-#etc/rc.d/init.d\r
-#etc/rc.d/init.d/kudzu\r
-#etc/sysconfig\r
-#etc/sysconfig/kudzu\r
-etc/updfstab.conf\r
-etc/updfstab.conf.default\r
-#usr/include/kudzu\r
-#usr/include/kudzu/ddc.h\r
-#usr/include/kudzu/device.h\r
-#usr/include/kudzu/ide.h\r
-#usr/include/kudzu/isapnp.h\r
-#usr/include/kudzu/keyboard.h\r
-#usr/include/kudzu/kudzu.h\r
-#usr/include/kudzu/misc.h\r
-#usr/include/kudzu/modules.h\r
-#usr/include/kudzu/parallel.h\r
-#usr/include/kudzu/pci.h\r
-#usr/include/kudzu/psaux.h\r
-#usr/include/kudzu/sbus.h\r
-#usr/include/kudzu/scsi.h\r
-#usr/include/kudzu/serial.h\r
-#usr/include/kudzu/usb.h\r
-#usr/lib/libkudzu.a\r
-#usr/lib/libkudzu_loader.a\r
-usr/lib/python2.3/site-packages/_kudzumodule.so\r
-#usr/lib/python2.3/site-packages/kudzu.py\r
-usr/lib/python2.3/site-packages/kudzu.pyc\r
-#usr/sbin/kudzu\r
-#usr/sbin/module_upgrade\r
-usr/sbin/updfstab\r
-#usr/share/locale/bs\r
-#usr/share/locale/bs/LC_MESSAGES\r
-#usr/share/locale/bs/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/cs/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/da/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/de/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/es/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/eu_ES\r
-#usr/share/locale/eu_ES/LC_MESSAGES\r
-#usr/share/locale/eu_ES/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/fi/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/fr/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/gl/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/hu/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/id\r
-#usr/share/locale/id/LC_MESSAGES\r
-#usr/share/locale/id/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/is\r
-#usr/share/locale/is/LC_MESSAGES\r
-#usr/share/locale/is/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/it/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/ja/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/ko/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/nn\r
-#usr/share/locale/nn/LC_MESSAGES\r
-#usr/share/locale/nn/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/no/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/pl/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/pt\r
-#usr/share/locale/pt/LC_MESSAGES\r
-#usr/share/locale/pt/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/pt_BR/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/ro\r
-#usr/share/locale/ro/LC_MESSAGES\r
-#usr/share/locale/ro/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/ru\r
-#usr/share/locale/ru/LC_MESSAGES\r
-#usr/share/locale/ru/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/sk/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/sl/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/sr\r
-#usr/share/locale/sr/LC_MESSAGES\r
-#usr/share/locale/sr/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/sv/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/tr/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/uk\r
-#usr/share/locale/uk/LC_MESSAGES\r
-#usr/share/locale/uk/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/wa\r
-#usr/share/locale/wa/LC_MESSAGES\r
-#usr/share/locale/wa/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/zh\r
-#usr/share/locale/zh/LC_MESSAGES\r
-#usr/share/locale/zh/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/zh_CN.GB2312\r
-#usr/share/locale/zh_CN.GB2312/LC_MESSAGES\r
-#usr/share/locale/zh_CN.GB2312/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/zh_TW.Big5\r
-#usr/share/locale/zh_TW.Big5/LC_MESSAGES\r
-#usr/share/locale/zh_TW.Big5/LC_MESSAGES/kudzu.mo\r
-#usr/share/locale/zh_TW/LC_MESSAGES/kudzu.mo\r
-#usr/share/man/man8/kudzu.8\r
-#usr/share/man/man8/module_upgrade.8\r
-#usr/share/man/man8/updfstab.8\r
-##\r
-## logrotate-3.7\r
-##\r
-usr/sbin/logrotate\r
-#usr/share/man/man8/logrotate.8\r
-var/lib/logrotate.status\r
-##\r
-## logwatch-6.1.2\r
-##\r
-#etc/log.d\r
-#etc/log.d/conf\r
-etc/log.d/conf/ignore.conf\r
-#etc/log.d/conf/logfiles\r
-etc/log.d/conf/logfiles/http.conf\r
-etc/log.d/conf/logfiles/messages.conf\r
-etc/log.d/conf/logfiles/secure.conf\r
-etc/log.d/conf/logwatch.conf\r
-#etc/log.d/conf/services\r
-etc/log.d/conf/services/dhcpd.conf\r
-etc/log.d/conf/services/http.conf\r
-etc/log.d/conf/services/init.conf\r
-etc/log.d/conf/services/kernel.conf\r
-etc/log.d/conf/services/modprobe.conf\r
-#etc/log.d/conf/services/openvpn.conf\r
-#etc/log.d/conf/services/pam_unix.conf\r
-etc/log.d/conf/services/pluto.conf\r
-etc/log.d/conf/services/raid.conf\r
-etc/log.d/conf/services/scsi.conf\r
-etc/log.d/conf/services/secure.conf\r
-etc/log.d/conf/services/sshd.conf\r
-#etc/log.d/conf/services/sshd2.conf\r
-etc/log.d/conf/services/syslogd.conf\r
-etc/log.d/conf/services/xntpd.conf\r
-etc/log.d/conf/services/zz-disk_space.conf\r
-#etc/log.d/conf/services/zz-network.conf\r
-#etc/log.d/lib\r
-etc/log.d/lib/Logwatch.pm\r
-#etc/log.d/scripts\r
-etc/log.d/scripts/logwatch.pl\r
-#etc/log.d/scripts/services\r
-etc/log.d/scripts/services/dhcpd\r
-etc/log.d/scripts/services/http\r
-etc/log.d/scripts/services/init\r
-etc/log.d/scripts/services/kernel\r
-etc/log.d/scripts/services/modprobe\r
-#etc/log.d/scripts/services/openvpn\r
-#etc/log.d/scripts/services/pam_unix\r
-etc/log.d/scripts/services/pluto\r
-etc/log.d/scripts/services/raid\r
-etc/log.d/scripts/services/scsi\r
-etc/log.d/scripts/services/secure\r
-etc/log.d/scripts/services/sshd\r
-#etc/log.d/scripts/services/sshd2\r
-etc/log.d/scripts/services/syslogd\r
-etc/log.d/scripts/services/xntpd\r
-etc/log.d/scripts/services/zz-disk_space\r
-#etc/log.d/scripts/services/zz-network\r
-#etc/log.d/scripts/shared\r
-etc/log.d/scripts/shared/applyhttpdate\r
-etc/log.d/scripts/shared/applystddate\r
-etc/log.d/scripts/shared/applyusdate\r
-etc/log.d/scripts/shared/expandrepeats\r
-etc/log.d/scripts/shared/hosthash\r
-etc/log.d/scripts/shared/hostlist\r
-etc/log.d/scripts/shared/multiservice\r
-etc/log.d/scripts/shared/onlycontains\r
-etc/log.d/scripts/shared/onlyhost\r
-etc/log.d/scripts/shared/onlyservice\r
-etc/log.d/scripts/shared/remove\r
-etc/log.d/scripts/shared/removeheaders\r
-etc/log.d/scripts/shared/removeservice\r
-#usr/share/man/man8/logwatch.8\r
-var/log/logwatch\r
-##\r
-## mingetty-1.06\r
-##\r
-#usr/share/man/man8/mingetty.8\r
-sbin/mingetty\r
-##\r
-## misc-progs\r
-##\r
-usr/local/bin/installfcdsl\r
-usr/local/bin/installpackage\r
-usr/local/bin/iowrap\r
-usr/local/bin/ipcopbackup\r
-usr/local/bin/ipcopbkcfg\r
-usr/local/bin/ipcopreboot\r
-usr/local/bin/ipcoprscfg\r
-usr/local/bin/ipsecctrl\r
-usr/local/bin/logwatch\r
-usr/local/bin/rebuildhosts\r
-usr/local/bin/restartdhcp\r
-usr/local/bin/restartntpd\r
-usr/local/bin/restartshaping\r
-usr/local/bin/restartsnort\r
-usr/local/bin/restartsquid\r
-usr/local/bin/restartssh\r
-usr/local/bin/restartsyslogd\r
-usr/local/bin/restartwireless\r
-usr/local/bin/setaliases\r
-usr/local/bin/setdate\r
-usr/local/bin/setdmzholes\r
-usr/local/bin/setfilters\r
-usr/local/bin/setportfw\r
-usr/local/bin/setxtaccess\r
-##\r
-## mtools-3.9.9\r
-##\r
-#usr/bin/lz\r
-#usr/bin/mattrib\r
-#usr/bin/mbadblocks\r
-#usr/bin/mcat\r
-#usr/bin/mcd\r
-#usr/bin/mcheck\r
-#usr/bin/mcomp\r
-#usr/bin/mcopy\r
-#usr/bin/mdel\r
-#usr/bin/mdeltree\r
-#usr/bin/mdir\r
-#usr/bin/mdu\r
-#usr/bin/mformat\r
-#usr/bin/minfo\r
-#usr/bin/mkmanifest\r
-#usr/bin/mlabel\r
-#usr/bin/mmd\r
-#usr/bin/mmount\r
-#usr/bin/mmove\r
-#usr/bin/mpartition\r
-#usr/bin/mrd\r
-#usr/bin/mren\r
-#usr/bin/mshowfat\r
-#usr/bin/mtools\r
-#usr/bin/mtoolstest\r
-#usr/bin/mtype\r
-#usr/bin/mxtar\r
-#usr/bin/mzip\r
-#usr/bin/tgz\r
-#usr/bin/uz\r
-#usr/share/info/mtools.info\r
-#usr/share/man/man1/floppyd.1\r
-#usr/share/man/man1/floppyd_installtest.1\r
-#usr/share/man/man1/mattrib.1\r
-#usr/share/man/man1/mbadblocks.1\r
-#usr/share/man/man1/mcat.1\r
-#usr/share/man/man1/mcd.1\r
-#usr/share/man/man1/mcopy.1\r
-#usr/share/man/man1/mdel.1\r
-#usr/share/man/man1/mdeltree.1\r
-#usr/share/man/man1/mdir.1\r
-#usr/share/man/man1/mdu.1\r
-#usr/share/man/man1/mformat.1\r
-#usr/share/man/man1/minfo.1\r
-#usr/share/man/man1/mkmanifest.1\r
-#usr/share/man/man1/mlabel.1\r
-#usr/share/man/man1/mmd.1\r
-#usr/share/man/man1/mmount.1\r
-#usr/share/man/man1/mmove.1\r
-#usr/share/man/man1/mpartition.1\r
-#usr/share/man/man1/mrd.1\r
-#usr/share/man/man1/mren.1\r
-#usr/share/man/man1/mshowfat.1\r
-#usr/share/man/man1/mtools.1\r
-#usr/share/man/man1/mtoolstest.1\r
-#usr/share/man/man1/mtype.1\r
-#usr/share/man/man1/mzip.1\r
-#usr/share/man/man5/mtools.5\r
-##\r
-## nano-1.2.2\r
-##\r
-usr/bin/nano\r
-usr/bin/pico\r
-#usr/share/info/nano.info\r
-#usr/share/man/man1/nano.1\r
-#usr/share/man/man5/nanorc.5\r
-##\r
-## nash\r
-##\r
-sbin/mkinitrd\r
-sbin/nash\r
-##\r
-## nasm-0.98.36\r
-##\r
-#usr/bin/nasm\r
-#usr/bin/ndisasm\r
-#usr/share/man/man1/nasm.1\r
-#usr/share/man/man1/ndisasm.1\r
-##\r
-## Net-DNS-0.47\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/A.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/EID.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NIMLOC.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MB.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MG.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MR.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MX.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NS.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/PX.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/RP.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/RT.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/LOC.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MINFO.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/HINFO.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/OPT.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/PTR.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/SOA.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/SRV.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TXT.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/X25.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/DNAME.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TKEY.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/AAAA.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TSIG.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NSAP.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NULL.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/AFSDB.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NAPTR.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/CNAME.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/Unknown.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/CERT.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/ISDN.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Nameserver.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/FAQ.pod\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Update.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Packet.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Question.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Header.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Base.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Cygwin.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Recurse.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Win32.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/UNIX.pm\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/DNS.bs\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/DNS.so\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/.packlist\r
-#usr/share/man/man3/Net::DNS::Nameserver.3\r
-#usr/share/man/man3/Net::DNS::RR::AFSDB.3\r
-#usr/share/man/man3/Net::DNS::RR::HINFO.3\r
-#usr/share/man/man3/Net::DNS::Resolver::Cygwin.3\r
-#usr/share/man/man3/Net::DNS::Resolver::Win32.3\r
-#usr/share/man/man3/Net::DNS::Packet.3\r
-#usr/share/man/man3/Net::DNS::RR::NIMLOC.3\r
-#usr/share/man/man3/Net::DNS::RR::CNAME.3\r
-#usr/share/man/man3/Net::DNS::Resolver.3\r
-#usr/share/man/man3/Net::DNS::Update.3\r
-#usr/share/man/man3/Net::DNS::RR::DNAME.3\r
-#usr/share/man/man3/Net::DNS::Question.3\r
-#usr/share/man/man3/Net::DNS::RR::A.3\r
-#usr/share/man/man3/Net::DNS::RR::MB.3\r
-#usr/share/man/man3/Net::DNS::RR::MG.3\r
-#usr/share/man/man3/Net::DNS::RR::MR.3\r
-#usr/share/man/man3/Net::DNS::RR::MX.3\r
-#usr/share/man/man3/Net::DNS::RR::NS.3\r
-#usr/share/man/man3/Net::DNS::RR::PX.3\r
-#usr/share/man/man3/Net::DNS::RR::RP.3\r
-#usr/share/man/man3/Net::DNS::RR::RT.3\r
-#usr/share/man/man3/Net::DNS::RR::AAAA.3\r
-#usr/share/man/man3/Net::DNS::Resolver::Base.3\r
-#usr/share/man/man3/Net::DNS::RR::Unknown.3\r
-#usr/share/man/man3/Net::DNS::RR::CERT.3\r
-#usr/share/man/man3/Net::DNS::Resolver::Recurse.3\r
-#usr/share/man/man3/Net::DNS::RR::MINFO.3\r
-#usr/share/man/man3/Net::DNS::RR.3\r
-#usr/share/man/man3/Net::DNS::RR::NAPTR.3\r
-#usr/share/man/man3/Net::DNS::RR::ISDN.3\r
-#usr/share/man/man3/Net::DNS::RR::EID.3\r
-#usr/share/man/man3/Net::DNS::RR::LOC.3\r
-#usr/share/man/man3/Net::DNS::RR::OPT.3\r
-#usr/share/man/man3/Net::DNS::RR::PTR.3\r
-#usr/share/man/man3/Net::DNS::RR::SOA.3\r
-#usr/share/man/man3/Net::DNS::RR::SRV.3\r
-#usr/share/man/man3/Net::DNS::RR::TXT.3\r
-#usr/share/man/man3/Net::DNS::RR::X25.3\r
-#usr/share/man/man3/Net::DNS::RR::NSAP.3\r
-#usr/share/man/man3/Net::DNS::FAQ.3\r
-#usr/share/man/man3/Net::DNS::RR::NULL.3\r
-#usr/share/man/man3/Net::DNS.3\r
-#usr/share/man/man3/Net::DNS::Resolver::UNIX.3\r
-#usr/share/man/man3/Net::DNS::RR::TKEY.3\r
-#usr/share/man/man3/Net::DNS::Header.3\r
-#usr/share/man/man3/Net::DNS::RR::TSIG.3\r
-##\r
-## Net-IPv4Addr-0.10\r
-##\r
-#usr/bin/ipv4calc\r
-usr/lib/perl5/site_perl/5.8.5/Net/IPv4Addr.pm\r
-#usr/lib/perl5/site_perl/5.8.5/auto\r
-#usr/lib/perl5/site_perl/5.8.5/auto/Net\r
-#usr/lib/perl5/site_perl/5.8.5/auto/Net/IPv4Addr\r
-#usr/lib/perl5/site_perl/5.8.5/auto/Net/IPv4Addr/autosplit.ix\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/IPv4Addr\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/IPv4Addr/.packlist\r
-#usr/share/man/man1/ipv4calc.1\r
-#usr/share/man/man3/Net::IPv4Addr.3\r
-##\r
-## noip_updater_v1.6\r
-##\r
-usr/bin/noip\r
-##\r
-## ntp-4.2.0\r
-##\r
-etc/ntp\r
-etc/ntp.conf\r
-#usr/bin/ntp-keygen\r
-#usr/bin/ntp-wait\r
-usr/bin/ntpd\r
-usr/bin/ntpdate\r
-#usr/bin/ntpdc\r
-#usr/bin/ntpq\r
-#usr/bin/ntptime\r
-#usr/bin/ntptrace\r
-#usr/bin/tickadj\r
-##\r
-## oinkmaster-1.2\r
-##\r
-usr/local/bin/oinkmaster.pl\r
-var/ipfire/snort/oinkmaster.conf\r
-##\r
-## openssh-3.9.p1\r
-##\r
-#etc/ssh\r
-etc/ssh/ssh_config\r
-etc/ssh/sshd_config\r
-etc/ssh/moduli\r
-#etc/ssh/ssh_host_key\r
-#etc/ssh/ssh_host_key.pub\r
-#etc/ssh/ssh_host_dsa_key\r
-#etc/ssh/ssh_host_dsa_key.pub\r
-#etc/ssh/ssh_host_rsa_key\r
-#etc/ssh/ssh_host_rsa_key.pub\r
-#usr/bin/ssh\r
-usr/bin/scp\r
-#usr/bin/ssh-add\r
-#usr/bin/ssh-agent\r
-usr/bin/ssh-keygen\r
-#usr/bin/ssh-keyscan\r
-#usr/bin/sftp\r
-#usr/bin/slogin\r
-usr/sbin/sshd\r
-#usr/share/man/man1/ssh.1\r
-#usr/share/man/man1/scp.1\r
-#usr/share/man/man1/ssh-add.1\r
-#usr/share/man/man1/ssh-agent.1\r
-#usr/share/man/man1/ssh-keygen.1\r
-#usr/share/man/man1/ssh-keyscan.1\r
-#usr/share/man/man1/sftp.1\r
-#usr/share/man/man1/slogin.1\r
-#usr/share/man/man5/sshd_config.5\r
-#usr/share/man/man5/ssh_config.5\r
-#usr/share/man/man8/sshd.8\r
-#usr/share/man/man8/sftp-server.8\r
-#usr/share/man/man8/ssh-keysign.8\r
-#usr/share/Ssh.bin\r
-#usr/libexec/ssh-keysign\r
-usr/libexec/sftp-server\r
-var/empty\r
-##\r
-## openswan-1.0.10rc2\r
-##\r
-etc/ipsec.conf\r
-etc/ipsec.secrets\r
-etc/ipsec.d\r
-#etc/ipsec.d/cacerts\r
-#etc/ipsec.d/certs\r
-#etc/ipsec.d/crls\r
-#etc/ipsec.d/private\r
-etc/rc.d/ipsec\r
-#etc/rc.d/rc0.d/K68ipsec\r
-#etc/rc.d/rc1.d/K68ipsec\r
-#etc/rc.d/rc2.d/S47ipsec\r
-#etc/rc.d/rc3.d/S47ipsec\r
-#etc/rc.d/rc4.d/S47ipsec\r
-#etc/rc.d/rc5.d/S47ipsec\r
-#etc/rc.d/rc6.d/K68ipsec\r
-usr/lib/ipsec\r
-#usr/lib/ipsec/_confread\r
-#usr/lib/ipsec/_copyright\r
-#usr/lib/ipsec/_include\r
-#usr/lib/ipsec/_keycensor\r
-#usr/lib/ipsec/_pluto_adns\r
-#usr/lib/ipsec/_plutoload\r
-#usr/lib/ipsec/_plutorun\r
-#usr/lib/ipsec/_realsetup\r
-#usr/lib/ipsec/_secretcensor\r
-#usr/lib/ipsec/_startklips\r
-#usr/lib/ipsec/_updown\r
-#usr/lib/ipsec/_updown.x509\r
-#usr/lib/ipsec/auto\r
-#usr/lib/ipsec/barf\r
-#usr/lib/ipsec/calcgoo\r
-#usr/lib/ipsec/eroute\r
-#usr/lib/ipsec/ikeping\r
-#usr/lib/ipsec/ipsec\r
-#usr/lib/ipsec/ipsec_pr.template\r
-#usr/lib/ipsec/klipsdebug\r
-#usr/lib/ipsec/look\r
-#usr/lib/ipsec/manual\r
-#usr/lib/ipsec/newhostkey\r
-#usr/lib/ipsec/pf_key\r
-#usr/lib/ipsec/pluto\r
-#usr/lib/ipsec/ranbits\r
-#usr/lib/ipsec/rsasigkey\r
-#usr/lib/ipsec/send-pr\r
-#usr/lib/ipsec/setup\r
-#usr/lib/ipsec/showdefaults\r
-#usr/lib/ipsec/showhostkey\r
-#usr/lib/ipsec/spi\r
-#usr/lib/ipsec/spigrp\r
-#usr/lib/ipsec/tncfg\r
-#usr/lib/ipsec/uml_netjig\r
-#usr/lib/ipsec/verify\r
-#usr/lib/ipsec/whack\r
-#usr/local/include/des.h\r
-#usr/local/lib/libdes.a\r
-#usr/local/man/man3\r
-#usr/local/man/man3/des_crypt.3\r
-usr/sbin/ipsec\r
-#usr/share/man/man3/ipsec_addrbytesof.3\r
-#usr/share/man/man3/ipsec_addrbytesptr.3\r
-#usr/share/man/man3/ipsec_addrcmp.3\r
-#usr/share/man/man3/ipsec_addrinsubnet.3\r
-#usr/share/man/man3/ipsec_addrlenof.3\r
-#usr/share/man/man3/ipsec_addrtoa.3\r
-#usr/share/man/man3/ipsec_addrtosubnet.3\r
-#usr/share/man/man3/ipsec_addrtot.3\r
-#usr/share/man/man3/ipsec_addrtypeof.3\r
-#usr/share/man/man3/ipsec_anyaddr.3\r
-#usr/share/man/man3/ipsec_atoaddr.3\r
-#usr/share/man/man3/ipsec_atoasr.3\r
-#usr/share/man/man3/ipsec_atosa.3\r
-#usr/share/man/man3/ipsec_atosubnet.3\r
-#usr/share/man/man3/ipsec_atoul.3\r
-#usr/share/man/man3/ipsec_bitstomask.3\r
-#usr/share/man/man3/ipsec_broadcastof.3\r
-#usr/share/man/man3/ipsec_copyright_notice.3\r
-#usr/share/man/man3/ipsec_datatot.3\r
-#usr/share/man/man3/ipsec_goodmask.3\r
-#usr/share/man/man3/ipsec_hostof.3\r
-#usr/share/man/man3/ipsec_initaddr.3\r
-#usr/share/man/man3/ipsec_initsaid.3\r
-#usr/share/man/man3/ipsec_initsubnet.3\r
-#usr/share/man/man3/ipsec_isanyaddr.3\r
-#usr/share/man/man3/ipsec_isloopbackaddr.3\r
-#usr/share/man/man3/ipsec_isunspecaddr.3\r
-#usr/share/man/man3/ipsec_keyblobtoid.3\r
-#usr/share/man/man3/ipsec_loopbackaddr.3\r
-#usr/share/man/man3/ipsec_maskof.3\r
-#usr/share/man/man3/ipsec_masktobits.3\r
-#usr/share/man/man3/ipsec_masktocount.3\r
-#usr/share/man/man3/ipsec_networkof.3\r
-#usr/share/man/man3/ipsec_optionsfrom.3\r
-#usr/share/man/man3/ipsec_portof.3\r
-#usr/share/man/man3/ipsec_prng.3\r
-#usr/share/man/man3/ipsec_prng_bytes.3\r
-#usr/share/man/man3/ipsec_prng_final.3\r
-#usr/share/man/man3/ipsec_prng_init.3\r
-#usr/share/man/man3/ipsec_rangetoa.3\r
-#usr/share/man/man3/ipsec_rangetosubnet.3\r
-#usr/share/man/man3/ipsec_sameaddr.3\r
-#usr/share/man/man3/ipsec_sameaddrtype.3\r
-#usr/share/man/man3/ipsec_samesaid.3\r
-#usr/share/man/man3/ipsec_samesubnet.3\r
-#usr/share/man/man3/ipsec_samesubnettype.3\r
-#usr/share/man/man3/ipsec_satoa.3\r
-#usr/share/man/man3/ipsec_satot.3\r
-#usr/share/man/man3/ipsec_setportof.3\r
-#usr/share/man/man3/ipsec_sockaddrlenof.3\r
-#usr/share/man/man3/ipsec_sockaddrof.3\r
-#usr/share/man/man3/ipsec_splitkeytoid.3\r
-#usr/share/man/man3/ipsec_subnetinsubnet.3\r
-#usr/share/man/man3/ipsec_subnetishost.3\r
-#usr/share/man/man3/ipsec_subnetof.3\r
-#usr/share/man/man3/ipsec_subnettoa.3\r
-#usr/share/man/man3/ipsec_subnettot.3\r
-#usr/share/man/man3/ipsec_subnettypeof.3\r
-#usr/share/man/man3/ipsec_tnatoaddr.3\r
-#usr/share/man/man3/ipsec_ttoaddr.3\r
-#usr/share/man/man3/ipsec_ttodata.3\r
-#usr/share/man/man3/ipsec_ttosa.3\r
-#usr/share/man/man3/ipsec_ttosubnet.3\r
-#usr/share/man/man3/ipsec_ttoul.3\r
-#usr/share/man/man3/ipsec_ultoa.3\r
-#usr/share/man/man3/ipsec_ultot.3\r
-#usr/share/man/man3/ipsec_unspecaddr.3\r
-#usr/share/man/man3/ipsec_version.3\r
-#usr/share/man/man3/ipsec_version_code.3\r
-#usr/share/man/man3/ipsec_version_string.3\r
-#usr/share/man/man5/ipsec.conf.5\r
-#usr/share/man/man5/ipsec.secrets.5\r
-#usr/share/man/man5/ipsec_eroute.5\r
-#usr/share/man/man5/ipsec_klipsdebug.5\r
-#usr/share/man/man5/ipsec_pf_key.5\r
-#usr/share/man/man5/ipsec_spi.5\r
-#usr/share/man/man5/ipsec_spigrp.5\r
-#usr/share/man/man5/ipsec_tncfg.5\r
-#usr/share/man/man5/ipsec_version.5\r
-#usr/share/man/man8/ipsec.8\r
-#usr/share/man/man8/ipsec_auto.8\r
-#usr/share/man/man8/ipsec_barf.8\r
-#usr/share/man/man8/ipsec_calcgoo.8\r
-#usr/share/man/man8/ipsec_eroute.8\r
-#usr/share/man/man8/ipsec_ikeping.8\r
-#usr/share/man/man8/ipsec_klipsdebug.8\r
-#usr/share/man/man8/ipsec_look.8\r
-#usr/share/man/man8/ipsec_manual.8\r
-#usr/share/man/man8/ipsec_newhostkey.8\r
-#usr/share/man/man8/ipsec_pf_key.8\r
-#usr/share/man/man8/ipsec_pluto.8\r
-#usr/share/man/man8/ipsec_ranbits.8\r
-#usr/share/man/man8/ipsec_rsasigkey.8\r
-#usr/share/man/man8/ipsec_send-pr.8\r
-#usr/share/man/man8/ipsec_setup.8\r
-#usr/share/man/man8/ipsec_showdefaults.8\r
-#usr/share/man/man8/ipsec_showhostkey.8\r
-#usr/share/man/man8/ipsec_spi.8\r
-#usr/share/man/man8/ipsec_spigrp.8\r
-#usr/share/man/man8/ipsec_tncfg.8\r
-#usr/share/man/man8/ipsec_verify.8\r
-#usr/share/man/man8/ipsec_whack.8\r
-##\r
-## ppp-2.4.2\r
-##\r
-etc/ppp/options\r
-etc/ppp/pap-secrets\r
-etc/ppp/chap-secrets\r
-etc/ppp/demonloginscript\r
-etc/ppp/dialer\r
-etc/ppp/ioptions\r
-etc/ppp/ip-down\r
-etc/ppp/ip-up\r
-etc/ppp/standardloginscript\r
-#usr/include/pppd\r
-#usr/include/pppd/ccp.h\r
-#usr/include/pppd/chap-new.h\r
-#usr/include/pppd/ecp.h\r
-#usr/include/pppd/fsm.h\r
-#usr/include/pppd/ipcp.h\r
-#usr/include/pppd/ipxcp.h\r
-#usr/include/pppd/lcp.h\r
-#usr/include/pppd/magic.h\r
-#usr/include/pppd/md5.h\r
-#usr/include/pppd/patchlevel.h\r
-#usr/include/pppd/pathnames.h\r
-#usr/include/pppd/pppd.h\r
-#usr/include/pppd/upap.h\r
-#usr/include/pppd/eap.h\r
-#usr/include/pppd/md4.h\r
-#usr/include/pppd/chap_ms.h\r
-#usr/include/pppd/sha1.h\r
-#usr/include/pppd/pppcrypt.h\r
-#usr/include/pppd/tdb.h\r
-usr/lib/pppd/2.4.2/minconn.so\r
-usr/lib/pppd/2.4.2/passprompt.so\r
-usr/lib/pppd/2.4.2/passwordfd.so\r
-usr/lib/pppd/2.4.2/pppoatm.so\r
-usr/lib/pppd/2.4.2/rp-pppoe.so\r
-usr/sbin/chat\r
-usr/sbin/pppd\r
-#usr/sbin/pppdump\r
-usr/sbin/pppstats\r
-#usr/share/man/man8/chat.8\r
-#usr/share/man/man8/pppd.8\r
-#usr/share/man/man8/pppstats.8\r
-#usr/share/man/man8/pppdump.8\r
-var/log/connect-errors\r
-##\r
-## pptp-1.6.0\r
-##\r
-#etc/ppp/options.pptp\r
-usr/sbin/pptp\r
-#usr/share/man/man8/pptp.8\r
-##\r
-## pulsar-4.0.19\r
-##\r
-lib/modules/2.4.31/misc/pulsar.o.gz\r
-##\r
-## pulsar-4.0.19-smp\r
-##\r
-lib/modules/2.4.31-smp/misc/pulsar.o.gz\r
-##\r
-## rp-pppoe-3.5\r
-##\r
-#etc/ppp/firewall-masq\r
-#etc/ppp/firewall-standalone\r
-#etc/ppp/plugins\r
-#etc/ppp/plugins/README\r
-#etc/ppp/pppoe-server-options\r
-#etc/ppp/pppoe.conf\r
-#usr/sbin/adsl-connect\r
-#usr/sbin/adsl-setup\r
-#usr/sbin/adsl-start\r
-#usr/sbin/adsl-status\r
-#usr/sbin/adsl-stop\r
-usr/sbin/pppoe\r
-#usr/sbin/pppoe-relay\r
-#usr/sbin/pppoe-server\r
-#usr/sbin/pppoe-sniff\r
-#usr/share/doc/rp-pppoe-3.5\r
-#usr/share/doc/rp-pppoe-3.5/CHANGES\r
-#usr/share/doc/rp-pppoe-3.5/HOW-TO-CONNECT\r
-#usr/share/doc/rp-pppoe-3.5/KERNEL-MODE-PPPOE\r
-#usr/share/doc/rp-pppoe-3.5/LICENSE\r
-#usr/share/doc/rp-pppoe-3.5/README\r
-#usr/share/doc/rp-pppoe-3.5/SERVPOET\r
-#usr/share/doc/rp-pppoe-3.5/pap-secrets\r
-#usr/share/man/man5/pppoe.conf.5\r
-#usr/share/man/man8/adsl-connect.8\r
-#usr/share/man/man8/adsl-setup.8\r
-#usr/share/man/man8/adsl-start.8\r
-#usr/share/man/man8/adsl-status.8\r
-#usr/share/man/man8/adsl-stop.8\r
-#usr/share/man/man8/pppoe-relay.8\r
-#usr/share/man/man8/pppoe-server.8\r
-#usr/share/man/man8/pppoe-sniff.8\r
-#usr/share/man/man8/pppoe.8\r
-##\r
-## rrdtool-1.0.49\r
-##\r
-home/httpd/html/graphs\r
-#usr/bin/rrdcgi\r
-#usr/bin/rrdtool\r
-#usr/bin/rrdupdate\r
-#usr/bin/trytime\r
-#usr/lib/librrd.la\r
-#usr/lib/librrd.a\r
-#usr/share/rrdtool-1.0.49\r
-#usr/share/rrdtool-1.0.49/include\r
-#usr/share/rrdtool-1.0.49/include/rrd.h\r
-#usr/share/rrdtool-1.0.49/doc\r
-#usr/share/rrdtool-1.0.49/doc/rrdtool.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdlast.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdcreate.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdupdate.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdtutorial.es.pod\r
-#usr/share/rrdtool-1.0.49/doc/cdeftutorial.pod\r
-#usr/share/rrdtool-1.0.49/doc/rpntutorial.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdgraph.pod\r
-#usr/share/rrdtool-1.0.49/doc/bin_dec_hex.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdfetch.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdrestore.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrddump.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdtune.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdresize.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdcgi.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdtutorial.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdinfo.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdxport.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrd-beginners.pod\r
-#usr/share/rrdtool-1.0.49/doc/rrdtool.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdlast.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdcreate.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdupdate.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdtutorial.es.txt\r
-#usr/share/rrdtool-1.0.49/doc/cdeftutorial.txt\r
-#usr/share/rrdtool-1.0.49/doc/rpntutorial.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdgraph.txt\r
-#usr/share/rrdtool-1.0.49/doc/bin_dec_hex.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdfetch.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdrestore.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrddump.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdtune.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdresize.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdcgi.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdtutorial.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdinfo.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrdxport.txt\r
-#usr/share/rrdtool-1.0.49/doc/rrd-beginners.txt\r
-#usr/share/rrdtool-1.0.49/doc/RRDs.txt\r
-#usr/share/rrdtool-1.0.49/doc/RRDp.txt\r
-#usr/share/rrdtool-1.0.49/html\r
-#usr/share/rrdtool-1.0.49/html/rrdtool.html\r
-#usr/share/rrdtool-1.0.49/html/rrdlast.html\r
-#usr/share/rrdtool-1.0.49/html/rrdcreate.html\r
-#usr/share/rrdtool-1.0.49/html/rrdupdate.html\r
-#usr/share/rrdtool-1.0.49/html/rrdtutorial.es.html\r
-#usr/share/rrdtool-1.0.49/html/cdeftutorial.html\r
-#usr/share/rrdtool-1.0.49/html/rpntutorial.html\r
-#usr/share/rrdtool-1.0.49/html/rrdgraph.html\r
-#usr/share/rrdtool-1.0.49/html/bin_dec_hex.html\r
-#usr/share/rrdtool-1.0.49/html/rrdfetch.html\r
-#usr/share/rrdtool-1.0.49/html/rrdrestore.html\r
-#usr/share/rrdtool-1.0.49/html/rrddump.html\r
-#usr/share/rrdtool-1.0.49/html/rrdtune.html\r
-#usr/share/rrdtool-1.0.49/html/rrdresize.html\r
-#usr/share/rrdtool-1.0.49/html/rrdcgi.html\r
-#usr/share/rrdtool-1.0.49/html/rrdtutorial.html\r
-#usr/share/rrdtool-1.0.49/html/rrdinfo.html\r
-#usr/share/rrdtool-1.0.49/html/rrdxport.html\r
-#usr/share/rrdtool-1.0.49/html/rrd-beginners.html\r
-#usr/share/rrdtool-1.0.49/html/RRDs.html\r
-#usr/share/rrdtool-1.0.49/html/RRDp.html\r
-#usr/share/rrdtool-1.0.49/man\r
-#usr/share/rrdtool-1.0.49/man/man1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdtool.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdlast.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdcreate.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdupdate.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdtutorial.es.1\r
-#usr/share/rrdtool-1.0.49/man/man1/cdeftutorial.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rpntutorial.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdgraph.1\r
-#usr/share/rrdtool-1.0.49/man/man1/bin_dec_hex.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdfetch.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdrestore.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrddump.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdtune.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdresize.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdcgi.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdtutorial.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdinfo.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrdxport.1\r
-#usr/share/rrdtool-1.0.49/man/man1/rrd-beginners.1\r
-#usr/share/rrdtool-1.0.49/man/man1/RRDs.1\r
-#usr/share/rrdtool-1.0.49/man/man1/RRDp.1\r
-#usr/share/rrdtool-1.0.49/examples\r
-#usr/share/rrdtool-1.0.49/examples/cgi-demo.cgi\r
-#usr/share/rrdtool-1.0.49/examples/piped-demo.pl\r
-#usr/share/rrdtool-1.0.49/examples/shared-demo.pl\r
-#usr/share/rrdtool-1.0.49/examples/stripes.pl\r
-#usr/share/rrdtool-1.0.49/examples/bigtops.pl\r
-#usr/share/rrdtool-1.0.49/examples/minmax.pl\r
-#usr/share/rrdtool-1.0.49/contrib\r
-#usr/share/rrdtool-1.0.49/contrib/trytime\r
-#usr/share/rrdtool-1.0.49/contrib/trytime/README\r
-#usr/share/rrdtool-1.0.49/contrib/trytime/trytime.c\r
-#usr/share/rrdtool-1.0.49/contrib/README\r
-#usr/share/rrdtool-1.0.49/lib\r
-#usr/share/rrdtool-1.0.49/lib/perl\r
-#usr/share/rrdtool-1.0.49/lib/perl/auto\r
-#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs\r
-#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs/RRDs.bs\r
-#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs/RRDs.so\r
-#usr/share/rrdtool-1.0.49/lib/perl/RRDp.pm\r
-#usr/share/rrdtool-1.0.49/lib/perl/RRDs.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDp\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDp/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/RRDs.so\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/RRDs.bs\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/.packlist\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/RRDs.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/ntmake.pl\r
-usr/lib/perl5/site_perl/5.8.5/RRDp.pm\r
-#usr/share/man/man3/RRDp.3\r
-#usr/share/man/man3/RRDs.3\r
-var/log/rrd\r
-##\r
-## setserial-2.17\r
-##\r
-bin/setserial\r
-#usr/share/man/man8/setserial.8\r
-##\r
-## setup\r
-##\r
-usr/local/sbin/setup\r
-##\r
-## snort-2.3.3\r
-##\r
-etc/snort\r
-#etc/snort/attack-responses.rules\r
-#etc/snort/backdoor.rules\r
-#etc/snort/bad-traffic.rules\r
-#etc/snort/chat.rules\r
-#etc/snort/classification.config\r
-#etc/snort/ddos.rules\r
-#etc/snort/deleted.rules\r
-#etc/snort/dns.rules\r
-#etc/snort/dos.rules\r
-#etc/snort/experimental.rules\r
-#etc/snort/exploit.rules\r
-#etc/snort/finger.rules\r
-#etc/snort/ftp.rules\r
-#etc/snort/icmp-info.rules\r
-#etc/snort/icmp.rules\r
-#etc/snort/imap.rules\r
-#etc/snort/info.rules\r
-#etc/snort/local.rules\r
-#etc/snort/misc.rules\r
-#etc/snort/multimedia.rules\r
-#etc/snort/mysql.rules\r
-#etc/snort/netbios.rules\r
-#etc/snort/nntp.rules\r
-#etc/snort/oracle.rules\r
-#etc/snort/other-ids.rules\r
-#etc/snort/p2p.rules\r
-#etc/snort/policy.rules\r
-#etc/snort/pop2.rules\r
-#etc/snort/pop3.rules\r
-#etc/snort/porn.rules\r
-#etc/snort/reference.config\r
-#etc/snort/rpc.rules\r
-#etc/snort/rservices.rules\r
-#etc/snort/scan.rules\r
-#etc/snort/shellcode.rules\r
-#etc/snort/smtp.rules\r
-#etc/snort/snmp.rules\r
-#etc/snort/snort.conf\r
-#etc/snort/sql.rules\r
-#etc/snort/telnet.rules\r
-#etc/snort/tftp.rules\r
-#etc/snort/virus.rules\r
-#etc/snort/unicode.map\r
-#etc/snort/web-attacks.rules\r
-#etc/snort/web-cgi.rules\r
-#etc/snort/web-client.rules\r
-#etc/snort/web-coldfusion.rules\r
-#etc/snort/web-frontpage.rules\r
-#etc/snort/web-iis.rules\r
-#etc/snort/web-misc.rules\r
-#etc/snort/web-php.rules\r
-#etc/snort/x11.rules\r
-usr/sbin/snort\r
-#usr/share/man/man8/snort.8\r
-var/log/snort\r
-##\r
-## speedtouch-1.2\r
-##\r
-#etc/speedtouch\r
-#usr/bin/speedtouch-setup\r
-#usr/bin/speedtouch-start\r
-#usr/bin/speedtouch-stop\r
-usr/sbin/modem_run\r
-#usr/sbin/pppoa2\r
-usr/sbin/pppoa3\r
-#usr/share/doc/speedtouch\r
-#usr/share/doc/speedtouch/FAQ\r
-#usr/share/doc/speedtouch/BUGS\r
-#usr/share/doc/speedtouch/howto\r
-#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-en.html\r
-#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-fr.html\r
-#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-it.html\r
-#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-de.html\r
-#usr/share/doc/speedtouch/speedtouch.sh\r
-#usr/share/doc/speedtouch/speedtouch.conf\r
-#usr/share/doc/speedtouch/HDLC_BUG\r
-#usr/share/doc/speedtouch/results.txt\r
-#usr/share/doc/speedtouch/pppoax-doc-en.txt\r
-#usr/share/doc/speedtouch/adsl.ppp-peersample\r
-#usr/share/doc/speedtouch/pppoax-doc-fr.txt\r
-#usr/share/man/man1/speedtouch-setup.1\r
-#usr/share/man/man1/speedtouch-stop.1\r
-#usr/share/man/man1/speedtouch-start.1\r
-#usr/share/man/man8/modem_run.8\r
-#usr/share/man/man8/pppoa2.8\r
-#usr/share/man/man8/pppoa3.8\r
-#usr/share/speedtouch\r
-#usr/share/speedtouch/boot.v123.bin\r
-##\r
-## CGI-SpeedyCGI-2.22 (scripts not ready)\r
-##\r
-#usr/bin/speedy_backend\r
-#usr/bin/speedy\r
-##usr/lib/perl5/site_perl/5.8.5/alpha-linux/auto/CGI/SpeedyCGI/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/CGI/SpeedyCGI.pm\r
-##\r
-## squid-2.5.STABLE12\r
-##\r
-#etc/squid\r
-#etc/squid/cachemgr.conf\r
-etc/squid/errors\r
-etc/squid/mime.conf\r
-#etc/squid/mime.conf.default\r
-etc/squid/msntauth.conf\r
-#etc/squid/msntauth.conf.default\r
-etc/squid/squid.conf\r
-#etc/squid/squid.conf.default\r
-#usr/bin/RunAccel\r
-#usr/bin/RunCache\r
-#usr/bin/squidclient\r
-#usr/lib/squid\r
-#usr/lib/squid/cachemgr.cgi\r
-#usr/lib/squid/diskd\r
-#usr/lib/squid/errors\r
-#usr/lib/squid/errors/Bulgarian\r
-#usr/lib/squid/errors/Bulgarian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Bulgarian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Bulgarian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Bulgarian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Bulgarian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Bulgarian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Bulgarian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Bulgarian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Bulgarian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Bulgarian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Bulgarian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Bulgarian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Bulgarian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Bulgarian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Bulgarian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Bulgarian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Bulgarian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Bulgarian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Bulgarian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Bulgarian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Bulgarian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Bulgarian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Bulgarian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Catalan\r
-#usr/lib/squid/errors/Catalan/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Catalan/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Catalan/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Catalan/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Catalan/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Catalan/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Catalan/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Catalan/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Catalan/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Catalan/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Catalan/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Catalan/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Catalan/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Catalan/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Catalan/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Catalan/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Catalan/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Catalan/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Catalan/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Catalan/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Catalan/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Catalan/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Catalan/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Czech\r
-#usr/lib/squid/errors/Czech/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Czech/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Czech/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Czech/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Czech/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Czech/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Czech/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Czech/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Czech/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Czech/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Czech/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Czech/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Czech/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Czech/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Czech/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Czech/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Czech/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Czech/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Czech/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Czech/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Czech/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Czech/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Czech/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Czech/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Czech/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Czech/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Czech/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Czech/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Czech/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Czech/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Danish\r
-#usr/lib/squid/errors/Danish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Danish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Danish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Danish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Danish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Danish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Danish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Danish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Danish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Danish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Danish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Danish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Danish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Danish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Danish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Danish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Danish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Danish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Danish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Danish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Danish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Danish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Danish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Danish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Danish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Danish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Danish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Danish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Danish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Danish/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Dutch\r
-#usr/lib/squid/errors/Dutch/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Dutch/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Dutch/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Dutch/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Dutch/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Dutch/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Dutch/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Dutch/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Dutch/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Dutch/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Dutch/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Dutch/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Dutch/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Dutch/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Dutch/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Dutch/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Dutch/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Dutch/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Dutch/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Dutch/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Dutch/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Dutch/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Dutch/ERR_ZERO_SIZE_OBJECT\r
-usr/lib/squid/errors/English\r
-#usr/lib/squid/errors/English/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/English/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/English/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/English/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/English/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/English/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/English/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/English/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/English/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/English/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/English/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/English/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/English/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/English/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/English/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/English/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/English/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/English/ERR_INVALID_URL\r
-#usr/lib/squid/errors/English/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/English/ERR_NO_RELAY\r
-#usr/lib/squid/errors/English/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/English/ERR_READ_ERROR\r
-#usr/lib/squid/errors/English/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/English/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/English/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/English/ERR_TOO_BIG\r
-#usr/lib/squid/errors/English/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/English/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/English/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/English/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Estonian\r
-#usr/lib/squid/errors/Estonian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Estonian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Estonian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Estonian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Estonian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Estonian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Estonian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Estonian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Estonian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Estonian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Estonian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Estonian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Estonian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Estonian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Estonian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Estonian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Estonian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Estonian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Estonian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Finnish\r
-#usr/lib/squid/errors/Finnish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Finnish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Finnish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Finnish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Finnish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Finnish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Finnish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Finnish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Finnish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Finnish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Finnish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Finnish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Finnish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Finnish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Finnish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Finnish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Finnish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Finnish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Finnish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Finnish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Finnish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Finnish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Finnish/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/French\r
-#usr/lib/squid/errors/French/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/French/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/French/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/French/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/French/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/French/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/French/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/French/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/French/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/French/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/French/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/French/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/French/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/French/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/French/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/French/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/French/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/French/ERR_INVALID_URL\r
-#usr/lib/squid/errors/French/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/French/ERR_NO_RELAY\r
-#usr/lib/squid/errors/French/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/French/ERR_READ_ERROR\r
-#usr/lib/squid/errors/French/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/French/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/French/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/French/ERR_TOO_BIG\r
-#usr/lib/squid/errors/French/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/French/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/French/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/French/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/German\r
-#usr/lib/squid/errors/German/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/German/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/German/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/German/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/German/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/German/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/German/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/German/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/German/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/German/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/German/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/German/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/German/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/German/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/German/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/German/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/German/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/German/ERR_INVALID_URL\r
-#usr/lib/squid/errors/German/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/German/ERR_NO_RELAY\r
-#usr/lib/squid/errors/German/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/German/ERR_READ_ERROR\r
-#usr/lib/squid/errors/German/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/German/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/German/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/German/ERR_TOO_BIG\r
-#usr/lib/squid/errors/German/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/German/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/German/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/German/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Greek\r
-#usr/lib/squid/errors/Greek/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Greek/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Greek/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Greek/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Greek/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Greek/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Greek/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Greek/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Greek/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Greek/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Greek/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Greek/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Greek/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Greek/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Greek/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Greek/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Greek/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Greek/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Greek/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Greek/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Greek/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Greek/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Greek/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Greek/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Greek/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Greek/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Greek/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Greek/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Greek/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Hebrew\r
-#usr/lib/squid/errors/Hebrew/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hebrew/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hebrew/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hebrew/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Hebrew/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Hebrew/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Hebrew/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Hebrew/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Hebrew/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Hebrew/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Hebrew/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Hebrew/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Hebrew/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Hebrew/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Hebrew/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Hebrew/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Hebrew/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Hebrew/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Hebrew/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Hebrew/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Hebrew/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Hebrew/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Hebrew/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Hungarian\r
-#usr/lib/squid/errors/Hungarian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hungarian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hungarian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Hungarian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Hungarian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Hungarian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Hungarian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Hungarian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Hungarian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Hungarian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Hungarian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Hungarian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Hungarian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Hungarian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Hungarian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Hungarian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Hungarian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Hungarian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Hungarian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Hungarian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Hungarian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Hungarian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Hungarian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Italian\r
-#usr/lib/squid/errors/Italian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Italian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Italian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Italian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Italian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Italian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Italian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Italian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Italian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Italian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Italian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Italian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Italian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Italian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Italian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Italian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Italian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Italian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Italian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Italian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Italian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Italian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Italian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Italian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Italian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Italian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Italian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Italian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Italian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Italian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Japanese\r
-#usr/lib/squid/errors/Japanese/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Japanese/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Japanese/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Japanese/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Japanese/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Japanese/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Japanese/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Japanese/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Japanese/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Japanese/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Japanese/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Japanese/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Japanese/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Japanese/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Japanese/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Japanese/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Japanese/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Japanese/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Japanese/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Japanese/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Japanese/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Japanese/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Japanese/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Korean\r
-#usr/lib/squid/errors/Korean/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Korean/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Korean/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Korean/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Korean/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Korean/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Korean/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Korean/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Korean/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Korean/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Korean/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Korean/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Korean/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Korean/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Korean/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Korean/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Korean/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Korean/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Korean/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Korean/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Korean/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Korean/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Korean/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Korean/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Korean/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Korean/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Korean/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Korean/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Korean/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Korean/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Lithuanian\r
-#usr/lib/squid/errors/Lithuanian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Lithuanian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Lithuanian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Lithuanian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Lithuanian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Lithuanian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Lithuanian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Lithuanian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Lithuanian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Lithuanian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Lithuanian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Lithuanian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Lithuanian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Lithuanian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Lithuanian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Lithuanian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Lithuanian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Lithuanian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Lithuanian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Lithuanian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Lithuanian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Lithuanian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Lithuanian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Polish\r
-#usr/lib/squid/errors/Polish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Polish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Polish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Polish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Polish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Polish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Polish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Polish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Polish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Polish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Polish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Polish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Polish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Polish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Polish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Polish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Polish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Polish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Polish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Polish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Polish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Polish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Polish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Polish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Polish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Polish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Polish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Polish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Polish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Polish/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Portuguese\r
-#usr/lib/squid/errors/Portuguese/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Portuguese/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Portuguese/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Portuguese/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Portuguese/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Portuguese/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Portuguese/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Portuguese/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Portuguese/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Portuguese/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Portuguese/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Portuguese/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Portuguese/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Portuguese/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Portuguese/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Portuguese/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Portuguese/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Portuguese/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Portuguese/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Portuguese/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Portuguese/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Portuguese/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Portuguese/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Romanian\r
-#usr/lib/squid/errors/Romanian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Romanian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Romanian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Romanian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Romanian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Romanian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Romanian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Romanian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Romanian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Romanian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Romanian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Romanian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Romanian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Romanian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Romanian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Romanian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Romanian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Romanian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Romanian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Romanian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Romanian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Romanian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Romanian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Russian-1251\r
-#usr/lib/squid/errors/Russian-1251/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-1251/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-1251/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-1251/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Russian-1251/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Russian-1251/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Russian-1251/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Russian-1251/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Russian-1251/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Russian-1251/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Russian-1251/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Russian-1251/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Russian-1251/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Russian-1251/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Russian-1251/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Russian-1251/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Russian-1251/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Russian-1251/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Russian-1251/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Russian-1251/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Russian-1251/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Russian-1251/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Russian-1251/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Russian-koi8-r\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Russian-koi8-r/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Serbian\r
-#usr/lib/squid/errors/Serbian/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Serbian/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Serbian/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Serbian/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Serbian/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Serbian/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Serbian/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Serbian/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Serbian/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Serbian/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Serbian/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Serbian/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Serbian/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Serbian/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Serbian/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Serbian/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Serbian/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Serbian/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Serbian/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Serbian/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Serbian/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Serbian/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Serbian/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Simplify_Chinese\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Simplify_Chinese/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Slovak\r
-#usr/lib/squid/errors/Slovak/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Slovak/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Slovak/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Slovak/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Slovak/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Slovak/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Slovak/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Slovak/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Slovak/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Slovak/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Slovak/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Slovak/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Slovak/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Slovak/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Slovak/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Slovak/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Slovak/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Slovak/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Slovak/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Slovak/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Slovak/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Slovak/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Slovak/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Spanish\r
-#usr/lib/squid/errors/Spanish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Spanish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Spanish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Spanish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Spanish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Spanish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Spanish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Spanish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Spanish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Spanish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Spanish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Spanish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Spanish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Spanish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Spanish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Spanish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Spanish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Spanish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Spanish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Spanish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Spanish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Spanish/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Swedish\r
-#usr/lib/squid/errors/Swedish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Swedish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Swedish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Swedish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Swedish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Swedish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Swedish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Swedish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Swedish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Swedish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Swedish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Swedish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Swedish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Swedish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Swedish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Swedish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Swedish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Swedish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Swedish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Swedish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Swedish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Swedish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Swedish/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Traditional_Chinese\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Traditional_Chinese/ERR_ZERO_SIZE_OBJECT\r
-#usr/lib/squid/errors/Turkish\r
-#usr/lib/squid/errors/Turkish/ERR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Turkish/ERR_CACHE_ACCESS_DENIED\r
-#usr/lib/squid/errors/Turkish/ERR_CACHE_MGR_ACCESS_DENIED\r
-#usr/lib/squid/errors/Turkish/ERR_CANNOT_FORWARD\r
-#usr/lib/squid/errors/Turkish/ERR_CONNECT_FAIL\r
-#usr/lib/squid/errors/Turkish/ERR_DNS_FAIL\r
-#usr/lib/squid/errors/Turkish/ERR_FORWARDING_DENIED\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_DISABLED\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_FAILURE\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_FORBIDDEN\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_NOT_FOUND\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_CREATED\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_ERROR\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_MODIFIED\r
-#usr/lib/squid/errors/Turkish/ERR_FTP_UNAVAILABLE\r
-#usr/lib/squid/errors/Turkish/ERR_INVALID_REQ\r
-#usr/lib/squid/errors/Turkish/ERR_INVALID_RESP\r
-#usr/lib/squid/errors/Turkish/ERR_INVALID_URL\r
-#usr/lib/squid/errors/Turkish/ERR_LIFETIME_EXP\r
-#usr/lib/squid/errors/Turkish/ERR_NO_RELAY\r
-#usr/lib/squid/errors/Turkish/ERR_ONLY_IF_CACHED_MISS\r
-#usr/lib/squid/errors/Turkish/ERR_READ_ERROR\r
-#usr/lib/squid/errors/Turkish/ERR_READ_TIMEOUT\r
-#usr/lib/squid/errors/Turkish/ERR_SHUTTING_DOWN\r
-#usr/lib/squid/errors/Turkish/ERR_SOCKET_FAILURE\r
-#usr/lib/squid/errors/Turkish/ERR_TOO_BIG\r
-#usr/lib/squid/errors/Turkish/ERR_UNSUP_REQ\r
-#usr/lib/squid/errors/Turkish/ERR_URN_RESOLVE\r
-#usr/lib/squid/errors/Turkish/ERR_WRITE_ERROR\r
-#usr/lib/squid/errors/Turkish/ERR_ZERO_SIZE_OBJECT\r
-usr/lib/squid/icons\r
-#usr/lib/squid/icons/anthony-binhex.gif\r
-#usr/lib/squid/icons/anthony-bomb.gif\r
-#usr/lib/squid/icons/anthony-box.gif\r
-#usr/lib/squid/icons/anthony-box2.gif\r
-#usr/lib/squid/icons/anthony-c.gif\r
-#usr/lib/squid/icons/anthony-compressed.gif\r
-#usr/lib/squid/icons/anthony-dir.gif\r
-#usr/lib/squid/icons/anthony-dirup.gif\r
-#usr/lib/squid/icons/anthony-dvi.gif\r
-#usr/lib/squid/icons/anthony-f.gif\r
-#usr/lib/squid/icons/anthony-image.gif\r
-#usr/lib/squid/icons/anthony-image2.gif\r
-#usr/lib/squid/icons/anthony-layout.gif\r
-#usr/lib/squid/icons/anthony-link.gif\r
-#usr/lib/squid/icons/anthony-movie.gif\r
-#usr/lib/squid/icons/anthony-pdf.gif\r
-#usr/lib/squid/icons/anthony-portal.gif\r
-#usr/lib/squid/icons/anthony-ps.gif\r
-#usr/lib/squid/icons/anthony-quill.gif\r
-#usr/lib/squid/icons/anthony-script.gif\r
-#usr/lib/squid/icons/anthony-sound.gif\r
-#usr/lib/squid/icons/anthony-tar.gif\r
-#usr/lib/squid/icons/anthony-tex.gif\r
-#usr/lib/squid/icons/anthony-text.gif\r
-#usr/lib/squid/icons/anthony-unknown.gif\r
-#usr/lib/squid/icons/anthony-xbm.gif\r
-#usr/lib/squid/icons/anthony-xpm.gif\r
-#usr/lib/squid/mib.txt\r
-usr/lib/squid/msnt_auth\r
-usr/lib/squid/ncsa_auth\r
-usr/lib/squid/ntlm_auth\r
-usr/lib/squid/smb_auth\r
-usr/lib/squid/smb_auth.sh\r
-usr/lib/squid/unlinkd\r
-usr/lib/squid/wb_ntlmauth\r
-usr/sbin/squid\r
-#usr/share/man/man8/cachemgr.cgi.8\r
-#usr/share/man/man8/squid.8\r
-var/log/cache\r
-var/log/squid\r
-var/log/squid/access.log\r
-#var/logs\r
-##\r
-## squid-graph-3.1\r
-##\r
-home/httpd/html/sgraph\r
-usr/bin/squid-graph\r
-##\r
-## syslinux-2.11\r
-##\r
-#usr/bin/gethostip\r
-#usr/bin/lss16toppm\r
-#usr/bin/ppmtolss16\r
-#usr/bin/syslinux\r
-#usr/lib/syslinux\r
-#usr/lib/syslinux/copybs.com\r
-#usr/lib/syslinux/isolinux-debug.bin\r
-#usr/lib/syslinux/isolinux.bin\r
-#usr/lib/syslinux/memdisk\r
-#usr/lib/syslinux/pxelinux.0\r
-#usr/lib/syslinux/syslinux.com\r
-#usr/lib/syslinux/syslinux.exe\r
-##\r
-## tcpdump-3.8.3\r
-##\r
-usr/sbin/tcpdump\r
-#usr/share/man/man1/tcpdump.1\r
-##\r
-## traceroute-1.4a12\r
-##\r
-usr/sbin/traceroute\r
-#usr/share/man/man8/traceroute.8\r
-##\r
-## bast-0.9.0\r
-##\r
-usr/bin/unicorn_status\r
-usr/bin/oam_ping\r
-#lib/modules/2.4.31/extra\r
-lib/modules/2.4.31/extra/unicorn_pci_atm.o.gz\r
-#lib/modules/2.4.31/extra/unicorn_pci_eth.o.gz\r
-lib/modules/2.4.31/extra/unicorn_usb_atm.o.gz\r
-#lib/modules/2.4.31/extra/unicorn_usb_eth.o.gz\r
-##\r
-## bast-0.9.0-smp\r
-##\r
-#usr/bin/unicorn_status\r
-#usr/bin/oam_ping\r
-#lib/modules/2.4.31-smp/extra\r
-#lib/modules/2.4.31-smp/extra/unicorn_pci_eth.o.gz\r
-lib/modules/2.4.31-smp/extra/unicorn_usb_atm.o.gz\r
-#lib/modules/2.4.31-smp/extra/unicorn_usb_eth.o.gz\r
-lib/modules/2.4.31-smp/extra/unicorn_pci_atm.o.gz\r
-##\r
-## unzip552\r
-##\r
-#usr/bin/funzip\r
-#usr/bin/unzip\r
-#usr/bin/unzipsfx\r
-#usr/bin/zipgrep\r
-#usr/bin/zipinfo\r
-#usr/share/man/man1/funzip.1\r
-#usr/share/man/man1/unzip.1\r
-#usr/share/man/man1/unzipsfx.1\r
-#usr/share/man/man1/zipgrep.1\r
-#usr/share/man/man1/zipinfo.1\r
-##\r
-## wireless_tools.27\r
-##\r
-#usr/include/iwlib.h\r
-#usr/include/wireless.h\r
-usr/lib/libiw.so\r
-usr/lib/libiw.so.27\r
-usr/sbin/ifrename\r
-usr/sbin/iwconfig\r
-usr/sbin/iwevent\r
-usr/sbin/iwgetid\r
-usr/sbin/iwlist\r
-usr/sbin/iwpriv\r
-usr/sbin/iwspy\r
-#usr/share/man/man5/iftab.5\r
-#usr/share/man/man7/wireless.7\r
-#usr/share/man/man8/ifrename.8\r
-#usr/share/man/man8/iwconfig.8\r
-#usr/share/man/man8/iwevent.8\r
-#usr/share/man/man8/iwgetid.8\r
-#usr/share/man/man8/iwlist.8\r
-#usr/share/man/man8/iwpriv.8\r
-#usr/share/man/man8/iwspy.8\r
-##\r
-## HTML-Tagset-3.04\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/HTML\r
-#usr/lib/perl5/site_perl/5.8.5/HTML/Tagset.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Tagset\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Tagset/.packlist\r
-#usr/share/man/man3/HTML::Tagset.3\r
-##\r
-## HTML-Parser-3.45\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Entities.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Filter.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/HeadParser.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/LinkExtor.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Parser.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/PullParser.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/TokeParser.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/Parser.bs\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/Parser.so\r
-#usr/share/man/man3/HTML::Entities.3\r
-#usr/share/man/man3/HTML::Filter.3\r
-#usr/share/man/man3/HTML::HeadParser.3\r
-#usr/share/man/man3/HTML::LinkExtor.3\r
-#usr/share/man/man3/HTML::Parser.3\r
-#usr/share/man/man3/HTML::PullParser.3\r
-#usr/share/man/man3/HTML::TokeParser.3\r
-##\r
-## Compress-Zlib-1.35\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Compress\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Compress/Zlib.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/Zlib.bs\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/Zlib.so\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/autosplit.ix\r
-#usr/share/man/man3/Compress::Zlib.3\r
-##\r
-## URI-1.35\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/URI\r
-usr/lib/perl5/site_perl/5.8.5/URI.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/Escape.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/Heuristic.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/QueryParam.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/Split.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/URL.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/WithBase.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_foreign.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_generic.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/_ldap.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_login.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_query.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_segment.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_server.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/_userpass.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/data.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/Base.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/FAT.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/Mac.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/OS2.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/QNX.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/Unix.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/file/Win32.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/ftp.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/gopher.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/http.pm\r
-usr/lib/perl5/site_perl/5.8.5/URI/https.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/ldap.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/ldapi.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/ldaps.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/mailto.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/mms.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/news.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/nntp.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/pop.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/rlogin.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/rsync.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/rtsp.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/rtspu.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/sip.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/sips.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/snews.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/ssh.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/telnet.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/tn3270.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/urn\r
-#usr/lib/perl5/site_perl/5.8.5/URI/urn.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/urn/isbn.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/urn/oid.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/URI\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/URI/.packlist\r
-#usr/share/man/man3/URI.3\r
-#usr/share/man/man3/URI::Escape.3\r
-#usr/share/man/man3/URI::Heuristic.3\r
-#usr/share/man/man3/URI::QueryParam.3\r
-#usr/share/man/man3/URI::Split.3\r
-#usr/share/man/man3/URI::URL.3\r
-#usr/share/man/man3/URI::WithBase.3\r
-#usr/share/man/man3/URI::data.3\r
-#usr/share/man/man3/URI::file.3\r
-#usr/share/man/man3/URI::ldap.3\r
-##\r
-## libwww-perl-5.803\r
-##\r
-usr/lib/perl5/site_perl/5.8.5/LWP.pm\r
-#usr/lib/perl5/site_perl/5.8.5/lwpcook.pod\r
-#usr/lib/perl5/site_perl/5.8.5/lwptut.pod\r
-usr/lib/perl5/site_perl/5.8.5/LWP/MediaTypes.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Debug.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/ConnCache.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/RobotUA.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Simple.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/UserAgent.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/media.types\r
-usr/lib/perl5/site_perl/5.8.5/LWP/MemberMixin.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/ldap.pm\r
-#usr/lib/perl5/site_perl/5.8.5/URI/rlogin.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/DebugFile.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Ntlm.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Basic.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Digest.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/data.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/cpan.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/http10.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/https.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/file.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/ftp.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/GHTTP.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/nogo.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/nntp.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/https10.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/gopher.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/loopback.pm\r
-usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/http.pm\r
-#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/mailto.pm\r
-usr/lib/perl5/site_perl/5.8.5/Net/HTTP.pm\r
-usr/lib/perl5/site_perl/5.8.5/Net/HTTPS.pm\r
-usr/lib/perl5/site_perl/5.8.5/Net/HTTP/NB.pm\r
-usr/lib/perl5/site_perl/5.8.5/Net/HTTP/Methods.pm\r
-#usr/lib/perl5/site_perl/5.8.5/WWW/RobotRules.pm\r
-#usr/lib/perl5/site_perl/5.8.5/WWW/RobotRules/AnyDBM_File.pm\r
-#usr/lib/perl5/site_perl/5.8.5/HTML/Form.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Date.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Status.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Request.pm\r
-#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Negotiate.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Response.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Headers.pm\r
-#usr/lib/perl5/site_perl/5.8.5/HTTP/Daemon.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Message.pm\r
-#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies/Netscape.pm\r
-#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies/Microsoft.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Request/Common.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/Util.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/Auth.pm\r
-usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/ETag.pm\r
-usr/lib/perl5/site_perl/5.8.5/File/Listing.pm\r
-#usr/lib/perl5/site_perl/5.8.5/Bundle/LWP.pm\r
-##\r
-## Digest-1.08\r
-##\r
-#usr/lib/perl5/5.8.5/Digest\r
-usr/lib/perl5/5.8.5/Digest/base.pm\r
-#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/.packlist\r
-#usr/share/man/man3/Digest::base.3\r
-##\r
-## Digest-SHA1-2.10\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/SHA1.bs\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/SHA1.so\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/.packlist\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Digest\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Digest/SHA1.pm\r
-#usr/share/man/man3/Digest::SHA1.3\r
-##\r
-## Digest-HMAC-1.01\r
-##\r
-#usr/lib/perl5/site_perl/5.8.5/Digest\r
-usr/lib/perl5/site_perl/5.8.5/Digest/HMAC_SHA1.pm\r
-usr/lib/perl5/site_perl/5.8.5/Digest/HMAC.pm\r
-usr/lib/perl5/site_perl/5.8.5/Digest/HMAC_MD5.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/HMAC\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/HMAC/.packlist\r
-#usr/share/man/man3/Digest::HMAC.3\r
-#usr/share/man/man3/Digest::HMAC_MD5.3\r
-#usr/share/man/man3/Digest::HMAC_SHA1.3\r
-##\r
-## 3c5x9setup-1.00\r
-##\r
-usr/sbin/3c5x9setup\r
-##\r
-## iputils-ss020927\r
-##\r
-usr/bin/ping\r
-##\r
-## iptstate-1.4\r
-##\r
-usr/sbin/iptstate\r
-#usr/share/man/man1/iptstate.1\r
-##\r
-## Net_SSLeay-1.2.5\r
-##\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay/Handle.pm\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/ptrtstrun.pl\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay\r
-#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/.packlist\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/SSLeay.bs\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/SSLeay.so\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/autosplit.ix\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/debug_read.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https2.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx2.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/dump_peer_certificate.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/http_cat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/https_cat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/httpx_cat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/make_form.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/make_headers.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/new_x_ctx.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/open_proxy_tcp_connection.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/open_tcp_connection.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx3.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx4.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/randomize.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_cert_and_key.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_proxy.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_server_cert_and_key.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_CRLF.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_all.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_until.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_write_CRLF.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_write_all.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/sslcat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_CRLF.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_all.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_until.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_write_CRLF.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_write_all.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcpcat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcpxcat.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_X509_lookup.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_nothing.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_read.al\r
-usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_write.al\r
-#usr/share/man/man3/Net::SSLeay.3\r
-#usr/share/man/man3/Net::SSLeay::Handle.3\r
-##\r
-## vlan.1.9\r
-##\r
-sbin/vconfig\r
-##\r
-## installer extension\r
-##\r
-usr/local/bin/install2\r
-##\r
-## stun-server\r
-##\r
-usr/bin/stund\r
-##\r
-## XAMPP\r
-##\r
-opt/lampp\r
-##\r
-## PARPORT & PRINTER modules\r
-##\r
-lib/modules/2.4.31/kernel/drivers/char/lp.o.gz\r
-lib/modules/2.4.31/kernel/drivers/char/parport_serial.o.gz\r
-lib/modules/2.4.31/kernel/drivers/char/ppdev.o.gz\r
-lib/modules/2.4.31/kernel/drivers/char/tipar.o.gz\r
-lib/modules/2.4.31/kernel/drivers/parport\r
-lib/modules/2.4.31/kernel/drivers/parport/parport.o.gz\r
-lib/modules/2.4.31/kernel/drivers/parport/parport_pc.o.gz\r
-lib/modules/2.4.31/kernel/drivers/scsi/imm.o.gz\r
-lib/modules/2.4.31/kernel/drivers/scsi/ppa.o.gz\r
-lib/modules/2.4.31/kernel/drivers/usb/printer.o.gz
\ No newline at end of file
+##
+## ccache-2.3
+##
+#usr/local/bin/ccache
+#usr/local/bin/cc
+#usr/local/bin/gcc
+#usr/local/bin/g++
+#usr/local/man/man1/ccache.1
+##
+## linux-2.4.31-ipcop
+##
+boot/vmlinuz-2.4.31
+boot/System.map-2.4.31
+boot/vmlinuz
+boot/System.map
+#lib/modules/2.4.31
+lib/modules/2.4.31/kernel
+#lib/modules/2.4.31/kernel/drivers
+#lib/modules/2.4.31/kernel/drivers/acpi
+#lib/modules/2.4.31/kernel/drivers/acpi/button.o.gz
+#lib/modules/2.4.31/kernel/drivers/acpi/fan.o.gz
+#lib/modules/2.4.31/kernel/drivers/acpi/processor.o.gz
+#lib/modules/2.4.31/kernel/drivers/acpi/thermal.o.gz
+#lib/modules/2.4.31/kernel/drivers/acpi/ac.o.gz
+#lib/modules/2.4.31/kernel/drivers/acpi/battery.o.gz
+#lib/modules/2.4.31/kernel/drivers/atm
+#lib/modules/2.4.31/kernel/drivers/atm/atmtcp.o.gz
+#lib/modules/2.4.31/kernel/drivers/block
+#lib/modules/2.4.31/kernel/drivers/block/cpqarray.o.gz
+#lib/modules/2.4.31/kernel/drivers/block/loop.o.gz
+#lib/modules/2.4.31/kernel/drivers/block/sx8.o.gz
+#lib/modules/2.4.31/kernel/drivers/block/DAC960.o.gz
+#lib/modules/2.4.31/kernel/drivers/block/cciss.o.gz
+#lib/modules/2.4.31/kernel/drivers/char
+#lib/modules/2.4.31/kernel/drivers/char/pcmcia
+#lib/modules/2.4.31/kernel/drivers/char/pcmcia/serial_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/char/pcmcia/synclink_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/char/n_hdlc.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide
+#lib/modules/2.4.31/kernel/drivers/ide/pci
+#lib/modules/2.4.31/kernel/drivers/ide/pci/delkin_cb.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide/raid
+#lib/modules/2.4.31/kernel/drivers/ide/raid/hptraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide/raid/medley.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide/raid/silraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide/raid/ataraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/ide/raid/pdcraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/input
+#lib/modules/2.4.31/kernel/drivers/input/input.o.gz
+#lib/modules/2.4.31/kernel/drivers/input/keybdev.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capifs.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capiutil.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/kernelcapi.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capi.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/avmb1/capidrv.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/elsa_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_isac.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_st5481.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/isdnhdlc.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/sedlbauer_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/avma1_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/hisax/hisax_fcpcipnp.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/isdn.o.gz
+#lib/modules/2.4.31/kernel/drivers/isdn/isdn_bsdcomp.o.gz
+#lib/modules/2.4.31/kernel/drivers/message
+#lib/modules/2.4.31/kernel/drivers/message/fusion
+#lib/modules/2.4.31/kernel/drivers/message/fusion/mptlan.o.gz
+#lib/modules/2.4.31/kernel/drivers/message/fusion/mptbase.o.gz
+#lib/modules/2.4.31/kernel/drivers/message/fusion/mptscsih.o.gz
+#lib/modules/2.4.31/kernel/drivers/net
+#lib/modules/2.4.31/kernel/drivers/net/3c505.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c507.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c509.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c515.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c527.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c59x.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/8139cp.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/8139too.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/82596.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ac3200.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/acenic.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/aironet4500_core.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/amd8111e.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/arlan-proc.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/arlan.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/at1700.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/b44.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/bsd_comp.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/cs89x0.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/de4x5.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/depca.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/dl2k.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/dmfe.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/dummy.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/e2100.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/eexpress.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/epic100.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/eql.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/es3210.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/eth16i.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ewrk3.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/forcedeth.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/hamachi.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/hp-plus.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/hp.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/hp100.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ibmlana.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/lance.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/lp486e.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/mii.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/natsemi.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ne.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ne2.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ne2k-pci.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ne3210.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ni52.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ni65.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ns83820.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcnet32.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ppp_async.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ppp_generic.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ppp_synctty.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pppoe.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pppox.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/r8169.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/sis900.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/sk_mca.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/slhc.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/smc-mca.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/smc-ultra32.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/smc9194.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/starfire.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/sundance.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/tg3.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/tlan.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/tun.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/typhoon.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/via-rhine.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wavelan.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wd.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/yellowfin.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/bonding
+#lib/modules/2.4.31/kernel/drivers/net/bonding/bonding.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/e100
+#lib/modules/2.4.31/kernel/drivers/net/e100/e100.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/e1000
+#lib/modules/2.4.31/kernel/drivers/net/e1000/e1000.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/axnet_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/fmvj18x_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/netwave_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/nmclan_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/pcnet_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/ray_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/wavelan_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xirc2ps_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xircom_cb.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/xircom_tulip_cb.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/3c574_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/3c589_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/pcmcia/smc91c92_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/sk98lin
+#lib/modules/2.4.31/kernel/drivers/net/sk98lin/sk98lin.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/tulip
+#lib/modules/2.4.31/kernel/drivers/net/tulip/tulip.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless
+#lib/modules/2.4.31/kernel/drivers/net/wireless/hermes.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_pci.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_plx.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/orinoco_tmd.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/prism54
+#lib/modules/2.4.31/kernel/drivers/net/wireless/prism54/prism54.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/airo.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/wireless/airo_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c501.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c503.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/3c523.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/8390.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/aironet4500_card.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/dgrs.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/eepro.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/fealnx.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/lne390.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ni5010.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/ppp_deflate.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/smc-ultra.o.gz
+#lib/modules/2.4.31/kernel/drivers/net/winbond-840.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia
+#lib/modules/2.4.31/kernel/drivers/pcmcia/i82365.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia/pcmcia_core.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia/tcic.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia/ds.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia/i82092.o.gz
+#lib/modules/2.4.31/kernel/drivers/pcmcia/yenta_socket.o.gz
+#lib/modules/2.4.31/kernel/drivers/pnp
+#lib/modules/2.4.31/kernel/drivers/pnp/isa-pnp.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi
+#lib/modules/2.4.31/kernel/drivers/scsi/53c700.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/AM53C974.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/BusLogic.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/NCR53C9x.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/NCR53c406a.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/a100u2w.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/advansys.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aha152x.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aha1542.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aha1740.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ahci.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ata_piix.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/atp870u.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/cpqfc.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/dmx3191d.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/dpt_i2o.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/dtc.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/eata.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/eata_pio.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/fd_mcs.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/fdomain.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/g_NCR5380.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/gdth.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ibmmca.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/initio.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ips.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/libata.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/mca_53c9x.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/megaraid2.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ncr53c8xx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/nsp32.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pas16.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pci2000.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pci2220i.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/psi240i.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/qla1280.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/qlogicfc.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/qlogicisp.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_nv.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_promise.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_qstor.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_sil.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_sis.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_sx4.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_uli.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_via.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_vsc.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/scsi_mod.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sd_mod.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sg.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sim710.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sr_mod.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sym53c416.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/t128.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/tmscsim.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/u14-34f.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/ultrastor.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/wd7000.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aic79xx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sym53c8xx_2.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia
+#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/nsp_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/qlogic_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/aha152x_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/pcmcia/fdomain_cs.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/3w-xxxx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/53c7,8xx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/NCR_D700.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/eata_dma.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/in2000.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/megaraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/qlogicfas.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sata_svw.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/seagate.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/sym53c8xx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aic7xxx.o.gz
+#lib/modules/2.4.31/kernel/drivers/scsi/aacraid.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb
+#lib/modules/2.4.31/kernel/drivers/usb/acm.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/catc.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/hid.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/pegasus.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/rtl8150.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/speedtch.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/usbcore.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/usbnet.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/host
+#lib/modules/2.4.31/kernel/drivers/usb/host/uhci.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/host/usb-uhci.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/host/ehci-hcd.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/host/usb-ohci.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/storage
+#lib/modules/2.4.31/kernel/drivers/usb/storage/usb-storage.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/CDCEther.o.gz
+#lib/modules/2.4.31/kernel/drivers/usb/kaweth.o.gz
+#lib/modules/2.4.31/kernel/fs
+#lib/modules/2.4.31/kernel/fs/fat
+#lib/modules/2.4.31/kernel/fs/fat/fat.o.gz
+#lib/modules/2.4.31/kernel/fs/vfat
+#lib/modules/2.4.31/kernel/fs/vfat/vfat.o.gz
+#lib/modules/2.4.31/kernel/net
+#lib/modules/2.4.31/kernel/net/8021q
+#lib/modules/2.4.31/kernel/net/8021q/8021q.o.gz
+#lib/modules/2.4.31/kernel/net/atm
+#lib/modules/2.4.31/kernel/net/atm/clip.o.gz
+#lib/modules/2.4.31/kernel/net/atm/pppoatm.o.gz
+#lib/modules/2.4.31/kernel/net/atm/atm.o.gz
+#lib/modules/2.4.31/kernel/net/atm/br2684.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec
+#lib/modules/2.4.31/kernel/net/ipsec/alg
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_blowfish.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_cast.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_md5.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_serpent.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_sha1.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_twofish.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_3des.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_aes.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/alg/ipsec_sha2.o.gz
+#lib/modules/2.4.31/kernel/net/ipsec/ipsec.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arptable_filter.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_h323.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_irc.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_pptp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_proto_gre.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_quake3.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_rtsp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_tftp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_cuseeme.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_ftp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_h323.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_irc.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_mms.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_pptp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_quake3.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_rtsp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_tftp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_pool.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_queue.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_iphash.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_ipmap.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_iptree.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_macipmap.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_nethash.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_set_portmap.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_tables.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_DSCP.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ECN.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_LOG.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MARK.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_MIRROR.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NETLINK.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NETMAP.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_NOTRACK.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_POOL.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_REDIRECT.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_REJECT.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_SET.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TARPIT.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TCPMSS.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TOS.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_TTL.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ULOG.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ah.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_conntrack.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_dscp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_dstlimit.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ecn.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_esp.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_fuzzy.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_helper.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_iprange.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ipv4options.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_length.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_limit.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mac.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mport.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_multiport.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_nth.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_osf.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_owner.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_pkttype.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_pool.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_psd.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_quota.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_realm.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_recent.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_set.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_state.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_string.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_tcpmss.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_tos.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_ttl.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_u32.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_unclean.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_filter.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_mangle.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_nat.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/iptable_raw.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arp_tables.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/arpt_mangle.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_conntrack_mms.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ip_nat_proto_gre.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_SAME.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_connlimit.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_mark.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_random.o.gz
+#lib/modules/2.4.31/kernel/net/ipv4/netfilter/ipt_time.o.gz
+#lib/modules/2.4.31/kernel/net/sched
+#lib/modules/2.4.31/kernel/net/sched/cls_rsvp.o.gz
+#lib/modules/2.4.31/kernel/net/sched/cls_rsvp6.o.gz
+#lib/modules/2.4.31/kernel/net/sched/cls_tcindex.o.gz
+#lib/modules/2.4.31/kernel/net/sched/cls_u32.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_cbq.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_csz.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_dsmark.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_gred.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_htb.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_ingress.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_prio.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_red.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_sfq.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_tbf.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_teql.o.gz
+#lib/modules/2.4.31/kernel/net/sched/cls_fw.o.gz
+#lib/modules/2.4.31/kernel/net/sched/cls_route.o.gz
+#lib/modules/2.4.31/kernel/net/sched/sch_hfsc.o.gz
+#lib/modules/2.4.31/kernel/lib
+#lib/modules/2.4.31/kernel/lib/zlib_deflate
+#lib/modules/2.4.31/kernel/lib/zlib_deflate/zlib_deflate.o.gz
+#lib/modules/2.4.31/kernel/lib/zlib_inflate
+#lib/modules/2.4.31/kernel/lib/zlib_inflate/zlib_inflate.o.gz
+#lib/modules/2.4.31/kernel/lib/crc32.o.gz
+#lib/modules/2.4.31/kernel/lib/firmware_class.o.gz
+#lib/modules/2.4.31/kernel/arch
+#lib/modules/2.4.31/kernel/arch/i386
+#lib/modules/2.4.31/kernel/arch/i386/kernel
+#lib/modules/2.4.31/kernel/arch/i386/kernel/apm.o.gz
+#lib/modules/2.4.31/build
+lib/modules/2.4.31/modules.dep
+lib/modules/2.4.31/modules.generic_string
+lib/modules/2.4.31/modules.pcimap
+lib/modules/2.4.31/modules.isapnpmap
+lib/modules/2.4.31/modules.usbmap
+#lib/modules/2.4.31/modules.parportmap
+#lib/modules/2.4.31/modules.ieee1394map
+#lib/modules/2.4.31/modules.pnpbiosmap
+#usr/share/man/man9
+#usr/share/man/man9/NS8390_init.9
+#usr/share/man/man9/PROC_CONSOLE.9
+#usr/share/man/man9/__change_bit.9
+#usr/share/man/man9/__fb_try_mode.9
+#usr/share/man/man9/__get_lease.9
+#usr/share/man/man9/__set_bit.9
+#usr/share/man/man9/__test_and_clear_bit.9
+#usr/share/man/man9/__test_and_set_bit.9
+#usr/share/man/man9/_devfs_alloc_entry.9
+#usr/share/man/man9/_devfs_append_entry.9
+#usr/share/man/man9/_devfs_descend.9
+#usr/share/man/man9/_devfs_find_by_dev.9
+#usr/share/man/man9/_devfs_find_entry.9
+#usr/share/man/man9/_devfs_get_root_entry.9
+#usr/share/man/man9/_devfs_get_vfs_inode.9
+#usr/share/man/man9/_devfs_search_dir.9
+#usr/share/man/man9/_devfs_unhook.9
+#usr/share/man/man9/_devfs_unregister.9
+#usr/share/man/man9/acquire_console_sem.9
+#usr/share/man/man9/alloc_ei_netdev.9
+#usr/share/man/man9/alloc_etherdev.9
+#usr/share/man/man9/alloc_fcdev.9
+#usr/share/man/man9/alloc_fddidev.9
+#usr/share/man/man9/alloc_hippi_dev.9
+#usr/share/man/man9/alloc_trdev.9
+#usr/share/man/man9/bcopy.9
+#usr/share/man/man9/blk_cleanup_queue.9
+#usr/share/man/man9/blk_init_queue.9
+#usr/share/man/man9/blk_queue_bounce_limit.9
+#usr/share/man/man9/blk_queue_headactive.9
+#usr/share/man/man9/blk_queue_make_request.9
+#usr/share/man/man9/blk_queue_throttle_sectors.9
+#usr/share/man/man9/call_usermodehelper.9
+#usr/share/man/man9/change_bit.9
+#usr/share/man/man9/check_disc_changed.9
+#usr/share/man/man9/clear_bit.9
+#usr/share/man/man9/console_getmode.9
+#usr/share/man/man9/console_powermode.9
+#usr/share/man/man9/console_setcmap.9
+#usr/share/man/man9/console_setmode.9
+#usr/share/man/man9/devfs_auto_unregister.9
+#usr/share/man/man9/devfs_d_delete.9
+#usr/share/man/man9/devfs_d_iput.9
+#usr/share/man/man9/devfs_d_release.9
+#usr/share/man/man9/devfs_generate_path.9
+#usr/share/man/man9/devfs_get.9
+#usr/share/man/man9/devfs_get_first_child.9
+#usr/share/man/man9/devfs_get_flags.9
+#usr/share/man/man9/devfs_get_handle.9
+#usr/share/man/man9/devfs_get_handle_from_inode.9
+#usr/share/man/man9/devfs_get_info.9
+#usr/share/man/man9/devfs_get_maj_min.9
+#usr/share/man/man9/devfs_get_name.9
+#usr/share/man/man9/devfs_get_next_sibling.9
+#usr/share/man/man9/devfs_get_ops.9
+#usr/share/man/man9/devfs_get_parent.9
+#usr/share/man/man9/devfs_get_unregister_slave.9
+#usr/share/man/man9/devfs_mk_dir.9
+#usr/share/man/man9/devfs_mk_symlink.9
+#usr/share/man/man9/devfs_put.9
+#usr/share/man/man9/devfs_put_ops.9
+#usr/share/man/man9/devfs_register.9
+#usr/share/man/man9/devfs_register_blkdev.9
+#usr/share/man/man9/devfs_register_chrdev.9
+#usr/share/man/man9/devfs_set_file_size.9
+#usr/share/man/man9/devfs_set_info.9
+#usr/share/man/man9/devfs_setup.9
+#usr/share/man/man9/devfs_unregister.9
+#usr/share/man/man9/devfs_unregister_blkdev.9
+#usr/share/man/man9/devfs_unregister_chrdev.9
+#usr/share/man/man9/devfsd_notify.9
+#usr/share/man/man9/devfsd_notify_de.9
+#usr/share/man/man9/devfsd_queue_empty.9
+#usr/share/man/man9/disable_irq.9
+#usr/share/man/man9/disable_irq_nosync.9
+#usr/share/man/man9/do_set_multicast_list.9
+#usr/share/man/man9/ei_close.9
+#usr/share/man/man9/ei_interrupt.9
+#usr/share/man/man9/ei_open.9
+#usr/share/man/man9/ei_receive.9
+#usr/share/man/man9/ei_rx_overrun.9
+#usr/share/man/man9/ei_start_xmit.9
+#usr/share/man/man9/ei_tx_err.9
+#usr/share/man/man9/ei_tx_intr.9
+#usr/share/man/man9/ei_tx_timeout.9
+#usr/share/man/man9/enable_irq.9
+#usr/share/man/man9/end_that_request_first.9
+#usr/share/man/man9/ethdev_init.9
+#usr/share/man/man9/fb_alloc_cmap.9
+#usr/share/man/man9/fb_copy_cmap.9
+#usr/share/man/man9/fb_default_cmap.9
+#usr/share/man/man9/fb_find_mode.9
+#usr/share/man/man9/fb_get_cmap.9
+#usr/share/man/man9/fb_invert_cmaps.9
+#usr/share/man/man9/fb_set_cmap.9
+#usr/share/man/man9/fbcon_find_font.9
+#usr/share/man/man9/fbcon_get_default_font.9
+#usr/share/man/man9/fbcon_redraw_bmove.9
+#usr/share/man/man9/fbcon_redraw_clear.9
+#usr/share/man/man9/fbgen_blank.9
+#usr/share/man/man9/fbgen_do_set_var.9
+#usr/share/man/man9/fbgen_get_cmap.9
+#usr/share/man/man9/fbgen_get_fix.9
+#usr/share/man/man9/fbgen_get_var.9
+#usr/share/man/man9/fbgen_install_cmap.9
+#usr/share/man/man9/fbgen_pan_display.9
+#usr/share/man/man9/fbgen_set_cmap.9
+#usr/share/man/man9/fbgen_set_disp.9
+#usr/share/man/man9/fbgen_set_var.9
+#usr/share/man/man9/fbgen_switch.9
+#usr/share/man/man9/fbgen_update_var.9
+#usr/share/man/man9/fbmem_init.9
+#usr/share/man/man9/fcntl_getlease.9
+#usr/share/man/man9/fcntl_setlease.9
+#usr/share/man/man9/ffs.9
+#usr/share/man/man9/ffz.9
+#usr/share/man/man9/find_first_zero_bit.9
+#usr/share/man/man9/find_next_zero_bit.9
+#usr/share/man/man9/free_dentry.9
+#usr/share/man/man9/free_irq.9
+#usr/share/man/man9/generic_make_request.9
+#usr/share/man/man9/get_locks_status.9
+#usr/share/man/man9/get_removable_partition.9
+#usr/share/man/man9/hweight32.9
+#usr/share/man/man9/init_etherdev.9
+#usr/share/man/man9/init_fcdev.9
+#usr/share/man/man9/init_fddidev.9
+#usr/share/man/man9/init_hippi_dev.9
+#usr/share/man/man9/init_trdev.9
+#usr/share/man/man9/inter_module_get.9
+#usr/share/man/man9/inter_module_get_request.9
+#usr/share/man/man9/inter_module_put.9
+#usr/share/man/man9/inter_module_register.9
+#usr/share/man/man9/inter_module_unregister.9
+#usr/share/man/man9/is_devfsd_or_child.9
+#usr/share/man/man9/lease_get_mtime.9
+#usr/share/man/man9/ll_rw_block.9
+#usr/share/man/man9/lock_may_read.9
+#usr/share/man/man9/lock_may_write.9
+#usr/share/man/man9/mac_find_mode.9
+#usr/share/man/man9/mac_map_monitor_sense.9
+#usr/share/man/man9/mac_var_to_vmode.9
+#usr/share/man/man9/mac_vmode_to_var.9
+#usr/share/man/man9/mca_find_adapter.9
+#usr/share/man/man9/mca_find_unused_adapter.9
+#usr/share/man/man9/mca_get_adapter_name.9
+#usr/share/man/man9/mca_is_adapter_used.9
+#usr/share/man/man9/mca_isadapter.9
+#usr/share/man/man9/mca_isenabled.9
+#usr/share/man/man9/mca_mark_as_unused.9
+#usr/share/man/man9/mca_mark_as_used.9
+#usr/share/man/man9/mca_read_pos.9
+#usr/share/man/man9/mca_write_pos.9
+#usr/share/man/man9/mca_read_stored_pos.9
+#usr/share/man/man9/mca_set_adapter_name.9
+#usr/share/man/man9/mca_set_adapter_procfn.9
+#usr/share/man/man9/memchr.9
+#usr/share/man/man9/memcmp.9
+#usr/share/man/man9/memcpy.9
+#usr/share/man/man9/memmove.9
+#usr/share/man/man9/memscan.9
+#usr/share/man/man9/memset.9
+#usr/share/man/man9/misc_deregister.9
+#usr/share/man/man9/misc_register.9
+#usr/share/man/man9/mod_firmware_load.9
+#usr/share/man/man9/mtrr_add.9
+#usr/share/man/man9/mtrr_add_page.9
+#usr/share/man/man9/mtrr_del.9
+#usr/share/man/man9/mtrr_del_page.9
+#usr/share/man/man9/pci_announce_device_to_drivers.9
+#usr/share/man/man9/pci_bus_read_config_byte.9
+#usr/share/man/man9/pci_bus_read_config_dword.9
+#usr/share/man/man9/pci_bus_read_config_word.9
+#usr/share/man/man9/pci_bus_write_config_byte.9
+#usr/share/man/man9/pci_bus_write_config_dword.9
+#usr/share/man/man9/pci_bus_write_config_word.9
+#usr/share/man/man9/pci_clear_mwi.9
+#usr/share/man/man9/pci_dev_driver.9
+#usr/share/man/man9/pci_disable_device.9
+#usr/share/man/man9/pci_enable_device.9
+#usr/share/man/man9/pci_enable_device_bars.9
+#usr/share/man/man9/pci_enable_wake.9
+#usr/share/man/man9/pci_find_capability.9
+#usr/share/man/man9/pci_find_class.9
+#usr/share/man/man9/pci_find_device.9
+#usr/share/man/man9/pci_find_parent_resource.9
+#usr/share/man/man9/pci_find_slot.9
+#usr/share/man/man9/pci_find_subsys.9
+#usr/share/man/man9/pci_generic_prep_mwi.9
+#usr/share/man/man9/pci_hp_change_slot_info.9
+#usr/share/man/man9/pci_hp_deregister.9
+#usr/share/man/man9/pci_hp_register.9
+#usr/share/man/man9/pci_insert_device.9
+#usr/share/man/man9/pci_match_device.9
+#usr/share/man/man9/pci_pool_alloc.9
+#usr/share/man/man9/pci_pool_create.9
+#usr/share/man/man9/pci_pool_destroy.9
+#usr/share/man/man9/pci_pool_free.9
+#usr/share/man/man9/pci_register_driver.9
+#usr/share/man/man9/pci_release_region.9
+#usr/share/man/man9/pci_release_regions.9
+#usr/share/man/man9/pci_remove_device.9
+#usr/share/man/man9/pci_request_region.9
+#usr/share/man/man9/pci_request_regions.9
+#usr/share/man/man9/pci_restore_state.9
+#usr/share/man/man9/pci_save_state.9
+#usr/share/man/man9/pci_set_master.9
+#usr/share/man/man9/pci_set_mwi.9
+#usr/share/man/man9/pci_set_power_state.9
+#usr/share/man/man9/pci_setup_device.9
+#usr/share/man/man9/pci_unregister_driver.9
+#usr/share/man/man9/pcihpfs_create_by_name.9
+#usr/share/man/man9/pm_find.9
+#usr/share/man/man9/pm_register.9
+#usr/share/man/man9/pm_send.9
+#usr/share/man/man9/pm_send_all.9
+#usr/share/man/man9/pm_unregister.9
+#usr/share/man/man9/pm_unregister_all.9
+#usr/share/man/man9/posix_block_lock.9
+#usr/share/man/man9/posix_lock_file.9
+#usr/share/man/man9/posix_unblock_lock.9
+#usr/share/man/man9/probe_irq_mask.9
+#usr/share/man/man9/probe_irq_off.9
+#usr/share/man/man9/probe_irq_on.9
+#usr/share/man/man9/proc_dointvec.9
+#usr/share/man/man9/proc_dointvec_jiffies.9
+#usr/share/man/man9/proc_dointvec_minmax.9
+#usr/share/man/man9/proc_dostring.9
+#usr/share/man/man9/proc_doulongvec_minmax.9
+#usr/share/man/man9/proc_doulongvec_ms_jiffies_minmax.9
+#usr/share/man/man9/read_zsdata.9
+#usr/share/man/man9/read_zsreg.9
+#usr/share/man/man9/register_framebuffer.9
+#usr/share/man/man9/register_serial.9
+#usr/share/man/man9/register_sound_dsp.9
+#usr/share/man/man9/register_sound_midi.9
+#usr/share/man/man9/register_sound_mixer.9
+#usr/share/man/man9/register_sound_special.9
+#usr/share/man/man9/register_sound_synth.9
+#usr/share/man/man9/register_sysctl_table.9
+#usr/share/man/man9/release_console_sem.9
+#usr/share/man/man9/reparent_to_init.9
+#usr/share/man/man9/request_irq.9
+#usr/share/man/man9/request_module.9
+#usr/share/man/man9/scan_dir_for_removable.9
+#usr/share/man/man9/schedule_timeout.9
+#usr/share/man/man9/set_all_vcs.9
+#usr/share/man/man9/set_bit.9
+#usr/share/man/man9/set_con2fb_map.9
+#usr/share/man/man9/set_cpus_allowed.9
+#usr/share/man/man9/simple_strtol.9
+#usr/share/man/man9/simple_strtoll.9
+#usr/share/man/man9/simple_strtoul.9
+#usr/share/man/man9/simple_strtoull.9
+#usr/share/man/man9/snprintf.9
+#usr/share/man/man9/spans_boundary.9
+#usr/share/man/man9/sppp_attach.9
+#usr/share/man/man9/sppp_change_mtu.9
+#usr/share/man/man9/sppp_close.9
+#usr/share/man/man9/sppp_detach.9
+#usr/share/man/man9/sppp_do_ioctl.9
+#usr/share/man/man9/sppp_input.9
+#usr/share/man/man9/sppp_open.9
+#usr/share/man/man9/sppp_rcv.9
+#usr/share/man/man9/sppp_reopen.9
+#usr/share/man/man9/sprintf.9
+#usr/share/man/man9/sscanf.9
+#usr/share/man/man9/strcat.9
+#usr/share/man/man9/strchr.9
+#usr/share/man/man9/strcmp.9
+#usr/share/man/man9/strcpy.9
+#usr/share/man/man9/strlen.9
+#usr/share/man/man9/strncat.9
+#usr/share/man/man9/strncmp.9
+#usr/share/man/man9/strncpy.9
+#usr/share/man/man9/strnicmp.9
+#usr/share/man/man9/strnlen.9
+#usr/share/man/man9/strpbrk.9
+#usr/share/man/man9/strrchr.9
+#usr/share/man/man9/strsep.9
+#usr/share/man/man9/strspn.9
+#usr/share/man/man9/strstr.9
+#usr/share/man/man9/strtok.9
+#usr/share/man/man9/submit_bh.9
+#usr/share/man/man9/sys_flock.9
+#usr/share/man/man9/test_and_change_bit.9
+#usr/share/man/man9/test_and_clear_bit.9
+#usr/share/man/man9/test_and_set_bit.9
+#usr/share/man/man9/test_bit.9
+#usr/share/man/man9/try_modload.9
+#usr/share/man/man9/tty_write_message.9
+#usr/share/man/man9/unregister_framebuffer.9
+#usr/share/man/man9/unregister_serial.9
+#usr/share/man/man9/unregister_sound_dsp.9
+#usr/share/man/man9/unregister_sound_midi.9
+#usr/share/man/man9/unregister_sound_mixer.9
+#usr/share/man/man9/unregister_sound_special.9
+#usr/share/man/man9/unregister_sound_synth.9
+#usr/share/man/man9/unregister_sysctl_table.9
+#usr/share/man/man9/usb_alloc_bus.9
+#usr/share/man/man9/usb_alloc_urb.9
+#usr/share/man/man9/usb_bulk_msg.9
+#usr/share/man/man9/usb_control_msg.9
+#usr/share/man/man9/usb_deregister.9
+#usr/share/man/man9/usb_deregister_bus.9
+#usr/share/man/man9/usb_free_bus.9
+#usr/share/man/man9/usb_free_urb.9
+#usr/share/man/man9/usb_match_id.9
+#usr/share/man/man9/usb_register.9
+#usr/share/man/man9/usb_register_bus.9
+#usr/share/man/man9/usb_scan_devices.9
+#usr/share/man/man9/video_register_device.9
+#usr/share/man/man9/video_setup.9
+#usr/share/man/man9/video_unregister_device.9
+#usr/share/man/man9/vsnprintf.9
+#usr/share/man/man9/vsprintf.9
+#usr/share/man/man9/vsscanf.9
+#usr/share/man/man9/wait_for_devfsd_finished.9
+#usr/share/man/man9/write_zsctrl.9
+#usr/share/man/man9/write_zsdata.9
+#usr/share/man/man9/write_zsreg.9
+#usr/share/man/man9/yield.9
+#usr/share/man/man9/z8530_channel_load.9
+#usr/share/man/man9/z8530_describe.9
+#usr/share/man/man9/z8530_dma_rx.9
+#usr/share/man/man9/z8530_dma_status.9
+#usr/share/man/man9/z8530_dma_tx.9
+#usr/share/man/man9/z8530_flush_fifo.9
+#usr/share/man/man9/z8530_get_stats.9
+#usr/share/man/man9/z8530_init.9
+#usr/share/man/man9/z8530_interrupt.9
+#usr/share/man/man9/z8530_null_rx.9
+#usr/share/man/man9/z8530_queue_xmit.9
+#usr/share/man/man9/z8530_read_port.9
+#usr/share/man/man9/z8530_rtsdtr.9
+#usr/share/man/man9/z8530_rx.9
+#usr/share/man/man9/z8530_rx_clear.9
+#usr/share/man/man9/z8530_rx_done.9
+#usr/share/man/man9/z8530_shutdown.9
+#usr/share/man/man9/z8530_status.9
+#usr/share/man/man9/z8530_status_clear.9
+#usr/share/man/man9/z8530_sync_close.9
+#usr/share/man/man9/z8530_sync_dma_close.9
+#usr/share/man/man9/z8530_sync_dma_open.9
+#usr/share/man/man9/z8530_sync_open.9
+#usr/share/man/man9/z8530_sync_txdma_close.9
+#usr/share/man/man9/z8530_sync_txdma_open.9
+#usr/share/man/man9/z8530_tx.9
+#usr/share/man/man9/z8530_tx_begin.9
+#usr/share/man/man9/z8530_tx_clear.9
+#usr/share/man/man9/z8530_tx_done.9
+#usr/share/man/man9/z8530_write_port.9
+##
+## linux-2.4.31-smp-ipcop
+##
+boot/vmlinuz-2.4.31-smp
+boot/System.map-2.4.31-smp
+boot/vmlinuz-smp
+#lib/modules
+#lib/modules/2.4.31-smp
+lib/modules/2.4.31-smp/kernel
+#lib/modules/2.4.31-smp/kernel/arch
+#lib/modules/2.4.31-smp/kernel/arch/i386
+#lib/modules/2.4.31-smp/kernel/arch/i386/kernel
+#lib/modules/2.4.31-smp/kernel/arch/i386/kernel/apm.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers
+#lib/modules/2.4.31-smp/kernel/drivers/acpi
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/button.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/fan.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/processor.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/thermal.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/ac.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/acpi/battery.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/atm
+#lib/modules/2.4.31-smp/kernel/drivers/atm/atmtcp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/block
+#lib/modules/2.4.31-smp/kernel/drivers/block/cpqarray.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/block/loop.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/block/sx8.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/block/DAC960.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/block/cciss.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/char
+#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia
+#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia/serial_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/char/pcmcia/synclink_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/char/n_hdlc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide
+#lib/modules/2.4.31-smp/kernel/drivers/ide/pci
+#lib/modules/2.4.31-smp/kernel/drivers/ide/pci/delkin_cb.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/hptraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/medley.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/silraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/ataraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/ide/raid/pdcraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/input
+#lib/modules/2.4.31-smp/kernel/drivers/input/input.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/input/keybdev.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capifs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capiutil.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/kernelcapi.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capi.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/avmb1/capidrv.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/elsa_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_isac.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_st5481.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/isdnhdlc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/sedlbauer_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/avma1_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/hisax/hisax_fcpcipnp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/isdn.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/isdn/isdn_bsdcomp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/message
+#lib/modules/2.4.31-smp/kernel/drivers/message/fusion
+#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptlan.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptbase.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/message/fusion/mptscsih.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c505.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c507.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c509.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c515.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c527.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c59x.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/8139cp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/8139too.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/82596.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ac3200.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/acenic.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/aironet4500_core.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/amd8111e.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/arlan-proc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/arlan.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/at1700.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/b44.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/bsd_comp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/cs89x0.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/de4x5.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/depca.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/dl2k.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/dmfe.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/dummy.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/e2100.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/eexpress.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/epic100.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/eql.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/es3210.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/eth16i.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ewrk3.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/forcedeth.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/hamachi.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/hp-plus.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/hp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/hp100.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ibmlana.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/lance.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/lp486e.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/mii.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/natsemi.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ne.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ne2.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ne2k-pci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ne3210.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ni52.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ni65.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ns83820.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcnet32.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_async.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_generic.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_synctty.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pppoe.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pppox.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/r8169.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/sis900.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/sk_mca.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/slhc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/smc-mca.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/smc-ultra32.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/smc9194.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/starfire.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/sundance.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/tg3.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/tlan.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/tun.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/typhoon.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/via-rhine.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wavelan.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wd.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/yellowfin.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/bonding
+#lib/modules/2.4.31-smp/kernel/drivers/net/bonding/bonding.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/e100
+#lib/modules/2.4.31-smp/kernel/drivers/net/e100/e100.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/e1000
+#lib/modules/2.4.31-smp/kernel/drivers/net/e1000/e1000.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/axnet_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/fmvj18x_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/netwave_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/nmclan_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/pcnet_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/ray_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/wavelan_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xirc2ps_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xircom_cb.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/xircom_tulip_cb.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/3c574_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/3c589_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/pcmcia/smc91c92_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/sk98lin
+#lib/modules/2.4.31-smp/kernel/drivers/net/sk98lin/sk98lin.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/tulip
+#lib/modules/2.4.31-smp/kernel/drivers/net/tulip/tulip.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/hermes.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_pci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_plx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/orinoco_tmd.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/prism54
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/prism54/prism54.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/airo.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/wireless/airo_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c501.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c503.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/3c523.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/8390.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/aironet4500_card.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/dgrs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/eepro.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/fealnx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/lne390.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ni5010.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/ppp_deflate.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/smc-ultra.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/net/winbond-840.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/i82365.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/pcmcia_core.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/tcic.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/ds.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/i82092.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pcmcia/yenta_socket.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/pnp
+#lib/modules/2.4.31-smp/kernel/drivers/pnp/isa-pnp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/53c700.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/AM53C974.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/BusLogic.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR53C9x.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR53c406a.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/a100u2w.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/advansys.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha152x.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha1542.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aha1740.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ahci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ata_piix.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/atp870u.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/cpqfc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/dmx3191d.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/dpt_i2o.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/dtc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata_pio.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/fd_mcs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/fdomain.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/g_NCR5380.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/gdth.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ibmmca.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/initio.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ips.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/libata.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/mca_53c9x.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/megaraid2.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ncr53c8xx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/nsp32.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pas16.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pci2000.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pci2220i.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/psi240i.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/qla1280.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicfc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicisp.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_nv.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_promise.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_qstor.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sil.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sis.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_sx4.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_uli.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_via.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_vsc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/scsi_mod.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sd_mod.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sg.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sim710.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sr_mod.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c416.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/t128.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/tmscsim.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/u14-34f.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/ultrastor.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/wd7000.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aic79xx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c8xx_2.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/nsp_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/qlogic_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/aha152x_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/pcmcia/fdomain_cs.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/3w-xxxx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/53c7,8xx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/NCR_D700.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/eata_dma.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/in2000.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/megaraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/qlogicfas.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sata_svw.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/seagate.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/sym53c8xx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aic7xxx.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/scsi/aacraid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb
+#lib/modules/2.4.31-smp/kernel/drivers/usb/acm.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/catc.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/hid.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/pegasus.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/rtl8150.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/speedtch.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/usbcore.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/usbnet.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/host
+#lib/modules/2.4.31-smp/kernel/drivers/usb/host/uhci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/host/usb-uhci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/host/ehci-hcd.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/host/usb-ohci.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/storage
+#lib/modules/2.4.31-smp/kernel/drivers/usb/storage/usb-storage.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/CDCEther.o.gz
+#lib/modules/2.4.31-smp/kernel/drivers/usb/kaweth.o.gz
+#lib/modules/2.4.31-smp/kernel/fs
+#lib/modules/2.4.31-smp/kernel/fs/fat
+#lib/modules/2.4.31-smp/kernel/fs/fat/fat.o.gz
+#lib/modules/2.4.31-smp/kernel/fs/vfat
+#lib/modules/2.4.31-smp/kernel/fs/vfat/vfat.o.gz
+#lib/modules/2.4.31-smp/kernel/net
+#lib/modules/2.4.31-smp/kernel/net/8021q
+#lib/modules/2.4.31-smp/kernel/net/8021q/8021q.o.gz
+#lib/modules/2.4.31-smp/kernel/net/atm
+#lib/modules/2.4.31-smp/kernel/net/atm/clip.o.gz
+#lib/modules/2.4.31-smp/kernel/net/atm/pppoatm.o.gz
+#lib/modules/2.4.31-smp/kernel/net/atm/atm.o.gz
+#lib/modules/2.4.31-smp/kernel/net/atm/br2684.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_blowfish.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_cast.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_md5.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_serpent.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_sha1.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_twofish.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_3des.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_aes.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/alg/ipsec_sha2.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipsec/ipsec.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arptable_filter.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_h323.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_irc.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_pptp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_proto_gre.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_quake3.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_rtsp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_tftp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_cuseeme.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_ftp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_h323.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_irc.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_mms.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_pptp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_quake3.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_rtsp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_tftp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_pool.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_queue.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_iphash.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_ipmap.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_iptree.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_macipmap.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_nethash.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_set_portmap.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_tables.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_DSCP.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ECN.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_LOG.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MARK.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_MIRROR.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NETLINK.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NETMAP.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_NOTRACK.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_POOL.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_REDIRECT.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_REJECT.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_SET.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TARPIT.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TCPMSS.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TOS.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_TTL.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ULOG.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ah.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_conntrack.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_dscp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_dstlimit.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ecn.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_esp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_fuzzy.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_helper.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_iprange.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ipv4options.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_length.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_limit.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mac.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mport.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_multiport.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_nth.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_osf.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_owner.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_pkttype.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_pool.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_psd.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_quota.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_realm.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_recent.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_set.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_state.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_string.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_tcpmss.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_tos.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_ttl.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_u32.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_unclean.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_filter.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_mangle.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_nat.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/iptable_raw.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arp_tables.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/arpt_mangle.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_conntrack_mms.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ip_nat_proto_gre.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_SAME.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_connlimit.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_mark.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_random.o.gz
+#lib/modules/2.4.31-smp/kernel/net/ipv4/netfilter/ipt_time.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_rsvp.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_rsvp6.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_tcindex.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_u32.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_cbq.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_csz.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_dsmark.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_gred.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_htb.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_ingress.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_prio.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_red.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_sfq.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_tbf.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_teql.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_fw.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/cls_route.o.gz
+#lib/modules/2.4.31-smp/kernel/net/sched/sch_hfsc.o.gz
+#lib/modules/2.4.31-smp/kernel/lib
+#lib/modules/2.4.31-smp/kernel/lib/zlib_deflate
+#lib/modules/2.4.31-smp/kernel/lib/zlib_deflate/zlib_deflate.o.gz
+#lib/modules/2.4.31-smp/kernel/lib/zlib_inflate
+#lib/modules/2.4.31-smp/kernel/lib/zlib_inflate/zlib_inflate.o.gz
+#lib/modules/2.4.31-smp/kernel/lib/crc32.o.gz
+#lib/modules/2.4.31-smp/kernel/lib/firmware_class.o.gz
+#lib/modules/2.4.31-smp/build
+lib/modules/2.4.31-smp/modules.dep
+lib/modules/2.4.31-smp/modules.generic_string
+#lib/modules/2.4.31-smp/modules.ieee1394map
+lib/modules/2.4.31-smp/modules.isapnpmap
+#lib/modules/2.4.31-smp/modules.parportmap
+lib/modules/2.4.31-smp/modules.pcimap
+#lib/modules/2.4.31-smp/modules.pnpbiosmap
+lib/modules/2.4.31-smp/modules.usbmap
+##
+## grub-0.95
+##
+#boot/grub
+boot/grub/grub.conf
+boot/grub/grubbatch
+boot/grub/ipfire.xpm.gz
+boot/grub/scsigrub.conf
+#usr/bin/mbchk
+usr/sbin/grub
+usr/sbin/grub-install
+usr/sbin/grub-md5-crypt
+usr/sbin/grub-terminfo
+usr/share/grub
+usr/share/grub/i386-pc
+usr/share/grub/i386-pc/e2fs_stage1_5
+#usr/share/grub/i386-pc/fat_stage1_5
+#usr/share/grub/i386-pc/ffs_stage1_5
+#usr/share/grub/i386-pc/iso9660_stage1_5
+#usr/share/grub/i386-pc/jfs_stage1_5
+#usr/share/grub/i386-pc/minix_stage1_5
+#usr/share/grub/i386-pc/reiserfs_stage1_5
+usr/share/grub/i386-pc/stage1
+usr/share/grub/i386-pc/stage2
+#usr/share/grub/i386-pc/stage2_eltorito
+#usr/share/grub/i386-pc/ufs2_stage1_5
+#usr/share/grub/i386-pc/vstafs_stage1_5
+#usr/share/grub/i386-pc/xfs_stage1_5
+#usr/share/info/grub.info
+#usr/share/info/multiboot.info
+#usr/share/man/man1/mbchk.1
+#usr/share/man/man8/grub-install.8
+#usr/share/man/man8/grub-md5-crypt.8
+#usr/share/man/man8/grub-terminfo.8
+#usr/share/man/man8/grub.8
+##
+## stage2
+##
+bin/cat
+bin/pwd
+bin/stty
+#boot
+#etc
+etc/certparams
+etc/fstab
+etc/group
+etc/host.conf
+etc/inittab
+etc/inputrc
+etc/issue
+etc/ld.so.conf
+etc/logrotate.conf
+etc/mime.types
+etc/modules.conf
+etc/mtab
+etc/nsswitch.conf
+#etc/opt
+etc/passwd
+etc/profile
+etc/resolv.conf
+etc/securetty
+etc/sysctl.conf
+etc/syslog.conf
+#home
+#home/nobody
+#lib
+mnt
+#opt
+#opt/bin
+#opt/doc
+#opt/include
+#opt/info
+#opt/lib
+#opt/man
+#opt/man/man1
+#opt/man/man2
+#opt/man/man3
+#opt/man/man4
+#opt/man/man5
+#opt/man/man6
+#opt/man/man7
+#opt/man/man8
+proc
+root
+#sbin
+sbin/mkinitrd
+tmp
+#usr/doc
+#usr/etc
+#usr/include
+#usr/info
+#usr/lib
+#usr/local
+#usr/local/bin
+usr/local/bin/httpscert
+usr/local/bin/makegraphs
+usr/local/bin/readhash
+usr/local/bin/setddns.pl
+usr/local/bin/setreservedports
+usr/local/bin/settime
+usr/local/bin/timecheck
+#usr/local/bin/tunerrd.pl
+usr/local/bin/updatelists.pl
+usr/local/bin/resetusb
+#usr/local/doc
+#usr/local/etc
+#usr/local/include
+#usr/local/info
+#usr/local/lib
+#usr/local/man
+#usr/local/sbin
+#usr/local/share
+#usr/local/share/dict
+#usr/local/share/doc
+#usr/local/share/info
+#usr/local/share/locale
+#usr/local/share/man
+#usr/local/share/man/man1
+#usr/local/share/man/man2
+#usr/local/share/man/man3
+#usr/local/share/man/man4
+#usr/local/share/man/man5
+#usr/local/share/man/man6
+#usr/local/share/man/man7
+#usr/local/share/man/man8
+#usr/local/share/misc
+#usr/local/share/nls
+#usr/local/share/terminfo
+#usr/local/share/zoneinfo
+#usr/local/src
+#usr/man
+#usr/sbin
+#usr/share
+#usr/share/dict
+#usr/share/doc
+#usr/share/info
+#usr/share/locale
+#usr/share/man
+#usr/share/man/man1
+#usr/share/man/man2
+#usr/share/man/man3
+#usr/share/man/man4
+#usr/share/man/man5
+#usr/share/man/man6
+#usr/share/man/man7
+#usr/share/man/man8
+#usr/share/misc
+#usr/share/nls
+#usr/share/terminfo
+#usr/share/zoneinfo
+#var
+#var/cache
+#var/lib
+#var/lib/misc
+#var/local
+#var/lock
+var/lock/subsys
+#var/log
+#var/mail
+#var/opt
+var/patches
+var/run
+#var/spool
+var/tmp
+##
+## make_devices-1.2
+##
+dev
+##
+## man-pages-2.09
+##
+#usr/share/man/man0p
+#usr/share/man/man0p/aio.h.0p
+#usr/share/man/man0p/assert.h.0p
+#usr/share/man/man0p/complex.h.0p
+#usr/share/man/man0p/cpio.h.0p
+#usr/share/man/man0p/ctype.h.0p
+#usr/share/man/man0p/dirent.h.0p
+#usr/share/man/man0p/dlfcn.h.0p
+#usr/share/man/man0p/errno.h.0p
+#usr/share/man/man0p/fcntl.h.0p
+#usr/share/man/man0p/fenv.h.0p
+#usr/share/man/man0p/float.h.0p
+#usr/share/man/man0p/fmtmsg.h.0p
+#usr/share/man/man0p/fnmatch.h.0p
+#usr/share/man/man0p/ftw.h.0p
+#usr/share/man/man0p/glob.h.0p
+#usr/share/man/man0p/grp.h.0p
+#usr/share/man/man0p/iconv.h.0p
+#usr/share/man/man0p/if.h.0p
+#usr/share/man/man0p/in.h.0p
+#usr/share/man/man0p/inet.h.0p
+#usr/share/man/man0p/inttypes.h.0p
+#usr/share/man/man0p/ipc.h.0p
+#usr/share/man/man0p/iso646.h.0p
+#usr/share/man/man0p/langinfo.h.0p
+#usr/share/man/man0p/libgen.h.0p
+#usr/share/man/man0p/limits.h.0p
+#usr/share/man/man0p/locale.h.0p
+#usr/share/man/man0p/math.h.0p
+#usr/share/man/man0p/mman.h.0p
+#usr/share/man/man0p/monetary.h.0p
+#usr/share/man/man0p/mqueue.h.0p
+#usr/share/man/man0p/msg.h.0p
+#usr/share/man/man0p/ndbm.h.0p
+#usr/share/man/man0p/netdb.h.0p
+#usr/share/man/man0p/nl_types.h.0p
+#usr/share/man/man0p/poll.h.0p
+#usr/share/man/man0p/pthread.h.0p
+#usr/share/man/man0p/pwd.h.0p
+#usr/share/man/man0p/regex.h.0p
+#usr/share/man/man0p/resource.h.0p
+#usr/share/man/man0p/sched.h.0p
+#usr/share/man/man0p/search.h.0p
+#usr/share/man/man0p/select.h.0p
+#usr/share/man/man0p/sem.h.0p
+#usr/share/man/man0p/semaphore.h.0p
+#usr/share/man/man0p/setjmp.h.0p
+#usr/share/man/man0p/shm.h.0p
+#usr/share/man/man0p/signal.h.0p
+#usr/share/man/man0p/socket.h.0p
+#usr/share/man/man0p/spawn.h.0p
+#usr/share/man/man0p/stat.h.0p
+#usr/share/man/man0p/statvfs.h.0p
+#usr/share/man/man0p/stdarg.h.0p
+#usr/share/man/man0p/stdbool.h.0p
+#usr/share/man/man0p/stddef.h.0p
+#usr/share/man/man0p/stdint.h.0p
+#usr/share/man/man0p/stdio.h.0p
+#usr/share/man/man0p/stdlib.h.0p
+#usr/share/man/man0p/string.h.0p
+#usr/share/man/man0p/strings.h.0p
+#usr/share/man/man0p/stropts.h.0p
+#usr/share/man/man0p/sys_ipc.h.0p
+#usr/share/man/man0p/sys_mman.h.0p
+#usr/share/man/man0p/sys_msg.h.0p
+#usr/share/man/man0p/sys_resource.h.0p
+#usr/share/man/man0p/sys_select.h.0p
+#usr/share/man/man0p/sys_sem.h.0p
+#usr/share/man/man0p/sys_shm.h.0p
+#usr/share/man/man0p/sys_socket.h.0p
+#usr/share/man/man0p/sys_stat.h.0p
+#usr/share/man/man0p/sys_statvfs.h.0p
+#usr/share/man/man0p/sys_time.h.0p
+#usr/share/man/man0p/sys_timeb.h.0p
+#usr/share/man/man0p/sys_times.h.0p
+#usr/share/man/man0p/sys_types.h.0p
+#usr/share/man/man0p/sys_uio.h.0p
+#usr/share/man/man0p/sys_un.h.0p
+#usr/share/man/man0p/sys_utsname.h.0p
+#usr/share/man/man0p/sys_wait.h.0p
+#usr/share/man/man0p/syslog.h.0p
+#usr/share/man/man0p/tar.h.0p
+#usr/share/man/man0p/tcp.h.0p
+#usr/share/man/man0p/termios.h.0p
+#usr/share/man/man0p/tgmath.h.0p
+#usr/share/man/man0p/time.h.0p
+#usr/share/man/man0p/timeb.h.0p
+#usr/share/man/man0p/times.h.0p
+#usr/share/man/man0p/trace.h.0p
+#usr/share/man/man0p/types.h.0p
+#usr/share/man/man0p/ucontext.h.0p
+#usr/share/man/man0p/uio.h.0p
+#usr/share/man/man0p/ulimit.h.0p
+#usr/share/man/man0p/un.h.0p
+#usr/share/man/man0p/unistd.h.0p
+#usr/share/man/man0p/utime.h.0p
+#usr/share/man/man0p/utmpx.h.0p
+#usr/share/man/man0p/utsname.h.0p
+#usr/share/man/man0p/wait.h.0p
+#usr/share/man/man0p/wchar.h.0p
+#usr/share/man/man0p/wctype.h.0p
+#usr/share/man/man0p/wordexp.h.0p
+#usr/share/man/man1/chgrp.1
+#usr/share/man/man1/chmod.1
+#usr/share/man/man1/chown.1
+#usr/share/man/man1/cp.1
+#usr/share/man/man1/dd.1
+#usr/share/man/man1/df.1
+#usr/share/man/man1/diff.1
+#usr/share/man/man1/dir.1
+#usr/share/man/man1/dircolors.1
+#usr/share/man/man1/du.1
+#usr/share/man/man1/install.1
+#usr/share/man/man1/intro.1
+#usr/share/man/man1/ldd.1
+#usr/share/man/man1/ln.1
+#usr/share/man/man1/ls.1
+#usr/share/man/man1/mkdir.1
+#usr/share/man/man1/mkfifo.1
+#usr/share/man/man1/mknod.1
+#usr/share/man/man1/mv.1
+#usr/share/man/man1/rm.1
+#usr/share/man/man1/rmdir.1
+#usr/share/man/man1/time.1
+#usr/share/man/man1/touch.1
+#usr/share/man/man1/vdir.1
+#usr/share/man/man1p
+#usr/share/man/man1p/admin.1p
+#usr/share/man/man1p/alias.1p
+#usr/share/man/man1p/ar.1p
+#usr/share/man/man1p/asa.1p
+#usr/share/man/man1p/at.1p
+#usr/share/man/man1p/awk.1p
+#usr/share/man/man1p/basename.1p
+#usr/share/man/man1p/batch.1p
+#usr/share/man/man1p/bc.1p
+#usr/share/man/man1p/bg.1p
+#usr/share/man/man1p/break.1p
+#usr/share/man/man1p/c99.1p
+#usr/share/man/man1p/cal.1p
+#usr/share/man/man1p/cat.1p
+#usr/share/man/man1p/cd.1p
+#usr/share/man/man1p/cflow.1p
+#usr/share/man/man1p/chgrp.1p
+#usr/share/man/man1p/chmod.1p
+#usr/share/man/man1p/chown.1p
+#usr/share/man/man1p/cksum.1p
+#usr/share/man/man1p/cmp.1p
+#usr/share/man/man1p/colon.1p
+#usr/share/man/man1p/comm.1p
+#usr/share/man/man1p/command.1p
+#usr/share/man/man1p/compress.1p
+#usr/share/man/man1p/continue.1p
+#usr/share/man/man1p/cp.1p
+#usr/share/man/man1p/crontab.1p
+#usr/share/man/man1p/csplit.1p
+#usr/share/man/man1p/ctags.1p
+#usr/share/man/man1p/cut.1p
+#usr/share/man/man1p/cxref.1p
+#usr/share/man/man1p/date.1p
+#usr/share/man/man1p/dd.1p
+#usr/share/man/man1p/delta.1p
+#usr/share/man/man1p/df.1p
+#usr/share/man/man1p/diff.1p
+#usr/share/man/man1p/dirname.1p
+#usr/share/man/man1p/dot.1p
+#usr/share/man/man1p/du.1p
+#usr/share/man/man1p/echo.1p
+#usr/share/man/man1p/ed.1p
+#usr/share/man/man1p/env.1p
+#usr/share/man/man1p/eval.1p
+#usr/share/man/man1p/ex.1p
+#usr/share/man/man1p/exec.1p
+#usr/share/man/man1p/exit.1p
+#usr/share/man/man1p/expand.1p
+#usr/share/man/man1p/export.1p
+#usr/share/man/man1p/expr.1p
+#usr/share/man/man1p/false.1p
+#usr/share/man/man1p/fc.1p
+#usr/share/man/man1p/fg.1p
+#usr/share/man/man1p/file.1p
+#usr/share/man/man1p/find.1p
+#usr/share/man/man1p/fold.1p
+#usr/share/man/man1p/fort77.1p
+#usr/share/man/man1p/fuser.1p
+#usr/share/man/man1p/gencat.1p
+#usr/share/man/man1p/get.1p
+#usr/share/man/man1p/getconf.1p
+#usr/share/man/man1p/getopts.1p
+#usr/share/man/man1p/grep.1p
+#usr/share/man/man1p/hash.1p
+#usr/share/man/man1p/head.1p
+#usr/share/man/man1p/iconv.1p
+#usr/share/man/man1p/id.1p
+#usr/share/man/man1p/ipcrm.1p
+#usr/share/man/man1p/ipcs.1p
+#usr/share/man/man1p/jobs.1p
+#usr/share/man/man1p/join.1p
+#usr/share/man/man1p/kill.1p
+#usr/share/man/man1p/lex.1p
+#usr/share/man/man1p/link.1p
+#usr/share/man/man1p/ln.1p
+#usr/share/man/man1p/locale.1p
+#usr/share/man/man1p/localedef.1p
+#usr/share/man/man1p/logger.1p
+#usr/share/man/man1p/logname.1p
+#usr/share/man/man1p/lp.1p
+#usr/share/man/man1p/ls.1p
+#usr/share/man/man1p/m4.1p
+#usr/share/man/man1p/mailx.1p
+#usr/share/man/man1p/make.1p
+#usr/share/man/man1p/man.1p
+#usr/share/man/man1p/mesg.1p
+#usr/share/man/man1p/mkdir.1p
+#usr/share/man/man1p/mkfifo.1p
+#usr/share/man/man1p/more.1p
+#usr/share/man/man1p/mv.1p
+#usr/share/man/man1p/newgrp.1p
+#usr/share/man/man1p/nice.1p
+#usr/share/man/man1p/nl.1p
+#usr/share/man/man1p/nm.1p
+#usr/share/man/man1p/nohup.1p
+#usr/share/man/man1p/od.1p
+#usr/share/man/man1p/paste.1p
+#usr/share/man/man1p/patch.1p
+#usr/share/man/man1p/pathchk.1p
+#usr/share/man/man1p/pax.1p
+#usr/share/man/man1p/pr.1p
+#usr/share/man/man1p/printf.1p
+#usr/share/man/man1p/prs.1p
+#usr/share/man/man1p/ps.1p
+#usr/share/man/man1p/pwd.1p
+#usr/share/man/man1p/qalter.1p
+#usr/share/man/man1p/qdel.1p
+#usr/share/man/man1p/qhold.1p
+#usr/share/man/man1p/qmove.1p
+#usr/share/man/man1p/qmsg.1p
+#usr/share/man/man1p/qrerun.1p
+#usr/share/man/man1p/qrls.1p
+#usr/share/man/man1p/qselect.1p
+#usr/share/man/man1p/qsig.1p
+#usr/share/man/man1p/qstat.1p
+#usr/share/man/man1p/qsub.1p
+#usr/share/man/man1p/read.1p
+#usr/share/man/man1p/readonly.1p
+#usr/share/man/man1p/renice.1p
+#usr/share/man/man1p/return.1p
+#usr/share/man/man1p/rm.1p
+#usr/share/man/man1p/rmdel.1p
+#usr/share/man/man1p/rmdir.1p
+#usr/share/man/man1p/sact.1p
+#usr/share/man/man1p/sccs.1p
+#usr/share/man/man1p/sed.1p
+#usr/share/man/man1p/set.1p
+#usr/share/man/man1p/sh.1p
+#usr/share/man/man1p/shift.1p
+#usr/share/man/man1p/sleep.1p
+#usr/share/man/man1p/sort.1p
+#usr/share/man/man1p/split.1p
+#usr/share/man/man1p/strings.1p
+#usr/share/man/man1p/strip.1p
+#usr/share/man/man1p/stty.1p
+#usr/share/man/man1p/tabs.1p
+#usr/share/man/man1p/tail.1p
+#usr/share/man/man1p/talk.1p
+#usr/share/man/man1p/tee.1p
+#usr/share/man/man1p/test.1p
+#usr/share/man/man1p/time.1p
+#usr/share/man/man1p/times.1p
+#usr/share/man/man1p/touch.1p
+#usr/share/man/man1p/tput.1p
+#usr/share/man/man1p/tr.1p
+#usr/share/man/man1p/trap.1p
+#usr/share/man/man1p/true.1p
+#usr/share/man/man1p/tsort.1p
+#usr/share/man/man1p/tty.1p
+#usr/share/man/man1p/type.1p
+#usr/share/man/man1p/ulimit.1p
+#usr/share/man/man1p/umask.1p
+#usr/share/man/man1p/unalias.1p
+#usr/share/man/man1p/uname.1p
+#usr/share/man/man1p/uncompress.1p
+#usr/share/man/man1p/unexpand.1p
+#usr/share/man/man1p/unget.1p
+#usr/share/man/man1p/uniq.1p
+#usr/share/man/man1p/unlink.1p
+#usr/share/man/man1p/unset.1p
+#usr/share/man/man1p/uucp.1p
+#usr/share/man/man1p/uudecode.1p
+#usr/share/man/man1p/uuencode.1p
+#usr/share/man/man1p/uustat.1p
+#usr/share/man/man1p/uux.1p
+#usr/share/man/man1p/val.1p
+#usr/share/man/man1p/vi.1p
+#usr/share/man/man1p/wait.1p
+#usr/share/man/man1p/wc.1p
+#usr/share/man/man1p/what.1p
+#usr/share/man/man1p/who.1p
+#usr/share/man/man1p/write.1p
+#usr/share/man/man1p/xargs.1p
+#usr/share/man/man1p/yacc.1p
+#usr/share/man/man1p/zcat.1p
+#usr/share/man/man2/_Exit.2
+#usr/share/man/man2/_exit.2
+#usr/share/man/man2/_llseek.2
+#usr/share/man/man2/_newselect.2
+#usr/share/man/man2/_sysctl.2
+#usr/share/man/man2/accept.2
+#usr/share/man/man2/access.2
+#usr/share/man/man2/acct.2
+#usr/share/man/man2/adjtimex.2
+#usr/share/man/man2/afs_syscall.2
+#usr/share/man/man2/alarm.2
+#usr/share/man/man2/alloc_hugepages.2
+#usr/share/man/man2/arch_prctl.2
+#usr/share/man/man2/bdflush.2
+#usr/share/man/man2/bind.2
+#usr/share/man/man2/break.2
+#usr/share/man/man2/brk.2
+#usr/share/man/man2/cacheflush.2
+#usr/share/man/man2/capget.2
+#usr/share/man/man2/capset.2
+#usr/share/man/man2/chdir.2
+#usr/share/man/man2/chmod.2
+#usr/share/man/man2/chown.2
+#usr/share/man/man2/chroot.2
+#usr/share/man/man2/clone.2
+#usr/share/man/man2/close.2
+#usr/share/man/man2/connect.2
+#usr/share/man/man2/creat.2
+#usr/share/man/man2/dup.2
+#usr/share/man/man2/dup2.2
+#usr/share/man/man2/epoll_create.2
+#usr/share/man/man2/epoll_ctl.2
+#usr/share/man/man2/epoll_wait.2
+#usr/share/man/man2/execve.2
+#usr/share/man/man2/exit.2
+#usr/share/man/man2/exit_group.2
+#usr/share/man/man2/fchdir.2
+#usr/share/man/man2/fchmod.2
+#usr/share/man/man2/fchown.2
+#usr/share/man/man2/fcntl.2
+#usr/share/man/man2/fdatasync.2
+#usr/share/man/man2/fgetxattr.2
+#usr/share/man/man2/flistxattr.2
+#usr/share/man/man2/flock.2
+#usr/share/man/man2/fork.2
+#usr/share/man/man2/free_hugepages.2
+#usr/share/man/man2/fremovexattr.2
+#usr/share/man/man2/fsetxattr.2
+#usr/share/man/man2/fstat.2
+#usr/share/man/man2/fstatfs.2
+#usr/share/man/man2/fstatvfs.2
+#usr/share/man/man2/fsync.2
+#usr/share/man/man2/ftruncate.2
+#usr/share/man/man2/futex.2
+#usr/share/man/man2/get_thread_area.2
+#usr/share/man/man2/getcontext.2
+#usr/share/man/man2/getdents.2
+#usr/share/man/man2/getdomainname.2
+#usr/share/man/man2/getdtablesize.2
+#usr/share/man/man2/getegid.2
+#usr/share/man/man2/geteuid.2
+#usr/share/man/man2/getgid.2
+#usr/share/man/man2/getgroups.2
+#usr/share/man/man2/gethostid.2
+#usr/share/man/man2/gethostname.2
+#usr/share/man/man2/getitimer.2
+#usr/share/man/man2/getpagesize.2
+#usr/share/man/man2/getpeername.2
+#usr/share/man/man2/getpgid.2
+#usr/share/man/man2/getpgrp.2
+#usr/share/man/man2/getpid.2
+#usr/share/man/man2/getpmsg.2
+#usr/share/man/man2/getppid.2
+#usr/share/man/man2/getpriority.2
+#usr/share/man/man2/getresgid.2
+#usr/share/man/man2/getresuid.2
+#usr/share/man/man2/getrlimit.2
+#usr/share/man/man2/getrusage.2
+#usr/share/man/man2/getsid.2
+#usr/share/man/man2/getsockname.2
+#usr/share/man/man2/getsockopt.2
+#usr/share/man/man2/gettid.2
+#usr/share/man/man2/gettimeofday.2
+#usr/share/man/man2/getuid.2
+#usr/share/man/man2/getxattr.2
+#usr/share/man/man2/gtty.2
+#usr/share/man/man2/idle.2
+#usr/share/man/man2/inb.2
+#usr/share/man/man2/inb_p.2
+#usr/share/man/man2/inl.2
+#usr/share/man/man2/inl_p.2
+#usr/share/man/man2/insb.2
+#usr/share/man/man2/insl.2
+#usr/share/man/man2/insw.2
+#usr/share/man/man2/intro.2
+#usr/share/man/man2/inw.2
+#usr/share/man/man2/inw_p.2
+#usr/share/man/man2/io_cancel.2
+#usr/share/man/man2/io_destroy.2
+#usr/share/man/man2/io_getevents.2
+#usr/share/man/man2/io_setup.2
+#usr/share/man/man2/io_submit.2
+#usr/share/man/man2/ioctl.2
+#usr/share/man/man2/ioctl_list.2
+#usr/share/man/man2/ioperm.2
+#usr/share/man/man2/iopl.2
+#usr/share/man/man2/ipc.2
+#usr/share/man/man2/kill.2
+#usr/share/man/man2/killpg.2
+#usr/share/man/man2/lchown.2
+#usr/share/man/man2/lgetxattr.2
+#usr/share/man/man2/link.2
+#usr/share/man/man2/listen.2
+#usr/share/man/man2/listxattr.2
+#usr/share/man/man2/llistxattr.2
+#usr/share/man/man2/llseek.2
+#usr/share/man/man2/lock.2
+#usr/share/man/man2/lookup_dcookie.2
+#usr/share/man/man2/lremovexattr.2
+#usr/share/man/man2/lseek.2
+#usr/share/man/man2/lsetxattr.2
+#usr/share/man/man2/lstat.2
+#usr/share/man/man2/madvise.2
+#usr/share/man/man2/mincore.2
+#usr/share/man/man2/mkdir.2
+#usr/share/man/man2/mknod.2
+#usr/share/man/man2/mlock.2
+#usr/share/man/man2/mlockall.2
+#usr/share/man/man2/mmap.2
+#usr/share/man/man2/mmap2.2
+#usr/share/man/man2/modify_ldt.2
+#usr/share/man/man2/mount.2
+#usr/share/man/man2/mprotect.2
+#usr/share/man/man2/mpx.2
+#usr/share/man/man2/mremap.2
+#usr/share/man/man2/msgctl.2
+#usr/share/man/man2/msgget.2
+#usr/share/man/man2/msgop.2
+#usr/share/man/man2/msgrcv.2
+#usr/share/man/man2/msgsnd.2
+#usr/share/man/man2/msync.2
+#usr/share/man/man2/munlock.2
+#usr/share/man/man2/munlockall.2
+#usr/share/man/man2/munmap.2
+#usr/share/man/man2/nanosleep.2
+#usr/share/man/man2/nfsservctl.2
+#usr/share/man/man2/nice.2
+#usr/share/man/man2/obsolete.2
+#usr/share/man/man2/oldfstat.2
+#usr/share/man/man2/oldlstat.2
+#usr/share/man/man2/oldolduname.2
+#usr/share/man/man2/oldstat.2
+#usr/share/man/man2/olduname.2
+#usr/share/man/man2/open.2
+#usr/share/man/man2/outb.2
+#usr/share/man/man2/outb_p.2
+#usr/share/man/man2/outl.2
+#usr/share/man/man2/outl_p.2
+#usr/share/man/man2/outsb.2
+#usr/share/man/man2/outsl.2
+#usr/share/man/man2/outsw.2
+#usr/share/man/man2/outw.2
+#usr/share/man/man2/outw_p.2
+#usr/share/man/man2/path_resolution.2
+#usr/share/man/man2/pause.2
+#usr/share/man/man2/pciconfig_iobase.2
+#usr/share/man/man2/pciconfig_read.2
+#usr/share/man/man2/pciconfig_write.2
+#usr/share/man/man2/personality.2
+#usr/share/man/man2/pipe.2
+#usr/share/man/man2/pivot_root.2
+#usr/share/man/man2/poll.2
+#usr/share/man/man2/posix_fadvise.2
+#usr/share/man/man2/prctl.2
+#usr/share/man/man2/pread.2
+#usr/share/man/man2/prof.2
+#usr/share/man/man2/pselect.2
+#usr/share/man/man2/ptrace.2
+#usr/share/man/man2/putpmsg.2
+#usr/share/man/man2/pwrite.2
+#usr/share/man/man2/quotactl.2
+#usr/share/man/man2/read.2
+#usr/share/man/man2/readahead.2
+#usr/share/man/man2/readdir.2
+#usr/share/man/man2/readlink.2
+#usr/share/man/man2/readv.2
+#usr/share/man/man2/reboot.2
+#usr/share/man/man2/recv.2
+#usr/share/man/man2/recvfrom.2
+#usr/share/man/man2/recvmsg.2
+#usr/share/man/man2/remap_file_pages.2
+#usr/share/man/man2/removexattr.2
+#usr/share/man/man2/rename.2
+#usr/share/man/man2/rmdir.2
+#usr/share/man/man2/sbrk.2
+#usr/share/man/man2/sched_get_priority_max.2
+#usr/share/man/man2/sched_get_priority_min.2
+#usr/share/man/man2/sched_getaffinity.2
+#usr/share/man/man2/sched_getparam.2
+#usr/share/man/man2/sched_getscheduler.2
+#usr/share/man/man2/sched_rr_get_interval.2
+#usr/share/man/man2/sched_setaffinity.2
+#usr/share/man/man2/sched_setparam.2
+#usr/share/man/man2/sched_setscheduler.2
+#usr/share/man/man2/sched_yield.2
+#usr/share/man/man2/security.2
+#usr/share/man/man2/select.2
+#usr/share/man/man2/select_tut.2
+#usr/share/man/man2/semctl.2
+#usr/share/man/man2/semget.2
+#usr/share/man/man2/semop.2
+#usr/share/man/man2/semtimedop.2
+#usr/share/man/man2/send.2
+#usr/share/man/man2/sendfile.2
+#usr/share/man/man2/sendmsg.2
+#usr/share/man/man2/sendto.2
+#usr/share/man/man2/set_thread_area.2
+#usr/share/man/man2/set_tid_address.2
+#usr/share/man/man2/setcontext.2
+#usr/share/man/man2/setdomainname.2
+#usr/share/man/man2/setegid.2
+#usr/share/man/man2/seteuid.2
+#usr/share/man/man2/setfsgid.2
+#usr/share/man/man2/setfsuid.2
+#usr/share/man/man2/setgid.2
+#usr/share/man/man2/setgroups.2
+#usr/share/man/man2/sethostid.2
+#usr/share/man/man2/sethostname.2
+#usr/share/man/man2/setitimer.2
+#usr/share/man/man2/setpgid.2
+#usr/share/man/man2/setpgrp.2
+#usr/share/man/man2/setpriority.2
+#usr/share/man/man2/setregid.2
+#usr/share/man/man2/setresgid.2
+#usr/share/man/man2/setresuid.2
+#usr/share/man/man2/setreuid.2
+#usr/share/man/man2/setrlimit.2
+#usr/share/man/man2/setsid.2
+#usr/share/man/man2/setsockopt.2
+#usr/share/man/man2/settimeofday.2
+#usr/share/man/man2/setuid.2
+#usr/share/man/man2/setup.2
+#usr/share/man/man2/setxattr.2
+#usr/share/man/man2/sgetmask.2
+#usr/share/man/man2/shmat.2
+#usr/share/man/man2/shmctl.2
+#usr/share/man/man2/shmdt.2
+#usr/share/man/man2/shmget.2
+#usr/share/man/man2/shmop.2
+#usr/share/man/man2/shutdown.2
+#usr/share/man/man2/sigaction.2
+#usr/share/man/man2/sigaltstack.2
+#usr/share/man/man2/sigblock.2
+#usr/share/man/man2/siggetmask.2
+#usr/share/man/man2/sigmask.2
+#usr/share/man/man2/signal.2
+#usr/share/man/man2/sigpause.2
+#usr/share/man/man2/sigpending.2
+#usr/share/man/man2/sigprocmask.2
+#usr/share/man/man2/sigqueue.2
+#usr/share/man/man2/sigreturn.2
+#usr/share/man/man2/sigsetmask.2
+#usr/share/man/man2/sigsuspend.2
+#usr/share/man/man2/sigtimedwait.2
+#usr/share/man/man2/sigvec.2
+#usr/share/man/man2/sigwaitinfo.2
+#usr/share/man/man2/socket.2
+#usr/share/man/man2/socketcall.2
+#usr/share/man/man2/socketpair.2
+#usr/share/man/man2/ssetmask.2
+#usr/share/man/man2/stat.2
+#usr/share/man/man2/statfs.2
+#usr/share/man/man2/statvfs.2
+#usr/share/man/man2/stime.2
+#usr/share/man/man2/stty.2
+#usr/share/man/man2/swapoff.2
+#usr/share/man/man2/swapon.2
+#usr/share/man/man2/symlink.2
+#usr/share/man/man2/sync.2
+#usr/share/man/man2/syscall.2
+#usr/share/man/man2/syscalls.2
+#usr/share/man/man2/sysctl.2
+#usr/share/man/man2/sysfs.2
+#usr/share/man/man2/sysinfo.2
+#usr/share/man/man2/syslog.2
+#usr/share/man/man2/tgkill.2
+#usr/share/man/man2/time.2
+#usr/share/man/man2/times.2
+#usr/share/man/man2/tkill.2
+#usr/share/man/man2/truncate.2
+#usr/share/man/man2/umask.2
+#usr/share/man/man2/umount.2
+#usr/share/man/man2/umount2.2
+#usr/share/man/man2/uname.2
+#usr/share/man/man2/undocumented.2
+#usr/share/man/man2/unimplemented.2
+#usr/share/man/man2/unlink.2
+#usr/share/man/man2/uselib.2
+#usr/share/man/man2/ustat.2
+#usr/share/man/man2/utime.2
+#usr/share/man/man2/utimes.2
+#usr/share/man/man2/vfork.2
+#usr/share/man/man2/vhangup.2
+#usr/share/man/man2/vm86.2
+#usr/share/man/man2/wait.2
+#usr/share/man/man2/wait3.2
+#usr/share/man/man2/wait4.2
+#usr/share/man/man2/waitid.2
+#usr/share/man/man2/waitpid.2
+#usr/share/man/man2/write.2
+#usr/share/man/man2/writev.2
+#usr/share/man/man3/CMSG_ALIGN.3
+#usr/share/man/man3/CMSG_FIRSTHDR.3
+#usr/share/man/man3/CMSG_NXTHDR.3
+#usr/share/man/man3/CMSG_SPACE.3
+#usr/share/man/man3/HUGE_VAL.3
+#usr/share/man/man3/HUGE_VALF.3
+#usr/share/man/man3/HUGE_VALL.3
+#usr/share/man/man3/INFINITY.3
+#usr/share/man/man3/MB_CUR_MAX.3
+#usr/share/man/man3/MB_LEN_MAX.3
+#usr/share/man/man3/NAN.3
+#usr/share/man/man3/__fbufsize.3
+#usr/share/man/man3/__flbf.3
+#usr/share/man/man3/__fpending.3
+#usr/share/man/man3/__fpurge.3
+#usr/share/man/man3/__freadable.3
+#usr/share/man/man3/__freading.3
+#usr/share/man/man3/__fsetlocking.3
+#usr/share/man/man3/__fwritable.3
+#usr/share/man/man3/__fwriting.3
+#usr/share/man/man3/__malloc_hook.3
+#usr/share/man/man3/__setfpucw.3
+#usr/share/man/man3/_flushlbf.3
+#usr/share/man/man3/a64l.3
+#usr/share/man/man3/abort.3
+#usr/share/man/man3/abs.3
+#usr/share/man/man3/acos.3
+#usr/share/man/man3/acosf.3
+#usr/share/man/man3/acosh.3
+#usr/share/man/man3/acoshf.3
+#usr/share/man/man3/acoshl.3
+#usr/share/man/man3/acosl.3
+#usr/share/man/man3/addmntent.3
+#usr/share/man/man3/addseverity.3
+#usr/share/man/man3/aio_cancel.3
+#usr/share/man/man3/aio_error.3
+#usr/share/man/man3/aio_fsync.3
+#usr/share/man/man3/aio_read.3
+#usr/share/man/man3/aio_return.3
+#usr/share/man/man3/aio_suspend.3
+#usr/share/man/man3/aio_write.3
+#usr/share/man/man3/alloca.3
+#usr/share/man/man3/alphasort.3
+#usr/share/man/man3/argz_add.3
+#usr/share/man/man3/argz_add_sep.3
+#usr/share/man/man3/argz_append.3
+#usr/share/man/man3/argz_count.3
+#usr/share/man/man3/argz_create.3
+#usr/share/man/man3/argz_create_sep.3
+#usr/share/man/man3/argz_delete.3
+#usr/share/man/man3/argz_extract.3
+#usr/share/man/man3/argz_insert.3
+#usr/share/man/man3/argz_next.3
+#usr/share/man/man3/argz_replace.3
+#usr/share/man/man3/argz_stringify.3
+#usr/share/man/man3/asctime.3
+#usr/share/man/man3/asctime_r.3
+#usr/share/man/man3/asin.3
+#usr/share/man/man3/asinf.3
+#usr/share/man/man3/asinh.3
+#usr/share/man/man3/asinhf.3
+#usr/share/man/man3/asinhl.3
+#usr/share/man/man3/asinl.3
+#usr/share/man/man3/asprintf.3
+#usr/share/man/man3/assert.3
+#usr/share/man/man3/assert_perror.3
+#usr/share/man/man3/atan.3
+#usr/share/man/man3/atan2.3
+#usr/share/man/man3/atan2f.3
+#usr/share/man/man3/atan2l.3
+#usr/share/man/man3/atanf.3
+#usr/share/man/man3/atanh.3
+#usr/share/man/man3/atanhf.3
+#usr/share/man/man3/atanhl.3
+#usr/share/man/man3/atanl.3
+#usr/share/man/man3/atexit.3
+#usr/share/man/man3/atof.3
+#usr/share/man/man3/atoi.3
+#usr/share/man/man3/atol.3
+#usr/share/man/man3/atoll.3
+#usr/share/man/man3/atoq.3
+#usr/share/man/man3/auth_destroy.3
+#usr/share/man/man3/authnone_create.3
+#usr/share/man/man3/authunix_create.3
+#usr/share/man/man3/authunix_create_default.3
+#usr/share/man/man3/basename.3
+#usr/share/man/man3/bcmp.3
+#usr/share/man/man3/bcopy.3
+#usr/share/man/man3/bindresvport.3
+#usr/share/man/man3/bsearch.3
+#usr/share/man/man3/bstring.3
+#usr/share/man/man3/btowc.3
+#usr/share/man/man3/btree.3
+#usr/share/man/man3/byteorder.3
+#usr/share/man/man3/bzero.3
+#usr/share/man/man3/cabs.3
+#usr/share/man/man3/cabsf.3
+#usr/share/man/man3/cabsl.3
+#usr/share/man/man3/cacos.3
+#usr/share/man/man3/cacosf.3
+#usr/share/man/man3/cacosh.3
+#usr/share/man/man3/cacoshf.3
+#usr/share/man/man3/cacoshl.3
+#usr/share/man/man3/cacosl.3
+#usr/share/man/man3/calloc.3
+#usr/share/man/man3/callrpc.3
+#usr/share/man/man3/canonicalize_file_name.3
+#usr/share/man/man3/carg.3
+#usr/share/man/man3/cargf.3
+#usr/share/man/man3/cargl.3
+#usr/share/man/man3/casin.3
+#usr/share/man/man3/casinf.3
+#usr/share/man/man3/casinh.3
+#usr/share/man/man3/casinhf.3
+#usr/share/man/man3/casinhl.3
+#usr/share/man/man3/casinl.3
+#usr/share/man/man3/catan.3
+#usr/share/man/man3/catanf.3
+#usr/share/man/man3/catanh.3
+#usr/share/man/man3/catanhf.3
+#usr/share/man/man3/catanhl.3
+#usr/share/man/man3/catanl.3
+#usr/share/man/man3/catclose.3
+#usr/share/man/man3/catgets.3
+#usr/share/man/man3/catopen.3
+#usr/share/man/man3/cbc_crypt.3
+#usr/share/man/man3/cbrt.3
+#usr/share/man/man3/cbrtf.3
+#usr/share/man/man3/cbrtl.3
+#usr/share/man/man3/ccos.3
+#usr/share/man/man3/ccosf.3
+#usr/share/man/man3/ccosh.3
+#usr/share/man/man3/ccoshf.3
+#usr/share/man/man3/ccoshl.3
+#usr/share/man/man3/ccosl.3
+#usr/share/man/man3/ceil.3
+#usr/share/man/man3/ceilf.3
+#usr/share/man/man3/ceill.3
+#usr/share/man/man3/cerf.3
+#usr/share/man/man3/cerfc.3
+#usr/share/man/man3/cerfcf.3
+#usr/share/man/man3/cerfcl.3
+#usr/share/man/man3/cerff.3
+#usr/share/man/man3/cerfl.3
+#usr/share/man/man3/cexp.3
+#usr/share/man/man3/cexp2.3
+#usr/share/man/man3/cexp2f.3
+#usr/share/man/man3/cexp2l.3
+#usr/share/man/man3/cexpf.3
+#usr/share/man/man3/cexpl.3
+#usr/share/man/man3/cfgetispeed.3
+#usr/share/man/man3/cfgetospeed.3
+#usr/share/man/man3/cfmakeraw.3
+#usr/share/man/man3/cfree.3
+#usr/share/man/man3/cfsetispeed.3
+#usr/share/man/man3/cfsetospeed.3
+#usr/share/man/man3/cimag.3
+#usr/share/man/man3/cimagf.3
+#usr/share/man/man3/cimagl.3
+#usr/share/man/man3/clearenv.3
+#usr/share/man/man3/clearerr.3
+#usr/share/man/man3/clearerr_unlocked.3
+#usr/share/man/man3/clnt_broadcast.3
+#usr/share/man/man3/clnt_call.3
+#usr/share/man/man3/clnt_control.3
+#usr/share/man/man3/clnt_create.3
+#usr/share/man/man3/clnt_destroy.3
+#usr/share/man/man3/clnt_freeres.3
+#usr/share/man/man3/clnt_geterr.3
+#usr/share/man/man3/clnt_pcreateerror.3
+#usr/share/man/man3/clnt_perrno.3
+#usr/share/man/man3/clnt_perror.3
+#usr/share/man/man3/clnt_spcreateerror.3
+#usr/share/man/man3/clnt_sperrno.3
+#usr/share/man/man3/clnt_sperror.3
+#usr/share/man/man3/clntraw_create.3
+#usr/share/man/man3/clnttcp_create.3
+#usr/share/man/man3/clntudp_bufcreate.3
+#usr/share/man/man3/clntudp_create.3
+#usr/share/man/man3/clock.3
+#usr/share/man/man3/clock_getres.3
+#usr/share/man/man3/clock_gettime.3
+#usr/share/man/man3/clock_settime.3
+#usr/share/man/man3/clog.3
+#usr/share/man/man3/clog10.3
+#usr/share/man/man3/clog10f.3
+#usr/share/man/man3/clog10l.3
+#usr/share/man/man3/clog2.3
+#usr/share/man/man3/clog2f.3
+#usr/share/man/man3/clog2l.3
+#usr/share/man/man3/clogf.3
+#usr/share/man/man3/clogl.3
+#usr/share/man/man3/closedir.3
+#usr/share/man/man3/closelog.3
+#usr/share/man/man3/cmsg.3
+#usr/share/man/man3/confstr.3
+#usr/share/man/man3/conj.3
+#usr/share/man/man3/conjf.3
+#usr/share/man/man3/conjl.3
+#usr/share/man/man3/copysign.3
+#usr/share/man/man3/copysignf.3
+#usr/share/man/man3/copysignl.3
+#usr/share/man/man3/cos.3
+#usr/share/man/man3/cosf.3
+#usr/share/man/man3/cosh.3
+#usr/share/man/man3/coshf.3
+#usr/share/man/man3/coshl.3
+#usr/share/man/man3/cosl.3
+#usr/share/man/man3/cpow.3
+#usr/share/man/man3/cpowf.3
+#usr/share/man/man3/cpowl.3
+#usr/share/man/man3/cproj.3
+#usr/share/man/man3/cprojf.3
+#usr/share/man/man3/cprojl.3
+#usr/share/man/man3/creal.3
+#usr/share/man/man3/crealf.3
+#usr/share/man/man3/creall.3
+#usr/share/man/man3/crypt.3
+#usr/share/man/man3/csin.3
+#usr/share/man/man3/csinf.3
+#usr/share/man/man3/csinh.3
+#usr/share/man/man3/csinhf.3
+#usr/share/man/man3/csinhl.3
+#usr/share/man/man3/csinl.3
+#usr/share/man/man3/csqrt.3
+#usr/share/man/man3/csqrtf.3
+#usr/share/man/man3/csqrtl.3
+#usr/share/man/man3/ctan.3
+#usr/share/man/man3/ctanf.3
+#usr/share/man/man3/ctanh.3
+#usr/share/man/man3/ctanhf.3
+#usr/share/man/man3/ctanhl.3
+#usr/share/man/man3/ctanl.3
+#usr/share/man/man3/ctermid.3
+#usr/share/man/man3/ctime.3
+#usr/share/man/man3/ctime_r.3
+#usr/share/man/man3/cuserid.3
+#usr/share/man/man3/daemon.3
+#usr/share/man/man3/db.3
+#usr/share/man/man3/dbopen.3
+#usr/share/man/man3/des_crypt.3
+#usr/share/man/man3/des_setparity.3
+#usr/share/man/man3/difftime.3
+#usr/share/man/man3/dirfd.3
+#usr/share/man/man3/dirname.3
+#usr/share/man/man3/div.3
+#usr/share/man/man3/dl_iterate_phdr.3
+#usr/share/man/man3/dladdr.3
+#usr/share/man/man3/dlclose.3
+#usr/share/man/man3/dlerror.3
+#usr/share/man/man3/dlopen.3
+#usr/share/man/man3/dlsym.3
+#usr/share/man/man3/dlvsym.3
+#usr/share/man/man3/dn_comp.3
+#usr/share/man/man3/dn_expand.3
+#usr/share/man/man3/dprintf.3
+#usr/share/man/man3/drand48.3
+#usr/share/man/man3/drand48_r.3
+#usr/share/man/man3/drem.3
+#usr/share/man/man3/dremf.3
+#usr/share/man/man3/dreml.3
+#usr/share/man/man3/dysize.3
+#usr/share/man/man3/ecb_crypt.3
+#usr/share/man/man3/ecvt.3
+#usr/share/man/man3/ecvt_r.3
+#usr/share/man/man3/encrypt.3
+#usr/share/man/man3/endaliasent.3
+#usr/share/man/man3/endfsent.3
+#usr/share/man/man3/endgrent.3
+#usr/share/man/man3/endhostent.3
+#usr/share/man/man3/endmntent.3
+#usr/share/man/man3/endnetent.3
+#usr/share/man/man3/endnetgrent.3
+#usr/share/man/man3/endprotoent.3
+#usr/share/man/man3/endpwent.3
+#usr/share/man/man3/endrpcent.3
+#usr/share/man/man3/endservent.3
+#usr/share/man/man3/endspent.3
+#usr/share/man/man3/endttyent.3
+#usr/share/man/man3/endusershell.3
+#usr/share/man/man3/endutent.3
+#usr/share/man/man3/endutxent.3
+#usr/share/man/man3/envz_add.3
+#usr/share/man/man3/envz_entry.3
+#usr/share/man/man3/envz_get.3
+#usr/share/man/man3/envz_merge.3
+#usr/share/man/man3/envz_remove.3
+#usr/share/man/man3/envz_strip.3
+#usr/share/man/man3/erand48.3
+#usr/share/man/man3/erand48_r.3
+#usr/share/man/man3/erf.3
+#usr/share/man/man3/erfc.3
+#usr/share/man/man3/erfcf.3
+#usr/share/man/man3/erfcl.3
+#usr/share/man/man3/erff.3
+#usr/share/man/man3/erfl.3
+#usr/share/man/man3/err.3
+#usr/share/man/man3/errno.3
+#usr/share/man/man3/errx.3
+#usr/share/man/man3/ether_aton.3
+#usr/share/man/man3/ether_aton_r.3
+#usr/share/man/man3/ether_hostton.3
+#usr/share/man/man3/ether_line.3
+#usr/share/man/man3/ether_ntoa.3
+#usr/share/man/man3/ether_ntoa_r.3
+#usr/share/man/man3/ether_ntohost.3
+#usr/share/man/man3/exec.3
+#usr/share/man/man3/execl.3
+#usr/share/man/man3/execle.3
+#usr/share/man/man3/execlp.3
+#usr/share/man/man3/execv.3
+#usr/share/man/man3/execvp.3
+#usr/share/man/man3/exit.3
+#usr/share/man/man3/exp.3
+#usr/share/man/man3/exp10.3
+#usr/share/man/man3/exp10f.3
+#usr/share/man/man3/exp10l.3
+#usr/share/man/man3/exp2.3
+#usr/share/man/man3/exp2f.3
+#usr/share/man/man3/exp2l.3
+#usr/share/man/man3/expf.3
+#usr/share/man/man3/expl.3
+#usr/share/man/man3/expm1.3
+#usr/share/man/man3/expm1f.3
+#usr/share/man/man3/expm1l.3
+#usr/share/man/man3/fabs.3
+#usr/share/man/man3/fabsf.3
+#usr/share/man/man3/fabsl.3
+#usr/share/man/man3/fclose.3
+#usr/share/man/man3/fcloseall.3
+#usr/share/man/man3/fcvt.3
+#usr/share/man/man3/fcvt_r.3
+#usr/share/man/man3/fdim.3
+#usr/share/man/man3/fdimf.3
+#usr/share/man/man3/fdiml.3
+#usr/share/man/man3/fdopen.3
+#usr/share/man/man3/feclearexcept.3
+#usr/share/man/man3/fedisableexcept.3
+#usr/share/man/man3/feenableexcept.3
+#usr/share/man/man3/fegetenv.3
+#usr/share/man/man3/fegetexcept.3
+#usr/share/man/man3/fegetexceptflag.3
+#usr/share/man/man3/fegetround.3
+#usr/share/man/man3/feholdexcept.3
+#usr/share/man/man3/fenv.3
+#usr/share/man/man3/feof.3
+#usr/share/man/man3/feof_unlocked.3
+#usr/share/man/man3/feraiseexcept.3
+#usr/share/man/man3/ferror.3
+#usr/share/man/man3/ferror_unlocked.3
+#usr/share/man/man3/fesetenv.3
+#usr/share/man/man3/fesetexceptflag.3
+#usr/share/man/man3/fesetround.3
+#usr/share/man/man3/fetestexcept.3
+#usr/share/man/man3/feupdateenv.3
+#usr/share/man/man3/fflush.3
+#usr/share/man/man3/fflush_unlocked.3
+#usr/share/man/man3/ffs.3
+#usr/share/man/man3/ffsl.3
+#usr/share/man/man3/ffsll.3
+#usr/share/man/man3/fgetc.3
+#usr/share/man/man3/fgetc_unlocked.3
+#usr/share/man/man3/fgetgrent.3
+#usr/share/man/man3/fgetgrent_r.3
+#usr/share/man/man3/fgetpos.3
+#usr/share/man/man3/fgetpwent.3
+#usr/share/man/man3/fgetpwent_r.3
+#usr/share/man/man3/fgets.3
+#usr/share/man/man3/fgets_unlocked.3
+#usr/share/man/man3/fgetspent.3
+#usr/share/man/man3/fgetspent_r.3
+#usr/share/man/man3/fgetwc.3
+#usr/share/man/man3/fgetwc_unlocked.3
+#usr/share/man/man3/fgetws.3
+#usr/share/man/man3/fgetws_unlocked.3
+#usr/share/man/man3/fileno.3
+#usr/share/man/man3/fileno_unlocked.3
+#usr/share/man/man3/finite.3
+#usr/share/man/man3/finitef.3
+#usr/share/man/man3/finitel.3
+#usr/share/man/man3/flockfile.3
+#usr/share/man/man3/floor.3
+#usr/share/man/man3/floorf.3
+#usr/share/man/man3/floorl.3
+#usr/share/man/man3/fma.3
+#usr/share/man/man3/fmaf.3
+#usr/share/man/man3/fmal.3
+#usr/share/man/man3/fmax.3
+#usr/share/man/man3/fmaxf.3
+#usr/share/man/man3/fmaxl.3
+#usr/share/man/man3/fmin.3
+#usr/share/man/man3/fminf.3
+#usr/share/man/man3/fminl.3
+#usr/share/man/man3/fmod.3
+#usr/share/man/man3/fmodf.3
+#usr/share/man/man3/fmodl.3
+#usr/share/man/man3/fmtmsg.3
+#usr/share/man/man3/fnmatch.3
+#usr/share/man/man3/fopen.3
+#usr/share/man/man3/forkpty.3
+#usr/share/man/man3/fpathconf.3
+#usr/share/man/man3/fpclassify.3
+#usr/share/man/man3/fprintf.3
+#usr/share/man/man3/fpurge.3
+#usr/share/man/man3/fputc.3
+#usr/share/man/man3/fputc_unlocked.3
+#usr/share/man/man3/fputs.3
+#usr/share/man/man3/fputs_unlocked.3
+#usr/share/man/man3/fputwc.3
+#usr/share/man/man3/fputwc_unlocked.3
+#usr/share/man/man3/fputws.3
+#usr/share/man/man3/fputws_unlocked.3
+#usr/share/man/man3/fread.3
+#usr/share/man/man3/fread_unlocked.3
+#usr/share/man/man3/free.3
+#usr/share/man/man3/freeaddrinfo.3
+#usr/share/man/man3/freehostent.3
+#usr/share/man/man3/freopen.3
+#usr/share/man/man3/frexp.3
+#usr/share/man/man3/frexpf.3
+#usr/share/man/man3/frexpl.3
+#usr/share/man/man3/fscanf.3
+#usr/share/man/man3/fseek.3
+#usr/share/man/man3/fseeko.3
+#usr/share/man/man3/fsetpos.3
+#usr/share/man/man3/ftell.3
+#usr/share/man/man3/ftello.3
+#usr/share/man/man3/ftime.3
+#usr/share/man/man3/ftok.3
+#usr/share/man/man3/ftrylockfile.3
+#usr/share/man/man3/fts.3
+#usr/share/man/man3/fts_children.3
+#usr/share/man/man3/fts_close.3
+#usr/share/man/man3/fts_open.3
+#usr/share/man/man3/fts_read.3
+#usr/share/man/man3/fts_set.3
+#usr/share/man/man3/ftw.3
+#usr/share/man/man3/funlockfile.3
+#usr/share/man/man3/fwide.3
+#usr/share/man/man3/fwprintf.3
+#usr/share/man/man3/fwrite.3
+#usr/share/man/man3/fwrite_unlocked.3
+#usr/share/man/man3/gai_strerror.3
+#usr/share/man/man3/gamma.3
+#usr/share/man/man3/gammaf.3
+#usr/share/man/man3/gammal.3
+#usr/share/man/man3/gcvt.3
+#usr/share/man/man3/get_current_dir_name.3
+#usr/share/man/man3/get_myaddress.3
+#usr/share/man/man3/getaddrinfo.3
+#usr/share/man/man3/getaliasbyname.3
+#usr/share/man/man3/getaliasbyname_r.3
+#usr/share/man/man3/getaliasent.3
+#usr/share/man/man3/getaliasent_r.3
+#usr/share/man/man3/getc.3
+#usr/share/man/man3/getc_unlocked.3
+#usr/share/man/man3/getchar.3
+#usr/share/man/man3/getchar_unlocked.3
+#usr/share/man/man3/getcwd.3
+#usr/share/man/man3/getdate.3
+#usr/share/man/man3/getdate_r.3
+#usr/share/man/man3/getdelim.3
+#usr/share/man/man3/getdirentries.3
+#usr/share/man/man3/getenv.3
+#usr/share/man/man3/getfsent.3
+#usr/share/man/man3/getfsfile.3
+#usr/share/man/man3/getfsspec.3
+#usr/share/man/man3/getgrent.3
+#usr/share/man/man3/getgrent_r.3
+#usr/share/man/man3/getgrgid.3
+#usr/share/man/man3/getgrgid_r.3
+#usr/share/man/man3/getgrnam.3
+#usr/share/man/man3/getgrnam_r.3
+#usr/share/man/man3/getgrouplist.3
+#usr/share/man/man3/gethostbyaddr.3
+#usr/share/man/man3/gethostbyname.3
+#usr/share/man/man3/gethostbyname2.3
+#usr/share/man/man3/gethostbyname2_r.3
+#usr/share/man/man3/gethostbyname_r.3
+#usr/share/man/man3/gethostent.3
+#usr/share/man/man3/gethostent_r.3
+#usr/share/man/man3/getipnodebyaddr.3
+#usr/share/man/man3/getipnodebyname.3
+#usr/share/man/man3/getline.3
+#usr/share/man/man3/getloadavg.3
+#usr/share/man/man3/getlogin.3
+#usr/share/man/man3/getlogin_r.3
+#usr/share/man/man3/getmntent.3
+#usr/share/man/man3/getmntent_r.3
+#usr/share/man/man3/getnameinfo.3
+#usr/share/man/man3/getnetbyaddr.3
+#usr/share/man/man3/getnetbyname.3
+#usr/share/man/man3/getnetent.3
+#usr/share/man/man3/getnetgrent.3
+#usr/share/man/man3/getnetgrent_r.3
+#usr/share/man/man3/getopt.3
+#usr/share/man/man3/getopt_long.3
+#usr/share/man/man3/getopt_long_only.3
+#usr/share/man/man3/getpass.3
+#usr/share/man/man3/getprotobyname.3
+#usr/share/man/man3/getprotobynumber.3
+#usr/share/man/man3/getprotoent.3
+#usr/share/man/man3/getpt.3
+#usr/share/man/man3/getpw.3
+#usr/share/man/man3/getpwent.3
+#usr/share/man/man3/getpwent_r.3
+#usr/share/man/man3/getpwnam.3
+#usr/share/man/man3/getpwnam_r.3
+#usr/share/man/man3/getpwuid.3
+#usr/share/man/man3/getpwuid_r.3
+#usr/share/man/man3/getrpcbyname.3
+#usr/share/man/man3/getrpcbynumber.3
+#usr/share/man/man3/getrpcent.3
+#usr/share/man/man3/getrpcport.3
+#usr/share/man/man3/gets.3
+#usr/share/man/man3/getservbyname.3
+#usr/share/man/man3/getservbyport.3
+#usr/share/man/man3/getservent.3
+#usr/share/man/man3/getspent.3
+#usr/share/man/man3/getspent_r.3
+#usr/share/man/man3/getspnam.3
+#usr/share/man/man3/getspnam_r.3
+#usr/share/man/man3/getttyent.3
+#usr/share/man/man3/getttynam.3
+#usr/share/man/man3/getumask.3
+#usr/share/man/man3/getusershell.3
+#usr/share/man/man3/getutent.3
+#usr/share/man/man3/getutent_r.3
+#usr/share/man/man3/getutid.3
+#usr/share/man/man3/getutid_r.3
+#usr/share/man/man3/getutline.3
+#usr/share/man/man3/getutline_r.3
+#usr/share/man/man3/getutxent.3
+#usr/share/man/man3/getutxid.3
+#usr/share/man/man3/getutxline.3
+#usr/share/man/man3/getw.3
+#usr/share/man/man3/getwc.3
+#usr/share/man/man3/getwc_unlocked.3
+#usr/share/man/man3/getwchar.3
+#usr/share/man/man3/getwchar_unlocked.3
+#usr/share/man/man3/getwd.3
+#usr/share/man/man3/glob.3
+#usr/share/man/man3/globfree.3
+#usr/share/man/man3/gmtime.3
+#usr/share/man/man3/gmtime_r.3
+#usr/share/man/man3/grantpt.3
+#usr/share/man/man3/gsignal.3
+#usr/share/man/man3/hash.3
+#usr/share/man/man3/hasmntopt.3
+#usr/share/man/man3/hcreate.3
+#usr/share/man/man3/hcreate_r.3
+#usr/share/man/man3/hdestroy.3
+#usr/share/man/man3/hdestroy_r.3
+#usr/share/man/man3/herror.3
+#usr/share/man/man3/hsearch.3
+#usr/share/man/man3/hsearch_r.3
+#usr/share/man/man3/hstrerror.3
+#usr/share/man/man3/htonl.3
+#usr/share/man/man3/htons.3
+#usr/share/man/man3/hypot.3
+#usr/share/man/man3/hypotf.3
+#usr/share/man/man3/hypotl.3
+#usr/share/man/man3/iconv.3
+#usr/share/man/man3/iconv_close.3
+#usr/share/man/man3/iconv_open.3
+#usr/share/man/man3/ilogb.3
+#usr/share/man/man3/ilogbf.3
+#usr/share/man/man3/ilogbl.3
+#usr/share/man/man3/imaxabs.3
+#usr/share/man/man3/imaxdiv.3
+#usr/share/man/man3/index.3
+#usr/share/man/man3/inet.3
+#usr/share/man/man3/inet_addr.3
+#usr/share/man/man3/inet_aton.3
+#usr/share/man/man3/inet_lnaof.3
+#usr/share/man/man3/inet_makeaddr.3
+#usr/share/man/man3/inet_netof.3
+#usr/share/man/man3/inet_network.3
+#usr/share/man/man3/inet_ntoa.3
+#usr/share/man/man3/inet_ntop.3
+#usr/share/man/man3/inet_pton.3
+#usr/share/man/man3/infnan.3
+#usr/share/man/man3/initgroups.3
+#usr/share/man/man3/initstate.3
+#usr/share/man/man3/innetgr.3
+#usr/share/man/man3/insque.3
+#usr/share/man/man3/intro.3
+#usr/share/man/man3/iruserok.3
+#usr/share/man/man3/isalnum.3
+#usr/share/man/man3/isalpha.3
+#usr/share/man/man3/isascii.3
+#usr/share/man/man3/isatty.3
+#usr/share/man/man3/isblank.3
+#usr/share/man/man3/iscntrl.3
+#usr/share/man/man3/isdigit.3
+#usr/share/man/man3/isfinite.3
+#usr/share/man/man3/isgraph.3
+#usr/share/man/man3/isgreater.3
+#usr/share/man/man3/isgreaterequal.3
+#usr/share/man/man3/isinf.3
+#usr/share/man/man3/isinff.3
+#usr/share/man/man3/isinfl.3
+#usr/share/man/man3/isless.3
+#usr/share/man/man3/islessequal.3
+#usr/share/man/man3/islessgreater.3
+#usr/share/man/man3/islower.3
+#usr/share/man/man3/isnan.3
+#usr/share/man/man3/isnormal.3
+#usr/share/man/man3/isprint.3
+#usr/share/man/man3/ispunct.3
+#usr/share/man/man3/isspace.3
+#usr/share/man/man3/isunordered.3
+#usr/share/man/man3/isupper.3
+#usr/share/man/man3/iswalnum.3
+#usr/share/man/man3/iswalpha.3
+#usr/share/man/man3/iswblank.3
+#usr/share/man/man3/iswcntrl.3
+#usr/share/man/man3/iswctype.3
+#usr/share/man/man3/iswdigit.3
+#usr/share/man/man3/iswgraph.3
+#usr/share/man/man3/iswlower.3
+#usr/share/man/man3/iswprint.3
+#usr/share/man/man3/iswpunct.3
+#usr/share/man/man3/iswspace.3
+#usr/share/man/man3/iswupper.3
+#usr/share/man/man3/iswxdigit.3
+#usr/share/man/man3/isxdigit.3
+#usr/share/man/man3/j0.3
+#usr/share/man/man3/j0f.3
+#usr/share/man/man3/j0l.3
+#usr/share/man/man3/j1.3
+#usr/share/man/man3/j1f.3
+#usr/share/man/man3/j1l.3
+#usr/share/man/man3/jn.3
+#usr/share/man/man3/jnf.3
+#usr/share/man/man3/jnl.3
+#usr/share/man/man3/jrand48.3
+#usr/share/man/man3/jrand48_r.3
+#usr/share/man/man3/key_decryptsession.3
+#usr/share/man/man3/key_encryptsession.3
+#usr/share/man/man3/key_gendes.3
+#usr/share/man/man3/key_secretkey_is_set.3
+#usr/share/man/man3/key_setsecret.3
+#usr/share/man/man3/killpg.3
+#usr/share/man/man3/klogctl.3
+#usr/share/man/man3/l64a.3
+#usr/share/man/man3/labs.3
+#usr/share/man/man3/lckpwdf.3
+#usr/share/man/man3/lcong48.3
+#usr/share/man/man3/lcong48_r.3
+#usr/share/man/man3/ldexp.3
+#usr/share/man/man3/ldexpf.3
+#usr/share/man/man3/ldexpl.3
+#usr/share/man/man3/ldiv.3
+#usr/share/man/man3/lfind.3
+#usr/share/man/man3/lgamma.3
+#usr/share/man/man3/lgamma_r.3
+#usr/share/man/man3/lgammaf.3
+#usr/share/man/man3/lgammaf_r.3
+#usr/share/man/man3/lgammal.3
+#usr/share/man/man3/lgammal_r.3
+#usr/share/man/man3/llabs.3
+#usr/share/man/man3/lldiv.3
+#usr/share/man/man3/llrint.3
+#usr/share/man/man3/llrintf.3
+#usr/share/man/man3/llrintl.3
+#usr/share/man/man3/llround.3
+#usr/share/man/man3/llroundf.3
+#usr/share/man/man3/llroundl.3
+#usr/share/man/man3/localeconv.3
+#usr/share/man/man3/localtime.3
+#usr/share/man/man3/localtime_r.3
+#usr/share/man/man3/lockf.3
+#usr/share/man/man3/log.3
+#usr/share/man/man3/log10.3
+#usr/share/man/man3/log10f.3
+#usr/share/man/man3/log10l.3
+#usr/share/man/man3/log1p.3
+#usr/share/man/man3/log1pf.3
+#usr/share/man/man3/log1pl.3
+#usr/share/man/man3/log2.3
+#usr/share/man/man3/log2f.3
+#usr/share/man/man3/log2l.3
+#usr/share/man/man3/logb.3
+#usr/share/man/man3/logbf.3
+#usr/share/man/man3/logbl.3
+#usr/share/man/man3/logf.3
+#usr/share/man/man3/login.3
+#usr/share/man/man3/login_tty.3
+#usr/share/man/man3/logl.3
+#usr/share/man/man3/logout.3
+#usr/share/man/man3/logwtmp.3
+#usr/share/man/man3/longjmp.3
+#usr/share/man/man3/lrand48.3
+#usr/share/man/man3/lrand48_r.3
+#usr/share/man/man3/lrint.3
+#usr/share/man/man3/lrintf.3
+#usr/share/man/man3/lrintl.3
+#usr/share/man/man3/lround.3
+#usr/share/man/man3/lroundf.3
+#usr/share/man/man3/lroundl.3
+#usr/share/man/man3/lsearch.3
+#usr/share/man/man3/lseek64.3
+#usr/share/man/man3/makecontext.3
+#usr/share/man/man3/malloc.3
+#usr/share/man/man3/malloc_hook.3
+#usr/share/man/man3/mblen.3
+#usr/share/man/man3/mbrlen.3
+#usr/share/man/man3/mbrtowc.3
+#usr/share/man/man3/mbsinit.3
+#usr/share/man/man3/mbsnrtowcs.3
+#usr/share/man/man3/mbsrtowcs.3
+#usr/share/man/man3/mbstowcs.3
+#usr/share/man/man3/mbtowc.3
+#usr/share/man/man3/memalign.3
+#usr/share/man/man3/memccpy.3
+#usr/share/man/man3/memchr.3
+#usr/share/man/man3/memcmp.3
+#usr/share/man/man3/memcpy.3
+#usr/share/man/man3/memfrob.3
+#usr/share/man/man3/memmem.3
+#usr/share/man/man3/memmove.3
+#usr/share/man/man3/mempcpy.3
+#usr/share/man/man3/memrchr.3
+#usr/share/man/man3/memset.3
+#usr/share/man/man3/mkdtemp.3
+#usr/share/man/man3/mkfifo.3
+#usr/share/man/man3/mkstemp.3
+#usr/share/man/man3/mktemp.3
+#usr/share/man/man3/mktime.3
+#usr/share/man/man3/modf.3
+#usr/share/man/man3/modff.3
+#usr/share/man/man3/modfl.3
+#usr/share/man/man3/mpool.3
+#usr/share/man/man3/mrand48.3
+#usr/share/man/man3/mrand48_r.3
+#usr/share/man/man3/mtrace.3
+#usr/share/man/man3/muntrace.3
+#usr/share/man/man3/nan.3
+#usr/share/man/man3/nanf.3
+#usr/share/man/man3/nanl.3
+#usr/share/man/man3/nearbyint.3
+#usr/share/man/man3/nearbyintf.3
+#usr/share/man/man3/nearbyintl.3
+#usr/share/man/man3/netlink.3
+#usr/share/man/man3/nextafter.3
+#usr/share/man/man3/nextafterf.3
+#usr/share/man/man3/nextafterl.3
+#usr/share/man/man3/nexttoward.3
+#usr/share/man/man3/nexttowardf.3
+#usr/share/man/man3/nexttowardl.3
+#usr/share/man/man3/nftw.3
+#usr/share/man/man3/nl_langinfo.3
+#usr/share/man/man3/nrand48.3
+#usr/share/man/man3/nrand48_r.3
+#usr/share/man/man3/ntohl.3
+#usr/share/man/man3/ntohs.3
+#usr/share/man/man3/on_exit.3
+#usr/share/man/man3/opendir.3
+#usr/share/man/man3/openlog.3
+#usr/share/man/man3/openpty.3
+#usr/share/man/man3/passwd2des.3
+#usr/share/man/man3/pathconf.3
+#usr/share/man/man3/pclose.3
+#usr/share/man/man3/perror.3
+#usr/share/man/man3/pmap_getmaps.3
+#usr/share/man/man3/pmap_getport.3
+#usr/share/man/man3/pmap_rmtcall.3
+#usr/share/man/man3/pmap_set.3
+#usr/share/man/man3/pmap_unset.3
+#usr/share/man/man3/popen.3
+#usr/share/man/man3/posix_memalign.3
+#usr/share/man/man3/posix_openpt.3
+#usr/share/man/man3/pow.3
+#usr/share/man/man3/pow10.3
+#usr/share/man/man3/pow10f.3
+#usr/share/man/man3/pow10l.3
+#usr/share/man/man3/powf.3
+#usr/share/man/man3/powl.3
+#usr/share/man/man3/printf.3
+#usr/share/man/man3/profil.3
+#usr/share/man/man3/psignal.3
+#usr/share/man/man3/ptsname.3
+#usr/share/man/man3/ptsname_r.3
+#usr/share/man/man3/putc.3
+#usr/share/man/man3/putc_unlocked.3
+#usr/share/man/man3/putchar.3
+#usr/share/man/man3/putchar_unlocked.3
+#usr/share/man/man3/putenv.3
+#usr/share/man/man3/putgrent.3
+#usr/share/man/man3/putpwent.3
+#usr/share/man/man3/puts.3
+#usr/share/man/man3/putspent.3
+#usr/share/man/man3/pututline.3
+#usr/share/man/man3/pututxline.3
+#usr/share/man/man3/putw.3
+#usr/share/man/man3/putwc.3
+#usr/share/man/man3/putwc_unlocked.3
+#usr/share/man/man3/putwchar.3
+#usr/share/man/man3/putwchar_unlocked.3
+#usr/share/man/man3/qecvt.3
+#usr/share/man/man3/qecvt_r.3
+#usr/share/man/man3/qfcvt.3
+#usr/share/man/man3/qfcvt_r.3
+#usr/share/man/man3/qgcvt.3
+#usr/share/man/man3/qsort.3
+#usr/share/man/man3/queue.3
+#usr/share/man/man3/raise.3
+#usr/share/man/man3/rand.3
+#usr/share/man/man3/rand_r.3
+#usr/share/man/man3/random.3
+#usr/share/man/man3/rcmd.3
+#usr/share/man/man3/re_comp.3
+#usr/share/man/man3/re_exec.3
+#usr/share/man/man3/readdir.3
+#usr/share/man/man3/realloc.3
+#usr/share/man/man3/realpath.3
+#usr/share/man/man3/recno.3
+#usr/share/man/man3/regcomp.3
+#usr/share/man/man3/regerror.3
+#usr/share/man/man3/regex.3
+#usr/share/man/man3/regexec.3
+#usr/share/man/man3/regfree.3
+#usr/share/man/man3/registerrpc.3
+#usr/share/man/man3/remainder.3
+#usr/share/man/man3/remainderf.3
+#usr/share/man/man3/remainderl.3
+#usr/share/man/man3/remove.3
+#usr/share/man/man3/remque.3
+#usr/share/man/man3/remquo.3
+#usr/share/man/man3/remquof.3
+#usr/share/man/man3/remquol.3
+#usr/share/man/man3/res_init.3
+#usr/share/man/man3/res_mkquery.3
+#usr/share/man/man3/res_query.3
+#usr/share/man/man3/res_querydomain.3
+#usr/share/man/man3/res_search.3
+#usr/share/man/man3/res_send.3
+#usr/share/man/man3/resolver.3
+#usr/share/man/man3/rewind.3
+#usr/share/man/man3/rewinddir.3
+#usr/share/man/man3/rindex.3
+#usr/share/man/man3/rint.3
+#usr/share/man/man3/rintf.3
+#usr/share/man/man3/rintl.3
+#usr/share/man/man3/round.3
+#usr/share/man/man3/roundf.3
+#usr/share/man/man3/roundl.3
+#usr/share/man/man3/rpc.3
+#usr/share/man/man3/rresvport.3
+#usr/share/man/man3/rtime.3
+#usr/share/man/man3/rtnetlink.3
+#usr/share/man/man3/ruserok.3
+#usr/share/man/man3/scalb.3
+#usr/share/man/man3/scalbf.3
+#usr/share/man/man3/scalbl.3
+#usr/share/man/man3/scalbln.3
+#usr/share/man/man3/scalblnf.3
+#usr/share/man/man3/scalblnl.3
+#usr/share/man/man3/scalbn.3
+#usr/share/man/man3/scalbnf.3
+#usr/share/man/man3/scalbnl.3
+#usr/share/man/man3/scandir.3
+#usr/share/man/man3/scanf.3
+#usr/share/man/man3/seed48.3
+#usr/share/man/man3/seed48_r.3
+#usr/share/man/man3/seekdir.3
+#usr/share/man/man3/setaliasent.3
+#usr/share/man/man3/setbuf.3
+#usr/share/man/man3/setbuffer.3
+#usr/share/man/man3/setenv.3
+#usr/share/man/man3/setfsent.3
+#usr/share/man/man3/setgrent.3
+#usr/share/man/man3/sethostent.3
+#usr/share/man/man3/setjmp.3
+#usr/share/man/man3/setkey.3
+#usr/share/man/man3/setlinebuf.3
+#usr/share/man/man3/setlocale.3
+#usr/share/man/man3/setlogmask.3
+#usr/share/man/man3/setmntent.3
+#usr/share/man/man3/setnetent.3
+#usr/share/man/man3/setnetgrent.3
+#usr/share/man/man3/setprotoent.3
+#usr/share/man/man3/setpwent.3
+#usr/share/man/man3/setrpcent.3
+#usr/share/man/man3/setservent.3
+#usr/share/man/man3/setspent.3
+#usr/share/man/man3/setstate.3
+#usr/share/man/man3/setttyent.3
+#usr/share/man/man3/setusershell.3
+#usr/share/man/man3/setutent.3
+#usr/share/man/man3/setutxent.3
+#usr/share/man/man3/setvbuf.3
+#usr/share/man/man3/sgetspent.3
+#usr/share/man/man3/sgetspent_r.3
+#usr/share/man/man3/shm_open.3
+#usr/share/man/man3/sigaddset.3
+#usr/share/man/man3/sigdelset.3
+#usr/share/man/man3/sigemptyset.3
+#usr/share/man/man3/sigfillset.3
+#usr/share/man/man3/siginterrupt.3
+#usr/share/man/man3/sigismember.3
+#usr/share/man/man3/siglongjmp.3
+#usr/share/man/man3/signbit.3
+#usr/share/man/man3/signgam.3
+#usr/share/man/man3/significand.3
+#usr/share/man/man3/significandf.3
+#usr/share/man/man3/significandl.3
+#usr/share/man/man3/sigsetjmp.3
+#usr/share/man/man3/sigsetops.3
+#usr/share/man/man3/sin.3
+#usr/share/man/man3/sincos.3
+#usr/share/man/man3/sincosf.3
+#usr/share/man/man3/sincosl.3
+#usr/share/man/man3/sinf.3
+#usr/share/man/man3/sinh.3
+#usr/share/man/man3/sinhf.3
+#usr/share/man/man3/sinhl.3
+#usr/share/man/man3/sinl.3
+#usr/share/man/man3/sleep.3
+#usr/share/man/man3/snprintf.3
+#usr/share/man/man3/sprintf.3
+#usr/share/man/man3/sqrt.3
+#usr/share/man/man3/sqrtf.3
+#usr/share/man/man3/sqrtl.3
+#usr/share/man/man3/srand.3
+#usr/share/man/man3/srand48.3
+#usr/share/man/man3/srand48_r.3
+#usr/share/man/man3/srandom.3
+#usr/share/man/man3/sscanf.3
+#usr/share/man/man3/ssignal.3
+#usr/share/man/man3/stdarg.3
+#usr/share/man/man3/stderr.3
+#usr/share/man/man3/stdin.3
+#usr/share/man/man3/stdio.3
+#usr/share/man/man3/stdio_ext.3
+#usr/share/man/man3/stdout.3
+#usr/share/man/man3/stpcpy.3
+#usr/share/man/man3/stpncpy.3
+#usr/share/man/man3/strcasecmp.3
+#usr/share/man/man3/strcasestr.3
+#usr/share/man/man3/strcat.3
+#usr/share/man/man3/strchr.3
+#usr/share/man/man3/strcmp.3
+#usr/share/man/man3/strcoll.3
+#usr/share/man/man3/strcpy.3
+#usr/share/man/man3/strcspn.3
+#usr/share/man/man3/strdup.3
+#usr/share/man/man3/strdupa.3
+#usr/share/man/man3/strerror.3
+#usr/share/man/man3/strerror_r.3
+#usr/share/man/man3/strfmon.3
+#usr/share/man/man3/strfry.3
+#usr/share/man/man3/strftime.3
+#usr/share/man/man3/string.3
+#usr/share/man/man3/strlen.3
+#usr/share/man/man3/strncasecmp.3
+#usr/share/man/man3/strncat.3
+#usr/share/man/man3/strncmp.3
+#usr/share/man/man3/strncpy.3
+#usr/share/man/man3/strndup.3
+#usr/share/man/man3/strndupa.3
+#usr/share/man/man3/strnlen.3
+#usr/share/man/man3/strpbrk.3
+#usr/share/man/man3/strptime.3
+#usr/share/man/man3/strrchr.3
+#usr/share/man/man3/strsep.3
+#usr/share/man/man3/strsignal.3
+#usr/share/man/man3/strspn.3
+#usr/share/man/man3/strstr.3
+#usr/share/man/man3/strtod.3
+#usr/share/man/man3/strtof.3
+#usr/share/man/man3/strtoimax.3
+#usr/share/man/man3/strtok.3
+#usr/share/man/man3/strtok_r.3
+#usr/share/man/man3/strtol.3
+#usr/share/man/man3/strtold.3
+#usr/share/man/man3/strtoll.3
+#usr/share/man/man3/strtoq.3
+#usr/share/man/man3/strtoul.3
+#usr/share/man/man3/strtoull.3
+#usr/share/man/man3/strtoumax.3
+#usr/share/man/man3/strtouq.3
+#usr/share/man/man3/strverscmp.3
+#usr/share/man/man3/strxfrm.3
+#usr/share/man/man3/svc_destroy.3
+#usr/share/man/man3/svc_freeargs.3
+#usr/share/man/man3/svc_getargs.3
+#usr/share/man/man3/svc_getcaller.3
+#usr/share/man/man3/svc_getreq.3
+#usr/share/man/man3/svc_getreqset.3
+#usr/share/man/man3/svc_register.3
+#usr/share/man/man3/svc_run.3
+#usr/share/man/man3/svc_sendreply.3
+#usr/share/man/man3/svc_unregister.3
+#usr/share/man/man3/svcerr_auth.3
+#usr/share/man/man3/svcerr_decode.3
+#usr/share/man/man3/svcerr_noproc.3
+#usr/share/man/man3/svcerr_noprog.3
+#usr/share/man/man3/svcerr_progvers.3
+#usr/share/man/man3/svcerr_systemerr.3
+#usr/share/man/man3/svcerr_weakauth.3
+#usr/share/man/man3/svcfd_create.3
+#usr/share/man/man3/svcraw_create.3
+#usr/share/man/man3/svctcp_create.3
+#usr/share/man/man3/svcudp_bufcreate.3
+#usr/share/man/man3/svcudp_create.3
+#usr/share/man/man3/swab.3
+#usr/share/man/man3/swapcontext.3
+#usr/share/man/man3/swprintf.3
+#usr/share/man/man3/sysconf.3
+#usr/share/man/man3/syslog.3
+#usr/share/man/man3/system.3
+#usr/share/man/man3/tan.3
+#usr/share/man/man3/tanf.3
+#usr/share/man/man3/tanh.3
+#usr/share/man/man3/tanhf.3
+#usr/share/man/man3/tanhl.3
+#usr/share/man/man3/tanl.3
+#usr/share/man/man3/tcdrain.3
+#usr/share/man/man3/tcflow.3
+#usr/share/man/man3/tcflush.3
+#usr/share/man/man3/tcgetattr.3
+#usr/share/man/man3/tcgetpgrp.3
+#usr/share/man/man3/tcgetsid.3
+#usr/share/man/man3/tcsendbreak.3
+#usr/share/man/man3/tcsetattr.3
+#usr/share/man/man3/tcsetpgrp.3
+#usr/share/man/man3/tdelete.3
+#usr/share/man/man3/tdestroy.3
+#usr/share/man/man3/telldir.3
+#usr/share/man/man3/tempnam.3
+#usr/share/man/man3/termios.3
+#usr/share/man/man3/tfind.3
+#usr/share/man/man3/tgamma.3
+#usr/share/man/man3/tgammaf.3
+#usr/share/man/man3/tgammal.3
+#usr/share/man/man3/timegm.3
+#usr/share/man/man3/timelocal.3
+#usr/share/man/man3/tmpfile.3
+#usr/share/man/man3/tmpnam.3
+#usr/share/man/man3/tmpnam_r.3
+#usr/share/man/man3/toascii.3
+#usr/share/man/man3/tolower.3
+#usr/share/man/man3/toupper.3
+#usr/share/man/man3/towctrans.3
+#usr/share/man/man3/towlower.3
+#usr/share/man/man3/towupper.3
+#usr/share/man/man3/trunc.3
+#usr/share/man/man3/truncf.3
+#usr/share/man/man3/truncl.3
+#usr/share/man/man3/tsearch.3
+#usr/share/man/man3/ttyname.3
+#usr/share/man/man3/ttyname_r.3
+#usr/share/man/man3/ttyslot.3
+#usr/share/man/man3/twalk.3
+#usr/share/man/man3/tzset.3
+#usr/share/man/man3/ualarm.3
+#usr/share/man/man3/ulckpwdf.3
+#usr/share/man/man3/ulimit.3
+#usr/share/man/man3/undocumented.3
+#usr/share/man/man3/ungetc.3
+#usr/share/man/man3/ungetwc.3
+#usr/share/man/man3/unlocked_stdio.3
+#usr/share/man/man3/unlockpt.3
+#usr/share/man/man3/unsetenv.3
+#usr/share/man/man3/updwtmp.3
+#usr/share/man/man3/usleep.3
+#usr/share/man/man3/utmpname.3
+#usr/share/man/man3/va_arg.3
+#usr/share/man/man3/va_copy.3
+#usr/share/man/man3/va_end.3
+#usr/share/man/man3/va_start.3
+#usr/share/man/man3/valloc.3
+#usr/share/man/man3/vasprintf.3
+#usr/share/man/man3/vdprintf.3
+#usr/share/man/man3/verr.3
+#usr/share/man/man3/verrx.3
+#usr/share/man/man3/versionsort.3
+#usr/share/man/man3/vfprintf.3
+#usr/share/man/man3/vfscanf.3
+#usr/share/man/man3/vfwprintf.3
+#usr/share/man/man3/vprintf.3
+#usr/share/man/man3/vscanf.3
+#usr/share/man/man3/vsnprintf.3
+#usr/share/man/man3/vsprintf.3
+#usr/share/man/man3/vsscanf.3
+#usr/share/man/man3/vswprintf.3
+#usr/share/man/man3/vsyslog.3
+#usr/share/man/man3/vwarn.3
+#usr/share/man/man3/vwarnx.3
+#usr/share/man/man3/vwprintf.3
+#usr/share/man/man3/warn.3
+#usr/share/man/man3/warnx.3
+#usr/share/man/man3/wcpcpy.3
+#usr/share/man/man3/wcpncpy.3
+#usr/share/man/man3/wcrtomb.3
+#usr/share/man/man3/wcscasecmp.3
+#usr/share/man/man3/wcscat.3
+#usr/share/man/man3/wcschr.3
+#usr/share/man/man3/wcscmp.3
+#usr/share/man/man3/wcscpy.3
+#usr/share/man/man3/wcscspn.3
+#usr/share/man/man3/wcsdup.3
+#usr/share/man/man3/wcslen.3
+#usr/share/man/man3/wcsncasecmp.3
+#usr/share/man/man3/wcsncat.3
+#usr/share/man/man3/wcsncmp.3
+#usr/share/man/man3/wcsncpy.3
+#usr/share/man/man3/wcsnlen.3
+#usr/share/man/man3/wcsnrtombs.3
+#usr/share/man/man3/wcspbrk.3
+#usr/share/man/man3/wcsrchr.3
+#usr/share/man/man3/wcsrtombs.3
+#usr/share/man/man3/wcsspn.3
+#usr/share/man/man3/wcsstr.3
+#usr/share/man/man3/wcstoimax.3
+#usr/share/man/man3/wcstok.3
+#usr/share/man/man3/wcstombs.3
+#usr/share/man/man3/wcstoumax.3
+#usr/share/man/man3/wcswidth.3
+#usr/share/man/man3/wctob.3
+#usr/share/man/man3/wctomb.3
+#usr/share/man/man3/wctrans.3
+#usr/share/man/man3/wctype.3
+#usr/share/man/man3/wcwidth.3
+#usr/share/man/man3/wmemchr.3
+#usr/share/man/man3/wmemcmp.3
+#usr/share/man/man3/wmemcpy.3
+#usr/share/man/man3/wmemmove.3
+#usr/share/man/man3/wmempcpy.3
+#usr/share/man/man3/wmemset.3
+#usr/share/man/man3/wordexp.3
+#usr/share/man/man3/wordfree.3
+#usr/share/man/man3/wprintf.3
+#usr/share/man/man3/xcrypt.3
+#usr/share/man/man3/xdecrypt.3
+#usr/share/man/man3/xdr.3
+#usr/share/man/man3/xdr_accepted_reply.3
+#usr/share/man/man3/xdr_array.3
+#usr/share/man/man3/xdr_authunix_parms.3
+#usr/share/man/man3/xdr_bool.3
+#usr/share/man/man3/xdr_bytes.3
+#usr/share/man/man3/xdr_callhdr.3
+#usr/share/man/man3/xdr_callmsg.3
+#usr/share/man/man3/xdr_char.3
+#usr/share/man/man3/xdr_destroy.3
+#usr/share/man/man3/xdr_double.3
+#usr/share/man/man3/xdr_enum.3
+#usr/share/man/man3/xdr_float.3
+#usr/share/man/man3/xdr_free.3
+#usr/share/man/man3/xdr_getpos.3
+#usr/share/man/man3/xdr_inline.3
+#usr/share/man/man3/xdr_int.3
+#usr/share/man/man3/xdr_long.3
+#usr/share/man/man3/xdr_opaque.3
+#usr/share/man/man3/xdr_opaque_auth.3
+#usr/share/man/man3/xdr_pmap.3
+#usr/share/man/man3/xdr_pmaplist.3
+#usr/share/man/man3/xdr_pointer.3
+#usr/share/man/man3/xdr_reference.3
+#usr/share/man/man3/xdr_rejected_reply.3
+#usr/share/man/man3/xdr_replymsg.3
+#usr/share/man/man3/xdr_setpos.3
+#usr/share/man/man3/xdr_short.3
+#usr/share/man/man3/xdr_string.3
+#usr/share/man/man3/xdr_u_char.3
+#usr/share/man/man3/xdr_u_int.3
+#usr/share/man/man3/xdr_u_long.3
+#usr/share/man/man3/xdr_u_short.3
+#usr/share/man/man3/xdr_union.3
+#usr/share/man/man3/xdr_vector.3
+#usr/share/man/man3/xdr_void.3
+#usr/share/man/man3/xdr_wrapstring.3
+#usr/share/man/man3/xdrmem_create.3
+#usr/share/man/man3/xdrrec_create.3
+#usr/share/man/man3/xdrrec_endofrecord.3
+#usr/share/man/man3/xdrrec_eof.3
+#usr/share/man/man3/xdrrec_skiprecord.3
+#usr/share/man/man3/xdrstdio_create.3
+#usr/share/man/man3/xencrypt.3
+#usr/share/man/man3/xprt_register.3
+#usr/share/man/man3/xprt_unregister.3
+#usr/share/man/man3/y0.3
+#usr/share/man/man3/y0f.3
+#usr/share/man/man3/y0l.3
+#usr/share/man/man3/y1.3
+#usr/share/man/man3/y1f.3
+#usr/share/man/man3/y1l.3
+#usr/share/man/man3/yn.3
+#usr/share/man/man3/ynf.3
+#usr/share/man/man3/ynl.3
+#usr/share/man/man3p
+#usr/share/man/man3p/FD_CLR.3p
+#usr/share/man/man3p/FD_ISSET.3p
+#usr/share/man/man3p/FD_SET.3p
+#usr/share/man/man3p/FD_ZERO.3p
+#usr/share/man/man3p/_Exit.3p
+#usr/share/man/man3p/_exit.3p
+#usr/share/man/man3p/_longjmp.3p
+#usr/share/man/man3p/_setjmp.3p
+#usr/share/man/man3p/_tolower.3p
+#usr/share/man/man3p/_toupper.3p
+#usr/share/man/man3p/a64l.3p
+#usr/share/man/man3p/abort.3p
+#usr/share/man/man3p/abs.3p
+#usr/share/man/man3p/accept.3p
+#usr/share/man/man3p/access.3p
+#usr/share/man/man3p/acos.3p
+#usr/share/man/man3p/acosf.3p
+#usr/share/man/man3p/acosh.3p
+#usr/share/man/man3p/acoshf.3p
+#usr/share/man/man3p/acoshl.3p
+#usr/share/man/man3p/acosl.3p
+#usr/share/man/man3p/aio_cancel.3p
+#usr/share/man/man3p/aio_error.3p
+#usr/share/man/man3p/aio_fsync.3p
+#usr/share/man/man3p/aio_read.3p
+#usr/share/man/man3p/aio_return.3p
+#usr/share/man/man3p/aio_suspend.3p
+#usr/share/man/man3p/aio_write.3p
+#usr/share/man/man3p/alarm.3p
+#usr/share/man/man3p/asctime.3p
+#usr/share/man/man3p/asctime_r.3p
+#usr/share/man/man3p/asin.3p
+#usr/share/man/man3p/asinf.3p
+#usr/share/man/man3p/asinh.3p
+#usr/share/man/man3p/asinhf.3p
+#usr/share/man/man3p/asinhl.3p
+#usr/share/man/man3p/asinl.3p
+#usr/share/man/man3p/assert.3p
+#usr/share/man/man3p/atan.3p
+#usr/share/man/man3p/atan2.3p
+#usr/share/man/man3p/atan2f.3p
+#usr/share/man/man3p/atan2l.3p
+#usr/share/man/man3p/atanf.3p
+#usr/share/man/man3p/atanh.3p
+#usr/share/man/man3p/atanhf.3p
+#usr/share/man/man3p/atanhl.3p
+#usr/share/man/man3p/atanl.3p
+#usr/share/man/man3p/atexit.3p
+#usr/share/man/man3p/atof.3p
+#usr/share/man/man3p/atoi.3p
+#usr/share/man/man3p/atol.3p
+#usr/share/man/man3p/atoll.3p
+#usr/share/man/man3p/basename.3p
+#usr/share/man/man3p/bcmp.3p
+#usr/share/man/man3p/bcopy.3p
+#usr/share/man/man3p/bind.3p
+#usr/share/man/man3p/bsd_signal.3p
+#usr/share/man/man3p/bsearch.3p
+#usr/share/man/man3p/btowc.3p
+#usr/share/man/man3p/bzero.3p
+#usr/share/man/man3p/cabs.3p
+#usr/share/man/man3p/cabsf.3p
+#usr/share/man/man3p/cabsl.3p
+#usr/share/man/man3p/cacos.3p
+#usr/share/man/man3p/cacosf.3p
+#usr/share/man/man3p/cacosh.3p
+#usr/share/man/man3p/cacoshf.3p
+#usr/share/man/man3p/cacoshl.3p
+#usr/share/man/man3p/cacosl.3p
+#usr/share/man/man3p/calloc.3p
+#usr/share/man/man3p/carg.3p
+#usr/share/man/man3p/cargf.3p
+#usr/share/man/man3p/cargl.3p
+#usr/share/man/man3p/casin.3p
+#usr/share/man/man3p/casinf.3p
+#usr/share/man/man3p/casinh.3p
+#usr/share/man/man3p/casinhf.3p
+#usr/share/man/man3p/casinhl.3p
+#usr/share/man/man3p/casinl.3p
+#usr/share/man/man3p/catan.3p
+#usr/share/man/man3p/catanf.3p
+#usr/share/man/man3p/catanh.3p
+#usr/share/man/man3p/catanhf.3p
+#usr/share/man/man3p/catanhl.3p
+#usr/share/man/man3p/catanl.3p
+#usr/share/man/man3p/catclose.3p
+#usr/share/man/man3p/catgets.3p
+#usr/share/man/man3p/catopen.3p
+#usr/share/man/man3p/cbrt.3p
+#usr/share/man/man3p/cbrtf.3p
+#usr/share/man/man3p/cbrtl.3p
+#usr/share/man/man3p/ccos.3p
+#usr/share/man/man3p/ccosf.3p
+#usr/share/man/man3p/ccosh.3p
+#usr/share/man/man3p/ccoshf.3p
+#usr/share/man/man3p/ccoshl.3p
+#usr/share/man/man3p/ccosl.3p
+#usr/share/man/man3p/ceil.3p
+#usr/share/man/man3p/ceilf.3p
+#usr/share/man/man3p/ceill.3p
+#usr/share/man/man3p/cexp.3p
+#usr/share/man/man3p/cexpf.3p
+#usr/share/man/man3p/cexpl.3p
+#usr/share/man/man3p/cfgetispeed.3p
+#usr/share/man/man3p/cfgetospeed.3p
+#usr/share/man/man3p/cfsetispeed.3p
+#usr/share/man/man3p/cfsetospeed.3p
+#usr/share/man/man3p/chdir.3p
+#usr/share/man/man3p/chmod.3p
+#usr/share/man/man3p/chown.3p
+#usr/share/man/man3p/cimag.3p
+#usr/share/man/man3p/cimagf.3p
+#usr/share/man/man3p/cimagl.3p
+#usr/share/man/man3p/clearerr.3p
+#usr/share/man/man3p/clock.3p
+#usr/share/man/man3p/clock_getcpuclockid.3p
+#usr/share/man/man3p/clock_getres.3p
+#usr/share/man/man3p/clock_gettime.3p
+#usr/share/man/man3p/clock_nanosleep.3p
+#usr/share/man/man3p/clock_settime.3p
+#usr/share/man/man3p/clog.3p
+#usr/share/man/man3p/clogf.3p
+#usr/share/man/man3p/clogl.3p
+#usr/share/man/man3p/close.3p
+#usr/share/man/man3p/closedir.3p
+#usr/share/man/man3p/closelog.3p
+#usr/share/man/man3p/confstr.3p
+#usr/share/man/man3p/conj.3p
+#usr/share/man/man3p/conjf.3p
+#usr/share/man/man3p/conjl.3p
+#usr/share/man/man3p/connect.3p
+#usr/share/man/man3p/copysign.3p
+#usr/share/man/man3p/copysignf.3p
+#usr/share/man/man3p/copysignl.3p
+#usr/share/man/man3p/cos.3p
+#usr/share/man/man3p/cosf.3p
+#usr/share/man/man3p/cosh.3p
+#usr/share/man/man3p/coshf.3p
+#usr/share/man/man3p/coshl.3p
+#usr/share/man/man3p/cosl.3p
+#usr/share/man/man3p/cpow.3p
+#usr/share/man/man3p/cpowf.3p
+#usr/share/man/man3p/cpowl.3p
+#usr/share/man/man3p/cproj.3p
+#usr/share/man/man3p/cprojf.3p
+#usr/share/man/man3p/cprojl.3p
+#usr/share/man/man3p/creal.3p
+#usr/share/man/man3p/crealf.3p
+#usr/share/man/man3p/creall.3p
+#usr/share/man/man3p/creat.3p
+#usr/share/man/man3p/crypt.3p
+#usr/share/man/man3p/csin.3p
+#usr/share/man/man3p/csinf.3p
+#usr/share/man/man3p/csinh.3p
+#usr/share/man/man3p/csinhf.3p
+#usr/share/man/man3p/csinhl.3p
+#usr/share/man/man3p/csinl.3p
+#usr/share/man/man3p/csqrt.3p
+#usr/share/man/man3p/csqrtf.3p
+#usr/share/man/man3p/csqrtl.3p
+#usr/share/man/man3p/ctan.3p
+#usr/share/man/man3p/ctanf.3p
+#usr/share/man/man3p/ctanh.3p
+#usr/share/man/man3p/ctanhf.3p
+#usr/share/man/man3p/ctanhl.3p
+#usr/share/man/man3p/ctanl.3p
+#usr/share/man/man3p/ctermid.3p
+#usr/share/man/man3p/ctime.3p
+#usr/share/man/man3p/ctime_r.3p
+#usr/share/man/man3p/daylight.3p
+#usr/share/man/man3p/dbm_clearerr.3p
+#usr/share/man/man3p/dbm_close.3p
+#usr/share/man/man3p/dbm_delete.3p
+#usr/share/man/man3p/dbm_error.3p
+#usr/share/man/man3p/dbm_fetch.3p
+#usr/share/man/man3p/dbm_firstkey.3p
+#usr/share/man/man3p/dbm_nextkey.3p
+#usr/share/man/man3p/dbm_open.3p
+#usr/share/man/man3p/dbm_store.3p
+#usr/share/man/man3p/difftime.3p
+#usr/share/man/man3p/dirname.3p
+#usr/share/man/man3p/div.3p
+#usr/share/man/man3p/dlclose.3p
+#usr/share/man/man3p/dlerror.3p
+#usr/share/man/man3p/dlopen.3p
+#usr/share/man/man3p/dlsym.3p
+#usr/share/man/man3p/drand48.3p
+#usr/share/man/man3p/dup.3p
+#usr/share/man/man3p/dup2.3p
+#usr/share/man/man3p/ecvt.3p
+#usr/share/man/man3p/encrypt.3p
+#usr/share/man/man3p/endgrent.3p
+#usr/share/man/man3p/endhostent.3p
+#usr/share/man/man3p/endnetent.3p
+#usr/share/man/man3p/endprotoent.3p
+#usr/share/man/man3p/endpwent.3p
+#usr/share/man/man3p/endservent.3p
+#usr/share/man/man3p/endutxent.3p
+#usr/share/man/man3p/environ.3p
+#usr/share/man/man3p/erand48.3p
+#usr/share/man/man3p/erf.3p
+#usr/share/man/man3p/erfc.3p
+#usr/share/man/man3p/erfcf.3p
+#usr/share/man/man3p/erfcl.3p
+#usr/share/man/man3p/erff.3p
+#usr/share/man/man3p/erfl.3p
+#usr/share/man/man3p/errno.3p
+#usr/share/man/man3p/exec.3p
+#usr/share/man/man3p/execl.3p
+#usr/share/man/man3p/execle.3p
+#usr/share/man/man3p/execlp.3p
+#usr/share/man/man3p/execv.3p
+#usr/share/man/man3p/execve.3p
+#usr/share/man/man3p/execvp.3p
+#usr/share/man/man3p/exit.3p
+#usr/share/man/man3p/exp.3p
+#usr/share/man/man3p/exp2.3p
+#usr/share/man/man3p/exp2f.3p
+#usr/share/man/man3p/exp2l.3p
+#usr/share/man/man3p/expf.3p
+#usr/share/man/man3p/expl.3p
+#usr/share/man/man3p/expm1.3p
+#usr/share/man/man3p/expm1f.3p
+#usr/share/man/man3p/expm1l.3p
+#usr/share/man/man3p/fabs.3p
+#usr/share/man/man3p/fabsf.3p
+#usr/share/man/man3p/fabsl.3p
+#usr/share/man/man3p/fattach.3p
+#usr/share/man/man3p/fchdir.3p
+#usr/share/man/man3p/fchmod.3p
+#usr/share/man/man3p/fchown.3p
+#usr/share/man/man3p/fclose.3p
+#usr/share/man/man3p/fcntl.3p
+#usr/share/man/man3p/fcvt.3p
+#usr/share/man/man3p/fdatasync.3p
+#usr/share/man/man3p/fdetach.3p
+#usr/share/man/man3p/fdim.3p
+#usr/share/man/man3p/fdimf.3p
+#usr/share/man/man3p/fdiml.3p
+#usr/share/man/man3p/fdopen.3p
+#usr/share/man/man3p/feclearexcept.3p
+#usr/share/man/man3p/fegetenv.3p
+#usr/share/man/man3p/fegetexceptflag.3p
+#usr/share/man/man3p/fegetround.3p
+#usr/share/man/man3p/feholdexcept.3p
+#usr/share/man/man3p/feof.3p
+#usr/share/man/man3p/feraiseexcept.3p
+#usr/share/man/man3p/ferror.3p
+#usr/share/man/man3p/fesetenv.3p
+#usr/share/man/man3p/fesetexceptflag.3p
+#usr/share/man/man3p/fesetround.3p
+#usr/share/man/man3p/fetestexcept.3p
+#usr/share/man/man3p/feupdateenv.3p
+#usr/share/man/man3p/fflush.3p
+#usr/share/man/man3p/ffs.3p
+#usr/share/man/man3p/fgetc.3p
+#usr/share/man/man3p/fgetpos.3p
+#usr/share/man/man3p/fgets.3p
+#usr/share/man/man3p/fgetwc.3p
+#usr/share/man/man3p/fgetws.3p
+#usr/share/man/man3p/fileno.3p
+#usr/share/man/man3p/flockfile.3p
+#usr/share/man/man3p/floor.3p
+#usr/share/man/man3p/floorf.3p
+#usr/share/man/man3p/floorl.3p
+#usr/share/man/man3p/fma.3p
+#usr/share/man/man3p/fmaf.3p
+#usr/share/man/man3p/fmal.3p
+#usr/share/man/man3p/fmax.3p
+#usr/share/man/man3p/fmaxf.3p
+#usr/share/man/man3p/fmaxl.3p
+#usr/share/man/man3p/fmin.3p
+#usr/share/man/man3p/fminf.3p
+#usr/share/man/man3p/fminl.3p
+#usr/share/man/man3p/fmod.3p
+#usr/share/man/man3p/fmodf.3p
+#usr/share/man/man3p/fmodl.3p
+#usr/share/man/man3p/fmtmsg.3p
+#usr/share/man/man3p/fnmatch.3p
+#usr/share/man/man3p/fopen.3p
+#usr/share/man/man3p/fork.3p
+#usr/share/man/man3p/fpathconf.3p
+#usr/share/man/man3p/fpclassify.3p
+#usr/share/man/man3p/fprintf.3p
+#usr/share/man/man3p/fputc.3p
+#usr/share/man/man3p/fputs.3p
+#usr/share/man/man3p/fputwc.3p
+#usr/share/man/man3p/fputws.3p
+#usr/share/man/man3p/fread.3p
+#usr/share/man/man3p/free.3p
+#usr/share/man/man3p/freeaddrinfo.3p
+#usr/share/man/man3p/freopen.3p
+#usr/share/man/man3p/frexp.3p
+#usr/share/man/man3p/frexpf.3p
+#usr/share/man/man3p/frexpl.3p
+#usr/share/man/man3p/fscanf.3p
+#usr/share/man/man3p/fseek.3p
+#usr/share/man/man3p/fseeko.3p
+#usr/share/man/man3p/fsetpos.3p
+#usr/share/man/man3p/fstat.3p
+#usr/share/man/man3p/fstatvfs.3p
+#usr/share/man/man3p/fsync.3p
+#usr/share/man/man3p/ftell.3p
+#usr/share/man/man3p/ftello.3p
+#usr/share/man/man3p/ftime.3p
+#usr/share/man/man3p/ftok.3p
+#usr/share/man/man3p/ftruncate.3p
+#usr/share/man/man3p/ftrylockfile.3p
+#usr/share/man/man3p/ftw.3p
+#usr/share/man/man3p/funlockfile.3p
+#usr/share/man/man3p/fwide.3p
+#usr/share/man/man3p/fwprintf.3p
+#usr/share/man/man3p/fwrite.3p
+#usr/share/man/man3p/fwscanf.3p
+#usr/share/man/man3p/gai_strerror.3p
+#usr/share/man/man3p/gcvt.3p
+#usr/share/man/man3p/getaddrinfo.3p
+#usr/share/man/man3p/getc.3p
+#usr/share/man/man3p/getc_unlocked.3p
+#usr/share/man/man3p/getchar.3p
+#usr/share/man/man3p/getchar_unlocked.3p
+#usr/share/man/man3p/getcontext.3p
+#usr/share/man/man3p/getcwd.3p
+#usr/share/man/man3p/getdate.3p
+#usr/share/man/man3p/getdate_err.3p
+#usr/share/man/man3p/getegid.3p
+#usr/share/man/man3p/getenv.3p
+#usr/share/man/man3p/geteuid.3p
+#usr/share/man/man3p/getgid.3p
+#usr/share/man/man3p/getgrent.3p
+#usr/share/man/man3p/getgrgid.3p
+#usr/share/man/man3p/getgrgid_r.3p
+#usr/share/man/man3p/getgrnam.3p
+#usr/share/man/man3p/getgrnam_r.3p
+#usr/share/man/man3p/getgroups.3p
+#usr/share/man/man3p/gethostbyaddr.3p
+#usr/share/man/man3p/gethostbyname.3p
+#usr/share/man/man3p/gethostent.3p
+#usr/share/man/man3p/gethostid.3p
+#usr/share/man/man3p/gethostname.3p
+#usr/share/man/man3p/getitimer.3p
+#usr/share/man/man3p/getlogin.3p
+#usr/share/man/man3p/getlogin_r.3p
+#usr/share/man/man3p/getmsg.3p
+#usr/share/man/man3p/getnameinfo.3p
+#usr/share/man/man3p/getnetbyaddr.3p
+#usr/share/man/man3p/getnetbyname.3p
+#usr/share/man/man3p/getnetent.3p
+#usr/share/man/man3p/getopt.3p
+#usr/share/man/man3p/getpeername.3p
+#usr/share/man/man3p/getpgid.3p
+#usr/share/man/man3p/getpgrp.3p
+#usr/share/man/man3p/getpid.3p
+#usr/share/man/man3p/getpmsg.3p
+#usr/share/man/man3p/getppid.3p
+#usr/share/man/man3p/getpriority.3p
+#usr/share/man/man3p/getprotobyname.3p
+#usr/share/man/man3p/getprotobynumber.3p
+#usr/share/man/man3p/getprotoent.3p
+#usr/share/man/man3p/getpwent.3p
+#usr/share/man/man3p/getpwnam.3p
+#usr/share/man/man3p/getpwnam_r.3p
+#usr/share/man/man3p/getpwuid.3p
+#usr/share/man/man3p/getpwuid_r.3p
+#usr/share/man/man3p/getrlimit.3p
+#usr/share/man/man3p/getrusage.3p
+#usr/share/man/man3p/gets.3p
+#usr/share/man/man3p/getservbyname.3p
+#usr/share/man/man3p/getservbyport.3p
+#usr/share/man/man3p/getservent.3p
+#usr/share/man/man3p/getsid.3p
+#usr/share/man/man3p/getsockname.3p
+#usr/share/man/man3p/getsockopt.3p
+#usr/share/man/man3p/getsubopt.3p
+#usr/share/man/man3p/gettimeofday.3p
+#usr/share/man/man3p/getuid.3p
+#usr/share/man/man3p/getutxent.3p
+#usr/share/man/man3p/getutxid.3p
+#usr/share/man/man3p/getutxline.3p
+#usr/share/man/man3p/getwc.3p
+#usr/share/man/man3p/getwchar.3p
+#usr/share/man/man3p/getwd.3p
+#usr/share/man/man3p/glob.3p
+#usr/share/man/man3p/globfree.3p
+#usr/share/man/man3p/gmtime.3p
+#usr/share/man/man3p/gmtime_r.3p
+#usr/share/man/man3p/grantpt.3p
+#usr/share/man/man3p/h_errno.3p
+#usr/share/man/man3p/hcreate.3p
+#usr/share/man/man3p/hdestroy.3p
+#usr/share/man/man3p/hsearch.3p
+#usr/share/man/man3p/htonl.3p
+#usr/share/man/man3p/htons.3p
+#usr/share/man/man3p/hypot.3p
+#usr/share/man/man3p/hypotf.3p
+#usr/share/man/man3p/hypotl.3p
+#usr/share/man/man3p/iconv.3p
+#usr/share/man/man3p/iconv_close.3p
+#usr/share/man/man3p/iconv_open.3p
+#usr/share/man/man3p/if_freenameindex.3p
+#usr/share/man/man3p/if_indextoname.3p
+#usr/share/man/man3p/if_nameindex.3p
+#usr/share/man/man3p/if_nametoindex.3p
+#usr/share/man/man3p/ilogb.3p
+#usr/share/man/man3p/ilogbf.3p
+#usr/share/man/man3p/ilogbl.3p
+#usr/share/man/man3p/imaxabs.3p
+#usr/share/man/man3p/imaxdiv.3p
+#usr/share/man/man3p/index.3p
+#usr/share/man/man3p/inet_addr.3p
+#usr/share/man/man3p/inet_ntoa.3p
+#usr/share/man/man3p/inet_ntop.3p
+#usr/share/man/man3p/inet_pton.3p
+#usr/share/man/man3p/initstate.3p
+#usr/share/man/man3p/insque.3p
+#usr/share/man/man3p/ioctl.3p
+#usr/share/man/man3p/isalnum.3p
+#usr/share/man/man3p/isalpha.3p
+#usr/share/man/man3p/isascii.3p
+#usr/share/man/man3p/isastream.3p
+#usr/share/man/man3p/isatty.3p
+#usr/share/man/man3p/isblank.3p
+#usr/share/man/man3p/iscntrl.3p
+#usr/share/man/man3p/isdigit.3p
+#usr/share/man/man3p/isfinite.3p
+#usr/share/man/man3p/isgraph.3p
+#usr/share/man/man3p/isgreater.3p
+#usr/share/man/man3p/isgreaterequal.3p
+#usr/share/man/man3p/isinf.3p
+#usr/share/man/man3p/isless.3p
+#usr/share/man/man3p/islessequal.3p
+#usr/share/man/man3p/islessgreater.3p
+#usr/share/man/man3p/islower.3p
+#usr/share/man/man3p/isnan.3p
+#usr/share/man/man3p/isnormal.3p
+#usr/share/man/man3p/isprint.3p
+#usr/share/man/man3p/ispunct.3p
+#usr/share/man/man3p/isspace.3p
+#usr/share/man/man3p/isunordered.3p
+#usr/share/man/man3p/isupper.3p
+#usr/share/man/man3p/iswalnum.3p
+#usr/share/man/man3p/iswalpha.3p
+#usr/share/man/man3p/iswblank.3p
+#usr/share/man/man3p/iswcntrl.3p
+#usr/share/man/man3p/iswctype.3p
+#usr/share/man/man3p/iswdigit.3p
+#usr/share/man/man3p/iswgraph.3p
+#usr/share/man/man3p/iswlower.3p
+#usr/share/man/man3p/iswprint.3p
+#usr/share/man/man3p/iswpunct.3p
+#usr/share/man/man3p/iswspace.3p
+#usr/share/man/man3p/iswupper.3p
+#usr/share/man/man3p/iswxdigit.3p
+#usr/share/man/man3p/isxdigit.3p
+#usr/share/man/man3p/j0.3p
+#usr/share/man/man3p/j1.3p
+#usr/share/man/man3p/jn.3p
+#usr/share/man/man3p/jrand48.3p
+#usr/share/man/man3p/kill.3p
+#usr/share/man/man3p/killpg.3p
+#usr/share/man/man3p/l64a.3p
+#usr/share/man/man3p/labs.3p
+#usr/share/man/man3p/lchown.3p
+#usr/share/man/man3p/lcong48.3p
+#usr/share/man/man3p/ldexp.3p
+#usr/share/man/man3p/ldexpf.3p
+#usr/share/man/man3p/ldexpl.3p
+#usr/share/man/man3p/ldiv.3p
+#usr/share/man/man3p/lfind.3p
+#usr/share/man/man3p/lgamma.3p
+#usr/share/man/man3p/lgammaf.3p
+#usr/share/man/man3p/lgammal.3p
+#usr/share/man/man3p/link.3p
+#usr/share/man/man3p/lio_listio.3p
+#usr/share/man/man3p/listen.3p
+#usr/share/man/man3p/llabs.3p
+#usr/share/man/man3p/lldiv.3p
+#usr/share/man/man3p/llrint.3p
+#usr/share/man/man3p/llrintf.3p
+#usr/share/man/man3p/llrintl.3p
+#usr/share/man/man3p/llround.3p
+#usr/share/man/man3p/llroundf.3p
+#usr/share/man/man3p/llroundl.3p
+#usr/share/man/man3p/localeconv.3p
+#usr/share/man/man3p/localtime.3p
+#usr/share/man/man3p/localtime_r.3p
+#usr/share/man/man3p/lockf.3p
+#usr/share/man/man3p/log.3p
+#usr/share/man/man3p/log10.3p
+#usr/share/man/man3p/log10f.3p
+#usr/share/man/man3p/log10l.3p
+#usr/share/man/man3p/log1p.3p
+#usr/share/man/man3p/log1pf.3p
+#usr/share/man/man3p/log1pl.3p
+#usr/share/man/man3p/log2.3p
+#usr/share/man/man3p/log2f.3p
+#usr/share/man/man3p/log2l.3p
+#usr/share/man/man3p/logb.3p
+#usr/share/man/man3p/logbf.3p
+#usr/share/man/man3p/logbl.3p
+#usr/share/man/man3p/logf.3p
+#usr/share/man/man3p/logl.3p
+#usr/share/man/man3p/longjmp.3p
+#usr/share/man/man3p/lrand48.3p
+#usr/share/man/man3p/lrint.3p
+#usr/share/man/man3p/lrintf.3p
+#usr/share/man/man3p/lrintl.3p
+#usr/share/man/man3p/lround.3p
+#usr/share/man/man3p/lroundf.3p
+#usr/share/man/man3p/lroundl.3p
+#usr/share/man/man3p/lsearch.3p
+#usr/share/man/man3p/lseek.3p
+#usr/share/man/man3p/lstat.3p
+#usr/share/man/man3p/makecontext.3p
+#usr/share/man/man3p/malloc.3p
+#usr/share/man/man3p/mblen.3p
+#usr/share/man/man3p/mbrlen.3p
+#usr/share/man/man3p/mbrtowc.3p
+#usr/share/man/man3p/mbsinit.3p
+#usr/share/man/man3p/mbsrtowcs.3p
+#usr/share/man/man3p/mbstowcs.3p
+#usr/share/man/man3p/mbtowc.3p
+#usr/share/man/man3p/memccpy.3p
+#usr/share/man/man3p/memchr.3p
+#usr/share/man/man3p/memcmp.3p
+#usr/share/man/man3p/memcpy.3p
+#usr/share/man/man3p/memmove.3p
+#usr/share/man/man3p/memset.3p
+#usr/share/man/man3p/mkdir.3p
+#usr/share/man/man3p/mkfifo.3p
+#usr/share/man/man3p/mknod.3p
+#usr/share/man/man3p/mkstemp.3p
+#usr/share/man/man3p/mktemp.3p
+#usr/share/man/man3p/mktime.3p
+#usr/share/man/man3p/mlock.3p
+#usr/share/man/man3p/mlockall.3p
+#usr/share/man/man3p/mmap.3p
+#usr/share/man/man3p/modf.3p
+#usr/share/man/man3p/modff.3p
+#usr/share/man/man3p/modfl.3p
+#usr/share/man/man3p/mprotect.3p
+#usr/share/man/man3p/mq_close.3p
+#usr/share/man/man3p/mq_getattr.3p
+#usr/share/man/man3p/mq_notify.3p
+#usr/share/man/man3p/mq_open.3p
+#usr/share/man/man3p/mq_receive.3p
+#usr/share/man/man3p/mq_send.3p
+#usr/share/man/man3p/mq_setattr.3p
+#usr/share/man/man3p/mq_timedreceive.3p
+#usr/share/man/man3p/mq_timedsend.3p
+#usr/share/man/man3p/mq_unlink.3p
+#usr/share/man/man3p/mrand48.3p
+#usr/share/man/man3p/msgctl.3p
+#usr/share/man/man3p/msgget.3p
+#usr/share/man/man3p/msgrcv.3p
+#usr/share/man/man3p/msgsnd.3p
+#usr/share/man/man3p/msync.3p
+#usr/share/man/man3p/munlock.3p
+#usr/share/man/man3p/munlockall.3p
+#usr/share/man/man3p/munmap.3p
+#usr/share/man/man3p/nan.3p
+#usr/share/man/man3p/nanf.3p
+#usr/share/man/man3p/nanl.3p
+#usr/share/man/man3p/nanosleep.3p
+#usr/share/man/man3p/nearbyint.3p
+#usr/share/man/man3p/nearbyintf.3p
+#usr/share/man/man3p/nearbyintl.3p
+#usr/share/man/man3p/nextafter.3p
+#usr/share/man/man3p/nextafterf.3p
+#usr/share/man/man3p/nextafterl.3p
+#usr/share/man/man3p/nexttoward.3p
+#usr/share/man/man3p/nexttowardf.3p
+#usr/share/man/man3p/nexttowardl.3p
+#usr/share/man/man3p/nftw.3p
+#usr/share/man/man3p/nice.3p
+#usr/share/man/man3p/nl_langinfo.3p
+#usr/share/man/man3p/nrand48.3p
+#usr/share/man/man3p/ntohl.3p
+#usr/share/man/man3p/ntohs.3p
+#usr/share/man/man3p/open.3p
+#usr/share/man/man3p/opendir.3p
+#usr/share/man/man3p/openlog.3p
+#usr/share/man/man3p/optarg.3p
+#usr/share/man/man3p/opterr.3p
+#usr/share/man/man3p/optind.3p
+#usr/share/man/man3p/optopt.3p
+#usr/share/man/man3p/pathconf.3p
+#usr/share/man/man3p/pause.3p
+#usr/share/man/man3p/pclose.3p
+#usr/share/man/man3p/perror.3p
+#usr/share/man/man3p/pipe.3p
+#usr/share/man/man3p/poll.3p
+#usr/share/man/man3p/popen.3p
+#usr/share/man/man3p/posix_fadvise.3p
+#usr/share/man/man3p/posix_fallocate.3p
+#usr/share/man/man3p/posix_madvise.3p
+#usr/share/man/man3p/posix_mem_offset.3p
+#usr/share/man/man3p/posix_memalign.3p
+#usr/share/man/man3p/posix_openpt.3p
+#usr/share/man/man3p/posix_spawn.3p
+#usr/share/man/man3p/posix_spawn_file_actions_addclose.3p
+#usr/share/man/man3p/posix_spawn_file_actions_adddup2.3p
+#usr/share/man/man3p/posix_spawn_file_actions_addopen.3p
+#usr/share/man/man3p/posix_spawn_file_actions_destroy.3p
+#usr/share/man/man3p/posix_spawn_file_actions_init.3p
+#usr/share/man/man3p/posix_spawnattr_destroy.3p
+#usr/share/man/man3p/posix_spawnattr_getflags.3p
+#usr/share/man/man3p/posix_spawnattr_getpgroup.3p
+#usr/share/man/man3p/posix_spawnattr_getschedparam.3p
+#usr/share/man/man3p/posix_spawnattr_getschedpolicy.3p
+#usr/share/man/man3p/posix_spawnattr_getsigdefault.3p
+#usr/share/man/man3p/posix_spawnattr_getsigmask.3p
+#usr/share/man/man3p/posix_spawnattr_init.3p
+#usr/share/man/man3p/posix_spawnattr_setflags.3p
+#usr/share/man/man3p/posix_spawnattr_setpgroup.3p
+#usr/share/man/man3p/posix_spawnattr_setschedparam.3p
+#usr/share/man/man3p/posix_spawnattr_setschedpolicy.3p
+#usr/share/man/man3p/posix_spawnattr_setsigdefault.3p
+#usr/share/man/man3p/posix_spawnattr_setsigmask.3p
+#usr/share/man/man3p/posix_spawnp.3p
+#usr/share/man/man3p/posix_trace_attr_destroy.3p
+#usr/share/man/man3p/posix_trace_attr_getclockres.3p
+#usr/share/man/man3p/posix_trace_attr_getcreatetime.3p
+#usr/share/man/man3p/posix_trace_attr_getgenversion.3p
+#usr/share/man/man3p/posix_trace_attr_getinherited.3p
+#usr/share/man/man3p/posix_trace_attr_getlogfullpolicy.3p
+#usr/share/man/man3p/posix_trace_attr_getlogsize.3p
+#usr/share/man/man3p/posix_trace_attr_getmaxdatasize.3p
+#usr/share/man/man3p/posix_trace_attr_getmaxsystemeventsize.3p
+#usr/share/man/man3p/posix_trace_attr_getmaxusereventsize.3p
+#usr/share/man/man3p/posix_trace_attr_getname.3p
+#usr/share/man/man3p/posix_trace_attr_getstreamfullpolicy.3p
+#usr/share/man/man3p/posix_trace_attr_getstreamsize.3p
+#usr/share/man/man3p/posix_trace_attr_init.3p
+#usr/share/man/man3p/posix_trace_attr_setinherited.3p
+#usr/share/man/man3p/posix_trace_attr_setlogfullpolicy.3p
+#usr/share/man/man3p/posix_trace_attr_setlogsize.3p
+#usr/share/man/man3p/posix_trace_attr_setmaxdatasize.3p
+#usr/share/man/man3p/posix_trace_attr_setname.3p
+#usr/share/man/man3p/posix_trace_attr_setstreamfullpolicy.3p
+#usr/share/man/man3p/posix_trace_attr_setstreamsize.3p
+#usr/share/man/man3p/posix_trace_clear.3p
+#usr/share/man/man3p/posix_trace_close.3p
+#usr/share/man/man3p/posix_trace_create.3p
+#usr/share/man/man3p/posix_trace_create_withlog.3p
+#usr/share/man/man3p/posix_trace_event.3p
+#usr/share/man/man3p/posix_trace_eventid_equal.3p
+#usr/share/man/man3p/posix_trace_eventid_get_name.3p
+#usr/share/man/man3p/posix_trace_eventid_open.3p
+#usr/share/man/man3p/posix_trace_eventset_add.3p
+#usr/share/man/man3p/posix_trace_eventset_del.3p
+#usr/share/man/man3p/posix_trace_eventset_empty.3p
+#usr/share/man/man3p/posix_trace_eventset_fill.3p
+#usr/share/man/man3p/posix_trace_eventset_ismember.3p
+#usr/share/man/man3p/posix_trace_eventtypelist_getnext_id.3p
+#usr/share/man/man3p/posix_trace_eventtypelist_rewind.3p
+#usr/share/man/man3p/posix_trace_flush.3p
+#usr/share/man/man3p/posix_trace_get_attr.3p
+#usr/share/man/man3p/posix_trace_get_filter.3p
+#usr/share/man/man3p/posix_trace_get_status.3p
+#usr/share/man/man3p/posix_trace_getnext_event.3p
+#usr/share/man/man3p/posix_trace_open.3p
+#usr/share/man/man3p/posix_trace_rewind.3p
+#usr/share/man/man3p/posix_trace_set_filter.3p
+#usr/share/man/man3p/posix_trace_shutdown.3p
+#usr/share/man/man3p/posix_trace_start.3p
+#usr/share/man/man3p/posix_trace_stop.3p
+#usr/share/man/man3p/posix_trace_timedgetnext_event.3p
+#usr/share/man/man3p/posix_trace_trid_eventid_open.3p
+#usr/share/man/man3p/posix_trace_trygetnext_event.3p
+#usr/share/man/man3p/posix_typed_mem_get_info.3p
+#usr/share/man/man3p/posix_typed_mem_open.3p
+#usr/share/man/man3p/pow.3p
+#usr/share/man/man3p/powf.3p
+#usr/share/man/man3p/powl.3p
+#usr/share/man/man3p/pread.3p
+#usr/share/man/man3p/printf.3p
+#usr/share/man/man3p/pselect.3p
+#usr/share/man/man3p/pthread_atfork.3p
+#usr/share/man/man3p/pthread_attr_destroy.3p
+#usr/share/man/man3p/pthread_attr_getdetachstate.3p
+#usr/share/man/man3p/pthread_attr_getguardsize.3p
+#usr/share/man/man3p/pthread_attr_getinheritsched.3p
+#usr/share/man/man3p/pthread_attr_getschedparam.3p
+#usr/share/man/man3p/pthread_attr_getschedpolicy.3p
+#usr/share/man/man3p/pthread_attr_getscope.3p
+#usr/share/man/man3p/pthread_attr_getstack.3p
+#usr/share/man/man3p/pthread_attr_getstackaddr.3p
+#usr/share/man/man3p/pthread_attr_getstacksize.3p
+#usr/share/man/man3p/pthread_attr_init.3p
+#usr/share/man/man3p/pthread_attr_setdetachstate.3p
+#usr/share/man/man3p/pthread_attr_setguardsize.3p
+#usr/share/man/man3p/pthread_attr_setinheritsched.3p
+#usr/share/man/man3p/pthread_attr_setschedparam.3p
+#usr/share/man/man3p/pthread_attr_setschedpolicy.3p
+#usr/share/man/man3p/pthread_attr_setscope.3p
+#usr/share/man/man3p/pthread_attr_setstack.3p
+#usr/share/man/man3p/pthread_attr_setstackaddr.3p
+#usr/share/man/man3p/pthread_attr_setstacksize.3p
+#usr/share/man/man3p/pthread_barrier_destroy.3p
+#usr/share/man/man3p/pthread_barrier_init.3p
+#usr/share/man/man3p/pthread_barrier_wait.3p
+#usr/share/man/man3p/pthread_barrierattr_destroy.3p
+#usr/share/man/man3p/pthread_barrierattr_getpshared.3p
+#usr/share/man/man3p/pthread_barrierattr_init.3p
+#usr/share/man/man3p/pthread_barrierattr_setpshared.3p
+#usr/share/man/man3p/pthread_cancel.3p
+#usr/share/man/man3p/pthread_cleanup_pop.3p
+#usr/share/man/man3p/pthread_cleanup_push.3p
+#usr/share/man/man3p/pthread_cond_broadcast.3p
+#usr/share/man/man3p/pthread_cond_destroy.3p
+#usr/share/man/man3p/pthread_cond_init.3p
+#usr/share/man/man3p/pthread_cond_signal.3p
+#usr/share/man/man3p/pthread_cond_timedwait.3p
+#usr/share/man/man3p/pthread_cond_wait.3p
+#usr/share/man/man3p/pthread_condattr_destroy.3p
+#usr/share/man/man3p/pthread_condattr_getclock.3p
+#usr/share/man/man3p/pthread_condattr_getpshared.3p
+#usr/share/man/man3p/pthread_condattr_init.3p
+#usr/share/man/man3p/pthread_condattr_setclock.3p
+#usr/share/man/man3p/pthread_condattr_setpshared.3p
+#usr/share/man/man3p/pthread_create.3p
+#usr/share/man/man3p/pthread_detach.3p
+#usr/share/man/man3p/pthread_equal.3p
+#usr/share/man/man3p/pthread_exit.3p
+#usr/share/man/man3p/pthread_getconcurrency.3p
+#usr/share/man/man3p/pthread_getcpuclockid.3p
+#usr/share/man/man3p/pthread_getschedparam.3p
+#usr/share/man/man3p/pthread_getspecific.3p
+#usr/share/man/man3p/pthread_join.3p
+#usr/share/man/man3p/pthread_key_create.3p
+#usr/share/man/man3p/pthread_key_delete.3p
+#usr/share/man/man3p/pthread_kill.3p
+#usr/share/man/man3p/pthread_mutex_destroy.3p
+#usr/share/man/man3p/pthread_mutex_getprioceiling.3p
+#usr/share/man/man3p/pthread_mutex_init.3p
+#usr/share/man/man3p/pthread_mutex_lock.3p
+#usr/share/man/man3p/pthread_mutex_setprioceiling.3p
+#usr/share/man/man3p/pthread_mutex_timedlock.3p
+#usr/share/man/man3p/pthread_mutex_trylock.3p
+#usr/share/man/man3p/pthread_mutex_unlock.3p
+#usr/share/man/man3p/pthread_mutexattr_destroy.3p
+#usr/share/man/man3p/pthread_mutexattr_getprioceiling.3p
+#usr/share/man/man3p/pthread_mutexattr_getprotocol.3p
+#usr/share/man/man3p/pthread_mutexattr_getpshared.3p
+#usr/share/man/man3p/pthread_mutexattr_gettype.3p
+#usr/share/man/man3p/pthread_mutexattr_init.3p
+#usr/share/man/man3p/pthread_mutexattr_setprioceiling.3p
+#usr/share/man/man3p/pthread_mutexattr_setprotocol.3p
+#usr/share/man/man3p/pthread_mutexattr_setpshared.3p
+#usr/share/man/man3p/pthread_mutexattr_settype.3p
+#usr/share/man/man3p/pthread_once.3p
+#usr/share/man/man3p/pthread_rwlock_destroy.3p
+#usr/share/man/man3p/pthread_rwlock_init.3p
+#usr/share/man/man3p/pthread_rwlock_rdlock.3p
+#usr/share/man/man3p/pthread_rwlock_timedrdlock.3p
+#usr/share/man/man3p/pthread_rwlock_timedwrlock.3p
+#usr/share/man/man3p/pthread_rwlock_tryrdlock.3p
+#usr/share/man/man3p/pthread_rwlock_trywrlock.3p
+#usr/share/man/man3p/pthread_rwlock_unlock.3p
+#usr/share/man/man3p/pthread_rwlock_wrlock.3p
+#usr/share/man/man3p/pthread_rwlockattr_destroy.3p
+#usr/share/man/man3p/pthread_rwlockattr_getpshared.3p
+#usr/share/man/man3p/pthread_rwlockattr_init.3p
+#usr/share/man/man3p/pthread_rwlockattr_setpshared.3p
+#usr/share/man/man3p/pthread_self.3p
+#usr/share/man/man3p/pthread_setcancelstate.3p
+#usr/share/man/man3p/pthread_setcanceltype.3p
+#usr/share/man/man3p/pthread_setconcurrency.3p
+#usr/share/man/man3p/pthread_setschedparam.3p
+#usr/share/man/man3p/pthread_setschedprio.3p
+#usr/share/man/man3p/pthread_setspecific.3p
+#usr/share/man/man3p/pthread_sigmask.3p
+#usr/share/man/man3p/pthread_spin_destroy.3p
+#usr/share/man/man3p/pthread_spin_init.3p
+#usr/share/man/man3p/pthread_spin_lock.3p
+#usr/share/man/man3p/pthread_spin_trylock.3p
+#usr/share/man/man3p/pthread_spin_unlock.3p
+#usr/share/man/man3p/pthread_testcancel.3p
+#usr/share/man/man3p/ptsname.3p
+#usr/share/man/man3p/putc.3p
+#usr/share/man/man3p/putc_unlocked.3p
+#usr/share/man/man3p/putchar.3p
+#usr/share/man/man3p/putchar_unlocked.3p
+#usr/share/man/man3p/putenv.3p
+#usr/share/man/man3p/putmsg.3p
+#usr/share/man/man3p/putpmsg.3p
+#usr/share/man/man3p/puts.3p
+#usr/share/man/man3p/pututxline.3p
+#usr/share/man/man3p/putwc.3p
+#usr/share/man/man3p/putwchar.3p
+#usr/share/man/man3p/pwrite.3p
+#usr/share/man/man3p/qsort.3p
+#usr/share/man/man3p/raise.3p
+#usr/share/man/man3p/rand.3p
+#usr/share/man/man3p/rand_r.3p
+#usr/share/man/man3p/random.3p
+#usr/share/man/man3p/read.3p
+#usr/share/man/man3p/readdir.3p
+#usr/share/man/man3p/readdir_r.3p
+#usr/share/man/man3p/readlink.3p
+#usr/share/man/man3p/readv.3p
+#usr/share/man/man3p/realloc.3p
+#usr/share/man/man3p/realpath.3p
+#usr/share/man/man3p/recv.3p
+#usr/share/man/man3p/recvfrom.3p
+#usr/share/man/man3p/recvmsg.3p
+#usr/share/man/man3p/regcomp.3p
+#usr/share/man/man3p/regerror.3p
+#usr/share/man/man3p/regexec.3p
+#usr/share/man/man3p/regfree.3p
+#usr/share/man/man3p/remainder.3p
+#usr/share/man/man3p/remainderf.3p
+#usr/share/man/man3p/remainderl.3p
+#usr/share/man/man3p/remove.3p
+#usr/share/man/man3p/remque.3p
+#usr/share/man/man3p/remquo.3p
+#usr/share/man/man3p/remquof.3p
+#usr/share/man/man3p/remquol.3p
+#usr/share/man/man3p/rename.3p
+#usr/share/man/man3p/rewind.3p
+#usr/share/man/man3p/rewinddir.3p
+#usr/share/man/man3p/rindex.3p
+#usr/share/man/man3p/rint.3p
+#usr/share/man/man3p/rintf.3p
+#usr/share/man/man3p/rintl.3p
+#usr/share/man/man3p/rmdir.3p
+#usr/share/man/man3p/round.3p
+#usr/share/man/man3p/roundf.3p
+#usr/share/man/man3p/roundl.3p
+#usr/share/man/man3p/scalb.3p
+#usr/share/man/man3p/scalbln.3p
+#usr/share/man/man3p/scalblnf.3p
+#usr/share/man/man3p/scalblnl.3p
+#usr/share/man/man3p/scalbn.3p
+#usr/share/man/man3p/scalbnf.3p
+#usr/share/man/man3p/scalbnl.3p
+#usr/share/man/man3p/scanf.3p
+#usr/share/man/man3p/sched_get_priority_max.3p
+#usr/share/man/man3p/sched_get_priority_min.3p
+#usr/share/man/man3p/sched_getparam.3p
+#usr/share/man/man3p/sched_getscheduler.3p
+#usr/share/man/man3p/sched_rr_get_interval.3p
+#usr/share/man/man3p/sched_setparam.3p
+#usr/share/man/man3p/sched_setscheduler.3p
+#usr/share/man/man3p/sched_yield.3p
+#usr/share/man/man3p/seed48.3p
+#usr/share/man/man3p/seekdir.3p
+#usr/share/man/man3p/select.3p
+#usr/share/man/man3p/sem_close.3p
+#usr/share/man/man3p/sem_destroy.3p
+#usr/share/man/man3p/sem_getvalue.3p
+#usr/share/man/man3p/sem_init.3p
+#usr/share/man/man3p/sem_open.3p
+#usr/share/man/man3p/sem_post.3p
+#usr/share/man/man3p/sem_timedwait.3p
+#usr/share/man/man3p/sem_trywait.3p
+#usr/share/man/man3p/sem_unlink.3p
+#usr/share/man/man3p/sem_wait.3p
+#usr/share/man/man3p/semctl.3p
+#usr/share/man/man3p/semget.3p
+#usr/share/man/man3p/semop.3p
+#usr/share/man/man3p/send.3p
+#usr/share/man/man3p/sendmsg.3p
+#usr/share/man/man3p/sendto.3p
+#usr/share/man/man3p/setbuf.3p
+#usr/share/man/man3p/setcontext.3p
+#usr/share/man/man3p/setegid.3p
+#usr/share/man/man3p/setenv.3p
+#usr/share/man/man3p/seteuid.3p
+#usr/share/man/man3p/setgid.3p
+#usr/share/man/man3p/setgrent.3p
+#usr/share/man/man3p/sethostent.3p
+#usr/share/man/man3p/setitimer.3p
+#usr/share/man/man3p/setjmp.3p
+#usr/share/man/man3p/setkey.3p
+#usr/share/man/man3p/setlocale.3p
+#usr/share/man/man3p/setlogmask.3p
+#usr/share/man/man3p/setnetent.3p
+#usr/share/man/man3p/setpgid.3p
+#usr/share/man/man3p/setpgrp.3p
+#usr/share/man/man3p/setpriority.3p
+#usr/share/man/man3p/setprotoent.3p
+#usr/share/man/man3p/setpwent.3p
+#usr/share/man/man3p/setregid.3p
+#usr/share/man/man3p/setreuid.3p
+#usr/share/man/man3p/setrlimit.3p
+#usr/share/man/man3p/setservent.3p
+#usr/share/man/man3p/setsid.3p
+#usr/share/man/man3p/setsockopt.3p
+#usr/share/man/man3p/setstate.3p
+#usr/share/man/man3p/setuid.3p
+#usr/share/man/man3p/setutxent.3p
+#usr/share/man/man3p/setvbuf.3p
+#usr/share/man/man3p/shm_open.3p
+#usr/share/man/man3p/shm_unlink.3p
+#usr/share/man/man3p/shmat.3p
+#usr/share/man/man3p/shmctl.3p
+#usr/share/man/man3p/shmdt.3p
+#usr/share/man/man3p/shmget.3p
+#usr/share/man/man3p/shutdown.3p
+#usr/share/man/man3p/sigaction.3p
+#usr/share/man/man3p/sigaddset.3p
+#usr/share/man/man3p/sigaltstack.3p
+#usr/share/man/man3p/sigdelset.3p
+#usr/share/man/man3p/sigemptyset.3p
+#usr/share/man/man3p/sigfillset.3p
+#usr/share/man/man3p/sighold.3p
+#usr/share/man/man3p/sigignore.3p
+#usr/share/man/man3p/siginterrupt.3p
+#usr/share/man/man3p/sigismember.3p
+#usr/share/man/man3p/siglongjmp.3p
+#usr/share/man/man3p/signal.3p
+#usr/share/man/man3p/signbit.3p
+#usr/share/man/man3p/signgam.3p
+#usr/share/man/man3p/sigpause.3p
+#usr/share/man/man3p/sigpending.3p
+#usr/share/man/man3p/sigprocmask.3p
+#usr/share/man/man3p/sigqueue.3p
+#usr/share/man/man3p/sigrelse.3p
+#usr/share/man/man3p/sigset.3p
+#usr/share/man/man3p/sigsetjmp.3p
+#usr/share/man/man3p/sigsuspend.3p
+#usr/share/man/man3p/sigtimedwait.3p
+#usr/share/man/man3p/sigwait.3p
+#usr/share/man/man3p/sigwaitinfo.3p
+#usr/share/man/man3p/sin.3p
+#usr/share/man/man3p/sinf.3p
+#usr/share/man/man3p/sinh.3p
+#usr/share/man/man3p/sinhf.3p
+#usr/share/man/man3p/sinhl.3p
+#usr/share/man/man3p/sinl.3p
+#usr/share/man/man3p/sleep.3p
+#usr/share/man/man3p/snprintf.3p
+#usr/share/man/man3p/sockatmark.3p
+#usr/share/man/man3p/socket.3p
+#usr/share/man/man3p/socketpair.3p
+#usr/share/man/man3p/sprintf.3p
+#usr/share/man/man3p/sqrt.3p
+#usr/share/man/man3p/sqrtf.3p
+#usr/share/man/man3p/sqrtl.3p
+#usr/share/man/man3p/srand.3p
+#usr/share/man/man3p/srand48.3p
+#usr/share/man/man3p/srandom.3p
+#usr/share/man/man3p/sscanf.3p
+#usr/share/man/man3p/stat.3p
+#usr/share/man/man3p/statvfs.3p
+#usr/share/man/man3p/stderr.3p
+#usr/share/man/man3p/stdin.3p
+#usr/share/man/man3p/stdout.3p
+#usr/share/man/man3p/strcasecmp.3p
+#usr/share/man/man3p/strcat.3p
+#usr/share/man/man3p/strchr.3p
+#usr/share/man/man3p/strcmp.3p
+#usr/share/man/man3p/strcoll.3p
+#usr/share/man/man3p/strcpy.3p
+#usr/share/man/man3p/strcspn.3p
+#usr/share/man/man3p/strdup.3p
+#usr/share/man/man3p/strerror.3p
+#usr/share/man/man3p/strerror_r.3p
+#usr/share/man/man3p/strfmon.3p
+#usr/share/man/man3p/strftime.3p
+#usr/share/man/man3p/strlen.3p
+#usr/share/man/man3p/strncasecmp.3p
+#usr/share/man/man3p/strncat.3p
+#usr/share/man/man3p/strncmp.3p
+#usr/share/man/man3p/strncpy.3p
+#usr/share/man/man3p/strpbrk.3p
+#usr/share/man/man3p/strptime.3p
+#usr/share/man/man3p/strrchr.3p
+#usr/share/man/man3p/strspn.3p
+#usr/share/man/man3p/strstr.3p
+#usr/share/man/man3p/strtod.3p
+#usr/share/man/man3p/strtof.3p
+#usr/share/man/man3p/strtoimax.3p
+#usr/share/man/man3p/strtok.3p
+#usr/share/man/man3p/strtok_r.3p
+#usr/share/man/man3p/strtol.3p
+#usr/share/man/man3p/strtold.3p
+#usr/share/man/man3p/strtoll.3p
+#usr/share/man/man3p/strtoul.3p
+#usr/share/man/man3p/strtoull.3p
+#usr/share/man/man3p/strtoumax.3p
+#usr/share/man/man3p/strxfrm.3p
+#usr/share/man/man3p/swab.3p
+#usr/share/man/man3p/swapcontext.3p
+#usr/share/man/man3p/swprintf.3p
+#usr/share/man/man3p/swscanf.3p
+#usr/share/man/man3p/symlink.3p
+#usr/share/man/man3p/sync.3p
+#usr/share/man/man3p/sysconf.3p
+#usr/share/man/man3p/syslog.3p
+#usr/share/man/man3p/system.3p
+#usr/share/man/man3p/tan.3p
+#usr/share/man/man3p/tanf.3p
+#usr/share/man/man3p/tanh.3p
+#usr/share/man/man3p/tanhf.3p
+#usr/share/man/man3p/tanhl.3p
+#usr/share/man/man3p/tanl.3p
+#usr/share/man/man3p/tcdrain.3p
+#usr/share/man/man3p/tcflow.3p
+#usr/share/man/man3p/tcflush.3p
+#usr/share/man/man3p/tcgetattr.3p
+#usr/share/man/man3p/tcgetpgrp.3p
+#usr/share/man/man3p/tcgetsid.3p
+#usr/share/man/man3p/tcsendbreak.3p
+#usr/share/man/man3p/tcsetattr.3p
+#usr/share/man/man3p/tcsetpgrp.3p
+#usr/share/man/man3p/tdelete.3p
+#usr/share/man/man3p/telldir.3p
+#usr/share/man/man3p/tempnam.3p
+#usr/share/man/man3p/tfind.3p
+#usr/share/man/man3p/tgamma.3p
+#usr/share/man/man3p/tgammaf.3p
+#usr/share/man/man3p/tgammal.3p
+#usr/share/man/man3p/time.3p
+#usr/share/man/man3p/timer_create.3p
+#usr/share/man/man3p/timer_delete.3p
+#usr/share/man/man3p/timer_getoverrun.3p
+#usr/share/man/man3p/timer_gettime.3p
+#usr/share/man/man3p/timer_settime.3p
+#usr/share/man/man3p/times.3p
+#usr/share/man/man3p/timezone.3p
+#usr/share/man/man3p/tmpfile.3p
+#usr/share/man/man3p/tmpnam.3p
+#usr/share/man/man3p/toascii.3p
+#usr/share/man/man3p/tolower.3p
+#usr/share/man/man3p/toupper.3p
+#usr/share/man/man3p/towctrans.3p
+#usr/share/man/man3p/towlower.3p
+#usr/share/man/man3p/towupper.3p
+#usr/share/man/man3p/trunc.3p
+#usr/share/man/man3p/truncate.3p
+#usr/share/man/man3p/truncf.3p
+#usr/share/man/man3p/truncl.3p
+#usr/share/man/man3p/tsearch.3p
+#usr/share/man/man3p/ttyname.3p
+#usr/share/man/man3p/ttyname_r.3p
+#usr/share/man/man3p/twalk.3p
+#usr/share/man/man3p/tzname.3p
+#usr/share/man/man3p/tzset.3p
+#usr/share/man/man3p/ualarm.3p
+#usr/share/man/man3p/ulimit.3p
+#usr/share/man/man3p/umask.3p
+#usr/share/man/man3p/uname.3p
+#usr/share/man/man3p/ungetc.3p
+#usr/share/man/man3p/ungetwc.3p
+#usr/share/man/man3p/unlink.3p
+#usr/share/man/man3p/unlockpt.3p
+#usr/share/man/man3p/unsetenv.3p
+#usr/share/man/man3p/usleep.3p
+#usr/share/man/man3p/utime.3p
+#usr/share/man/man3p/utimes.3p
+#usr/share/man/man3p/va_arg.3p
+#usr/share/man/man3p/va_copy.3p
+#usr/share/man/man3p/va_end.3p
+#usr/share/man/man3p/va_start.3p
+#usr/share/man/man3p/vfork.3p
+#usr/share/man/man3p/vfprintf.3p
+#usr/share/man/man3p/vfscanf.3p
+#usr/share/man/man3p/vfwprintf.3p
+#usr/share/man/man3p/vfwscanf.3p
+#usr/share/man/man3p/vprintf.3p
+#usr/share/man/man3p/vscanf.3p
+#usr/share/man/man3p/vsnprintf.3p
+#usr/share/man/man3p/vsprintf.3p
+#usr/share/man/man3p/vsscanf.3p
+#usr/share/man/man3p/vswprintf.3p
+#usr/share/man/man3p/vswscanf.3p
+#usr/share/man/man3p/vwprintf.3p
+#usr/share/man/man3p/vwscanf.3p
+#usr/share/man/man3p/wait.3p
+#usr/share/man/man3p/waitid.3p
+#usr/share/man/man3p/waitpid.3p
+#usr/share/man/man3p/wcrtomb.3p
+#usr/share/man/man3p/wcscat.3p
+#usr/share/man/man3p/wcschr.3p
+#usr/share/man/man3p/wcscmp.3p
+#usr/share/man/man3p/wcscoll.3p
+#usr/share/man/man3p/wcscpy.3p
+#usr/share/man/man3p/wcscspn.3p
+#usr/share/man/man3p/wcsftime.3p
+#usr/share/man/man3p/wcslen.3p
+#usr/share/man/man3p/wcsncat.3p
+#usr/share/man/man3p/wcsncmp.3p
+#usr/share/man/man3p/wcsncpy.3p
+#usr/share/man/man3p/wcspbrk.3p
+#usr/share/man/man3p/wcsrchr.3p
+#usr/share/man/man3p/wcsrtombs.3p
+#usr/share/man/man3p/wcsspn.3p
+#usr/share/man/man3p/wcsstr.3p
+#usr/share/man/man3p/wcstod.3p
+#usr/share/man/man3p/wcstof.3p
+#usr/share/man/man3p/wcstoimax.3p
+#usr/share/man/man3p/wcstok.3p
+#usr/share/man/man3p/wcstol.3p
+#usr/share/man/man3p/wcstold.3p
+#usr/share/man/man3p/wcstoll.3p
+#usr/share/man/man3p/wcstombs.3p
+#usr/share/man/man3p/wcstoul.3p
+#usr/share/man/man3p/wcstoull.3p
+#usr/share/man/man3p/wcstoumax.3p
+#usr/share/man/man3p/wcswcs.3p
+#usr/share/man/man3p/wcswidth.3p
+#usr/share/man/man3p/wcsxfrm.3p
+#usr/share/man/man3p/wctob.3p
+#usr/share/man/man3p/wctomb.3p
+#usr/share/man/man3p/wctrans.3p
+#usr/share/man/man3p/wctype.3p
+#usr/share/man/man3p/wcwidth.3p
+#usr/share/man/man3p/wmemchr.3p
+#usr/share/man/man3p/wmemcmp.3p
+#usr/share/man/man3p/wmemcpy.3p
+#usr/share/man/man3p/wmemmove.3p
+#usr/share/man/man3p/wmemset.3p
+#usr/share/man/man3p/wordexp.3p
+#usr/share/man/man3p/wordfree.3p
+#usr/share/man/man3p/wprintf.3p
+#usr/share/man/man3p/write.3p
+#usr/share/man/man3p/writev.3p
+#usr/share/man/man3p/wscanf.3p
+#usr/share/man/man3p/y0.3p
+#usr/share/man/man3p/y1.3p
+#usr/share/man/man3p/yn.3p
+#usr/share/man/man4/console.4
+#usr/share/man/man4/console_codes.4
+#usr/share/man/man4/console_ioctl.4
+#usr/share/man/man4/dsp56k.4
+#usr/share/man/man4/epoll.4
+#usr/share/man/man4/fd.4
+#usr/share/man/man4/fifo.4
+#usr/share/man/man4/full.4
+#usr/share/man/man4/futex.4
+#usr/share/man/man4/hd.4
+#usr/share/man/man4/initrd.4
+#usr/share/man/man4/intro.4
+#usr/share/man/man4/kmem.4
+#usr/share/man/man4/lp.4
+#usr/share/man/man4/mem.4
+#usr/share/man/man4/mouse.4
+#usr/share/man/man4/null.4
+#usr/share/man/man4/port.4
+#usr/share/man/man4/ptmx.4
+#usr/share/man/man4/pts.4
+#usr/share/man/man4/ram.4
+#usr/share/man/man4/random.4
+#usr/share/man/man4/sd.4
+#usr/share/man/man4/sk98lin.4
+#usr/share/man/man4/st.4
+#usr/share/man/man4/tty.4
+#usr/share/man/man4/ttyS.4
+#usr/share/man/man4/tty_ioctl.4
+#usr/share/man/man4/urandom.4
+#usr/share/man/man4/vcs.4
+#usr/share/man/man4/vcsa.4
+#usr/share/man/man4/wavelan.4
+#usr/share/man/man4/zero.4
+#usr/share/man/man5/acct.5
+#usr/share/man/man5/charmap.5
+#usr/share/man/man5/complex.5
+#usr/share/man/man5/dir_colors.5
+#usr/share/man/man5/elf.5
+#usr/share/man/man5/environ.5
+#usr/share/man/man5/fs.5
+#usr/share/man/man5/ftpusers.5
+#usr/share/man/man5/group.5
+#usr/share/man/man5/host.conf.5
+#usr/share/man/man5/hosts.5
+#usr/share/man/man5/hosts.equiv.5
+#usr/share/man/man5/intro.5
+#usr/share/man/man5/ipc.5
+#usr/share/man/man5/issue.5
+#usr/share/man/man5/locale.5
+#usr/share/man/man5/motd.5
+#usr/share/man/man5/nologin.5
+#usr/share/man/man5/nscd.conf.5
+#usr/share/man/man5/nsswitch.conf.5
+#usr/share/man/man5/passwd.5
+#usr/share/man/man5/proc.5
+#usr/share/man/man5/protocols.5
+#usr/share/man/man5/resolv.conf.5
+#usr/share/man/man5/resolver.5
+#usr/share/man/man5/rpc.5
+#usr/share/man/man5/securetty.5
+#usr/share/man/man5/services.5
+#usr/share/man/man5/shells.5
+#usr/share/man/man5/slabinfo.5
+#usr/share/man/man5/termcap.5
+#usr/share/man/man5/ttytype.5
+#usr/share/man/man5/tzfile.5
+#usr/share/man/man5/utmp.5
+#usr/share/man/man5/wtmp.5
+#usr/share/man/man6/intro.6
+#usr/share/man/man7/LDP.7
+#usr/share/man/man7/arp.7
+#usr/share/man/man7/ascii.7
+#usr/share/man/man7/boot.7
+#usr/share/man/man7/bootparam.7
+#usr/share/man/man7/capabilities.7
+#usr/share/man/man7/charsets.7
+#usr/share/man/man7/ddp.7
+#usr/share/man/man7/glob.7
+#usr/share/man/man7/hier.7
+#usr/share/man/man7/icmp.7
+#usr/share/man/man7/intro.7
+#usr/share/man/man7/ip.7
+#usr/share/man/man7/ipv6.7
+#usr/share/man/man7/iso-8859-1.7
+#usr/share/man/man7/iso-8859-15.7
+#usr/share/man/man7/iso-8859-16.7
+#usr/share/man/man7/iso-8859-2.7
+#usr/share/man/man7/iso-8859-7.7
+#usr/share/man/man7/iso-8859-9.7
+#usr/share/man/man7/iso_8859-1.7
+#usr/share/man/man7/iso_8859-15.7
+#usr/share/man/man7/iso_8859-16.7
+#usr/share/man/man7/iso_8859-2.7
+#usr/share/man/man7/iso_8859-7.7
+#usr/share/man/man7/iso_8859-9.7
+#usr/share/man/man7/iso_8859_1.7
+#usr/share/man/man7/iso_8859_15.7
+#usr/share/man/man7/iso_8859_16.7
+#usr/share/man/man7/iso_8859_2.7
+#usr/share/man/man7/iso_8859_7.7
+#usr/share/man/man7/iso_8859_9.7
+#usr/share/man/man7/koi8-r.7
+#usr/share/man/man7/latin1.7
+#usr/share/man/man7/latin10.7
+#usr/share/man/man7/latin2.7
+#usr/share/man/man7/latin5.7
+#usr/share/man/man7/latin9.7
+#usr/share/man/man7/locale.7
+#usr/share/man/man7/mailaddr.7
+#usr/share/man/man7/man.7
+#usr/share/man/man7/mdoc.7
+#usr/share/man/man7/mdoc.samples.7
+#usr/share/man/man7/netdevice.7
+#usr/share/man/man7/netlink.7
+#usr/share/man/man7/operator.7
+#usr/share/man/man7/packet.7
+#usr/share/man/man7/posixoptions.7
+#usr/share/man/man7/pthreads.7
+#usr/share/man/man7/pty.7
+#usr/share/man/man7/raw.7
+#usr/share/man/man7/regex.7
+#usr/share/man/man7/rtnetlink.7
+#usr/share/man/man7/signal.7
+#usr/share/man/man7/socket.7
+#usr/share/man/man7/suffixes.7
+#usr/share/man/man7/tcp.7
+#usr/share/man/man7/udp.7
+#usr/share/man/man7/unicode.7
+#usr/share/man/man7/units.7
+#usr/share/man/man7/unix.7
+#usr/share/man/man7/uri.7
+#usr/share/man/man7/url.7
+#usr/share/man/man7/urn.7
+#usr/share/man/man7/utf-8.7
+#usr/share/man/man7/utf8.7
+#usr/share/man/man7/x25.7
+#usr/share/man/man8/intro.8
+#usr/share/man/man8/ld-linux.8
+#usr/share/man/man8/ld-linux.so.8
+#usr/share/man/man8/ld.so.8
+#usr/share/man/man8/ldconfig.8
+#usr/share/man/man8/nscd.8
+#usr/share/man/man8/sync.8
+#usr/share/man/man8/tzselect.8
+#usr/share/man/man8/zdump.8
+#usr/share/man/man8/zic.8
+#usr/share/man/man9
+#usr/share/man/man9/ksoftirqd.9
+##
+## glibc-2.3.3
+##
+etc/ld.so.cache
+etc/localtime
+#etc/rpc
+lib/ld-2.3.3.so
+lib/ld-linux.so.2
+#lib/libBrokenLocale-2.3.3.so
+#lib/libBrokenLocale.so.1
+#lib/libSegFault.so
+#lib/libanl-2.3.3.so
+#lib/libanl.so.1
+lib/libc-2.3.3.so
+lib/libc.so.6
+lib/libcrypt-2.3.3.so
+lib/libcrypt.so.1
+lib/libdl-2.3.3.so
+lib/libdl.so.2
+lib/libm-2.3.3.so
+lib/libm.so.6
+#lib/libmemusage.so
+lib/libnsl-2.3.3.so
+lib/libnsl.so.1
+lib/libnss_compat-2.3.3.so
+lib/libnss_compat.so.2
+lib/libnss_dns-2.3.3.so
+lib/libnss_dns.so.2
+lib/libnss_files-2.3.3.so
+lib/libnss_files.so.2
+#lib/libnss_hesiod-2.3.3.so
+#lib/libnss_hesiod.so.2
+#lib/libnss_nis-2.3.3.so
+#lib/libnss_nis.so.2
+#lib/libnss_nisplus-2.3.3.so
+#lib/libnss_nisplus.so.2
+#lib/libpcprofile.so
+lib/libpthread-0.10.so
+lib/libpthread.so.0
+lib/libresolv-2.3.3.so
+lib/libresolv.so.2
+lib/librt-2.3.3.so
+lib/librt.so.1
+#lib/libthread_db-1.0.so
+#lib/libthread_db.so.1
+lib/libutil-2.3.3.so
+lib/libutil.so.1
+sbin/ldconfig
+#sbin/sln
+#usr/bin/catchsegv
+#usr/bin/gencat
+#usr/bin/getconf
+#usr/bin/getent
+#usr/bin/glibcbug
+#usr/bin/iconv
+#usr/bin/ldd
+#usr/bin/lddlibc4
+#usr/bin/locale
+#usr/bin/localedef
+#usr/bin/memusage
+#usr/bin/memusagestat
+#usr/bin/mtrace
+#usr/bin/pcprofiledump
+#usr/bin/pt_chown
+#usr/bin/rpcgen
+#usr/bin/sprof
+#usr/bin/tzselect
+#usr/bin/xtrace
+#usr/include/_G_config.h
+#usr/include/a.out.h
+#usr/include/aio.h
+#usr/include/aliases.h
+#usr/include/alloca.h
+#usr/include/ar.h
+#usr/include/argp.h
+#usr/include/argz.h
+#usr/include/arpa
+#usr/include/arpa/ftp.h
+#usr/include/arpa/inet.h
+#usr/include/arpa/nameser.h
+#usr/include/arpa/nameser_compat.h
+#usr/include/arpa/telnet.h
+#usr/include/arpa/tftp.h
+#usr/include/assert.h
+#usr/include/bits
+#usr/include/bits/byteswap.h
+#usr/include/bits/cmathcalls.h
+#usr/include/bits/confname.h
+#usr/include/bits/dirent.h
+#usr/include/bits/dlfcn.h
+#usr/include/bits/elfclass.h
+#usr/include/bits/endian.h
+#usr/include/bits/environments.h
+#usr/include/bits/errno.h
+#usr/include/bits/fcntl.h
+#usr/include/bits/fenv.h
+#usr/include/bits/fenvinline.h
+#usr/include/bits/huge_val.h
+#usr/include/bits/in.h
+#usr/include/bits/initspin.h
+#usr/include/bits/ioctl-types.h
+#usr/include/bits/ioctls.h
+#usr/include/bits/ipc.h
+#usr/include/bits/ipctypes.h
+#usr/include/bits/libc-lock.h
+#usr/include/bits/local_lim.h
+#usr/include/bits/locale.h
+#usr/include/bits/mathcalls.h
+#usr/include/bits/mathdef.h
+#usr/include/bits/mathinline.h
+#usr/include/bits/mman.h
+#usr/include/bits/msq.h
+#usr/include/bits/nan.h
+#usr/include/bits/netdb.h
+#usr/include/bits/poll.h
+#usr/include/bits/posix1_lim.h
+#usr/include/bits/posix2_lim.h
+#usr/include/bits/posix_opt.h
+#usr/include/bits/pthreadtypes.h
+#usr/include/bits/resource.h
+#usr/include/bits/sched.h
+#usr/include/bits/select.h
+#usr/include/bits/sem.h
+#usr/include/bits/setjmp.h
+#usr/include/bits/shm.h
+#usr/include/bits/sigaction.h
+#usr/include/bits/sigcontext.h
+#usr/include/bits/siginfo.h
+#usr/include/bits/signum.h
+#usr/include/bits/sigset.h
+#usr/include/bits/sigstack.h
+#usr/include/bits/sigthread.h
+#usr/include/bits/sockaddr.h
+#usr/include/bits/socket.h
+#usr/include/bits/stab.def
+#usr/include/bits/stat.h
+#usr/include/bits/statfs.h
+#usr/include/bits/statvfs.h
+#usr/include/bits/stdio-lock.h
+#usr/include/bits/stdio.h
+#usr/include/bits/stdio_lim.h
+#usr/include/bits/string.h
+#usr/include/bits/string2.h
+#usr/include/bits/stropts.h
+#usr/include/bits/sys_errlist.h
+#usr/include/bits/syscall.h
+#usr/include/bits/termios.h
+#usr/include/bits/time.h
+#usr/include/bits/types.h
+#usr/include/bits/typesizes.h
+#usr/include/bits/uio.h
+#usr/include/bits/ustat.h
+#usr/include/bits/utmp.h
+#usr/include/bits/utmpx.h
+#usr/include/bits/utsname.h
+#usr/include/bits/waitflags.h
+#usr/include/bits/waitstatus.h
+#usr/include/bits/wchar.h
+#usr/include/bits/wordsize.h
+#usr/include/bits/xopen_lim.h
+#usr/include/bits/xtitypes.h
+#usr/include/byteswap.h
+#usr/include/complex.h
+#usr/include/cpio.h
+#usr/include/crypt.h
+#usr/include/ctype.h
+#usr/include/dirent.h
+#usr/include/dlfcn.h
+#usr/include/elf.h
+#usr/include/endian.h
+#usr/include/envz.h
+#usr/include/err.h
+#usr/include/errno.h
+#usr/include/error.h
+#usr/include/execinfo.h
+#usr/include/fcntl.h
+#usr/include/features.h
+#usr/include/fenv.h
+#usr/include/fmtmsg.h
+#usr/include/fnmatch.h
+#usr/include/fpu_control.h
+#usr/include/fstab.h
+#usr/include/fts.h
+#usr/include/ftw.h
+#usr/include/gconv.h
+#usr/include/getopt.h
+#usr/include/glob.h
+#usr/include/gnu
+#usr/include/gnu-versions.h
+#usr/include/gnu/lib-names.h
+#usr/include/gnu/libc-version.h
+#usr/include/gnu/stubs.h
+#usr/include/grp.h
+#usr/include/iconv.h
+#usr/include/ieee754.h
+#usr/include/ifaddrs.h
+#usr/include/inttypes.h
+#usr/include/langinfo.h
+#usr/include/lastlog.h
+#usr/include/libgen.h
+#usr/include/libintl.h
+#usr/include/libio.h
+#usr/include/limits.h
+#usr/include/link.h
+#usr/include/locale.h
+#usr/include/malloc.h
+#usr/include/math.h
+#usr/include/mcheck.h
+#usr/include/memory.h
+#usr/include/mntent.h
+#usr/include/monetary.h
+#usr/include/net
+#usr/include/net/ethernet.h
+#usr/include/net/if.h
+#usr/include/net/if_arp.h
+#usr/include/net/if_packet.h
+#usr/include/net/if_ppp.h
+#usr/include/net/if_shaper.h
+#usr/include/net/if_slip.h
+#usr/include/net/ppp-comp.h
+#usr/include/net/ppp_defs.h
+#usr/include/net/route.h
+#usr/include/netash
+#usr/include/netash/ash.h
+#usr/include/netatalk
+#usr/include/netatalk/at.h
+#usr/include/netax25
+#usr/include/netax25/ax25.h
+#usr/include/netdb.h
+#usr/include/neteconet
+#usr/include/neteconet/ec.h
+#usr/include/netinet
+#usr/include/netinet/ether.h
+#usr/include/netinet/icmp6.h
+#usr/include/netinet/if_ether.h
+#usr/include/netinet/if_fddi.h
+#usr/include/netinet/if_tr.h
+#usr/include/netinet/igmp.h
+#usr/include/netinet/in.h
+#usr/include/netinet/in_systm.h
+#usr/include/netinet/ip.h
+#usr/include/netinet/ip6.h
+#usr/include/netinet/ip_icmp.h
+#usr/include/netinet/tcp.h
+#usr/include/netinet/udp.h
+#usr/include/netipx
+#usr/include/netipx/ipx.h
+#usr/include/netpacket
+#usr/include/netpacket/packet.h
+#usr/include/netrom
+#usr/include/netrom/netrom.h
+#usr/include/netrose
+#usr/include/netrose/rose.h
+#usr/include/nfs
+#usr/include/nfs/nfs.h
+#usr/include/nl_types.h
+#usr/include/nss.h
+#usr/include/obstack.h
+#usr/include/paths.h
+#usr/include/poll.h
+#usr/include/printf.h
+#usr/include/protocols
+#usr/include/protocols/routed.h
+#usr/include/protocols/rwhod.h
+#usr/include/protocols/talkd.h
+#usr/include/protocols/timed.h
+#usr/include/pthread.h
+#usr/include/pty.h
+#usr/include/pwd.h
+#usr/include/re_comp.h
+#usr/include/regex.h
+#usr/include/regexp.h
+#usr/include/resolv.h
+#usr/include/rpc
+#usr/include/rpc/auth.h
+#usr/include/rpc/auth_des.h
+#usr/include/rpc/auth_unix.h
+#usr/include/rpc/clnt.h
+#usr/include/rpc/des_crypt.h
+#usr/include/rpc/key_prot.h
+#usr/include/rpc/netdb.h
+#usr/include/rpc/pmap_clnt.h
+#usr/include/rpc/pmap_prot.h
+#usr/include/rpc/pmap_rmt.h
+#usr/include/rpc/rpc.h
+#usr/include/rpc/rpc_des.h
+#usr/include/rpc/rpc_msg.h
+#usr/include/rpc/svc.h
+#usr/include/rpc/svc_auth.h
+#usr/include/rpc/types.h
+#usr/include/rpc/xdr.h
+#usr/include/rpcsvc
+#usr/include/rpcsvc/bootparam.h
+#usr/include/rpcsvc/bootparam_prot.h
+#usr/include/rpcsvc/bootparam_prot.x
+#usr/include/rpcsvc/key_prot.h
+#usr/include/rpcsvc/key_prot.x
+#usr/include/rpcsvc/klm_prot.h
+#usr/include/rpcsvc/klm_prot.x
+#usr/include/rpcsvc/mount.h
+#usr/include/rpcsvc/mount.x
+#usr/include/rpcsvc/nfs_prot.h
+#usr/include/rpcsvc/nfs_prot.x
+#usr/include/rpcsvc/nis.h
+#usr/include/rpcsvc/nis.x
+#usr/include/rpcsvc/nis_callback.h
+#usr/include/rpcsvc/nis_callback.x
+#usr/include/rpcsvc/nis_object.x
+#usr/include/rpcsvc/nis_tags.h
+#usr/include/rpcsvc/nislib.h
+#usr/include/rpcsvc/nlm_prot.h
+#usr/include/rpcsvc/nlm_prot.x
+#usr/include/rpcsvc/rex.h
+#usr/include/rpcsvc/rex.x
+#usr/include/rpcsvc/rquota.h
+#usr/include/rpcsvc/rquota.x
+#usr/include/rpcsvc/rstat.h
+#usr/include/rpcsvc/rstat.x
+#usr/include/rpcsvc/rusers.h
+#usr/include/rpcsvc/rusers.x
+#usr/include/rpcsvc/sm_inter.h
+#usr/include/rpcsvc/sm_inter.x
+#usr/include/rpcsvc/spray.h
+#usr/include/rpcsvc/spray.x
+#usr/include/rpcsvc/yp.h
+#usr/include/rpcsvc/yp.x
+#usr/include/rpcsvc/yp_prot.h
+#usr/include/rpcsvc/ypclnt.h
+#usr/include/rpcsvc/yppasswd.h
+#usr/include/rpcsvc/yppasswd.x
+#usr/include/rpcsvc/ypupd.h
+#usr/include/sched.h
+#usr/include/scsi
+#usr/include/scsi/scsi.h
+#usr/include/scsi/scsi_ioctl.h
+#usr/include/scsi/sg.h
+#usr/include/search.h
+#usr/include/semaphore.h
+#usr/include/setjmp.h
+#usr/include/sgtty.h
+#usr/include/shadow.h
+#usr/include/signal.h
+#usr/include/spawn.h
+#usr/include/stab.h
+#usr/include/stdint.h
+#usr/include/stdio.h
+#usr/include/stdio_ext.h
+#usr/include/stdlib.h
+#usr/include/string.h
+#usr/include/strings.h
+#usr/include/stropts.h
+#usr/include/sys
+#usr/include/sys/acct.h
+#usr/include/sys/bitypes.h
+#usr/include/sys/cdefs.h
+#usr/include/sys/debugreg.h
+#usr/include/sys/dir.h
+#usr/include/sys/elf.h
+#usr/include/sys/epoll.h
+#usr/include/sys/errno.h
+#usr/include/sys/fcntl.h
+#usr/include/sys/file.h
+#usr/include/sys/fsuid.h
+#usr/include/sys/gmon.h
+#usr/include/sys/gmon_out.h
+#usr/include/sys/io.h
+#usr/include/sys/ioctl.h
+#usr/include/sys/ipc.h
+#usr/include/sys/kd.h
+#usr/include/sys/kdaemon.h
+#usr/include/sys/klog.h
+#usr/include/sys/mman.h
+#usr/include/sys/mount.h
+#usr/include/sys/msg.h
+#usr/include/sys/mtio.h
+#usr/include/sys/param.h
+#usr/include/sys/pci.h
+#usr/include/sys/perm.h
+#usr/include/sys/personality.h
+#usr/include/sys/poll.h
+#usr/include/sys/prctl.h
+#usr/include/sys/procfs.h
+#usr/include/sys/profil.h
+#usr/include/sys/ptrace.h
+#usr/include/sys/queue.h
+#usr/include/sys/quota.h
+#usr/include/sys/raw.h
+#usr/include/sys/reboot.h
+#usr/include/sys/reg.h
+#usr/include/sys/resource.h
+#usr/include/sys/select.h
+#usr/include/sys/sem.h
+#usr/include/sys/sendfile.h
+#usr/include/sys/shm.h
+#usr/include/sys/signal.h
+#usr/include/sys/socket.h
+#usr/include/sys/socketvar.h
+#usr/include/sys/soundcard.h
+#usr/include/sys/stat.h
+#usr/include/sys/statfs.h
+#usr/include/sys/statvfs.h
+#usr/include/sys/stropts.h
+#usr/include/sys/swap.h
+#usr/include/sys/syscall.h
+#usr/include/sys/sysctl.h
+#usr/include/sys/sysinfo.h
+#usr/include/sys/syslog.h
+#usr/include/sys/sysmacros.h
+#usr/include/sys/termios.h
+#usr/include/sys/time.h
+#usr/include/sys/timeb.h
+#usr/include/sys/times.h
+#usr/include/sys/timex.h
+#usr/include/sys/ttychars.h
+#usr/include/sys/ttydefaults.h
+#usr/include/sys/types.h
+#usr/include/sys/ucontext.h
+#usr/include/sys/uio.h
+#usr/include/sys/ultrasound.h
+#usr/include/sys/un.h
+#usr/include/sys/unistd.h
+#usr/include/sys/user.h
+#usr/include/sys/ustat.h
+#usr/include/sys/utsname.h
+#usr/include/sys/vfs.h
+#usr/include/sys/vlimit.h
+#usr/include/sys/vm86.h
+#usr/include/sys/vt.h
+#usr/include/sys/vtimes.h
+#usr/include/sys/wait.h
+#usr/include/sys/xattr.h
+#usr/include/syscall.h
+#usr/include/sysexits.h
+#usr/include/syslog.h
+#usr/include/tar.h
+#usr/include/termio.h
+#usr/include/termios.h
+#usr/include/tgmath.h
+#usr/include/thread_db.h
+#usr/include/time.h
+#usr/include/ttyent.h
+#usr/include/ucontext.h
+#usr/include/ulimit.h
+#usr/include/unistd.h
+#usr/include/ustat.h
+#usr/include/utime.h
+#usr/include/utmp.h
+#usr/include/utmpx.h
+#usr/include/values.h
+#usr/include/wait.h
+#usr/include/wchar.h
+#usr/include/wctype.h
+#usr/include/wordexp.h
+#usr/include/xlocale.h
+#usr/lib/Mcrt1.o
+#usr/lib/crt1.o
+#usr/lib/crti.o
+#usr/lib/crtn.o
+#usr/lib/gconv
+#usr/lib/gconv/ANSI_X3.110.so
+#usr/lib/gconv/ARMSCII-8.so
+#usr/lib/gconv/ASMO_449.so
+#usr/lib/gconv/BIG5.so
+#usr/lib/gconv/BIG5HKSCS.so
+#usr/lib/gconv/CP10007.so
+#usr/lib/gconv/CP1125.so
+#usr/lib/gconv/CP1250.so
+#usr/lib/gconv/CP1251.so
+#usr/lib/gconv/CP1252.so
+#usr/lib/gconv/CP1253.so
+#usr/lib/gconv/CP1254.so
+#usr/lib/gconv/CP1255.so
+#usr/lib/gconv/CP1256.so
+#usr/lib/gconv/CP1257.so
+#usr/lib/gconv/CP1258.so
+#usr/lib/gconv/CP737.so
+#usr/lib/gconv/CP775.so
+#usr/lib/gconv/CSN_369103.so
+#usr/lib/gconv/CWI.so
+#usr/lib/gconv/DEC-MCS.so
+#usr/lib/gconv/EBCDIC-AT-DE-A.so
+#usr/lib/gconv/EBCDIC-AT-DE.so
+#usr/lib/gconv/EBCDIC-CA-FR.so
+#usr/lib/gconv/EBCDIC-DK-NO-A.so
+#usr/lib/gconv/EBCDIC-DK-NO.so
+#usr/lib/gconv/EBCDIC-ES-A.so
+#usr/lib/gconv/EBCDIC-ES-S.so
+#usr/lib/gconv/EBCDIC-ES.so
+#usr/lib/gconv/EBCDIC-FI-SE-A.so
+#usr/lib/gconv/EBCDIC-FI-SE.so
+#usr/lib/gconv/EBCDIC-FR.so
+#usr/lib/gconv/EBCDIC-IS-FRISS.so
+#usr/lib/gconv/EBCDIC-IT.so
+#usr/lib/gconv/EBCDIC-PT.so
+#usr/lib/gconv/EBCDIC-UK.so
+#usr/lib/gconv/EBCDIC-US.so
+#usr/lib/gconv/ECMA-CYRILLIC.so
+#usr/lib/gconv/EUC-CN.so
+#usr/lib/gconv/EUC-JISX0213.so
+#usr/lib/gconv/EUC-JP.so
+#usr/lib/gconv/EUC-KR.so
+#usr/lib/gconv/EUC-TW.so
+#usr/lib/gconv/GB18030.so
+#usr/lib/gconv/GBBIG5.so
+#usr/lib/gconv/GBGBK.so
+#usr/lib/gconv/GBK.so
+#usr/lib/gconv/GEORGIAN-ACADEMY.so
+#usr/lib/gconv/GEORGIAN-PS.so
+#usr/lib/gconv/GOST_19768-74.so
+#usr/lib/gconv/GREEK-CCITT.so
+#usr/lib/gconv/GREEK7-OLD.so
+#usr/lib/gconv/GREEK7.so
+#usr/lib/gconv/HP-ROMAN8.so
+#usr/lib/gconv/IBM037.so
+#usr/lib/gconv/IBM038.so
+#usr/lib/gconv/IBM1004.so
+#usr/lib/gconv/IBM1026.so
+#usr/lib/gconv/IBM1046.so
+#usr/lib/gconv/IBM1047.so
+#usr/lib/gconv/IBM1124.so
+#usr/lib/gconv/IBM1129.so
+#usr/lib/gconv/IBM1132.so
+#usr/lib/gconv/IBM1133.so
+#usr/lib/gconv/IBM1160.so
+#usr/lib/gconv/IBM1161.so
+#usr/lib/gconv/IBM1162.so
+#usr/lib/gconv/IBM1163.so
+#usr/lib/gconv/IBM1164.so
+#usr/lib/gconv/IBM256.so
+#usr/lib/gconv/IBM273.so
+#usr/lib/gconv/IBM274.so
+#usr/lib/gconv/IBM275.so
+#usr/lib/gconv/IBM277.so
+#usr/lib/gconv/IBM278.so
+#usr/lib/gconv/IBM280.so
+#usr/lib/gconv/IBM281.so
+#usr/lib/gconv/IBM284.so
+#usr/lib/gconv/IBM285.so
+#usr/lib/gconv/IBM290.so
+#usr/lib/gconv/IBM297.so
+#usr/lib/gconv/IBM420.so
+#usr/lib/gconv/IBM423.so
+#usr/lib/gconv/IBM424.so
+#usr/lib/gconv/IBM437.so
+#usr/lib/gconv/IBM500.so
+#usr/lib/gconv/IBM850.so
+#usr/lib/gconv/IBM851.so
+#usr/lib/gconv/IBM852.so
+#usr/lib/gconv/IBM855.so
+#usr/lib/gconv/IBM856.so
+#usr/lib/gconv/IBM857.so
+#usr/lib/gconv/IBM860.so
+#usr/lib/gconv/IBM861.so
+#usr/lib/gconv/IBM862.so
+#usr/lib/gconv/IBM863.so
+#usr/lib/gconv/IBM864.so
+#usr/lib/gconv/IBM865.so
+#usr/lib/gconv/IBM866.so
+#usr/lib/gconv/IBM866NAV.so
+#usr/lib/gconv/IBM868.so
+#usr/lib/gconv/IBM869.so
+#usr/lib/gconv/IBM870.so
+#usr/lib/gconv/IBM871.so
+#usr/lib/gconv/IBM874.so
+#usr/lib/gconv/IBM875.so
+#usr/lib/gconv/IBM880.so
+#usr/lib/gconv/IBM891.so
+#usr/lib/gconv/IBM903.so
+#usr/lib/gconv/IBM904.so
+#usr/lib/gconv/IBM905.so
+#usr/lib/gconv/IBM918.so
+#usr/lib/gconv/IBM922.so
+#usr/lib/gconv/IBM930.so
+#usr/lib/gconv/IBM932.so
+#usr/lib/gconv/IBM933.so
+#usr/lib/gconv/IBM935.so
+#usr/lib/gconv/IBM937.so
+#usr/lib/gconv/IBM939.so
+#usr/lib/gconv/IBM943.so
+#usr/lib/gconv/IEC_P27-1.so
+#usr/lib/gconv/INIS-8.so
+#usr/lib/gconv/INIS-CYRILLIC.so
+#usr/lib/gconv/INIS.so
+#usr/lib/gconv/ISIRI-3342.so
+#usr/lib/gconv/ISO-2022-CN-EXT.so
+#usr/lib/gconv/ISO-2022-CN.so
+#usr/lib/gconv/ISO-2022-JP-3.so
+#usr/lib/gconv/ISO-2022-JP.so
+#usr/lib/gconv/ISO-2022-KR.so
+#usr/lib/gconv/ISO-IR-197.so
+#usr/lib/gconv/ISO-IR-209.so
+#usr/lib/gconv/ISO646.so
+#usr/lib/gconv/ISO8859-1.so
+#usr/lib/gconv/ISO8859-10.so
+#usr/lib/gconv/ISO8859-11.so
+#usr/lib/gconv/ISO8859-13.so
+#usr/lib/gconv/ISO8859-14.so
+#usr/lib/gconv/ISO8859-15.so
+#usr/lib/gconv/ISO8859-16.so
+#usr/lib/gconv/ISO8859-2.so
+#usr/lib/gconv/ISO8859-3.so
+#usr/lib/gconv/ISO8859-4.so
+#usr/lib/gconv/ISO8859-5.so
+#usr/lib/gconv/ISO8859-6.so
+#usr/lib/gconv/ISO8859-7.so
+#usr/lib/gconv/ISO8859-8.so
+#usr/lib/gconv/ISO8859-9.so
+#usr/lib/gconv/ISO_10367-BOX.so
+#usr/lib/gconv/ISO_2033.so
+#usr/lib/gconv/ISO_5427-EXT.so
+#usr/lib/gconv/ISO_5427.so
+#usr/lib/gconv/ISO_5428.so
+#usr/lib/gconv/ISO_6937-2.so
+#usr/lib/gconv/ISO_6937.so
+#usr/lib/gconv/JOHAB.so
+#usr/lib/gconv/KOI-8.so
+#usr/lib/gconv/KOI8-R.so
+#usr/lib/gconv/KOI8-T.so
+#usr/lib/gconv/KOI8-U.so
+#usr/lib/gconv/LATIN-GREEK-1.so
+#usr/lib/gconv/LATIN-GREEK.so
+#usr/lib/gconv/MAC-IS.so
+#usr/lib/gconv/MAC-SAMI.so
+#usr/lib/gconv/MAC-UK.so
+#usr/lib/gconv/MACINTOSH.so
+#usr/lib/gconv/NATS-DANO.so
+#usr/lib/gconv/NATS-SEFI.so
+#usr/lib/gconv/SAMI-WS2.so
+#usr/lib/gconv/SHIFT_JISX0213.so
+#usr/lib/gconv/SJIS.so
+#usr/lib/gconv/T.61.so
+#usr/lib/gconv/TCVN5712-1.so
+#usr/lib/gconv/TIS-620.so
+#usr/lib/gconv/TSCII.so
+#usr/lib/gconv/UHC.so
+#usr/lib/gconv/UNICODE.so
+#usr/lib/gconv/UTF-16.so
+#usr/lib/gconv/UTF-32.so
+#usr/lib/gconv/UTF-7.so
+#usr/lib/gconv/VISCII.so
+#usr/lib/gconv/gconv-modules
+#usr/lib/gconv/libCNS.so
+#usr/lib/gconv/libGB.so
+#usr/lib/gconv/libISOIR165.so
+#usr/lib/gconv/libJIS.so
+#usr/lib/gconv/libJISX0213.so
+#usr/lib/gconv/libKSC.so
+#usr/lib/gcrt1.o
+#usr/lib/libBrokenLocale.a
+#usr/lib/libBrokenLocale.so
+#usr/lib/libanl.a
+#usr/lib/libanl.so
+#usr/lib/libbsd-compat.a
+#usr/lib/libc.a
+#usr/lib/libc.so
+#usr/lib/libc_nonshared.a
+#usr/lib/libcrypt.a
+#usr/lib/libcrypt.so
+#usr/lib/libdl.a
+#usr/lib/libdl.so
+#usr/lib/libg.a
+#usr/lib/libieee.a
+#usr/lib/libm.a
+#usr/lib/libm.so
+#usr/lib/libmcheck.a
+#usr/lib/libnsl.a
+#usr/lib/libnsl.so
+#usr/lib/libnss_compat.so
+#usr/lib/libnss_dns.so
+#usr/lib/libnss_files.so
+#usr/lib/libnss_hesiod.so
+#usr/lib/libnss_nis.so
+#usr/lib/libnss_nisplus.so
+#usr/lib/libpthread.a
+#usr/lib/libpthread.so
+#usr/lib/libpthread_nonshared.a
+#usr/lib/libresolv.a
+#usr/lib/libresolv.so
+#usr/lib/librpcsvc.a
+#usr/lib/librt.a
+#usr/lib/librt.so
+#usr/lib/libthread_db.so
+#usr/lib/libutil.a
+#usr/lib/libutil.so
+#usr/lib/locale
+usr/lib/locale/locale-archive
+#usr/sbin/iconvconfig
+#usr/sbin/nscd
+#usr/sbin/nscd_nischeck
+#usr/sbin/rpcinfo
+#usr/sbin/zdump
+#usr/sbin/zic
+#usr/share/i18n
+#usr/share/i18n/charmaps
+#usr/share/i18n/charmaps/ANSI_X3.110-1983.gz
+#usr/share/i18n/charmaps/ANSI_X3.4-1968.gz
+#usr/share/i18n/charmaps/ARMSCII-8.gz
+#usr/share/i18n/charmaps/ASMO_449.gz
+#usr/share/i18n/charmaps/BIG5-HKSCS.gz
+#usr/share/i18n/charmaps/BIG5.gz
+#usr/share/i18n/charmaps/BS_4730.gz
+#usr/share/i18n/charmaps/BS_VIEWDATA.gz
+#usr/share/i18n/charmaps/CP10007.gz
+#usr/share/i18n/charmaps/CP1125.gz
+#usr/share/i18n/charmaps/CP1250.gz
+#usr/share/i18n/charmaps/CP1251.gz
+#usr/share/i18n/charmaps/CP1252.gz
+#usr/share/i18n/charmaps/CP1253.gz
+#usr/share/i18n/charmaps/CP1254.gz
+#usr/share/i18n/charmaps/CP1255.gz
+#usr/share/i18n/charmaps/CP1256.gz
+#usr/share/i18n/charmaps/CP1257.gz
+#usr/share/i18n/charmaps/CP1258.gz
+#usr/share/i18n/charmaps/CP737.gz
+#usr/share/i18n/charmaps/CP775.gz
+#usr/share/i18n/charmaps/CP949.gz
+#usr/share/i18n/charmaps/CSA_Z243.4-1985-1.gz
+#usr/share/i18n/charmaps/CSA_Z243.4-1985-2.gz
+#usr/share/i18n/charmaps/CSA_Z243.4-1985-GR.gz
+#usr/share/i18n/charmaps/CSN_369103.gz
+#usr/share/i18n/charmaps/CWI.gz
+#usr/share/i18n/charmaps/DEC-MCS.gz
+#usr/share/i18n/charmaps/DIN_66003.gz
+#usr/share/i18n/charmaps/DS_2089.gz
+#usr/share/i18n/charmaps/EBCDIC-AT-DE-A.gz
+#usr/share/i18n/charmaps/EBCDIC-AT-DE.gz
+#usr/share/i18n/charmaps/EBCDIC-CA-FR.gz
+#usr/share/i18n/charmaps/EBCDIC-DK-NO-A.gz
+#usr/share/i18n/charmaps/EBCDIC-DK-NO.gz
+#usr/share/i18n/charmaps/EBCDIC-ES-A.gz
+#usr/share/i18n/charmaps/EBCDIC-ES-S.gz
+#usr/share/i18n/charmaps/EBCDIC-ES.gz
+#usr/share/i18n/charmaps/EBCDIC-FI-SE-A.gz
+#usr/share/i18n/charmaps/EBCDIC-FI-SE.gz
+#usr/share/i18n/charmaps/EBCDIC-FR.gz
+#usr/share/i18n/charmaps/EBCDIC-IS-FRISS.gz
+#usr/share/i18n/charmaps/EBCDIC-IT.gz
+#usr/share/i18n/charmaps/EBCDIC-PT.gz
+#usr/share/i18n/charmaps/EBCDIC-UK.gz
+#usr/share/i18n/charmaps/EBCDIC-US.gz
+#usr/share/i18n/charmaps/ECMA-CYRILLIC.gz
+#usr/share/i18n/charmaps/ES.gz
+#usr/share/i18n/charmaps/ES2.gz
+#usr/share/i18n/charmaps/EUC-JISX0213.gz
+#usr/share/i18n/charmaps/EUC-JP.gz
+#usr/share/i18n/charmaps/EUC-KR.gz
+#usr/share/i18n/charmaps/EUC-TW.gz
+#usr/share/i18n/charmaps/GB18030.gz
+#usr/share/i18n/charmaps/GB2312.gz
+#usr/share/i18n/charmaps/GBK.gz
+#usr/share/i18n/charmaps/GB_1988-80.gz
+#usr/share/i18n/charmaps/GEORGIAN-ACADEMY.gz
+#usr/share/i18n/charmaps/GEORGIAN-PS.gz
+#usr/share/i18n/charmaps/GOST_19768-74.gz
+#usr/share/i18n/charmaps/GREEK-CCITT.gz
+#usr/share/i18n/charmaps/GREEK7-OLD.gz
+#usr/share/i18n/charmaps/GREEK7.gz
+#usr/share/i18n/charmaps/HP-ROMAN8.gz
+#usr/share/i18n/charmaps/IBM037.gz
+#usr/share/i18n/charmaps/IBM038.gz
+#usr/share/i18n/charmaps/IBM1004.gz
+#usr/share/i18n/charmaps/IBM1026.gz
+#usr/share/i18n/charmaps/IBM1047.gz
+#usr/share/i18n/charmaps/IBM1124.gz
+#usr/share/i18n/charmaps/IBM1129.gz
+#usr/share/i18n/charmaps/IBM1132.gz
+#usr/share/i18n/charmaps/IBM1133.gz
+#usr/share/i18n/charmaps/IBM1160.gz
+#usr/share/i18n/charmaps/IBM1161.gz
+#usr/share/i18n/charmaps/IBM1162.gz
+#usr/share/i18n/charmaps/IBM1163.gz
+#usr/share/i18n/charmaps/IBM1164.gz
+#usr/share/i18n/charmaps/IBM256.gz
+#usr/share/i18n/charmaps/IBM273.gz
+#usr/share/i18n/charmaps/IBM274.gz
+#usr/share/i18n/charmaps/IBM275.gz
+#usr/share/i18n/charmaps/IBM277.gz
+#usr/share/i18n/charmaps/IBM278.gz
+#usr/share/i18n/charmaps/IBM280.gz
+#usr/share/i18n/charmaps/IBM281.gz
+#usr/share/i18n/charmaps/IBM284.gz
+#usr/share/i18n/charmaps/IBM285.gz
+#usr/share/i18n/charmaps/IBM290.gz
+#usr/share/i18n/charmaps/IBM297.gz
+#usr/share/i18n/charmaps/IBM420.gz
+#usr/share/i18n/charmaps/IBM423.gz
+#usr/share/i18n/charmaps/IBM424.gz
+#usr/share/i18n/charmaps/IBM437.gz
+#usr/share/i18n/charmaps/IBM500.gz
+#usr/share/i18n/charmaps/IBM850.gz
+#usr/share/i18n/charmaps/IBM851.gz
+#usr/share/i18n/charmaps/IBM852.gz
+#usr/share/i18n/charmaps/IBM855.gz
+#usr/share/i18n/charmaps/IBM856.gz
+#usr/share/i18n/charmaps/IBM857.gz
+#usr/share/i18n/charmaps/IBM860.gz
+#usr/share/i18n/charmaps/IBM861.gz
+#usr/share/i18n/charmaps/IBM862.gz
+#usr/share/i18n/charmaps/IBM863.gz
+#usr/share/i18n/charmaps/IBM864.gz
+#usr/share/i18n/charmaps/IBM865.gz
+#usr/share/i18n/charmaps/IBM866.gz
+#usr/share/i18n/charmaps/IBM866NAV.gz
+#usr/share/i18n/charmaps/IBM868.gz
+#usr/share/i18n/charmaps/IBM869.gz
+#usr/share/i18n/charmaps/IBM870.gz
+#usr/share/i18n/charmaps/IBM871.gz
+#usr/share/i18n/charmaps/IBM874.gz
+#usr/share/i18n/charmaps/IBM875.gz
+#usr/share/i18n/charmaps/IBM880.gz
+#usr/share/i18n/charmaps/IBM891.gz
+#usr/share/i18n/charmaps/IBM903.gz
+#usr/share/i18n/charmaps/IBM904.gz
+#usr/share/i18n/charmaps/IBM905.gz
+#usr/share/i18n/charmaps/IBM918.gz
+#usr/share/i18n/charmaps/IBM922.gz
+#usr/share/i18n/charmaps/IEC_P27-1.gz
+#usr/share/i18n/charmaps/INIS-8.gz
+#usr/share/i18n/charmaps/INIS-CYRILLIC.gz
+#usr/share/i18n/charmaps/INIS.gz
+#usr/share/i18n/charmaps/INVARIANT.gz
+#usr/share/i18n/charmaps/ISIRI-3342.gz
+#usr/share/i18n/charmaps/ISO-8859-1.gz
+#usr/share/i18n/charmaps/ISO-8859-10.gz
+#usr/share/i18n/charmaps/ISO-8859-11.gz
+#usr/share/i18n/charmaps/ISO-8859-13.gz
+#usr/share/i18n/charmaps/ISO-8859-14.gz
+#usr/share/i18n/charmaps/ISO-8859-15.gz
+#usr/share/i18n/charmaps/ISO-8859-16.gz
+#usr/share/i18n/charmaps/ISO-8859-2.gz
+#usr/share/i18n/charmaps/ISO-8859-3.gz
+#usr/share/i18n/charmaps/ISO-8859-4.gz
+#usr/share/i18n/charmaps/ISO-8859-5.gz
+#usr/share/i18n/charmaps/ISO-8859-6.gz
+#usr/share/i18n/charmaps/ISO-8859-7.gz
+#usr/share/i18n/charmaps/ISO-8859-8.gz
+#usr/share/i18n/charmaps/ISO-8859-9.gz
+#usr/share/i18n/charmaps/ISO-IR-197.gz
+#usr/share/i18n/charmaps/ISO-IR-209.gz
+#usr/share/i18n/charmaps/ISO-IR-90.gz
+#usr/share/i18n/charmaps/ISO_10367-BOX.gz
+#usr/share/i18n/charmaps/ISO_10646.gz
+#usr/share/i18n/charmaps/ISO_2033-1983.gz
+#usr/share/i18n/charmaps/ISO_5427-EXT.gz
+#usr/share/i18n/charmaps/ISO_5427.gz
+#usr/share/i18n/charmaps/ISO_5428.gz
+#usr/share/i18n/charmaps/ISO_646.BASIC.gz
+#usr/share/i18n/charmaps/ISO_646.IRV.gz
+#usr/share/i18n/charmaps/ISO_6937-2-25.gz
+#usr/share/i18n/charmaps/ISO_6937-2-ADD.gz
+#usr/share/i18n/charmaps/ISO_6937.gz
+#usr/share/i18n/charmaps/ISO_8859-1,GL.gz
+#usr/share/i18n/charmaps/ISO_8859-SUPP.gz
+#usr/share/i18n/charmaps/IT.gz
+#usr/share/i18n/charmaps/JIS_C6220-1969-JP.gz
+#usr/share/i18n/charmaps/JIS_C6220-1969-RO.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-A.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-B-ADD.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-B.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-HAND-ADD.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-HAND.gz
+#usr/share/i18n/charmaps/JIS_C6229-1984-KANA.gz
+#usr/share/i18n/charmaps/JIS_X0201.gz
+#usr/share/i18n/charmaps/JOHAB.gz
+#usr/share/i18n/charmaps/JUS_I.B1.002.gz
+#usr/share/i18n/charmaps/JUS_I.B1.003-MAC.gz
+#usr/share/i18n/charmaps/JUS_I.B1.003-SERB.gz
+#usr/share/i18n/charmaps/KOI-8.gz
+#usr/share/i18n/charmaps/KOI8-R.gz
+#usr/share/i18n/charmaps/KOI8-T.gz
+#usr/share/i18n/charmaps/KOI8-U.gz
+#usr/share/i18n/charmaps/KSC5636.gz
+#usr/share/i18n/charmaps/LATIN-GREEK-1.gz
+#usr/share/i18n/charmaps/LATIN-GREEK.gz
+#usr/share/i18n/charmaps/MAC-CYRILLIC.gz
+#usr/share/i18n/charmaps/MAC-IS.gz
+#usr/share/i18n/charmaps/MAC-SAMI.gz
+#usr/share/i18n/charmaps/MAC-UK.gz
+#usr/share/i18n/charmaps/MACINTOSH.gz
+#usr/share/i18n/charmaps/MSZ_7795.3.gz
+#usr/share/i18n/charmaps/NATS-DANO-ADD.gz
+#usr/share/i18n/charmaps/NATS-DANO.gz
+#usr/share/i18n/charmaps/NATS-SEFI-ADD.gz
+#usr/share/i18n/charmaps/NATS-SEFI.gz
+#usr/share/i18n/charmaps/NC_NC00-10.gz
+#usr/share/i18n/charmaps/NEXTSTEP.gz
+#usr/share/i18n/charmaps/NF_Z_62-010.gz
+#usr/share/i18n/charmaps/NF_Z_62-010_1973.gz
+#usr/share/i18n/charmaps/NS_4551-1.gz
+#usr/share/i18n/charmaps/NS_4551-2.gz
+#usr/share/i18n/charmaps/PT.gz
+#usr/share/i18n/charmaps/PT2.gz
+#usr/share/i18n/charmaps/SAMI-WS2.gz
+#usr/share/i18n/charmaps/SAMI.gz
+#usr/share/i18n/charmaps/SEN_850200_B.gz
+#usr/share/i18n/charmaps/SEN_850200_C.gz
+#usr/share/i18n/charmaps/SHIFT_JIS.gz
+#usr/share/i18n/charmaps/SHIFT_JISX0213.gz
+#usr/share/i18n/charmaps/T.101-G2.gz
+#usr/share/i18n/charmaps/T.61-7BIT.gz
+#usr/share/i18n/charmaps/T.61-8BIT.gz
+#usr/share/i18n/charmaps/TCVN5712-1.gz
+#usr/share/i18n/charmaps/TIS-620.gz
+#usr/share/i18n/charmaps/TSCII.gz
+usr/share/i18n/charmaps/UTF-8.gz
+#usr/share/i18n/charmaps/VIDEOTEX-SUPPL.gz
+#usr/share/i18n/charmaps/VISCII.gz
+#usr/share/i18n/locales
+#usr/share/i18n/locales/POSIX
+#usr/share/i18n/locales/af_ZA
+#usr/share/i18n/locales/am_ET
+#usr/share/i18n/locales/ar_AE
+#usr/share/i18n/locales/ar_BH
+#usr/share/i18n/locales/ar_DZ
+#usr/share/i18n/locales/ar_EG
+#usr/share/i18n/locales/ar_IN
+#usr/share/i18n/locales/ar_IQ
+#usr/share/i18n/locales/ar_JO
+#usr/share/i18n/locales/ar_KW
+#usr/share/i18n/locales/ar_LB
+#usr/share/i18n/locales/ar_LY
+#usr/share/i18n/locales/ar_MA
+#usr/share/i18n/locales/ar_OM
+#usr/share/i18n/locales/ar_QA
+#usr/share/i18n/locales/ar_SA
+#usr/share/i18n/locales/ar_SD
+#usr/share/i18n/locales/ar_SY
+#usr/share/i18n/locales/ar_TN
+#usr/share/i18n/locales/ar_YE
+#usr/share/i18n/locales/az_AZ
+#usr/share/i18n/locales/be_BY
+#usr/share/i18n/locales/bg_BG
+#usr/share/i18n/locales/bn_BD
+#usr/share/i18n/locales/bn_IN
+#usr/share/i18n/locales/br_FR
+#usr/share/i18n/locales/br_FR@euro
+#usr/share/i18n/locales/bs_BA
+#usr/share/i18n/locales/ca_ES
+#usr/share/i18n/locales/ca_ES@euro
+#usr/share/i18n/locales/cs_CZ
+#usr/share/i18n/locales/cy_GB
+#usr/share/i18n/locales/da_DK
+#usr/share/i18n/locales/de_AT
+#usr/share/i18n/locales/de_AT@euro
+#usr/share/i18n/locales/de_BE
+#usr/share/i18n/locales/de_BE@euro
+#usr/share/i18n/locales/de_CH
+#usr/share/i18n/locales/de_DE
+#usr/share/i18n/locales/de_DE@euro
+#usr/share/i18n/locales/de_LU
+#usr/share/i18n/locales/de_LU@euro
+#usr/share/i18n/locales/el_GR
+#usr/share/i18n/locales/el_GR@euro
+#usr/share/i18n/locales/en_AU
+#usr/share/i18n/locales/en_BW
+#usr/share/i18n/locales/en_CA
+#usr/share/i18n/locales/en_DK
+#usr/share/i18n/locales/en_GB
+#usr/share/i18n/locales/en_HK
+#usr/share/i18n/locales/en_IE
+#usr/share/i18n/locales/en_IE@euro
+#usr/share/i18n/locales/en_IN
+#usr/share/i18n/locales/en_NZ
+#usr/share/i18n/locales/en_PH
+#usr/share/i18n/locales/en_SG
+#usr/share/i18n/locales/en_US
+#usr/share/i18n/locales/en_ZA
+#usr/share/i18n/locales/en_ZW
+#usr/share/i18n/locales/es_AR
+#usr/share/i18n/locales/es_BO
+#usr/share/i18n/locales/es_CL
+#usr/share/i18n/locales/es_CO
+#usr/share/i18n/locales/es_CR
+#usr/share/i18n/locales/es_DO
+#usr/share/i18n/locales/es_EC
+#usr/share/i18n/locales/es_ES
+#usr/share/i18n/locales/es_ES@euro
+#usr/share/i18n/locales/es_GT
+#usr/share/i18n/locales/es_HN
+#usr/share/i18n/locales/es_MX
+#usr/share/i18n/locales/es_NI
+#usr/share/i18n/locales/es_PA
+#usr/share/i18n/locales/es_PE
+#usr/share/i18n/locales/es_PR
+#usr/share/i18n/locales/es_PY
+#usr/share/i18n/locales/es_SV
+#usr/share/i18n/locales/es_US
+#usr/share/i18n/locales/es_UY
+#usr/share/i18n/locales/es_VE
+#usr/share/i18n/locales/et_EE
+#usr/share/i18n/locales/eu_ES
+#usr/share/i18n/locales/eu_ES@euro
+#usr/share/i18n/locales/fa_IR
+#usr/share/i18n/locales/fi_FI
+#usr/share/i18n/locales/fi_FI@euro
+#usr/share/i18n/locales/fo_FO
+#usr/share/i18n/locales/fr_BE
+#usr/share/i18n/locales/fr_BE@euro
+#usr/share/i18n/locales/fr_CA
+#usr/share/i18n/locales/fr_CH
+#usr/share/i18n/locales/fr_FR
+#usr/share/i18n/locales/fr_FR@euro
+#usr/share/i18n/locales/fr_LU
+#usr/share/i18n/locales/fr_LU@euro
+#usr/share/i18n/locales/ga_IE
+#usr/share/i18n/locales/ga_IE@euro
+#usr/share/i18n/locales/gd_GB
+#usr/share/i18n/locales/gl_ES
+#usr/share/i18n/locales/gl_ES@euro
+#usr/share/i18n/locales/gv_GB
+#usr/share/i18n/locales/he_IL
+#usr/share/i18n/locales/hi_IN
+#usr/share/i18n/locales/hr_HR
+#usr/share/i18n/locales/hu_HU
+#usr/share/i18n/locales/hy_AM
+#usr/share/i18n/locales/i18n
+#usr/share/i18n/locales/id_ID
+#usr/share/i18n/locales/is_IS
+#usr/share/i18n/locales/iso14651_t1
+#usr/share/i18n/locales/it_CH
+#usr/share/i18n/locales/it_IT
+#usr/share/i18n/locales/it_IT@euro
+#usr/share/i18n/locales/iw_IL
+#usr/share/i18n/locales/ja_JP
+#usr/share/i18n/locales/ka_GE
+#usr/share/i18n/locales/kl_GL
+#usr/share/i18n/locales/ko_KR
+#usr/share/i18n/locales/kw_GB
+#usr/share/i18n/locales/lt_LT
+#usr/share/i18n/locales/lug_UG
+#usr/share/i18n/locales/lv_LV
+#usr/share/i18n/locales/mi_NZ
+#usr/share/i18n/locales/mk_MK
+#usr/share/i18n/locales/ml_IN
+#usr/share/i18n/locales/mr_IN
+#usr/share/i18n/locales/ms_MY
+#usr/share/i18n/locales/mt_MT
+#usr/share/i18n/locales/nl_BE
+#usr/share/i18n/locales/nl_BE@euro
+#usr/share/i18n/locales/nl_NL
+#usr/share/i18n/locales/nl_NL@euro
+#usr/share/i18n/locales/nn_NO
+#usr/share/i18n/locales/no_NO
+#usr/share/i18n/locales/oc_FR
+#usr/share/i18n/locales/pl_PL
+#usr/share/i18n/locales/pt_BR
+#usr/share/i18n/locales/pt_PT
+#usr/share/i18n/locales/pt_PT@euro
+#usr/share/i18n/locales/ro_RO
+#usr/share/i18n/locales/ru_RU
+#usr/share/i18n/locales/ru_UA
+#usr/share/i18n/locales/se_NO
+#usr/share/i18n/locales/sk_SK
+#usr/share/i18n/locales/sl_SI
+#usr/share/i18n/locales/sq_AL
+#usr/share/i18n/locales/sr_YU
+#usr/share/i18n/locales/sr_YU@cyrillic
+#usr/share/i18n/locales/sv_FI
+#usr/share/i18n/locales/sv_FI@euro
+#usr/share/i18n/locales/sv_SE
+#usr/share/i18n/locales/ta_IN
+#usr/share/i18n/locales/te_IN
+#usr/share/i18n/locales/tg_TJ
+#usr/share/i18n/locales/th_TH
+#usr/share/i18n/locales/ti_ER
+#usr/share/i18n/locales/ti_ET
+#usr/share/i18n/locales/tl_PH
+#usr/share/i18n/locales/tr_TR
+#usr/share/i18n/locales/translit_circle
+#usr/share/i18n/locales/translit_cjk_compat
+#usr/share/i18n/locales/translit_cjk_variants
+#usr/share/i18n/locales/translit_combining
+#usr/share/i18n/locales/translit_compat
+#usr/share/i18n/locales/translit_et
+#usr/share/i18n/locales/translit_font
+#usr/share/i18n/locales/translit_fraction
+#usr/share/i18n/locales/translit_hangul
+#usr/share/i18n/locales/translit_narrow
+#usr/share/i18n/locales/translit_neutral
+#usr/share/i18n/locales/translit_small
+#usr/share/i18n/locales/translit_wide
+#usr/share/i18n/locales/tt_RU
+#usr/share/i18n/locales/uk_UA
+#usr/share/i18n/locales/ur_PK
+#usr/share/i18n/locales/uz_UZ
+#usr/share/i18n/locales/vi_VN
+#usr/share/i18n/locales/wa_BE
+#usr/share/i18n/locales/wa_BE@euro
+#usr/share/i18n/locales/yi_US
+#usr/share/i18n/locales/zh_CN
+#usr/share/i18n/locales/zh_HK
+#usr/share/i18n/locales/zh_SG
+#usr/share/i18n/locales/zh_TW
+#usr/share/info/dir
+#usr/share/info/libc.info
+#usr/share/info/libc.info-1
+#usr/share/info/libc.info-10
+#usr/share/info/libc.info-11
+#usr/share/info/libc.info-12
+#usr/share/info/libc.info-13
+#usr/share/info/libc.info-14
+#usr/share/info/libc.info-15
+#usr/share/info/libc.info-16
+#usr/share/info/libc.info-17
+#usr/share/info/libc.info-18
+#usr/share/info/libc.info-19
+#usr/share/info/libc.info-2
+#usr/share/info/libc.info-20
+#usr/share/info/libc.info-21
+#usr/share/info/libc.info-22
+#usr/share/info/libc.info-23
+#usr/share/info/libc.info-24
+#usr/share/info/libc.info-25
+#usr/share/info/libc.info-26
+#usr/share/info/libc.info-27
+#usr/share/info/libc.info-28
+#usr/share/info/libc.info-29
+#usr/share/info/libc.info-3
+#usr/share/info/libc.info-30
+#usr/share/info/libc.info-31
+#usr/share/info/libc.info-32
+#usr/share/info/libc.info-33
+#usr/share/info/libc.info-34
+#usr/share/info/libc.info-35
+#usr/share/info/libc.info-36
+#usr/share/info/libc.info-37
+#usr/share/info/libc.info-38
+#usr/share/info/libc.info-39
+#usr/share/info/libc.info-4
+#usr/share/info/libc.info-40
+#usr/share/info/libc.info-41
+#usr/share/info/libc.info-42
+#usr/share/info/libc.info-43
+#usr/share/info/libc.info-44
+#usr/share/info/libc.info-45
+#usr/share/info/libc.info-46
+#usr/share/info/libc.info-47
+#usr/share/info/libc.info-48
+#usr/share/info/libc.info-49
+#usr/share/info/libc.info-5
+#usr/share/info/libc.info-50
+#usr/share/info/libc.info-51
+#usr/share/info/libc.info-52
+#usr/share/info/libc.info-53
+#usr/share/info/libc.info-54
+#usr/share/info/libc.info-55
+#usr/share/info/libc.info-56
+#usr/share/info/libc.info-57
+#usr/share/info/libc.info-58
+#usr/share/info/libc.info-59
+#usr/share/info/libc.info-6
+#usr/share/info/libc.info-60
+#usr/share/info/libc.info-61
+#usr/share/info/libc.info-7
+#usr/share/info/libc.info-8
+#usr/share/info/libc.info-9
+#usr/share/locale/be
+#usr/share/locale/be/LC_MESSAGES
+#usr/share/locale/be/LC_MESSAGES/libc.mo
+#usr/share/locale/ca
+#usr/share/locale/ca/LC_MESSAGES
+#usr/share/locale/ca/LC_MESSAGES/libc.mo
+#usr/share/locale/cs
+#usr/share/locale/cs/LC_MESSAGES
+#usr/share/locale/cs/LC_MESSAGES/libc.mo
+#usr/share/locale/da
+#usr/share/locale/da/LC_MESSAGES
+#usr/share/locale/da/LC_MESSAGES/libc.mo
+#usr/share/locale/de
+#usr/share/locale/de/LC_MESSAGES
+#usr/share/locale/de/LC_MESSAGES/libc.mo
+#usr/share/locale/el
+#usr/share/locale/el/LC_MESSAGES
+#usr/share/locale/el/LC_MESSAGES/libc.mo
+#usr/share/locale/en_GB
+#usr/share/locale/en_GB/LC_MESSAGES
+#usr/share/locale/en_GB/LC_MESSAGES/libc.mo
+#usr/share/locale/es
+#usr/share/locale/es/LC_MESSAGES
+#usr/share/locale/es/LC_MESSAGES/libc.mo
+#usr/share/locale/fi
+#usr/share/locale/fi/LC_MESSAGES
+#usr/share/locale/fi/LC_MESSAGES/libc.mo
+#usr/share/locale/fr
+#usr/share/locale/fr/LC_MESSAGES
+#usr/share/locale/fr/LC_MESSAGES/libc.mo
+#usr/share/locale/gl
+#usr/share/locale/gl/LC_MESSAGES
+#usr/share/locale/gl/LC_MESSAGES/libc.mo
+#usr/share/locale/hr
+#usr/share/locale/hr/LC_MESSAGES
+#usr/share/locale/hr/LC_MESSAGES/libc.mo
+#usr/share/locale/hu
+#usr/share/locale/hu/LC_MESSAGES
+#usr/share/locale/hu/LC_MESSAGES/libc.mo
+#usr/share/locale/it
+#usr/share/locale/it/LC_MESSAGES
+#usr/share/locale/it/LC_MESSAGES/libc.mo
+#usr/share/locale/ja
+#usr/share/locale/ja/LC_MESSAGES
+#usr/share/locale/ja/LC_MESSAGES/libc.mo
+#usr/share/locale/ko
+#usr/share/locale/ko/LC_MESSAGES
+#usr/share/locale/ko/LC_MESSAGES/libc.mo
+#usr/share/locale/locale.alias
+#usr/share/locale/nl
+#usr/share/locale/nl/LC_MESSAGES
+#usr/share/locale/nl/LC_MESSAGES/libc.mo
+#usr/share/locale/no
+#usr/share/locale/no/LC_MESSAGES
+#usr/share/locale/no/LC_MESSAGES/libc.mo
+#usr/share/locale/pl
+#usr/share/locale/pl/LC_MESSAGES
+#usr/share/locale/pl/LC_MESSAGES/libc.mo
+#usr/share/locale/pt_BR
+#usr/share/locale/pt_BR/LC_MESSAGES
+#usr/share/locale/pt_BR/LC_MESSAGES/libc.mo
+#usr/share/locale/sk
+#usr/share/locale/sk/LC_MESSAGES
+#usr/share/locale/sk/LC_MESSAGES/libc.mo
+#usr/share/locale/sv
+#usr/share/locale/sv/LC_MESSAGES
+#usr/share/locale/sv/LC_MESSAGES/libc.mo
+#usr/share/locale/tr
+#usr/share/locale/tr/LC_MESSAGES
+#usr/share/locale/tr/LC_MESSAGES/libc.mo
+#usr/share/locale/zh_CN
+#usr/share/locale/zh_CN/LC_MESSAGES
+#usr/share/locale/zh_CN/LC_MESSAGES/libc.mo
+#usr/share/locale/zh_TW
+#usr/share/locale/zh_TW/LC_MESSAGES
+#usr/share/locale/zh_TW/LC_MESSAGES/libc.mo
+#usr/share/zoneinfo/Africa
+#usr/share/zoneinfo/Africa/Abidjan
+#usr/share/zoneinfo/Africa/Accra
+#usr/share/zoneinfo/Africa/Addis_Ababa
+#usr/share/zoneinfo/Africa/Algiers
+#usr/share/zoneinfo/Africa/Asmera
+#usr/share/zoneinfo/Africa/Bamako
+#usr/share/zoneinfo/Africa/Bangui
+#usr/share/zoneinfo/Africa/Banjul
+#usr/share/zoneinfo/Africa/Bissau
+#usr/share/zoneinfo/Africa/Blantyre
+#usr/share/zoneinfo/Africa/Brazzaville
+#usr/share/zoneinfo/Africa/Bujumbura
+#usr/share/zoneinfo/Africa/Cairo
+#usr/share/zoneinfo/Africa/Casablanca
+#usr/share/zoneinfo/Africa/Ceuta
+#usr/share/zoneinfo/Africa/Conakry
+#usr/share/zoneinfo/Africa/Dakar
+#usr/share/zoneinfo/Africa/Dar_es_Salaam
+#usr/share/zoneinfo/Africa/Djibouti
+#usr/share/zoneinfo/Africa/Douala
+#usr/share/zoneinfo/Africa/El_Aaiun
+#usr/share/zoneinfo/Africa/Freetown
+#usr/share/zoneinfo/Africa/Gaborone
+#usr/share/zoneinfo/Africa/Harare
+#usr/share/zoneinfo/Africa/Johannesburg
+#usr/share/zoneinfo/Africa/Kampala
+#usr/share/zoneinfo/Africa/Khartoum
+#usr/share/zoneinfo/Africa/Kigali
+#usr/share/zoneinfo/Africa/Kinshasa
+#usr/share/zoneinfo/Africa/Lagos
+#usr/share/zoneinfo/Africa/Libreville
+#usr/share/zoneinfo/Africa/Lome
+#usr/share/zoneinfo/Africa/Luanda
+#usr/share/zoneinfo/Africa/Lubumbashi
+#usr/share/zoneinfo/Africa/Lusaka
+#usr/share/zoneinfo/Africa/Malabo
+#usr/share/zoneinfo/Africa/Maputo
+#usr/share/zoneinfo/Africa/Maseru
+#usr/share/zoneinfo/Africa/Mbabane
+#usr/share/zoneinfo/Africa/Mogadishu
+#usr/share/zoneinfo/Africa/Monrovia
+#usr/share/zoneinfo/Africa/Nairobi
+#usr/share/zoneinfo/Africa/Ndjamena
+#usr/share/zoneinfo/Africa/Niamey
+#usr/share/zoneinfo/Africa/Nouakchott
+#usr/share/zoneinfo/Africa/Ouagadougou
+#usr/share/zoneinfo/Africa/Porto-Novo
+#usr/share/zoneinfo/Africa/Sao_Tome
+#usr/share/zoneinfo/Africa/Timbuktu
+#usr/share/zoneinfo/Africa/Tripoli
+#usr/share/zoneinfo/Africa/Tunis
+#usr/share/zoneinfo/Africa/Windhoek
+#usr/share/zoneinfo/America
+#usr/share/zoneinfo/America/Adak
+#usr/share/zoneinfo/America/Anchorage
+#usr/share/zoneinfo/America/Anguilla
+#usr/share/zoneinfo/America/Antigua
+#usr/share/zoneinfo/America/Araguaina
+#usr/share/zoneinfo/America/Aruba
+#usr/share/zoneinfo/America/Asuncion
+#usr/share/zoneinfo/America/Atka
+#usr/share/zoneinfo/America/Barbados
+#usr/share/zoneinfo/America/Belem
+#usr/share/zoneinfo/America/Belize
+#usr/share/zoneinfo/America/Boa_Vista
+#usr/share/zoneinfo/America/Bogota
+#usr/share/zoneinfo/America/Boise
+#usr/share/zoneinfo/America/Buenos_Aires
+#usr/share/zoneinfo/America/Cambridge_Bay
+#usr/share/zoneinfo/America/Cancun
+#usr/share/zoneinfo/America/Caracas
+#usr/share/zoneinfo/America/Catamarca
+#usr/share/zoneinfo/America/Cayenne
+#usr/share/zoneinfo/America/Cayman
+#usr/share/zoneinfo/America/Chicago
+#usr/share/zoneinfo/America/Chihuahua
+#usr/share/zoneinfo/America/Cordoba
+#usr/share/zoneinfo/America/Costa_Rica
+#usr/share/zoneinfo/America/Cuiaba
+#usr/share/zoneinfo/America/Curacao
+#usr/share/zoneinfo/America/Danmarkshavn
+#usr/share/zoneinfo/America/Dawson
+#usr/share/zoneinfo/America/Dawson_Creek
+#usr/share/zoneinfo/America/Denver
+#usr/share/zoneinfo/America/Detroit
+#usr/share/zoneinfo/America/Dominica
+#usr/share/zoneinfo/America/Edmonton
+#usr/share/zoneinfo/America/Eirunepe
+#usr/share/zoneinfo/America/El_Salvador
+#usr/share/zoneinfo/America/Ensenada
+#usr/share/zoneinfo/America/Fort_Wayne
+#usr/share/zoneinfo/America/Fortaleza
+#usr/share/zoneinfo/America/Glace_Bay
+#usr/share/zoneinfo/America/Godthab
+#usr/share/zoneinfo/America/Goose_Bay
+#usr/share/zoneinfo/America/Grand_Turk
+#usr/share/zoneinfo/America/Grenada
+#usr/share/zoneinfo/America/Guadeloupe
+#usr/share/zoneinfo/America/Guatemala
+#usr/share/zoneinfo/America/Guayaquil
+#usr/share/zoneinfo/America/Guyana
+#usr/share/zoneinfo/America/Halifax
+#usr/share/zoneinfo/America/Havana
+#usr/share/zoneinfo/America/Hermosillo
+#usr/share/zoneinfo/America/Indiana
+#usr/share/zoneinfo/America/Indiana/Indianapolis
+#usr/share/zoneinfo/America/Indiana/Knox
+#usr/share/zoneinfo/America/Indiana/Marengo
+#usr/share/zoneinfo/America/Indiana/Vevay
+#usr/share/zoneinfo/America/Indianapolis
+#usr/share/zoneinfo/America/Inuvik
+#usr/share/zoneinfo/America/Iqaluit
+#usr/share/zoneinfo/America/Jamaica
+#usr/share/zoneinfo/America/Jujuy
+#usr/share/zoneinfo/America/Juneau
+#usr/share/zoneinfo/America/Kentucky
+#usr/share/zoneinfo/America/Kentucky/Louisville
+#usr/share/zoneinfo/America/Kentucky/Monticello
+#usr/share/zoneinfo/America/Knox_IN
+#usr/share/zoneinfo/America/La_Paz
+#usr/share/zoneinfo/America/Lima
+#usr/share/zoneinfo/America/Los_Angeles
+#usr/share/zoneinfo/America/Louisville
+#usr/share/zoneinfo/America/Maceio
+#usr/share/zoneinfo/America/Managua
+#usr/share/zoneinfo/America/Manaus
+#usr/share/zoneinfo/America/Martinique
+#usr/share/zoneinfo/America/Mazatlan
+#usr/share/zoneinfo/America/Mendoza
+#usr/share/zoneinfo/America/Menominee
+#usr/share/zoneinfo/America/Merida
+#usr/share/zoneinfo/America/Mexico_City
+#usr/share/zoneinfo/America/Miquelon
+#usr/share/zoneinfo/America/Monterrey
+#usr/share/zoneinfo/America/Montevideo
+#usr/share/zoneinfo/America/Montreal
+#usr/share/zoneinfo/America/Montserrat
+#usr/share/zoneinfo/America/Nassau
+#usr/share/zoneinfo/America/New_York
+#usr/share/zoneinfo/America/Nipigon
+#usr/share/zoneinfo/America/Nome
+#usr/share/zoneinfo/America/Noronha
+#usr/share/zoneinfo/America/North_Dakota
+#usr/share/zoneinfo/America/North_Dakota/Center
+#usr/share/zoneinfo/America/Panama
+#usr/share/zoneinfo/America/Pangnirtung
+#usr/share/zoneinfo/America/Paramaribo
+#usr/share/zoneinfo/America/Phoenix
+#usr/share/zoneinfo/America/Port-au-Prince
+#usr/share/zoneinfo/America/Port_of_Spain
+#usr/share/zoneinfo/America/Porto_Acre
+#usr/share/zoneinfo/America/Porto_Velho
+#usr/share/zoneinfo/America/Puerto_Rico
+#usr/share/zoneinfo/America/Rainy_River
+#usr/share/zoneinfo/America/Rankin_Inlet
+#usr/share/zoneinfo/America/Recife
+#usr/share/zoneinfo/America/Regina
+#usr/share/zoneinfo/America/Rio_Branco
+#usr/share/zoneinfo/America/Rosario
+#usr/share/zoneinfo/America/Santiago
+#usr/share/zoneinfo/America/Santo_Domingo
+#usr/share/zoneinfo/America/Sao_Paulo
+#usr/share/zoneinfo/America/Scoresbysund
+#usr/share/zoneinfo/America/Shiprock
+#usr/share/zoneinfo/America/St_Johns
+#usr/share/zoneinfo/America/St_Kitts
+#usr/share/zoneinfo/America/St_Lucia
+#usr/share/zoneinfo/America/St_Thomas
+#usr/share/zoneinfo/America/St_Vincent
+#usr/share/zoneinfo/America/Swift_Current
+#usr/share/zoneinfo/America/Tegucigalpa
+#usr/share/zoneinfo/America/Thule
+#usr/share/zoneinfo/America/Thunder_Bay
+#usr/share/zoneinfo/America/Tijuana
+#usr/share/zoneinfo/America/Tortola
+#usr/share/zoneinfo/America/Vancouver
+#usr/share/zoneinfo/America/Virgin
+#usr/share/zoneinfo/America/Whitehorse
+#usr/share/zoneinfo/America/Winnipeg
+#usr/share/zoneinfo/America/Yakutat
+#usr/share/zoneinfo/America/Yellowknife
+#usr/share/zoneinfo/Antarctica
+#usr/share/zoneinfo/Antarctica/Casey
+#usr/share/zoneinfo/Antarctica/Davis
+#usr/share/zoneinfo/Antarctica/DumontDUrville
+#usr/share/zoneinfo/Antarctica/Mawson
+#usr/share/zoneinfo/Antarctica/McMurdo
+#usr/share/zoneinfo/Antarctica/Palmer
+#usr/share/zoneinfo/Antarctica/South_Pole
+#usr/share/zoneinfo/Antarctica/Syowa
+#usr/share/zoneinfo/Antarctica/Vostok
+#usr/share/zoneinfo/Arctic
+#usr/share/zoneinfo/Arctic/Longyearbyen
+#usr/share/zoneinfo/Asia
+#usr/share/zoneinfo/Asia/Aden
+#usr/share/zoneinfo/Asia/Almaty
+#usr/share/zoneinfo/Asia/Amman
+#usr/share/zoneinfo/Asia/Anadyr
+#usr/share/zoneinfo/Asia/Aqtau
+#usr/share/zoneinfo/Asia/Aqtobe
+#usr/share/zoneinfo/Asia/Ashgabat
+#usr/share/zoneinfo/Asia/Ashkhabad
+#usr/share/zoneinfo/Asia/Baghdad
+#usr/share/zoneinfo/Asia/Bahrain
+#usr/share/zoneinfo/Asia/Baku
+#usr/share/zoneinfo/Asia/Bangkok
+#usr/share/zoneinfo/Asia/Beirut
+#usr/share/zoneinfo/Asia/Bishkek
+#usr/share/zoneinfo/Asia/Brunei
+#usr/share/zoneinfo/Asia/Calcutta
+#usr/share/zoneinfo/Asia/Choibalsan
+#usr/share/zoneinfo/Asia/Chongqing
+#usr/share/zoneinfo/Asia/Chungking
+#usr/share/zoneinfo/Asia/Colombo
+#usr/share/zoneinfo/Asia/Dacca
+#usr/share/zoneinfo/Asia/Damascus
+#usr/share/zoneinfo/Asia/Dhaka
+#usr/share/zoneinfo/Asia/Dili
+#usr/share/zoneinfo/Asia/Dubai
+#usr/share/zoneinfo/Asia/Dushanbe
+#usr/share/zoneinfo/Asia/Gaza
+#usr/share/zoneinfo/Asia/Harbin
+#usr/share/zoneinfo/Asia/Hong_Kong
+#usr/share/zoneinfo/Asia/Hovd
+#usr/share/zoneinfo/Asia/Irkutsk
+#usr/share/zoneinfo/Asia/Istanbul
+#usr/share/zoneinfo/Asia/Jakarta
+#usr/share/zoneinfo/Asia/Jayapura
+#usr/share/zoneinfo/Asia/Jerusalem
+#usr/share/zoneinfo/Asia/Kabul
+#usr/share/zoneinfo/Asia/Kamchatka
+#usr/share/zoneinfo/Asia/Karachi
+#usr/share/zoneinfo/Asia/Kashgar
+#usr/share/zoneinfo/Asia/Katmandu
+#usr/share/zoneinfo/Asia/Krasnoyarsk
+#usr/share/zoneinfo/Asia/Kuala_Lumpur
+#usr/share/zoneinfo/Asia/Kuching
+#usr/share/zoneinfo/Asia/Kuwait
+#usr/share/zoneinfo/Asia/Macao
+#usr/share/zoneinfo/Asia/Macau
+#usr/share/zoneinfo/Asia/Magadan
+#usr/share/zoneinfo/Asia/Makassar
+#usr/share/zoneinfo/Asia/Manila
+#usr/share/zoneinfo/Asia/Muscat
+#usr/share/zoneinfo/Asia/Nicosia
+#usr/share/zoneinfo/Asia/Novosibirsk
+#usr/share/zoneinfo/Asia/Omsk
+#usr/share/zoneinfo/Asia/Oral
+#usr/share/zoneinfo/Asia/Phnom_Penh
+#usr/share/zoneinfo/Asia/Pontianak
+#usr/share/zoneinfo/Asia/Pyongyang
+#usr/share/zoneinfo/Asia/Qatar
+#usr/share/zoneinfo/Asia/Qyzylorda
+#usr/share/zoneinfo/Asia/Rangoon
+#usr/share/zoneinfo/Asia/Riyadh
+#usr/share/zoneinfo/Asia/Riyadh87
+#usr/share/zoneinfo/Asia/Riyadh88
+#usr/share/zoneinfo/Asia/Riyadh89
+#usr/share/zoneinfo/Asia/Saigon
+#usr/share/zoneinfo/Asia/Sakhalin
+#usr/share/zoneinfo/Asia/Samarkand
+#usr/share/zoneinfo/Asia/Seoul
+#usr/share/zoneinfo/Asia/Shanghai
+#usr/share/zoneinfo/Asia/Singapore
+#usr/share/zoneinfo/Asia/Taipei
+#usr/share/zoneinfo/Asia/Tashkent
+#usr/share/zoneinfo/Asia/Tbilisi
+#usr/share/zoneinfo/Asia/Tehran
+#usr/share/zoneinfo/Asia/Tel_Aviv
+#usr/share/zoneinfo/Asia/Thimbu
+#usr/share/zoneinfo/Asia/Thimphu
+#usr/share/zoneinfo/Asia/Tokyo
+#usr/share/zoneinfo/Asia/Ujung_Pandang
+#usr/share/zoneinfo/Asia/Ulaanbaatar
+#usr/share/zoneinfo/Asia/Ulan_Bator
+#usr/share/zoneinfo/Asia/Urumqi
+#usr/share/zoneinfo/Asia/Vientiane
+#usr/share/zoneinfo/Asia/Vladivostok
+#usr/share/zoneinfo/Asia/Yakutsk
+#usr/share/zoneinfo/Asia/Yekaterinburg
+#usr/share/zoneinfo/Asia/Yerevan
+#usr/share/zoneinfo/Atlantic
+#usr/share/zoneinfo/Atlantic/Azores
+#usr/share/zoneinfo/Atlantic/Bermuda
+#usr/share/zoneinfo/Atlantic/Canary
+#usr/share/zoneinfo/Atlantic/Cape_Verde
+#usr/share/zoneinfo/Atlantic/Faeroe
+#usr/share/zoneinfo/Atlantic/Jan_Mayen
+#usr/share/zoneinfo/Atlantic/Madeira
+#usr/share/zoneinfo/Atlantic/Reykjavik
+#usr/share/zoneinfo/Atlantic/South_Georgia
+#usr/share/zoneinfo/Atlantic/St_Helena
+#usr/share/zoneinfo/Atlantic/Stanley
+#usr/share/zoneinfo/Australia
+#usr/share/zoneinfo/Australia/ACT
+#usr/share/zoneinfo/Australia/Adelaide
+#usr/share/zoneinfo/Australia/Brisbane
+#usr/share/zoneinfo/Australia/Broken_Hill
+#usr/share/zoneinfo/Australia/Canberra
+#usr/share/zoneinfo/Australia/Darwin
+#usr/share/zoneinfo/Australia/Hobart
+#usr/share/zoneinfo/Australia/LHI
+#usr/share/zoneinfo/Australia/Lindeman
+#usr/share/zoneinfo/Australia/Lord_Howe
+#usr/share/zoneinfo/Australia/Melbourne
+#usr/share/zoneinfo/Australia/NSW
+#usr/share/zoneinfo/Australia/North
+#usr/share/zoneinfo/Australia/Perth
+#usr/share/zoneinfo/Australia/Queensland
+#usr/share/zoneinfo/Australia/South
+#usr/share/zoneinfo/Australia/Sydney
+#usr/share/zoneinfo/Australia/Tasmania
+#usr/share/zoneinfo/Australia/Victoria
+#usr/share/zoneinfo/Australia/West
+#usr/share/zoneinfo/Australia/Yancowinna
+#usr/share/zoneinfo/Brazil
+#usr/share/zoneinfo/Brazil/Acre
+#usr/share/zoneinfo/Brazil/DeNoronha
+#usr/share/zoneinfo/Brazil/East
+#usr/share/zoneinfo/Brazil/West
+#usr/share/zoneinfo/CET
+#usr/share/zoneinfo/CST6CDT
+#usr/share/zoneinfo/Canada
+#usr/share/zoneinfo/Canada/Atlantic
+#usr/share/zoneinfo/Canada/Central
+#usr/share/zoneinfo/Canada/East-Saskatchewan
+#usr/share/zoneinfo/Canada/Eastern
+#usr/share/zoneinfo/Canada/Mountain
+#usr/share/zoneinfo/Canada/Newfoundland
+#usr/share/zoneinfo/Canada/Pacific
+#usr/share/zoneinfo/Canada/Saskatchewan
+#usr/share/zoneinfo/Canada/Yukon
+#usr/share/zoneinfo/Chile
+#usr/share/zoneinfo/Chile/Continental
+#usr/share/zoneinfo/Chile/EasterIsland
+#usr/share/zoneinfo/Cuba
+#usr/share/zoneinfo/EET
+#usr/share/zoneinfo/EST
+#usr/share/zoneinfo/EST5EDT
+#usr/share/zoneinfo/Egypt
+#usr/share/zoneinfo/Eire
+#usr/share/zoneinfo/Etc
+#usr/share/zoneinfo/Etc/GMT
+#usr/share/zoneinfo/Etc/GMT+0
+#usr/share/zoneinfo/Etc/GMT+1
+#usr/share/zoneinfo/Etc/GMT+10
+#usr/share/zoneinfo/Etc/GMT+11
+#usr/share/zoneinfo/Etc/GMT+12
+#usr/share/zoneinfo/Etc/GMT+2
+#usr/share/zoneinfo/Etc/GMT+3
+#usr/share/zoneinfo/Etc/GMT+4
+#usr/share/zoneinfo/Etc/GMT+5
+#usr/share/zoneinfo/Etc/GMT+6
+#usr/share/zoneinfo/Etc/GMT+7
+#usr/share/zoneinfo/Etc/GMT+8
+#usr/share/zoneinfo/Etc/GMT+9
+#usr/share/zoneinfo/Etc/GMT-0
+#usr/share/zoneinfo/Etc/GMT-1
+#usr/share/zoneinfo/Etc/GMT-10
+#usr/share/zoneinfo/Etc/GMT-11
+#usr/share/zoneinfo/Etc/GMT-12
+#usr/share/zoneinfo/Etc/GMT-13
+#usr/share/zoneinfo/Etc/GMT-14
+#usr/share/zoneinfo/Etc/GMT-2
+#usr/share/zoneinfo/Etc/GMT-3
+#usr/share/zoneinfo/Etc/GMT-4
+#usr/share/zoneinfo/Etc/GMT-5
+#usr/share/zoneinfo/Etc/GMT-6
+#usr/share/zoneinfo/Etc/GMT-7
+#usr/share/zoneinfo/Etc/GMT-8
+#usr/share/zoneinfo/Etc/GMT-9
+#usr/share/zoneinfo/Etc/GMT0
+#usr/share/zoneinfo/Etc/Greenwich
+#usr/share/zoneinfo/Etc/UCT
+#usr/share/zoneinfo/Etc/UTC
+#usr/share/zoneinfo/Etc/Universal
+#usr/share/zoneinfo/Etc/Zulu
+#usr/share/zoneinfo/Europe
+#usr/share/zoneinfo/Europe/Amsterdam
+#usr/share/zoneinfo/Europe/Andorra
+#usr/share/zoneinfo/Europe/Athens
+#usr/share/zoneinfo/Europe/Belfast
+#usr/share/zoneinfo/Europe/Belgrade
+#usr/share/zoneinfo/Europe/Berlin
+#usr/share/zoneinfo/Europe/Bratislava
+#usr/share/zoneinfo/Europe/Brussels
+#usr/share/zoneinfo/Europe/Bucharest
+#usr/share/zoneinfo/Europe/Budapest
+#usr/share/zoneinfo/Europe/Chisinau
+#usr/share/zoneinfo/Europe/Copenhagen
+#usr/share/zoneinfo/Europe/Dublin
+#usr/share/zoneinfo/Europe/Gibraltar
+#usr/share/zoneinfo/Europe/Helsinki
+#usr/share/zoneinfo/Europe/Istanbul
+#usr/share/zoneinfo/Europe/Kaliningrad
+#usr/share/zoneinfo/Europe/Kiev
+#usr/share/zoneinfo/Europe/Lisbon
+#usr/share/zoneinfo/Europe/Ljubljana
+#usr/share/zoneinfo/Europe/London
+#usr/share/zoneinfo/Europe/Luxembourg
+#usr/share/zoneinfo/Europe/Madrid
+#usr/share/zoneinfo/Europe/Malta
+#usr/share/zoneinfo/Europe/Minsk
+#usr/share/zoneinfo/Europe/Monaco
+#usr/share/zoneinfo/Europe/Moscow
+#usr/share/zoneinfo/Europe/Nicosia
+#usr/share/zoneinfo/Europe/Oslo
+#usr/share/zoneinfo/Europe/Paris
+#usr/share/zoneinfo/Europe/Prague
+#usr/share/zoneinfo/Europe/Riga
+#usr/share/zoneinfo/Europe/Rome
+#usr/share/zoneinfo/Europe/Samara
+#usr/share/zoneinfo/Europe/San_Marino
+#usr/share/zoneinfo/Europe/Sarajevo
+#usr/share/zoneinfo/Europe/Simferopol
+#usr/share/zoneinfo/Europe/Skopje
+#usr/share/zoneinfo/Europe/Sofia
+#usr/share/zoneinfo/Europe/Stockholm
+#usr/share/zoneinfo/Europe/Tallinn
+#usr/share/zoneinfo/Europe/Tirane
+#usr/share/zoneinfo/Europe/Tiraspol
+#usr/share/zoneinfo/Europe/Uzhgorod
+#usr/share/zoneinfo/Europe/Vaduz
+#usr/share/zoneinfo/Europe/Vatican
+#usr/share/zoneinfo/Europe/Vienna
+#usr/share/zoneinfo/Europe/Vilnius
+#usr/share/zoneinfo/Europe/Warsaw
+#usr/share/zoneinfo/Europe/Zagreb
+#usr/share/zoneinfo/Europe/Zaporozhye
+#usr/share/zoneinfo/Europe/Zurich
+#usr/share/zoneinfo/Factory
+#usr/share/zoneinfo/GB
+#usr/share/zoneinfo/GB-Eire
+#usr/share/zoneinfo/GMT
+#usr/share/zoneinfo/GMT+0
+#usr/share/zoneinfo/GMT-0
+#usr/share/zoneinfo/GMT0
+#usr/share/zoneinfo/Greenwich
+#usr/share/zoneinfo/HST
+#usr/share/zoneinfo/Hongkong
+#usr/share/zoneinfo/Iceland
+#usr/share/zoneinfo/Indian
+#usr/share/zoneinfo/Indian/Antananarivo
+#usr/share/zoneinfo/Indian/Chagos
+#usr/share/zoneinfo/Indian/Christmas
+#usr/share/zoneinfo/Indian/Cocos
+#usr/share/zoneinfo/Indian/Comoro
+#usr/share/zoneinfo/Indian/Kerguelen
+#usr/share/zoneinfo/Indian/Mahe
+#usr/share/zoneinfo/Indian/Maldives
+#usr/share/zoneinfo/Indian/Mauritius
+#usr/share/zoneinfo/Indian/Mayotte
+#usr/share/zoneinfo/Indian/Reunion
+#usr/share/zoneinfo/Iran
+#usr/share/zoneinfo/Israel
+#usr/share/zoneinfo/Jamaica
+#usr/share/zoneinfo/Japan
+#usr/share/zoneinfo/Kwajalein
+#usr/share/zoneinfo/Libya
+#usr/share/zoneinfo/MET
+#usr/share/zoneinfo/MST
+#usr/share/zoneinfo/MST7MDT
+#usr/share/zoneinfo/Mexico
+#usr/share/zoneinfo/Mexico/BajaNorte
+#usr/share/zoneinfo/Mexico/BajaSur
+#usr/share/zoneinfo/Mexico/General
+#usr/share/zoneinfo/Mideast
+#usr/share/zoneinfo/Mideast/Riyadh87
+#usr/share/zoneinfo/Mideast/Riyadh88
+#usr/share/zoneinfo/Mideast/Riyadh89
+#usr/share/zoneinfo/NZ
+#usr/share/zoneinfo/NZ-CHAT
+#usr/share/zoneinfo/Navajo
+#usr/share/zoneinfo/PRC
+#usr/share/zoneinfo/PST8PDT
+#usr/share/zoneinfo/Pacific
+#usr/share/zoneinfo/Pacific/Apia
+#usr/share/zoneinfo/Pacific/Auckland
+#usr/share/zoneinfo/Pacific/Chatham
+#usr/share/zoneinfo/Pacific/Easter
+#usr/share/zoneinfo/Pacific/Efate
+#usr/share/zoneinfo/Pacific/Enderbury
+#usr/share/zoneinfo/Pacific/Fakaofo
+#usr/share/zoneinfo/Pacific/Fiji
+#usr/share/zoneinfo/Pacific/Funafuti
+#usr/share/zoneinfo/Pacific/Galapagos
+#usr/share/zoneinfo/Pacific/Gambier
+#usr/share/zoneinfo/Pacific/Guadalcanal
+#usr/share/zoneinfo/Pacific/Guam
+#usr/share/zoneinfo/Pacific/Honolulu
+#usr/share/zoneinfo/Pacific/Johnston
+#usr/share/zoneinfo/Pacific/Kiritimati
+#usr/share/zoneinfo/Pacific/Kosrae
+#usr/share/zoneinfo/Pacific/Kwajalein
+#usr/share/zoneinfo/Pacific/Majuro
+#usr/share/zoneinfo/Pacific/Marquesas
+#usr/share/zoneinfo/Pacific/Midway
+#usr/share/zoneinfo/Pacific/Nauru
+#usr/share/zoneinfo/Pacific/Niue
+#usr/share/zoneinfo/Pacific/Norfolk
+#usr/share/zoneinfo/Pacific/Noumea
+#usr/share/zoneinfo/Pacific/Pago_Pago
+#usr/share/zoneinfo/Pacific/Palau
+#usr/share/zoneinfo/Pacific/Pitcairn
+#usr/share/zoneinfo/Pacific/Ponape
+#usr/share/zoneinfo/Pacific/Port_Moresby
+#usr/share/zoneinfo/Pacific/Rarotonga
+#usr/share/zoneinfo/Pacific/Saipan
+#usr/share/zoneinfo/Pacific/Samoa
+#usr/share/zoneinfo/Pacific/Tahiti
+#usr/share/zoneinfo/Pacific/Tarawa
+#usr/share/zoneinfo/Pacific/Tongatapu
+#usr/share/zoneinfo/Pacific/Truk
+#usr/share/zoneinfo/Pacific/Wake
+#usr/share/zoneinfo/Pacific/Wallis
+#usr/share/zoneinfo/Pacific/Yap
+#usr/share/zoneinfo/Poland
+#usr/share/zoneinfo/Portugal
+#usr/share/zoneinfo/ROC
+#usr/share/zoneinfo/ROK
+#usr/share/zoneinfo/Singapore
+#usr/share/zoneinfo/SystemV
+#usr/share/zoneinfo/SystemV/AST4
+#usr/share/zoneinfo/SystemV/AST4ADT
+#usr/share/zoneinfo/SystemV/CST6
+#usr/share/zoneinfo/SystemV/CST6CDT
+#usr/share/zoneinfo/SystemV/EST5
+#usr/share/zoneinfo/SystemV/EST5EDT
+#usr/share/zoneinfo/SystemV/HST10
+#usr/share/zoneinfo/SystemV/MST7
+#usr/share/zoneinfo/SystemV/MST7MDT
+#usr/share/zoneinfo/SystemV/PST8
+#usr/share/zoneinfo/SystemV/PST8PDT
+#usr/share/zoneinfo/SystemV/YST9
+#usr/share/zoneinfo/SystemV/YST9YDT
+#usr/share/zoneinfo/Turkey
+#usr/share/zoneinfo/UCT
+#usr/share/zoneinfo/US
+#usr/share/zoneinfo/US/Alaska
+#usr/share/zoneinfo/US/Aleutian
+#usr/share/zoneinfo/US/Arizona
+#usr/share/zoneinfo/US/Central
+#usr/share/zoneinfo/US/East-Indiana
+#usr/share/zoneinfo/US/Eastern
+#usr/share/zoneinfo/US/Hawaii
+#usr/share/zoneinfo/US/Indiana-Starke
+#usr/share/zoneinfo/US/Michigan
+#usr/share/zoneinfo/US/Mountain
+#usr/share/zoneinfo/US/Pacific
+#usr/share/zoneinfo/US/Samoa
+#usr/share/zoneinfo/UTC
+#usr/share/zoneinfo/Universal
+#usr/share/zoneinfo/W-SU
+#usr/share/zoneinfo/WET
+#usr/share/zoneinfo/Zulu
+#usr/share/zoneinfo/iso3166.tab
+usr/share/zoneinfo/posix
+#usr/share/zoneinfo/posix/Africa
+#usr/share/zoneinfo/posix/Africa/Abidjan
+#usr/share/zoneinfo/posix/Africa/Accra
+#usr/share/zoneinfo/posix/Africa/Addis_Ababa
+#usr/share/zoneinfo/posix/Africa/Algiers
+#usr/share/zoneinfo/posix/Africa/Asmera
+#usr/share/zoneinfo/posix/Africa/Bamako
+#usr/share/zoneinfo/posix/Africa/Bangui
+#usr/share/zoneinfo/posix/Africa/Banjul
+#usr/share/zoneinfo/posix/Africa/Bissau
+#usr/share/zoneinfo/posix/Africa/Blantyre
+#usr/share/zoneinfo/posix/Africa/Brazzaville
+#usr/share/zoneinfo/posix/Africa/Bujumbura
+#usr/share/zoneinfo/posix/Africa/Cairo
+#usr/share/zoneinfo/posix/Africa/Casablanca
+#usr/share/zoneinfo/posix/Africa/Ceuta
+#usr/share/zoneinfo/posix/Africa/Conakry
+#usr/share/zoneinfo/posix/Africa/Dakar
+#usr/share/zoneinfo/posix/Africa/Dar_es_Salaam
+#usr/share/zoneinfo/posix/Africa/Djibouti
+#usr/share/zoneinfo/posix/Africa/Douala
+#usr/share/zoneinfo/posix/Africa/El_Aaiun
+#usr/share/zoneinfo/posix/Africa/Freetown
+#usr/share/zoneinfo/posix/Africa/Gaborone
+#usr/share/zoneinfo/posix/Africa/Harare
+#usr/share/zoneinfo/posix/Africa/Johannesburg
+#usr/share/zoneinfo/posix/Africa/Kampala
+#usr/share/zoneinfo/posix/Africa/Khartoum
+#usr/share/zoneinfo/posix/Africa/Kigali
+#usr/share/zoneinfo/posix/Africa/Kinshasa
+#usr/share/zoneinfo/posix/Africa/Lagos
+#usr/share/zoneinfo/posix/Africa/Libreville
+#usr/share/zoneinfo/posix/Africa/Lome
+#usr/share/zoneinfo/posix/Africa/Luanda
+#usr/share/zoneinfo/posix/Africa/Lubumbashi
+#usr/share/zoneinfo/posix/Africa/Lusaka
+#usr/share/zoneinfo/posix/Africa/Malabo
+#usr/share/zoneinfo/posix/Africa/Maputo
+#usr/share/zoneinfo/posix/Africa/Maseru
+#usr/share/zoneinfo/posix/Africa/Mbabane
+#usr/share/zoneinfo/posix/Africa/Mogadishu
+#usr/share/zoneinfo/posix/Africa/Monrovia
+#usr/share/zoneinfo/posix/Africa/Nairobi
+#usr/share/zoneinfo/posix/Africa/Ndjamena
+#usr/share/zoneinfo/posix/Africa/Niamey
+#usr/share/zoneinfo/posix/Africa/Nouakchott
+#usr/share/zoneinfo/posix/Africa/Ouagadougou
+#usr/share/zoneinfo/posix/Africa/Porto-Novo
+#usr/share/zoneinfo/posix/Africa/Sao_Tome
+#usr/share/zoneinfo/posix/Africa/Timbuktu
+#usr/share/zoneinfo/posix/Africa/Tripoli
+#usr/share/zoneinfo/posix/Africa/Tunis
+#usr/share/zoneinfo/posix/Africa/Windhoek
+#usr/share/zoneinfo/posix/America
+#usr/share/zoneinfo/posix/America/Adak
+#usr/share/zoneinfo/posix/America/Anchorage
+#usr/share/zoneinfo/posix/America/Anguilla
+#usr/share/zoneinfo/posix/America/Antigua
+#usr/share/zoneinfo/posix/America/Araguaina
+#usr/share/zoneinfo/posix/America/Aruba
+#usr/share/zoneinfo/posix/America/Asuncion
+#usr/share/zoneinfo/posix/America/Atka
+#usr/share/zoneinfo/posix/America/Barbados
+#usr/share/zoneinfo/posix/America/Belem
+#usr/share/zoneinfo/posix/America/Belize
+#usr/share/zoneinfo/posix/America/Boa_Vista
+#usr/share/zoneinfo/posix/America/Bogota
+#usr/share/zoneinfo/posix/America/Boise
+#usr/share/zoneinfo/posix/America/Buenos_Aires
+#usr/share/zoneinfo/posix/America/Cambridge_Bay
+#usr/share/zoneinfo/posix/America/Cancun
+#usr/share/zoneinfo/posix/America/Caracas
+#usr/share/zoneinfo/posix/America/Catamarca
+#usr/share/zoneinfo/posix/America/Cayenne
+#usr/share/zoneinfo/posix/America/Cayman
+#usr/share/zoneinfo/posix/America/Chicago
+#usr/share/zoneinfo/posix/America/Chihuahua
+#usr/share/zoneinfo/posix/America/Cordoba
+#usr/share/zoneinfo/posix/America/Costa_Rica
+#usr/share/zoneinfo/posix/America/Cuiaba
+#usr/share/zoneinfo/posix/America/Curacao
+#usr/share/zoneinfo/posix/America/Danmarkshavn
+#usr/share/zoneinfo/posix/America/Dawson
+#usr/share/zoneinfo/posix/America/Dawson_Creek
+#usr/share/zoneinfo/posix/America/Denver
+#usr/share/zoneinfo/posix/America/Detroit
+#usr/share/zoneinfo/posix/America/Dominica
+#usr/share/zoneinfo/posix/America/Edmonton
+#usr/share/zoneinfo/posix/America/Eirunepe
+#usr/share/zoneinfo/posix/America/El_Salvador
+#usr/share/zoneinfo/posix/America/Ensenada
+#usr/share/zoneinfo/posix/America/Fort_Wayne
+#usr/share/zoneinfo/posix/America/Fortaleza
+#usr/share/zoneinfo/posix/America/Glace_Bay
+#usr/share/zoneinfo/posix/America/Godthab
+#usr/share/zoneinfo/posix/America/Goose_Bay
+#usr/share/zoneinfo/posix/America/Grand_Turk
+#usr/share/zoneinfo/posix/America/Grenada
+#usr/share/zoneinfo/posix/America/Guadeloupe
+#usr/share/zoneinfo/posix/America/Guatemala
+#usr/share/zoneinfo/posix/America/Guayaquil
+#usr/share/zoneinfo/posix/America/Guyana
+#usr/share/zoneinfo/posix/America/Halifax
+#usr/share/zoneinfo/posix/America/Havana
+#usr/share/zoneinfo/posix/America/Hermosillo
+#usr/share/zoneinfo/posix/America/Indiana
+#usr/share/zoneinfo/posix/America/Indiana/Indianapolis
+#usr/share/zoneinfo/posix/America/Indiana/Knox
+#usr/share/zoneinfo/posix/America/Indiana/Marengo
+#usr/share/zoneinfo/posix/America/Indiana/Vevay
+#usr/share/zoneinfo/posix/America/Indianapolis
+#usr/share/zoneinfo/posix/America/Inuvik
+#usr/share/zoneinfo/posix/America/Iqaluit
+#usr/share/zoneinfo/posix/America/Jamaica
+#usr/share/zoneinfo/posix/America/Jujuy
+#usr/share/zoneinfo/posix/America/Juneau
+#usr/share/zoneinfo/posix/America/Kentucky
+#usr/share/zoneinfo/posix/America/Kentucky/Louisville
+#usr/share/zoneinfo/posix/America/Kentucky/Monticello
+#usr/share/zoneinfo/posix/America/Knox_IN
+#usr/share/zoneinfo/posix/America/La_Paz
+#usr/share/zoneinfo/posix/America/Lima
+#usr/share/zoneinfo/posix/America/Los_Angeles
+#usr/share/zoneinfo/posix/America/Louisville
+#usr/share/zoneinfo/posix/America/Maceio
+#usr/share/zoneinfo/posix/America/Managua
+#usr/share/zoneinfo/posix/America/Manaus
+#usr/share/zoneinfo/posix/America/Martinique
+#usr/share/zoneinfo/posix/America/Mazatlan
+#usr/share/zoneinfo/posix/America/Mendoza
+#usr/share/zoneinfo/posix/America/Menominee
+#usr/share/zoneinfo/posix/America/Merida
+#usr/share/zoneinfo/posix/America/Mexico_City
+#usr/share/zoneinfo/posix/America/Miquelon
+#usr/share/zoneinfo/posix/America/Monterrey
+#usr/share/zoneinfo/posix/America/Montevideo
+#usr/share/zoneinfo/posix/America/Montreal
+#usr/share/zoneinfo/posix/America/Montserrat
+#usr/share/zoneinfo/posix/America/Nassau
+#usr/share/zoneinfo/posix/America/New_York
+#usr/share/zoneinfo/posix/America/Nipigon
+#usr/share/zoneinfo/posix/America/Nome
+#usr/share/zoneinfo/posix/America/Noronha
+#usr/share/zoneinfo/posix/America/North_Dakota
+#usr/share/zoneinfo/posix/America/North_Dakota/Center
+#usr/share/zoneinfo/posix/America/Panama
+#usr/share/zoneinfo/posix/America/Pangnirtung
+#usr/share/zoneinfo/posix/America/Paramaribo
+#usr/share/zoneinfo/posix/America/Phoenix
+#usr/share/zoneinfo/posix/America/Port-au-Prince
+#usr/share/zoneinfo/posix/America/Port_of_Spain
+#usr/share/zoneinfo/posix/America/Porto_Acre
+#usr/share/zoneinfo/posix/America/Porto_Velho
+#usr/share/zoneinfo/posix/America/Puerto_Rico
+#usr/share/zoneinfo/posix/America/Rainy_River
+#usr/share/zoneinfo/posix/America/Rankin_Inlet
+#usr/share/zoneinfo/posix/America/Recife
+#usr/share/zoneinfo/posix/America/Regina
+#usr/share/zoneinfo/posix/America/Rio_Branco
+#usr/share/zoneinfo/posix/America/Rosario
+#usr/share/zoneinfo/posix/America/Santiago
+#usr/share/zoneinfo/posix/America/Santo_Domingo
+#usr/share/zoneinfo/posix/America/Sao_Paulo
+#usr/share/zoneinfo/posix/America/Scoresbysund
+#usr/share/zoneinfo/posix/America/Shiprock
+#usr/share/zoneinfo/posix/America/St_Johns
+#usr/share/zoneinfo/posix/America/St_Kitts
+#usr/share/zoneinfo/posix/America/St_Lucia
+#usr/share/zoneinfo/posix/America/St_Thomas
+#usr/share/zoneinfo/posix/America/St_Vincent
+#usr/share/zoneinfo/posix/America/Swift_Current
+#usr/share/zoneinfo/posix/America/Tegucigalpa
+#usr/share/zoneinfo/posix/America/Thule
+#usr/share/zoneinfo/posix/America/Thunder_Bay
+#usr/share/zoneinfo/posix/America/Tijuana
+#usr/share/zoneinfo/posix/America/Tortola
+#usr/share/zoneinfo/posix/America/Vancouver
+#usr/share/zoneinfo/posix/America/Virgin
+#usr/share/zoneinfo/posix/America/Whitehorse
+#usr/share/zoneinfo/posix/America/Winnipeg
+#usr/share/zoneinfo/posix/America/Yakutat
+#usr/share/zoneinfo/posix/America/Yellowknife
+#usr/share/zoneinfo/posix/Antarctica
+#usr/share/zoneinfo/posix/Antarctica/Casey
+#usr/share/zoneinfo/posix/Antarctica/Davis
+#usr/share/zoneinfo/posix/Antarctica/DumontDUrville
+#usr/share/zoneinfo/posix/Antarctica/Mawson
+#usr/share/zoneinfo/posix/Antarctica/McMurdo
+#usr/share/zoneinfo/posix/Antarctica/Palmer
+#usr/share/zoneinfo/posix/Antarctica/South_Pole
+#usr/share/zoneinfo/posix/Antarctica/Syowa
+#usr/share/zoneinfo/posix/Antarctica/Vostok
+#usr/share/zoneinfo/posix/Arctic
+#usr/share/zoneinfo/posix/Arctic/Longyearbyen
+#usr/share/zoneinfo/posix/Asia
+#usr/share/zoneinfo/posix/Asia/Aden
+#usr/share/zoneinfo/posix/Asia/Almaty
+#usr/share/zoneinfo/posix/Asia/Amman
+#usr/share/zoneinfo/posix/Asia/Anadyr
+#usr/share/zoneinfo/posix/Asia/Aqtau
+#usr/share/zoneinfo/posix/Asia/Aqtobe
+#usr/share/zoneinfo/posix/Asia/Ashgabat
+#usr/share/zoneinfo/posix/Asia/Ashkhabad
+#usr/share/zoneinfo/posix/Asia/Baghdad
+#usr/share/zoneinfo/posix/Asia/Bahrain
+#usr/share/zoneinfo/posix/Asia/Baku
+#usr/share/zoneinfo/posix/Asia/Bangkok
+#usr/share/zoneinfo/posix/Asia/Beirut
+#usr/share/zoneinfo/posix/Asia/Bishkek
+#usr/share/zoneinfo/posix/Asia/Brunei
+#usr/share/zoneinfo/posix/Asia/Calcutta
+#usr/share/zoneinfo/posix/Asia/Choibalsan
+#usr/share/zoneinfo/posix/Asia/Chongqing
+#usr/share/zoneinfo/posix/Asia/Chungking
+#usr/share/zoneinfo/posix/Asia/Colombo
+#usr/share/zoneinfo/posix/Asia/Dacca
+#usr/share/zoneinfo/posix/Asia/Damascus
+#usr/share/zoneinfo/posix/Asia/Dhaka
+#usr/share/zoneinfo/posix/Asia/Dili
+#usr/share/zoneinfo/posix/Asia/Dubai
+#usr/share/zoneinfo/posix/Asia/Dushanbe
+#usr/share/zoneinfo/posix/Asia/Gaza
+#usr/share/zoneinfo/posix/Asia/Harbin
+#usr/share/zoneinfo/posix/Asia/Hong_Kong
+#usr/share/zoneinfo/posix/Asia/Hovd
+#usr/share/zoneinfo/posix/Asia/Irkutsk
+#usr/share/zoneinfo/posix/Asia/Istanbul
+#usr/share/zoneinfo/posix/Asia/Jakarta
+#usr/share/zoneinfo/posix/Asia/Jayapura
+#usr/share/zoneinfo/posix/Asia/Jerusalem
+#usr/share/zoneinfo/posix/Asia/Kabul
+#usr/share/zoneinfo/posix/Asia/Kamchatka
+#usr/share/zoneinfo/posix/Asia/Karachi
+#usr/share/zoneinfo/posix/Asia/Kashgar
+#usr/share/zoneinfo/posix/Asia/Katmandu
+#usr/share/zoneinfo/posix/Asia/Krasnoyarsk
+#usr/share/zoneinfo/posix/Asia/Kuala_Lumpur
+#usr/share/zoneinfo/posix/Asia/Kuching
+#usr/share/zoneinfo/posix/Asia/Kuwait
+#usr/share/zoneinfo/posix/Asia/Macao
+#usr/share/zoneinfo/posix/Asia/Macau
+#usr/share/zoneinfo/posix/Asia/Magadan
+#usr/share/zoneinfo/posix/Asia/Makassar
+#usr/share/zoneinfo/posix/Asia/Manila
+#usr/share/zoneinfo/posix/Asia/Muscat
+#usr/share/zoneinfo/posix/Asia/Nicosia
+#usr/share/zoneinfo/posix/Asia/Novosibirsk
+#usr/share/zoneinfo/posix/Asia/Omsk
+#usr/share/zoneinfo/posix/Asia/Oral
+#usr/share/zoneinfo/posix/Asia/Phnom_Penh
+#usr/share/zoneinfo/posix/Asia/Pontianak
+#usr/share/zoneinfo/posix/Asia/Pyongyang
+#usr/share/zoneinfo/posix/Asia/Qatar
+#usr/share/zoneinfo/posix/Asia/Qyzylorda
+#usr/share/zoneinfo/posix/Asia/Rangoon
+#usr/share/zoneinfo/posix/Asia/Riyadh
+#usr/share/zoneinfo/posix/Asia/Riyadh87
+#usr/share/zoneinfo/posix/Asia/Riyadh88
+#usr/share/zoneinfo/posix/Asia/Riyadh89
+#usr/share/zoneinfo/posix/Asia/Saigon
+#usr/share/zoneinfo/posix/Asia/Sakhalin
+#usr/share/zoneinfo/posix/Asia/Samarkand
+#usr/share/zoneinfo/posix/Asia/Seoul
+#usr/share/zoneinfo/posix/Asia/Shanghai
+#usr/share/zoneinfo/posix/Asia/Singapore
+#usr/share/zoneinfo/posix/Asia/Taipei
+#usr/share/zoneinfo/posix/Asia/Tashkent
+#usr/share/zoneinfo/posix/Asia/Tbilisi
+#usr/share/zoneinfo/posix/Asia/Tehran
+#usr/share/zoneinfo/posix/Asia/Tel_Aviv
+#usr/share/zoneinfo/posix/Asia/Thimbu
+#usr/share/zoneinfo/posix/Asia/Thimphu
+#usr/share/zoneinfo/posix/Asia/Tokyo
+#usr/share/zoneinfo/posix/Asia/Ujung_Pandang
+#usr/share/zoneinfo/posix/Asia/Ulaanbaatar
+#usr/share/zoneinfo/posix/Asia/Ulan_Bator
+#usr/share/zoneinfo/posix/Asia/Urumqi
+#usr/share/zoneinfo/posix/Asia/Vientiane
+#usr/share/zoneinfo/posix/Asia/Vladivostok
+#usr/share/zoneinfo/posix/Asia/Yakutsk
+#usr/share/zoneinfo/posix/Asia/Yekaterinburg
+#usr/share/zoneinfo/posix/Asia/Yerevan
+#usr/share/zoneinfo/posix/Atlantic
+#usr/share/zoneinfo/posix/Atlantic/Azores
+#usr/share/zoneinfo/posix/Atlantic/Bermuda
+#usr/share/zoneinfo/posix/Atlantic/Canary
+#usr/share/zoneinfo/posix/Atlantic/Cape_Verde
+#usr/share/zoneinfo/posix/Atlantic/Faeroe
+#usr/share/zoneinfo/posix/Atlantic/Jan_Mayen
+#usr/share/zoneinfo/posix/Atlantic/Madeira
+#usr/share/zoneinfo/posix/Atlantic/Reykjavik
+#usr/share/zoneinfo/posix/Atlantic/South_Georgia
+#usr/share/zoneinfo/posix/Atlantic/St_Helena
+#usr/share/zoneinfo/posix/Atlantic/Stanley
+#usr/share/zoneinfo/posix/Australia
+#usr/share/zoneinfo/posix/Australia/ACT
+#usr/share/zoneinfo/posix/Australia/Adelaide
+#usr/share/zoneinfo/posix/Australia/Brisbane
+#usr/share/zoneinfo/posix/Australia/Broken_Hill
+#usr/share/zoneinfo/posix/Australia/Canberra
+#usr/share/zoneinfo/posix/Australia/Darwin
+#usr/share/zoneinfo/posix/Australia/Hobart
+#usr/share/zoneinfo/posix/Australia/LHI
+#usr/share/zoneinfo/posix/Australia/Lindeman
+#usr/share/zoneinfo/posix/Australia/Lord_Howe
+#usr/share/zoneinfo/posix/Australia/Melbourne
+#usr/share/zoneinfo/posix/Australia/NSW
+#usr/share/zoneinfo/posix/Australia/North
+#usr/share/zoneinfo/posix/Australia/Perth
+#usr/share/zoneinfo/posix/Australia/Queensland
+#usr/share/zoneinfo/posix/Australia/South
+#usr/share/zoneinfo/posix/Australia/Sydney
+#usr/share/zoneinfo/posix/Australia/Tasmania
+#usr/share/zoneinfo/posix/Australia/Victoria
+#usr/share/zoneinfo/posix/Australia/West
+#usr/share/zoneinfo/posix/Australia/Yancowinna
+#usr/share/zoneinfo/posix/Brazil
+#usr/share/zoneinfo/posix/Brazil/Acre
+#usr/share/zoneinfo/posix/Brazil/DeNoronha
+#usr/share/zoneinfo/posix/Brazil/East
+#usr/share/zoneinfo/posix/Brazil/West
+#usr/share/zoneinfo/posix/CET
+#usr/share/zoneinfo/posix/CST6CDT
+#usr/share/zoneinfo/posix/Canada
+#usr/share/zoneinfo/posix/Canada/Atlantic
+#usr/share/zoneinfo/posix/Canada/Central
+#usr/share/zoneinfo/posix/Canada/East-Saskatchewan
+#usr/share/zoneinfo/posix/Canada/Eastern
+#usr/share/zoneinfo/posix/Canada/Mountain
+#usr/share/zoneinfo/posix/Canada/Newfoundland
+#usr/share/zoneinfo/posix/Canada/Pacific
+#usr/share/zoneinfo/posix/Canada/Saskatchewan
+#usr/share/zoneinfo/posix/Canada/Yukon
+#usr/share/zoneinfo/posix/Chile
+#usr/share/zoneinfo/posix/Chile/Continental
+#usr/share/zoneinfo/posix/Chile/EasterIsland
+#usr/share/zoneinfo/posix/Cuba
+#usr/share/zoneinfo/posix/EET
+#usr/share/zoneinfo/posix/EST
+#usr/share/zoneinfo/posix/EST5EDT
+#usr/share/zoneinfo/posix/Egypt
+#usr/share/zoneinfo/posix/Eire
+#usr/share/zoneinfo/posix/Etc
+#usr/share/zoneinfo/posix/Etc/GMT
+#usr/share/zoneinfo/posix/Etc/GMT+0
+#usr/share/zoneinfo/posix/Etc/GMT+1
+#usr/share/zoneinfo/posix/Etc/GMT+10
+#usr/share/zoneinfo/posix/Etc/GMT+11
+#usr/share/zoneinfo/posix/Etc/GMT+12
+#usr/share/zoneinfo/posix/Etc/GMT+2
+#usr/share/zoneinfo/posix/Etc/GMT+3
+#usr/share/zoneinfo/posix/Etc/GMT+4
+#usr/share/zoneinfo/posix/Etc/GMT+5
+#usr/share/zoneinfo/posix/Etc/GMT+6
+#usr/share/zoneinfo/posix/Etc/GMT+7
+#usr/share/zoneinfo/posix/Etc/GMT+8
+#usr/share/zoneinfo/posix/Etc/GMT+9
+#usr/share/zoneinfo/posix/Etc/GMT-0
+#usr/share/zoneinfo/posix/Etc/GMT-1
+#usr/share/zoneinfo/posix/Etc/GMT-10
+#usr/share/zoneinfo/posix/Etc/GMT-11
+#usr/share/zoneinfo/posix/Etc/GMT-12
+#usr/share/zoneinfo/posix/Etc/GMT-13
+#usr/share/zoneinfo/posix/Etc/GMT-14
+#usr/share/zoneinfo/posix/Etc/GMT-2
+#usr/share/zoneinfo/posix/Etc/GMT-3
+#usr/share/zoneinfo/posix/Etc/GMT-4
+#usr/share/zoneinfo/posix/Etc/GMT-5
+#usr/share/zoneinfo/posix/Etc/GMT-6
+#usr/share/zoneinfo/posix/Etc/GMT-7
+#usr/share/zoneinfo/posix/Etc/GMT-8
+#usr/share/zoneinfo/posix/Etc/GMT-9
+#usr/share/zoneinfo/posix/Etc/GMT0
+#usr/share/zoneinfo/posix/Etc/Greenwich
+#usr/share/zoneinfo/posix/Etc/UCT
+#usr/share/zoneinfo/posix/Etc/UTC
+#usr/share/zoneinfo/posix/Etc/Universal
+#usr/share/zoneinfo/posix/Etc/Zulu
+#usr/share/zoneinfo/posix/Europe
+#usr/share/zoneinfo/posix/Europe/Amsterdam
+#usr/share/zoneinfo/posix/Europe/Andorra
+#usr/share/zoneinfo/posix/Europe/Athens
+#usr/share/zoneinfo/posix/Europe/Belfast
+#usr/share/zoneinfo/posix/Europe/Belgrade
+#usr/share/zoneinfo/posix/Europe/Berlin
+#usr/share/zoneinfo/posix/Europe/Bratislava
+#usr/share/zoneinfo/posix/Europe/Brussels
+#usr/share/zoneinfo/posix/Europe/Bucharest
+#usr/share/zoneinfo/posix/Europe/Budapest
+#usr/share/zoneinfo/posix/Europe/Chisinau
+#usr/share/zoneinfo/posix/Europe/Copenhagen
+#usr/share/zoneinfo/posix/Europe/Dublin
+#usr/share/zoneinfo/posix/Europe/Gibraltar
+#usr/share/zoneinfo/posix/Europe/Helsinki
+#usr/share/zoneinfo/posix/Europe/Istanbul
+#usr/share/zoneinfo/posix/Europe/Kaliningrad
+#usr/share/zoneinfo/posix/Europe/Kiev
+#usr/share/zoneinfo/posix/Europe/Lisbon
+#usr/share/zoneinfo/posix/Europe/Ljubljana
+#usr/share/zoneinfo/posix/Europe/London
+#usr/share/zoneinfo/posix/Europe/Luxembourg
+#usr/share/zoneinfo/posix/Europe/Madrid
+#usr/share/zoneinfo/posix/Europe/Malta
+#usr/share/zoneinfo/posix/Europe/Minsk
+#usr/share/zoneinfo/posix/Europe/Monaco
+#usr/share/zoneinfo/posix/Europe/Moscow
+#usr/share/zoneinfo/posix/Europe/Nicosia
+#usr/share/zoneinfo/posix/Europe/Oslo
+#usr/share/zoneinfo/posix/Europe/Paris
+#usr/share/zoneinfo/posix/Europe/Prague
+#usr/share/zoneinfo/posix/Europe/Riga
+#usr/share/zoneinfo/posix/Europe/Rome
+#usr/share/zoneinfo/posix/Europe/Samara
+#usr/share/zoneinfo/posix/Europe/San_Marino
+#usr/share/zoneinfo/posix/Europe/Sarajevo
+#usr/share/zoneinfo/posix/Europe/Simferopol
+#usr/share/zoneinfo/posix/Europe/Skopje
+#usr/share/zoneinfo/posix/Europe/Sofia
+#usr/share/zoneinfo/posix/Europe/Stockholm
+#usr/share/zoneinfo/posix/Europe/Tallinn
+#usr/share/zoneinfo/posix/Europe/Tirane
+#usr/share/zoneinfo/posix/Europe/Tiraspol
+#usr/share/zoneinfo/posix/Europe/Uzhgorod
+#usr/share/zoneinfo/posix/Europe/Vaduz
+#usr/share/zoneinfo/posix/Europe/Vatican
+#usr/share/zoneinfo/posix/Europe/Vienna
+#usr/share/zoneinfo/posix/Europe/Vilnius
+#usr/share/zoneinfo/posix/Europe/Warsaw
+#usr/share/zoneinfo/posix/Europe/Zagreb
+#usr/share/zoneinfo/posix/Europe/Zaporozhye
+#usr/share/zoneinfo/posix/Europe/Zurich
+#usr/share/zoneinfo/posix/Factory
+#usr/share/zoneinfo/posix/GB
+#usr/share/zoneinfo/posix/GB-Eire
+#usr/share/zoneinfo/posix/GMT
+#usr/share/zoneinfo/posix/GMT+0
+#usr/share/zoneinfo/posix/GMT-0
+#usr/share/zoneinfo/posix/GMT0
+#usr/share/zoneinfo/posix/Greenwich
+#usr/share/zoneinfo/posix/HST
+#usr/share/zoneinfo/posix/Hongkong
+#usr/share/zoneinfo/posix/Iceland
+#usr/share/zoneinfo/posix/Indian
+#usr/share/zoneinfo/posix/Indian/Antananarivo
+#usr/share/zoneinfo/posix/Indian/Chagos
+#usr/share/zoneinfo/posix/Indian/Christmas
+#usr/share/zoneinfo/posix/Indian/Cocos
+#usr/share/zoneinfo/posix/Indian/Comoro
+#usr/share/zoneinfo/posix/Indian/Kerguelen
+#usr/share/zoneinfo/posix/Indian/Mahe
+#usr/share/zoneinfo/posix/Indian/Maldives
+#usr/share/zoneinfo/posix/Indian/Mauritius
+#usr/share/zoneinfo/posix/Indian/Mayotte
+#usr/share/zoneinfo/posix/Indian/Reunion
+#usr/share/zoneinfo/posix/Iran
+#usr/share/zoneinfo/posix/Israel
+#usr/share/zoneinfo/posix/Jamaica
+#usr/share/zoneinfo/posix/Japan
+#usr/share/zoneinfo/posix/Kwajalein
+#usr/share/zoneinfo/posix/Libya
+#usr/share/zoneinfo/posix/MET
+#usr/share/zoneinfo/posix/MST
+#usr/share/zoneinfo/posix/MST7MDT
+#usr/share/zoneinfo/posix/Mexico
+#usr/share/zoneinfo/posix/Mexico/BajaNorte
+#usr/share/zoneinfo/posix/Mexico/BajaSur
+#usr/share/zoneinfo/posix/Mexico/General
+#usr/share/zoneinfo/posix/Mideast
+#usr/share/zoneinfo/posix/Mideast/Riyadh87
+#usr/share/zoneinfo/posix/Mideast/Riyadh88
+#usr/share/zoneinfo/posix/Mideast/Riyadh89
+#usr/share/zoneinfo/posix/NZ
+#usr/share/zoneinfo/posix/NZ-CHAT
+#usr/share/zoneinfo/posix/Navajo
+#usr/share/zoneinfo/posix/PRC
+#usr/share/zoneinfo/posix/PST8PDT
+#usr/share/zoneinfo/posix/Pacific
+#usr/share/zoneinfo/posix/Pacific/Apia
+#usr/share/zoneinfo/posix/Pacific/Auckland
+#usr/share/zoneinfo/posix/Pacific/Chatham
+#usr/share/zoneinfo/posix/Pacific/Easter
+#usr/share/zoneinfo/posix/Pacific/Efate
+#usr/share/zoneinfo/posix/Pacific/Enderbury
+#usr/share/zoneinfo/posix/Pacific/Fakaofo
+#usr/share/zoneinfo/posix/Pacific/Fiji
+#usr/share/zoneinfo/posix/Pacific/Funafuti
+#usr/share/zoneinfo/posix/Pacific/Galapagos
+#usr/share/zoneinfo/posix/Pacific/Gambier
+#usr/share/zoneinfo/posix/Pacific/Guadalcanal
+#usr/share/zoneinfo/posix/Pacific/Guam
+#usr/share/zoneinfo/posix/Pacific/Honolulu
+#usr/share/zoneinfo/posix/Pacific/Johnston
+#usr/share/zoneinfo/posix/Pacific/Kiritimati
+#usr/share/zoneinfo/posix/Pacific/Kosrae
+#usr/share/zoneinfo/posix/Pacific/Kwajalein
+#usr/share/zoneinfo/posix/Pacific/Majuro
+#usr/share/zoneinfo/posix/Pacific/Marquesas
+#usr/share/zoneinfo/posix/Pacific/Midway
+#usr/share/zoneinfo/posix/Pacific/Nauru
+#usr/share/zoneinfo/posix/Pacific/Niue
+#usr/share/zoneinfo/posix/Pacific/Norfolk
+#usr/share/zoneinfo/posix/Pacific/Noumea
+#usr/share/zoneinfo/posix/Pacific/Pago_Pago
+#usr/share/zoneinfo/posix/Pacific/Palau
+#usr/share/zoneinfo/posix/Pacific/Pitcairn
+#usr/share/zoneinfo/posix/Pacific/Ponape
+#usr/share/zoneinfo/posix/Pacific/Port_Moresby
+#usr/share/zoneinfo/posix/Pacific/Rarotonga
+#usr/share/zoneinfo/posix/Pacific/Saipan
+#usr/share/zoneinfo/posix/Pacific/Samoa
+#usr/share/zoneinfo/posix/Pacific/Tahiti
+#usr/share/zoneinfo/posix/Pacific/Tarawa
+#usr/share/zoneinfo/posix/Pacific/Tongatapu
+#usr/share/zoneinfo/posix/Pacific/Truk
+#usr/share/zoneinfo/posix/Pacific/Wake
+#usr/share/zoneinfo/posix/Pacific/Wallis
+#usr/share/zoneinfo/posix/Pacific/Yap
+#usr/share/zoneinfo/posix/Poland
+#usr/share/zoneinfo/posix/Portugal
+#usr/share/zoneinfo/posix/ROC
+#usr/share/zoneinfo/posix/ROK
+#usr/share/zoneinfo/posix/Singapore
+#usr/share/zoneinfo/posix/SystemV
+#usr/share/zoneinfo/posix/SystemV/AST4
+#usr/share/zoneinfo/posix/SystemV/AST4ADT
+#usr/share/zoneinfo/posix/SystemV/CST6
+#usr/share/zoneinfo/posix/SystemV/CST6CDT
+#usr/share/zoneinfo/posix/SystemV/EST5
+#usr/share/zoneinfo/posix/SystemV/EST5EDT
+#usr/share/zoneinfo/posix/SystemV/HST10
+#usr/share/zoneinfo/posix/SystemV/MST7
+#usr/share/zoneinfo/posix/SystemV/MST7MDT
+#usr/share/zoneinfo/posix/SystemV/PST8
+#usr/share/zoneinfo/posix/SystemV/PST8PDT
+#usr/share/zoneinfo/posix/SystemV/YST9
+#usr/share/zoneinfo/posix/SystemV/YST9YDT
+#usr/share/zoneinfo/posix/Turkey
+#usr/share/zoneinfo/posix/UCT
+#usr/share/zoneinfo/posix/US
+#usr/share/zoneinfo/posix/US/Alaska
+#usr/share/zoneinfo/posix/US/Aleutian
+#usr/share/zoneinfo/posix/US/Arizona
+#usr/share/zoneinfo/posix/US/Central
+#usr/share/zoneinfo/posix/US/East-Indiana
+#usr/share/zoneinfo/posix/US/Eastern
+#usr/share/zoneinfo/posix/US/Hawaii
+#usr/share/zoneinfo/posix/US/Indiana-Starke
+#usr/share/zoneinfo/posix/US/Michigan
+#usr/share/zoneinfo/posix/US/Mountain
+#usr/share/zoneinfo/posix/US/Pacific
+#usr/share/zoneinfo/posix/US/Samoa
+#usr/share/zoneinfo/posix/UTC
+#usr/share/zoneinfo/posix/Universal
+#usr/share/zoneinfo/posix/W-SU
+#usr/share/zoneinfo/posix/WET
+#usr/share/zoneinfo/posix/Zulu
+#usr/share/zoneinfo/posixrules
+#usr/share/zoneinfo/right
+#usr/share/zoneinfo/right/Africa
+#usr/share/zoneinfo/right/Africa/Abidjan
+#usr/share/zoneinfo/right/Africa/Accra
+#usr/share/zoneinfo/right/Africa/Addis_Ababa
+#usr/share/zoneinfo/right/Africa/Algiers
+#usr/share/zoneinfo/right/Africa/Asmera
+#usr/share/zoneinfo/right/Africa/Bamako
+#usr/share/zoneinfo/right/Africa/Bangui
+#usr/share/zoneinfo/right/Africa/Banjul
+#usr/share/zoneinfo/right/Africa/Bissau
+#usr/share/zoneinfo/right/Africa/Blantyre
+#usr/share/zoneinfo/right/Africa/Brazzaville
+#usr/share/zoneinfo/right/Africa/Bujumbura
+#usr/share/zoneinfo/right/Africa/Cairo
+#usr/share/zoneinfo/right/Africa/Casablanca
+#usr/share/zoneinfo/right/Africa/Ceuta
+#usr/share/zoneinfo/right/Africa/Conakry
+#usr/share/zoneinfo/right/Africa/Dakar
+#usr/share/zoneinfo/right/Africa/Dar_es_Salaam
+#usr/share/zoneinfo/right/Africa/Djibouti
+#usr/share/zoneinfo/right/Africa/Douala
+#usr/share/zoneinfo/right/Africa/El_Aaiun
+#usr/share/zoneinfo/right/Africa/Freetown
+#usr/share/zoneinfo/right/Africa/Gaborone
+#usr/share/zoneinfo/right/Africa/Harare
+#usr/share/zoneinfo/right/Africa/Johannesburg
+#usr/share/zoneinfo/right/Africa/Kampala
+#usr/share/zoneinfo/right/Africa/Khartoum
+#usr/share/zoneinfo/right/Africa/Kigali
+#usr/share/zoneinfo/right/Africa/Kinshasa
+#usr/share/zoneinfo/right/Africa/Lagos
+#usr/share/zoneinfo/right/Africa/Libreville
+#usr/share/zoneinfo/right/Africa/Lome
+#usr/share/zoneinfo/right/Africa/Luanda
+#usr/share/zoneinfo/right/Africa/Lubumbashi
+#usr/share/zoneinfo/right/Africa/Lusaka
+#usr/share/zoneinfo/right/Africa/Malabo
+#usr/share/zoneinfo/right/Africa/Maputo
+#usr/share/zoneinfo/right/Africa/Maseru
+#usr/share/zoneinfo/right/Africa/Mbabane
+#usr/share/zoneinfo/right/Africa/Mogadishu
+#usr/share/zoneinfo/right/Africa/Monrovia
+#usr/share/zoneinfo/right/Africa/Nairobi
+#usr/share/zoneinfo/right/Africa/Ndjamena
+#usr/share/zoneinfo/right/Africa/Niamey
+#usr/share/zoneinfo/right/Africa/Nouakchott
+#usr/share/zoneinfo/right/Africa/Ouagadougou
+#usr/share/zoneinfo/right/Africa/Porto-Novo
+#usr/share/zoneinfo/right/Africa/Sao_Tome
+#usr/share/zoneinfo/right/Africa/Timbuktu
+#usr/share/zoneinfo/right/Africa/Tripoli
+#usr/share/zoneinfo/right/Africa/Tunis
+#usr/share/zoneinfo/right/Africa/Windhoek
+#usr/share/zoneinfo/right/America
+#usr/share/zoneinfo/right/America/Adak
+#usr/share/zoneinfo/right/America/Anchorage
+#usr/share/zoneinfo/right/America/Anguilla
+#usr/share/zoneinfo/right/America/Antigua
+#usr/share/zoneinfo/right/America/Araguaina
+#usr/share/zoneinfo/right/America/Aruba
+#usr/share/zoneinfo/right/America/Asuncion
+#usr/share/zoneinfo/right/America/Atka
+#usr/share/zoneinfo/right/America/Barbados
+#usr/share/zoneinfo/right/America/Belem
+#usr/share/zoneinfo/right/America/Belize
+#usr/share/zoneinfo/right/America/Boa_Vista
+#usr/share/zoneinfo/right/America/Bogota
+#usr/share/zoneinfo/right/America/Boise
+#usr/share/zoneinfo/right/America/Buenos_Aires
+#usr/share/zoneinfo/right/America/Cambridge_Bay
+#usr/share/zoneinfo/right/America/Cancun
+#usr/share/zoneinfo/right/America/Caracas
+#usr/share/zoneinfo/right/America/Catamarca
+#usr/share/zoneinfo/right/America/Cayenne
+#usr/share/zoneinfo/right/America/Cayman
+#usr/share/zoneinfo/right/America/Chicago
+#usr/share/zoneinfo/right/America/Chihuahua
+#usr/share/zoneinfo/right/America/Cordoba
+#usr/share/zoneinfo/right/America/Costa_Rica
+#usr/share/zoneinfo/right/America/Cuiaba
+#usr/share/zoneinfo/right/America/Curacao
+#usr/share/zoneinfo/right/America/Danmarkshavn
+#usr/share/zoneinfo/right/America/Dawson
+#usr/share/zoneinfo/right/America/Dawson_Creek
+#usr/share/zoneinfo/right/America/Denver
+#usr/share/zoneinfo/right/America/Detroit
+#usr/share/zoneinfo/right/America/Dominica
+#usr/share/zoneinfo/right/America/Edmonton
+#usr/share/zoneinfo/right/America/Eirunepe
+#usr/share/zoneinfo/right/America/El_Salvador
+#usr/share/zoneinfo/right/America/Ensenada
+#usr/share/zoneinfo/right/America/Fort_Wayne
+#usr/share/zoneinfo/right/America/Fortaleza
+#usr/share/zoneinfo/right/America/Glace_Bay
+#usr/share/zoneinfo/right/America/Godthab
+#usr/share/zoneinfo/right/America/Goose_Bay
+#usr/share/zoneinfo/right/America/Grand_Turk
+#usr/share/zoneinfo/right/America/Grenada
+#usr/share/zoneinfo/right/America/Guadeloupe
+#usr/share/zoneinfo/right/America/Guatemala
+#usr/share/zoneinfo/right/America/Guayaquil
+#usr/share/zoneinfo/right/America/Guyana
+#usr/share/zoneinfo/right/America/Halifax
+#usr/share/zoneinfo/right/America/Havana
+#usr/share/zoneinfo/right/America/Hermosillo
+#usr/share/zoneinfo/right/America/Indiana
+#usr/share/zoneinfo/right/America/Indiana/Indianapolis
+#usr/share/zoneinfo/right/America/Indiana/Knox
+#usr/share/zoneinfo/right/America/Indiana/Marengo
+#usr/share/zoneinfo/right/America/Indiana/Vevay
+#usr/share/zoneinfo/right/America/Indianapolis
+#usr/share/zoneinfo/right/America/Inuvik
+#usr/share/zoneinfo/right/America/Iqaluit
+#usr/share/zoneinfo/right/America/Jamaica
+#usr/share/zoneinfo/right/America/Jujuy
+#usr/share/zoneinfo/right/America/Juneau
+#usr/share/zoneinfo/right/America/Kentucky
+#usr/share/zoneinfo/right/America/Kentucky/Louisville
+#usr/share/zoneinfo/right/America/Kentucky/Monticello
+#usr/share/zoneinfo/right/America/Knox_IN
+#usr/share/zoneinfo/right/America/La_Paz
+#usr/share/zoneinfo/right/America/Lima
+#usr/share/zoneinfo/right/America/Los_Angeles
+#usr/share/zoneinfo/right/America/Louisville
+#usr/share/zoneinfo/right/America/Maceio
+#usr/share/zoneinfo/right/America/Managua
+#usr/share/zoneinfo/right/America/Manaus
+#usr/share/zoneinfo/right/America/Martinique
+#usr/share/zoneinfo/right/America/Mazatlan
+#usr/share/zoneinfo/right/America/Mendoza
+#usr/share/zoneinfo/right/America/Menominee
+#usr/share/zoneinfo/right/America/Merida
+#usr/share/zoneinfo/right/America/Mexico_City
+#usr/share/zoneinfo/right/America/Miquelon
+#usr/share/zoneinfo/right/America/Monterrey
+#usr/share/zoneinfo/right/America/Montevideo
+#usr/share/zoneinfo/right/America/Montreal
+#usr/share/zoneinfo/right/America/Montserrat
+#usr/share/zoneinfo/right/America/Nassau
+#usr/share/zoneinfo/right/America/New_York
+#usr/share/zoneinfo/right/America/Nipigon
+#usr/share/zoneinfo/right/America/Nome
+#usr/share/zoneinfo/right/America/Noronha
+#usr/share/zoneinfo/right/America/North_Dakota
+#usr/share/zoneinfo/right/America/North_Dakota/Center
+#usr/share/zoneinfo/right/America/Panama
+#usr/share/zoneinfo/right/America/Pangnirtung
+#usr/share/zoneinfo/right/America/Paramaribo
+#usr/share/zoneinfo/right/America/Phoenix
+#usr/share/zoneinfo/right/America/Port-au-Prince
+#usr/share/zoneinfo/right/America/Port_of_Spain
+#usr/share/zoneinfo/right/America/Porto_Acre
+#usr/share/zoneinfo/right/America/Porto_Velho
+#usr/share/zoneinfo/right/America/Puerto_Rico
+#usr/share/zoneinfo/right/America/Rainy_River
+#usr/share/zoneinfo/right/America/Rankin_Inlet
+#usr/share/zoneinfo/right/America/Recife
+#usr/share/zoneinfo/right/America/Regina
+#usr/share/zoneinfo/right/America/Rio_Branco
+#usr/share/zoneinfo/right/America/Rosario
+#usr/share/zoneinfo/right/America/Santiago
+#usr/share/zoneinfo/right/America/Santo_Domingo
+#usr/share/zoneinfo/right/America/Sao_Paulo
+#usr/share/zoneinfo/right/America/Scoresbysund
+#usr/share/zoneinfo/right/America/Shiprock
+#usr/share/zoneinfo/right/America/St_Johns
+#usr/share/zoneinfo/right/America/St_Kitts
+#usr/share/zoneinfo/right/America/St_Lucia
+#usr/share/zoneinfo/right/America/St_Thomas
+#usr/share/zoneinfo/right/America/St_Vincent
+#usr/share/zoneinfo/right/America/Swift_Current
+#usr/share/zoneinfo/right/America/Tegucigalpa
+#usr/share/zoneinfo/right/America/Thule
+#usr/share/zoneinfo/right/America/Thunder_Bay
+#usr/share/zoneinfo/right/America/Tijuana
+#usr/share/zoneinfo/right/America/Tortola
+#usr/share/zoneinfo/right/America/Vancouver
+#usr/share/zoneinfo/right/America/Virgin
+#usr/share/zoneinfo/right/America/Whitehorse
+#usr/share/zoneinfo/right/America/Winnipeg
+#usr/share/zoneinfo/right/America/Yakutat
+#usr/share/zoneinfo/right/America/Yellowknife
+#usr/share/zoneinfo/right/Antarctica
+#usr/share/zoneinfo/right/Antarctica/Casey
+#usr/share/zoneinfo/right/Antarctica/Davis
+#usr/share/zoneinfo/right/Antarctica/DumontDUrville
+#usr/share/zoneinfo/right/Antarctica/Mawson
+#usr/share/zoneinfo/right/Antarctica/McMurdo
+#usr/share/zoneinfo/right/Antarctica/Palmer
+#usr/share/zoneinfo/right/Antarctica/South_Pole
+#usr/share/zoneinfo/right/Antarctica/Syowa
+#usr/share/zoneinfo/right/Antarctica/Vostok
+#usr/share/zoneinfo/right/Arctic
+#usr/share/zoneinfo/right/Arctic/Longyearbyen
+#usr/share/zoneinfo/right/Asia
+#usr/share/zoneinfo/right/Asia/Aden
+#usr/share/zoneinfo/right/Asia/Almaty
+#usr/share/zoneinfo/right/Asia/Amman
+#usr/share/zoneinfo/right/Asia/Anadyr
+#usr/share/zoneinfo/right/Asia/Aqtau
+#usr/share/zoneinfo/right/Asia/Aqtobe
+#usr/share/zoneinfo/right/Asia/Ashgabat
+#usr/share/zoneinfo/right/Asia/Ashkhabad
+#usr/share/zoneinfo/right/Asia/Baghdad
+#usr/share/zoneinfo/right/Asia/Bahrain
+#usr/share/zoneinfo/right/Asia/Baku
+#usr/share/zoneinfo/right/Asia/Bangkok
+#usr/share/zoneinfo/right/Asia/Beirut
+#usr/share/zoneinfo/right/Asia/Bishkek
+#usr/share/zoneinfo/right/Asia/Brunei
+#usr/share/zoneinfo/right/Asia/Calcutta
+#usr/share/zoneinfo/right/Asia/Choibalsan
+#usr/share/zoneinfo/right/Asia/Chongqing
+#usr/share/zoneinfo/right/Asia/Chungking
+#usr/share/zoneinfo/right/Asia/Colombo
+#usr/share/zoneinfo/right/Asia/Dacca
+#usr/share/zoneinfo/right/Asia/Damascus
+#usr/share/zoneinfo/right/Asia/Dhaka
+#usr/share/zoneinfo/right/Asia/Dili
+#usr/share/zoneinfo/right/Asia/Dubai
+#usr/share/zoneinfo/right/Asia/Dushanbe
+#usr/share/zoneinfo/right/Asia/Gaza
+#usr/share/zoneinfo/right/Asia/Harbin
+#usr/share/zoneinfo/right/Asia/Hong_Kong
+#usr/share/zoneinfo/right/Asia/Hovd
+#usr/share/zoneinfo/right/Asia/Irkutsk
+#usr/share/zoneinfo/right/Asia/Istanbul
+#usr/share/zoneinfo/right/Asia/Jakarta
+#usr/share/zoneinfo/right/Asia/Jayapura
+#usr/share/zoneinfo/right/Asia/Jerusalem
+#usr/share/zoneinfo/right/Asia/Kabul
+#usr/share/zoneinfo/right/Asia/Kamchatka
+#usr/share/zoneinfo/right/Asia/Karachi
+#usr/share/zoneinfo/right/Asia/Kashgar
+#usr/share/zoneinfo/right/Asia/Katmandu
+#usr/share/zoneinfo/right/Asia/Krasnoyarsk
+#usr/share/zoneinfo/right/Asia/Kuala_Lumpur
+#usr/share/zoneinfo/right/Asia/Kuching
+#usr/share/zoneinfo/right/Asia/Kuwait
+#usr/share/zoneinfo/right/Asia/Macao
+#usr/share/zoneinfo/right/Asia/Macau
+#usr/share/zoneinfo/right/Asia/Magadan
+#usr/share/zoneinfo/right/Asia/Makassar
+#usr/share/zoneinfo/right/Asia/Manila
+#usr/share/zoneinfo/right/Asia/Muscat
+#usr/share/zoneinfo/right/Asia/Nicosia
+#usr/share/zoneinfo/right/Asia/Novosibirsk
+#usr/share/zoneinfo/right/Asia/Omsk
+#usr/share/zoneinfo/right/Asia/Oral
+#usr/share/zoneinfo/right/Asia/Phnom_Penh
+#usr/share/zoneinfo/right/Asia/Pontianak
+#usr/share/zoneinfo/right/Asia/Pyongyang
+#usr/share/zoneinfo/right/Asia/Qatar
+#usr/share/zoneinfo/right/Asia/Qyzylorda
+#usr/share/zoneinfo/right/Asia/Rangoon
+#usr/share/zoneinfo/right/Asia/Riyadh
+#usr/share/zoneinfo/right/Asia/Riyadh87
+#usr/share/zoneinfo/right/Asia/Riyadh88
+#usr/share/zoneinfo/right/Asia/Riyadh89
+#usr/share/zoneinfo/right/Asia/Saigon
+#usr/share/zoneinfo/right/Asia/Sakhalin
+#usr/share/zoneinfo/right/Asia/Samarkand
+#usr/share/zoneinfo/right/Asia/Seoul
+#usr/share/zoneinfo/right/Asia/Shanghai
+#usr/share/zoneinfo/right/Asia/Singapore
+#usr/share/zoneinfo/right/Asia/Taipei
+#usr/share/zoneinfo/right/Asia/Tashkent
+#usr/share/zoneinfo/right/Asia/Tbilisi
+#usr/share/zoneinfo/right/Asia/Tehran
+#usr/share/zoneinfo/right/Asia/Tel_Aviv
+#usr/share/zoneinfo/right/Asia/Thimbu
+#usr/share/zoneinfo/right/Asia/Thimphu
+#usr/share/zoneinfo/right/Asia/Tokyo
+#usr/share/zoneinfo/right/Asia/Ujung_Pandang
+#usr/share/zoneinfo/right/Asia/Ulaanbaatar
+#usr/share/zoneinfo/right/Asia/Ulan_Bator
+#usr/share/zoneinfo/right/Asia/Urumqi
+#usr/share/zoneinfo/right/Asia/Vientiane
+#usr/share/zoneinfo/right/Asia/Vladivostok
+#usr/share/zoneinfo/right/Asia/Yakutsk
+#usr/share/zoneinfo/right/Asia/Yekaterinburg
+#usr/share/zoneinfo/right/Asia/Yerevan
+#usr/share/zoneinfo/right/Atlantic
+#usr/share/zoneinfo/right/Atlantic/Azores
+#usr/share/zoneinfo/right/Atlantic/Bermuda
+#usr/share/zoneinfo/right/Atlantic/Canary
+#usr/share/zoneinfo/right/Atlantic/Cape_Verde
+#usr/share/zoneinfo/right/Atlantic/Faeroe
+#usr/share/zoneinfo/right/Atlantic/Jan_Mayen
+#usr/share/zoneinfo/right/Atlantic/Madeira
+#usr/share/zoneinfo/right/Atlantic/Reykjavik
+#usr/share/zoneinfo/right/Atlantic/South_Georgia
+#usr/share/zoneinfo/right/Atlantic/St_Helena
+#usr/share/zoneinfo/right/Atlantic/Stanley
+#usr/share/zoneinfo/right/Australia
+#usr/share/zoneinfo/right/Australia/ACT
+#usr/share/zoneinfo/right/Australia/Adelaide
+#usr/share/zoneinfo/right/Australia/Brisbane
+#usr/share/zoneinfo/right/Australia/Broken_Hill
+#usr/share/zoneinfo/right/Australia/Canberra
+#usr/share/zoneinfo/right/Australia/Darwin
+#usr/share/zoneinfo/right/Australia/Hobart
+#usr/share/zoneinfo/right/Australia/LHI
+#usr/share/zoneinfo/right/Australia/Lindeman
+#usr/share/zoneinfo/right/Australia/Lord_Howe
+#usr/share/zoneinfo/right/Australia/Melbourne
+#usr/share/zoneinfo/right/Australia/NSW
+#usr/share/zoneinfo/right/Australia/North
+#usr/share/zoneinfo/right/Australia/Perth
+#usr/share/zoneinfo/right/Australia/Queensland
+#usr/share/zoneinfo/right/Australia/South
+#usr/share/zoneinfo/right/Australia/Sydney
+#usr/share/zoneinfo/right/Australia/Tasmania
+#usr/share/zoneinfo/right/Australia/Victoria
+#usr/share/zoneinfo/right/Australia/West
+#usr/share/zoneinfo/right/Australia/Yancowinna
+#usr/share/zoneinfo/right/Brazil
+#usr/share/zoneinfo/right/Brazil/Acre
+#usr/share/zoneinfo/right/Brazil/DeNoronha
+#usr/share/zoneinfo/right/Brazil/East
+#usr/share/zoneinfo/right/Brazil/West
+#usr/share/zoneinfo/right/CET
+#usr/share/zoneinfo/right/CST6CDT
+#usr/share/zoneinfo/right/Canada
+#usr/share/zoneinfo/right/Canada/Atlantic
+#usr/share/zoneinfo/right/Canada/Central
+#usr/share/zoneinfo/right/Canada/East-Saskatchewan
+#usr/share/zoneinfo/right/Canada/Eastern
+#usr/share/zoneinfo/right/Canada/Mountain
+#usr/share/zoneinfo/right/Canada/Newfoundland
+#usr/share/zoneinfo/right/Canada/Pacific
+#usr/share/zoneinfo/right/Canada/Saskatchewan
+#usr/share/zoneinfo/right/Canada/Yukon
+#usr/share/zoneinfo/right/Chile
+#usr/share/zoneinfo/right/Chile/Continental
+#usr/share/zoneinfo/right/Chile/EasterIsland
+#usr/share/zoneinfo/right/Cuba
+#usr/share/zoneinfo/right/EET
+#usr/share/zoneinfo/right/EST
+#usr/share/zoneinfo/right/EST5EDT
+#usr/share/zoneinfo/right/Egypt
+#usr/share/zoneinfo/right/Eire
+#usr/share/zoneinfo/right/Etc
+#usr/share/zoneinfo/right/Etc/GMT
+#usr/share/zoneinfo/right/Etc/GMT+0
+#usr/share/zoneinfo/right/Etc/GMT+1
+#usr/share/zoneinfo/right/Etc/GMT+10
+#usr/share/zoneinfo/right/Etc/GMT+11
+#usr/share/zoneinfo/right/Etc/GMT+12
+#usr/share/zoneinfo/right/Etc/GMT+2
+#usr/share/zoneinfo/right/Etc/GMT+3
+#usr/share/zoneinfo/right/Etc/GMT+4
+#usr/share/zoneinfo/right/Etc/GMT+5
+#usr/share/zoneinfo/right/Etc/GMT+6
+#usr/share/zoneinfo/right/Etc/GMT+7
+#usr/share/zoneinfo/right/Etc/GMT+8
+#usr/share/zoneinfo/right/Etc/GMT+9
+#usr/share/zoneinfo/right/Etc/GMT-0
+#usr/share/zoneinfo/right/Etc/GMT-1
+#usr/share/zoneinfo/right/Etc/GMT-10
+#usr/share/zoneinfo/right/Etc/GMT-11
+#usr/share/zoneinfo/right/Etc/GMT-12
+#usr/share/zoneinfo/right/Etc/GMT-13
+#usr/share/zoneinfo/right/Etc/GMT-14
+#usr/share/zoneinfo/right/Etc/GMT-2
+#usr/share/zoneinfo/right/Etc/GMT-3
+#usr/share/zoneinfo/right/Etc/GMT-4
+#usr/share/zoneinfo/right/Etc/GMT-5
+#usr/share/zoneinfo/right/Etc/GMT-6
+#usr/share/zoneinfo/right/Etc/GMT-7
+#usr/share/zoneinfo/right/Etc/GMT-8
+#usr/share/zoneinfo/right/Etc/GMT-9
+#usr/share/zoneinfo/right/Etc/GMT0
+#usr/share/zoneinfo/right/Etc/Greenwich
+#usr/share/zoneinfo/right/Etc/UCT
+#usr/share/zoneinfo/right/Etc/UTC
+#usr/share/zoneinfo/right/Etc/Universal
+#usr/share/zoneinfo/right/Etc/Zulu
+#usr/share/zoneinfo/right/Europe
+#usr/share/zoneinfo/right/Europe/Amsterdam
+#usr/share/zoneinfo/right/Europe/Andorra
+#usr/share/zoneinfo/right/Europe/Athens
+#usr/share/zoneinfo/right/Europe/Belfast
+#usr/share/zoneinfo/right/Europe/Belgrade
+#usr/share/zoneinfo/right/Europe/Berlin
+#usr/share/zoneinfo/right/Europe/Bratislava
+#usr/share/zoneinfo/right/Europe/Brussels
+#usr/share/zoneinfo/right/Europe/Bucharest
+#usr/share/zoneinfo/right/Europe/Budapest
+#usr/share/zoneinfo/right/Europe/Chisinau
+#usr/share/zoneinfo/right/Europe/Copenhagen
+#usr/share/zoneinfo/right/Europe/Dublin
+#usr/share/zoneinfo/right/Europe/Gibraltar
+#usr/share/zoneinfo/right/Europe/Helsinki
+#usr/share/zoneinfo/right/Europe/Istanbul
+#usr/share/zoneinfo/right/Europe/Kaliningrad
+#usr/share/zoneinfo/right/Europe/Kiev
+#usr/share/zoneinfo/right/Europe/Lisbon
+#usr/share/zoneinfo/right/Europe/Ljubljana
+#usr/share/zoneinfo/right/Europe/London
+#usr/share/zoneinfo/right/Europe/Luxembourg
+#usr/share/zoneinfo/right/Europe/Madrid
+#usr/share/zoneinfo/right/Europe/Malta
+#usr/share/zoneinfo/right/Europe/Minsk
+#usr/share/zoneinfo/right/Europe/Monaco
+#usr/share/zoneinfo/right/Europe/Moscow
+#usr/share/zoneinfo/right/Europe/Nicosia
+#usr/share/zoneinfo/right/Europe/Oslo
+#usr/share/zoneinfo/right/Europe/Paris
+#usr/share/zoneinfo/right/Europe/Prague
+#usr/share/zoneinfo/right/Europe/Riga
+#usr/share/zoneinfo/right/Europe/Rome
+#usr/share/zoneinfo/right/Europe/Samara
+#usr/share/zoneinfo/right/Europe/San_Marino
+#usr/share/zoneinfo/right/Europe/Sarajevo
+#usr/share/zoneinfo/right/Europe/Simferopol
+#usr/share/zoneinfo/right/Europe/Skopje
+#usr/share/zoneinfo/right/Europe/Sofia
+#usr/share/zoneinfo/right/Europe/Stockholm
+#usr/share/zoneinfo/right/Europe/Tallinn
+#usr/share/zoneinfo/right/Europe/Tirane
+#usr/share/zoneinfo/right/Europe/Tiraspol
+#usr/share/zoneinfo/right/Europe/Uzhgorod
+#usr/share/zoneinfo/right/Europe/Vaduz
+#usr/share/zoneinfo/right/Europe/Vatican
+#usr/share/zoneinfo/right/Europe/Vienna
+#usr/share/zoneinfo/right/Europe/Vilnius
+#usr/share/zoneinfo/right/Europe/Warsaw
+#usr/share/zoneinfo/right/Europe/Zagreb
+#usr/share/zoneinfo/right/Europe/Zaporozhye
+#usr/share/zoneinfo/right/Europe/Zurich
+#usr/share/zoneinfo/right/Factory
+#usr/share/zoneinfo/right/GB
+#usr/share/zoneinfo/right/GB-Eire
+#usr/share/zoneinfo/right/GMT
+#usr/share/zoneinfo/right/GMT+0
+#usr/share/zoneinfo/right/GMT-0
+#usr/share/zoneinfo/right/GMT0
+#usr/share/zoneinfo/right/Greenwich
+#usr/share/zoneinfo/right/HST
+#usr/share/zoneinfo/right/Hongkong
+#usr/share/zoneinfo/right/Iceland
+#usr/share/zoneinfo/right/Indian
+#usr/share/zoneinfo/right/Indian/Antananarivo
+#usr/share/zoneinfo/right/Indian/Chagos
+#usr/share/zoneinfo/right/Indian/Christmas
+#usr/share/zoneinfo/right/Indian/Cocos
+#usr/share/zoneinfo/right/Indian/Comoro
+#usr/share/zoneinfo/right/Indian/Kerguelen
+#usr/share/zoneinfo/right/Indian/Mahe
+#usr/share/zoneinfo/right/Indian/Maldives
+#usr/share/zoneinfo/right/Indian/Mauritius
+#usr/share/zoneinfo/right/Indian/Mayotte
+#usr/share/zoneinfo/right/Indian/Reunion
+#usr/share/zoneinfo/right/Iran
+#usr/share/zoneinfo/right/Israel
+#usr/share/zoneinfo/right/Jamaica
+#usr/share/zoneinfo/right/Japan
+#usr/share/zoneinfo/right/Kwajalein
+#usr/share/zoneinfo/right/Libya
+#usr/share/zoneinfo/right/MET
+#usr/share/zoneinfo/right/MST
+#usr/share/zoneinfo/right/MST7MDT
+#usr/share/zoneinfo/right/Mexico
+#usr/share/zoneinfo/right/Mexico/BajaNorte
+#usr/share/zoneinfo/right/Mexico/BajaSur
+#usr/share/zoneinfo/right/Mexico/General
+#usr/share/zoneinfo/right/Mideast
+#usr/share/zoneinfo/right/Mideast/Riyadh87
+#usr/share/zoneinfo/right/Mideast/Riyadh88
+#usr/share/zoneinfo/right/Mideast/Riyadh89
+#usr/share/zoneinfo/right/NZ
+#usr/share/zoneinfo/right/NZ-CHAT
+#usr/share/zoneinfo/right/Navajo
+#usr/share/zoneinfo/right/PRC
+#usr/share/zoneinfo/right/PST8PDT
+#usr/share/zoneinfo/right/Pacific
+#usr/share/zoneinfo/right/Pacific/Apia
+#usr/share/zoneinfo/right/Pacific/Auckland
+#usr/share/zoneinfo/right/Pacific/Chatham
+#usr/share/zoneinfo/right/Pacific/Easter
+#usr/share/zoneinfo/right/Pacific/Efate
+#usr/share/zoneinfo/right/Pacific/Enderbury
+#usr/share/zoneinfo/right/Pacific/Fakaofo
+#usr/share/zoneinfo/right/Pacific/Fiji
+#usr/share/zoneinfo/right/Pacific/Funafuti
+#usr/share/zoneinfo/right/Pacific/Galapagos
+#usr/share/zoneinfo/right/Pacific/Gambier
+#usr/share/zoneinfo/right/Pacific/Guadalcanal
+#usr/share/zoneinfo/right/Pacific/Guam
+#usr/share/zoneinfo/right/Pacific/Honolulu
+#usr/share/zoneinfo/right/Pacific/Johnston
+#usr/share/zoneinfo/right/Pacific/Kiritimati
+#usr/share/zoneinfo/right/Pacific/Kosrae
+#usr/share/zoneinfo/right/Pacific/Kwajalein
+#usr/share/zoneinfo/right/Pacific/Majuro
+#usr/share/zoneinfo/right/Pacific/Marquesas
+#usr/share/zoneinfo/right/Pacific/Midway
+#usr/share/zoneinfo/right/Pacific/Nauru
+#usr/share/zoneinfo/right/Pacific/Niue
+#usr/share/zoneinfo/right/Pacific/Norfolk
+#usr/share/zoneinfo/right/Pacific/Noumea
+#usr/share/zoneinfo/right/Pacific/Pago_Pago
+#usr/share/zoneinfo/right/Pacific/Palau
+#usr/share/zoneinfo/right/Pacific/Pitcairn
+#usr/share/zoneinfo/right/Pacific/Ponape
+#usr/share/zoneinfo/right/Pacific/Port_Moresby
+#usr/share/zoneinfo/right/Pacific/Rarotonga
+#usr/share/zoneinfo/right/Pacific/Saipan
+#usr/share/zoneinfo/right/Pacific/Samoa
+#usr/share/zoneinfo/right/Pacific/Tahiti
+#usr/share/zoneinfo/right/Pacific/Tarawa
+#usr/share/zoneinfo/right/Pacific/Tongatapu
+#usr/share/zoneinfo/right/Pacific/Truk
+#usr/share/zoneinfo/right/Pacific/Wake
+#usr/share/zoneinfo/right/Pacific/Wallis
+#usr/share/zoneinfo/right/Pacific/Yap
+#usr/share/zoneinfo/right/Poland
+#usr/share/zoneinfo/right/Portugal
+#usr/share/zoneinfo/right/ROC
+#usr/share/zoneinfo/right/ROK
+#usr/share/zoneinfo/right/Singapore
+#usr/share/zoneinfo/right/SystemV
+#usr/share/zoneinfo/right/SystemV/AST4
+#usr/share/zoneinfo/right/SystemV/AST4ADT
+#usr/share/zoneinfo/right/SystemV/CST6
+#usr/share/zoneinfo/right/SystemV/CST6CDT
+#usr/share/zoneinfo/right/SystemV/EST5
+#usr/share/zoneinfo/right/SystemV/EST5EDT
+#usr/share/zoneinfo/right/SystemV/HST10
+#usr/share/zoneinfo/right/SystemV/MST7
+#usr/share/zoneinfo/right/SystemV/MST7MDT
+#usr/share/zoneinfo/right/SystemV/PST8
+#usr/share/zoneinfo/right/SystemV/PST8PDT
+#usr/share/zoneinfo/right/SystemV/YST9
+#usr/share/zoneinfo/right/SystemV/YST9YDT
+#usr/share/zoneinfo/right/Turkey
+#usr/share/zoneinfo/right/UCT
+#usr/share/zoneinfo/right/US
+#usr/share/zoneinfo/right/US/Alaska
+#usr/share/zoneinfo/right/US/Aleutian
+#usr/share/zoneinfo/right/US/Arizona
+#usr/share/zoneinfo/right/US/Central
+#usr/share/zoneinfo/right/US/East-Indiana
+#usr/share/zoneinfo/right/US/Eastern
+#usr/share/zoneinfo/right/US/Hawaii
+#usr/share/zoneinfo/right/US/Indiana-Starke
+#usr/share/zoneinfo/right/US/Michigan
+#usr/share/zoneinfo/right/US/Mountain
+#usr/share/zoneinfo/right/US/Pacific
+#usr/share/zoneinfo/right/US/Samoa
+#usr/share/zoneinfo/right/UTC
+#usr/share/zoneinfo/right/Universal
+#usr/share/zoneinfo/right/W-SU
+#usr/share/zoneinfo/right/WET
+#usr/share/zoneinfo/right/Zulu
+#usr/share/zoneinfo/zone.tab
+##
+## binutils-2.14
+##
+#usr/bin/addr2line
+#usr/bin/ar
+#usr/bin/as
+#usr/bin/c++filt
+#usr/bin/gprof
+#usr/bin/ld
+#usr/bin/nm
+#usr/bin/objcopy
+#usr/bin/objdump
+#usr/bin/ranlib
+#usr/bin/readelf
+#usr/bin/size
+#usr/bin/strings
+#usr/bin/strip
+#usr/i386-pc-linux-gnu
+#usr/i386-pc-linux-gnu/bin
+#usr/i386-pc-linux-gnu/bin/ar
+#usr/i386-pc-linux-gnu/bin/as
+#usr/i386-pc-linux-gnu/bin/ld
+#usr/i386-pc-linux-gnu/bin/nm
+#usr/i386-pc-linux-gnu/bin/ranlib
+#usr/i386-pc-linux-gnu/bin/strip
+#usr/i386-pc-linux-gnu/lib
+#usr/i386-pc-linux-gnu/lib/ldscripts
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.x
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xbn
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xc
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xn
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xr
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xs
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xsc
+#usr/i386-pc-linux-gnu/lib/ldscripts/elf_i386.xu
+#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.x
+#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xbn
+#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xn
+#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xr
+#usr/i386-pc-linux-gnu/lib/ldscripts/i386linux.xu
+#usr/include/ansidecl.h
+#usr/include/bfd.h
+#usr/include/bfdlink.h
+#usr/include/dis-asm.h
+#usr/include/symcat.h
+#usr/lib/libbfd-2.14.so
+#usr/lib/libbfd.a
+#usr/lib/libbfd.la
+#usr/lib/libbfd.so
+#usr/lib/libiberty.a
+#usr/lib/libopcodes-2.14.so
+#usr/lib/libopcodes.a
+#usr/lib/libopcodes.la
+#usr/lib/libopcodes.so
+#usr/share/info/as.info
+#usr/share/info/bfd.info
+#usr/share/info/bfd.info-1
+#usr/share/info/bfd.info-2
+#usr/share/info/bfd.info-3
+#usr/share/info/bfd.info-4
+#usr/share/info/bfd.info-5
+#usr/share/info/bfd.info-6
+#usr/share/info/bfd.info-7
+#usr/share/info/bfd.info-8
+#usr/share/info/bfd.info-9
+#usr/share/info/binutils.info
+#usr/share/info/configure.info
+#usr/share/info/configure.info-1
+#usr/share/info/configure.info-2
+#usr/share/info/configure.info-3
+#usr/share/info/gprof.info
+#usr/share/info/gprof.info-1
+#usr/share/info/gprof.info-2
+#usr/share/info/gprof.info-3
+#usr/share/info/ld.info
+#usr/share/info/standards.info
+#usr/share/man/man1/addr2line.1
+#usr/share/man/man1/ar.1
+#usr/share/man/man1/as.1
+#usr/share/man/man1/c++filt.1
+#usr/share/man/man1/dlltool.1
+#usr/share/man/man1/gprof.1
+#usr/share/man/man1/ld.1
+#usr/share/man/man1/nlmconv.1
+#usr/share/man/man1/nm.1
+#usr/share/man/man1/objcopy.1
+#usr/share/man/man1/objdump.1
+#usr/share/man/man1/ranlib.1
+#usr/share/man/man1/readelf.1
+#usr/share/man/man1/size.1
+#usr/share/man/man1/strings.1
+#usr/share/man/man1/strip.1
+#usr/share/man/man1/windres.1
+##
+## gcc-3.3.3
+##
+#usr/bin/c++
+#usr/bin/g++
+#usr/bin/i386-pc-linux-gnu-g++
+#usr/bin/i386-pc-linux-gnu-c++
+#usr/bin/cc
+#usr/bin/gcov
+#usr/bin/gccbug
+#usr/bin/cpp
+#usr/bin/gcc
+#usr/bin/i386-pc-linux-gnu-gcc-3.3.3
+#usr/bin/i386-pc-linux-gnu-gcc
+#usr/include/c++
+#usr/include/c++/3.3.3
+#usr/include/c++/3.3.3/bits
+#usr/include/c++/3.3.3/bits/basic_ios.h
+#usr/include/c++/3.3.3/bits/basic_ios.tcc
+#usr/include/c++/3.3.3/bits/basic_string.h
+#usr/include/c++/3.3.3/bits/basic_string.tcc
+#usr/include/c++/3.3.3/bits/boost_concept_check.h
+#usr/include/c++/3.3.3/bits/char_traits.h
+#usr/include/c++/3.3.3/bits/codecvt.h
+#usr/include/c++/3.3.3/bits/concept_check.h
+#usr/include/c++/3.3.3/bits/cpp_type_traits.h
+#usr/include/c++/3.3.3/bits/deque.tcc
+#usr/include/c++/3.3.3/bits/fpos.h
+#usr/include/c++/3.3.3/bits/fstream.tcc
+#usr/include/c++/3.3.3/bits/functexcept.h
+#usr/include/c++/3.3.3/bits/gslice.h
+#usr/include/c++/3.3.3/bits/gslice_array.h
+#usr/include/c++/3.3.3/bits/indirect_array.h
+#usr/include/c++/3.3.3/bits/ios_base.h
+#usr/include/c++/3.3.3/bits/istream.tcc
+#usr/include/c++/3.3.3/bits/list.tcc
+#usr/include/c++/3.3.3/bits/locale_classes.h
+#usr/include/c++/3.3.3/bits/locale_facets.h
+#usr/include/c++/3.3.3/bits/locale_facets.tcc
+#usr/include/c++/3.3.3/bits/localefwd.h
+#usr/include/c++/3.3.3/bits/mask_array.h
+#usr/include/c++/3.3.3/bits/ostream.tcc
+#usr/include/c++/3.3.3/bits/pthread_allocimpl.h
+#usr/include/c++/3.3.3/bits/stream_iterator.h
+#usr/include/c++/3.3.3/bits/streambuf_iterator.h
+#usr/include/c++/3.3.3/bits/slice_array.h
+#usr/include/c++/3.3.3/bits/sstream.tcc
+#usr/include/c++/3.3.3/bits/stl_algo.h
+#usr/include/c++/3.3.3/bits/stl_algobase.h
+#usr/include/c++/3.3.3/bits/stl_alloc.h
+#usr/include/c++/3.3.3/bits/stl_bvector.h
+#usr/include/c++/3.3.3/bits/stl_construct.h
+#usr/include/c++/3.3.3/bits/stl_deque.h
+#usr/include/c++/3.3.3/bits/stl_function.h
+#usr/include/c++/3.3.3/bits/stl_heap.h
+#usr/include/c++/3.3.3/bits/stl_iterator.h
+#usr/include/c++/3.3.3/bits/stl_iterator_base_funcs.h
+#usr/include/c++/3.3.3/bits/stl_iterator_base_types.h
+#usr/include/c++/3.3.3/bits/stl_list.h
+#usr/include/c++/3.3.3/bits/stl_map.h
+#usr/include/c++/3.3.3/bits/stl_multimap.h
+#usr/include/c++/3.3.3/bits/stl_multiset.h
+#usr/include/c++/3.3.3/bits/stl_numeric.h
+#usr/include/c++/3.3.3/bits/stl_pair.h
+#usr/include/c++/3.3.3/bits/stl_pthread_alloc.h
+#usr/include/c++/3.3.3/bits/stl_queue.h
+#usr/include/c++/3.3.3/bits/stl_raw_storage_iter.h
+#usr/include/c++/3.3.3/bits/stl_relops.h
+#usr/include/c++/3.3.3/bits/stl_set.h
+#usr/include/c++/3.3.3/bits/stl_stack.h
+#usr/include/c++/3.3.3/bits/stl_tempbuf.h
+#usr/include/c++/3.3.3/bits/stl_threads.h
+#usr/include/c++/3.3.3/bits/stl_tree.h
+#usr/include/c++/3.3.3/bits/stl_uninitialized.h
+#usr/include/c++/3.3.3/bits/stl_vector.h
+#usr/include/c++/3.3.3/bits/streambuf.tcc
+#usr/include/c++/3.3.3/bits/stringfwd.h
+#usr/include/c++/3.3.3/bits/type_traits.h
+#usr/include/c++/3.3.3/bits/valarray_array.h
+#usr/include/c++/3.3.3/bits/valarray_array.tcc
+#usr/include/c++/3.3.3/bits/valarray_meta.h
+#usr/include/c++/3.3.3/bits/vector.tcc
+#usr/include/c++/3.3.3/bits/cmath.tcc
+#usr/include/c++/3.3.3/backward
+#usr/include/c++/3.3.3/backward/complex.h
+#usr/include/c++/3.3.3/backward/iomanip.h
+#usr/include/c++/3.3.3/backward/istream.h
+#usr/include/c++/3.3.3/backward/ostream.h
+#usr/include/c++/3.3.3/backward/stream.h
+#usr/include/c++/3.3.3/backward/streambuf.h
+#usr/include/c++/3.3.3/backward/algo.h
+#usr/include/c++/3.3.3/backward/algobase.h
+#usr/include/c++/3.3.3/backward/alloc.h
+#usr/include/c++/3.3.3/backward/bvector.h
+#usr/include/c++/3.3.3/backward/defalloc.h
+#usr/include/c++/3.3.3/backward/deque.h
+#usr/include/c++/3.3.3/backward/function.h
+#usr/include/c++/3.3.3/backward/hash_map.h
+#usr/include/c++/3.3.3/backward/hash_set.h
+#usr/include/c++/3.3.3/backward/hashtable.h
+#usr/include/c++/3.3.3/backward/heap.h
+#usr/include/c++/3.3.3/backward/iostream.h
+#usr/include/c++/3.3.3/backward/iterator.h
+#usr/include/c++/3.3.3/backward/list.h
+#usr/include/c++/3.3.3/backward/map.h
+#usr/include/c++/3.3.3/backward/multimap.h
+#usr/include/c++/3.3.3/backward/new.h
+#usr/include/c++/3.3.3/backward/multiset.h
+#usr/include/c++/3.3.3/backward/pair.h
+#usr/include/c++/3.3.3/backward/queue.h
+#usr/include/c++/3.3.3/backward/rope.h
+#usr/include/c++/3.3.3/backward/set.h
+#usr/include/c++/3.3.3/backward/slist.h
+#usr/include/c++/3.3.3/backward/stack.h
+#usr/include/c++/3.3.3/backward/tempbuf.h
+#usr/include/c++/3.3.3/backward/tree.h
+#usr/include/c++/3.3.3/backward/vector.h
+#usr/include/c++/3.3.3/backward/fstream.h
+#usr/include/c++/3.3.3/backward/strstream
+#usr/include/c++/3.3.3/backward/backward_warning.h
+#usr/include/c++/3.3.3/ext
+#usr/include/c++/3.3.3/ext/algorithm
+#usr/include/c++/3.3.3/ext/enc_filebuf.h
+#usr/include/c++/3.3.3/ext/stdio_filebuf.h
+#usr/include/c++/3.3.3/ext/functional
+#usr/include/c++/3.3.3/ext/hash_map
+#usr/include/c++/3.3.3/ext/hash_set
+#usr/include/c++/3.3.3/ext/iterator
+#usr/include/c++/3.3.3/ext/memory
+#usr/include/c++/3.3.3/ext/numeric
+#usr/include/c++/3.3.3/ext/rb_tree
+#usr/include/c++/3.3.3/ext/rope
+#usr/include/c++/3.3.3/ext/ropeimpl.h
+#usr/include/c++/3.3.3/ext/slist
+#usr/include/c++/3.3.3/ext/stl_hash_fun.h
+#usr/include/c++/3.3.3/ext/stl_hashtable.h
+#usr/include/c++/3.3.3/ext/stl_rope.h
+#usr/include/c++/3.3.3/cassert
+#usr/include/c++/3.3.3/cctype
+#usr/include/c++/3.3.3/cerrno
+#usr/include/c++/3.3.3/cfloat
+#usr/include/c++/3.3.3/ciso646
+#usr/include/c++/3.3.3/climits
+#usr/include/c++/3.3.3/clocale
+#usr/include/c++/3.3.3/cmath
+#usr/include/c++/3.3.3/csetjmp
+#usr/include/c++/3.3.3/csignal
+#usr/include/c++/3.3.3/cstdarg
+#usr/include/c++/3.3.3/cstddef
+#usr/include/c++/3.3.3/cstdio
+#usr/include/c++/3.3.3/cstdlib
+#usr/include/c++/3.3.3/cstring
+#usr/include/c++/3.3.3/ctime
+#usr/include/c++/3.3.3/cwchar
+#usr/include/c++/3.3.3/cwctype
+#usr/include/c++/3.3.3/algorithm
+#usr/include/c++/3.3.3/bitset
+#usr/include/c++/3.3.3/complex
+#usr/include/c++/3.3.3/deque
+#usr/include/c++/3.3.3/fstream
+#usr/include/c++/3.3.3/functional
+#usr/include/c++/3.3.3/iomanip
+#usr/include/c++/3.3.3/ios
+#usr/include/c++/3.3.3/iosfwd
+#usr/include/c++/3.3.3/iostream
+#usr/include/c++/3.3.3/istream
+#usr/include/c++/3.3.3/iterator
+#usr/include/c++/3.3.3/limits
+#usr/include/c++/3.3.3/list
+#usr/include/c++/3.3.3/locale
+#usr/include/c++/3.3.3/map
+#usr/include/c++/3.3.3/memory
+#usr/include/c++/3.3.3/numeric
+#usr/include/c++/3.3.3/ostream
+#usr/include/c++/3.3.3/queue
+#usr/include/c++/3.3.3/set
+#usr/include/c++/3.3.3/sstream
+#usr/include/c++/3.3.3/stack
+#usr/include/c++/3.3.3/stdexcept
+#usr/include/c++/3.3.3/streambuf
+#usr/include/c++/3.3.3/string
+#usr/include/c++/3.3.3/utility
+#usr/include/c++/3.3.3/valarray
+#usr/include/c++/3.3.3/vector
+#usr/include/c++/3.3.3/i386-pc-linux-gnu
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_base.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_inline.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/ctype_noninline.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/os_defines.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/atomicity.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/basic_file.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++config.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++io.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/c++locale.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/messages_members.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/time_members.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/codecvt_specializations.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-single.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-posix.h
+#usr/include/c++/3.3.3/i386-pc-linux-gnu/bits/gthr-default.h
+#usr/include/c++/3.3.3/exception
+#usr/include/c++/3.3.3/new
+#usr/include/c++/3.3.3/typeinfo
+#usr/include/c++/3.3.3/cxxabi.h
+#usr/include/c++/3.3.3/exception_defines.h
+#usr/lib/gcc-lib
+#usr/lib/gcc-lib/i386-pc-linux-gnu
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/syslimits.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/float.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/iso646.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stdarg.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stdbool.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stddef.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/varargs.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/unwind.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/mmintrin.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/xmmintrin.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/limits.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/cc1
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/cc1plus
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/collect2
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbegin.o
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbeginS.o
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtbeginT.o
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtend.o
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/crtendS.o
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/specs
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/float.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/iso646.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stdarg.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stdbool.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/stddef.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/varargs.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/unwind.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/mmintrin.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/xmmintrin.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/limits.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/include/README
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/fixinc.sh
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/fixincl
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/gsyslimits.h
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/mkheaders
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/install-tools/mkheaders.conf
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/libgcc.a
+#usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/libgcc_eh.a
+usr/lib/libgcc_s.so
+usr/lib/libgcc_s.so.1
+usr/lib/libstdc++.so
+usr/lib/libstdc++.so.5
+usr/lib/libstdc++.so.5.0.5
+#usr/lib/libstdc++.la
+#usr/lib/libstdc++.a
+#usr/lib/libsupc++.la
+#usr/lib/libsupc++.a
+#usr/share/info/cpp.info
+#usr/share/info/gcc.info
+#usr/share/info/cppinternals.info
+#usr/share/info/gccint.info
+#usr/share/man/man1/g++.1
+#usr/share/man/man1/gcc.1
+#usr/share/man/man1/cpp.1
+#usr/share/man/man1/gcov.1
+#usr/share/man/man7/fsf-funding.7
+#usr/share/man/man7/gfdl.7
+#usr/share/man/man7/gpl.7
+#lib/cpp
+##
+## coreutils-5.2.1
+##
+bin/[
+bin/basename
+bin/chgrp
+bin/chmod
+bin/chown
+bin/cp
+bin/date
+bin/dd
+bin/df
+#bin/dir
+#bin/dircolors
+bin/du
+bin/echo
+bin/false
+bin/head
+bin/install
+bin/ln
+bin/ls
+bin/mkdir
+bin/mkfifo
+bin/mknod
+bin/mv
+bin/rm
+bin/rmdir
+#bin/shred
+bin/sleep
+bin/su
+bin/sync
+bin/test
+bin/touch
+bin/true
+#bin/uname
+bin/uname.bak
+#bin/vdir
+#usr/bin/cksum
+#usr/bin/comm
+#usr/bin/csplit
+usr/bin/cut
+usr/bin/dirname
+usr/bin/env
+#usr/bin/expand
+usr/bin/expr
+#usr/bin/factor
+#usr/bin/fmt
+#usr/bin/fold
+usr/bin/groups
+usr/bin/hostid
+usr/bin/id
+#usr/bin/install
+usr/bin/join
+#usr/bin/kill
+#usr/bin/link
+#usr/bin/logname
+usr/bin/md5sum
+usr/bin/nice
+#usr/bin/nl
+usr/bin/nohup
+#usr/bin/od
+usr/bin/paste
+#usr/bin/pathchk
+#usr/bin/pinky
+#usr/bin/pr
+#usr/bin/printenv
+#usr/bin/printf
+#usr/bin/ptx
+#usr/bin/readlink
+usr/bin/seq
+#usr/bin/sha1sum
+usr/bin/sort
+usr/bin/split
+usr/bin/stat
+#usr/bin/sum
+#usr/bin/tac
+usr/bin/tail
+usr/bin/tee
+usr/bin/tr
+#usr/bin/tsort
+#usr/bin/tty
+#usr/bin/unexpand
+usr/bin/uniq
+#usr/bin/unlink
+usr/bin/uptime
+#usr/bin/users
+usr/bin/wc
+usr/bin/who
+usr/bin/whoami
+usr/bin/yes
+usr/sbin/chroot
+#usr/share/info/coreutils.info
+#usr/share/man/man1/basename.1
+#usr/share/man/man1/cat.1
+#usr/share/man/man1/chroot.1
+#usr/share/man/man1/cksum.1
+#usr/share/man/man1/comm.1
+#usr/share/man/man1/csplit.1
+#usr/share/man/man1/cut.1
+#usr/share/man/man1/date.1
+#usr/share/man/man1/dirname.1
+#usr/share/man/man1/echo.1
+#usr/share/man/man1/env.1
+#usr/share/man/man1/expand.1
+#usr/share/man/man1/expr.1
+#usr/share/man/man1/factor.1
+#usr/share/man/man1/false.1
+#usr/share/man/man1/fmt.1
+#usr/share/man/man1/fold.1
+#usr/share/man/man1/groups.1
+#usr/share/man/man1/head.1
+#usr/share/man/man1/hostid.1
+#usr/share/man/man1/id.1
+#usr/share/man/man1/join.1
+#usr/share/man/man1/link.1
+#usr/share/man/man1/logname.1
+#usr/share/man/man1/md5sum.1
+#usr/share/man/man1/nice.1
+#usr/share/man/man1/nl.1
+#usr/share/man/man1/nohup.1
+#usr/share/man/man1/od.1
+#usr/share/man/man1/paste.1
+#usr/share/man/man1/pathchk.1
+#usr/share/man/man1/pinky.1
+#usr/share/man/man1/pr.1
+#usr/share/man/man1/printenv.1
+#usr/share/man/man1/printf.1
+#usr/share/man/man1/ptx.1
+#usr/share/man/man1/pwd.1
+#usr/share/man/man1/readlink.1
+#usr/share/man/man1/seq.1
+#usr/share/man/man1/sha1sum.1
+#usr/share/man/man1/shred.1
+#usr/share/man/man1/sleep.1
+#usr/share/man/man1/sort.1
+#usr/share/man/man1/split.1
+#usr/share/man/man1/stat.1
+#usr/share/man/man1/stty.1
+#usr/share/man/man1/su.1
+#usr/share/man/man1/sum.1
+#usr/share/man/man1/sync.1
+#usr/share/man/man1/tac.1
+#usr/share/man/man1/tail.1
+#usr/share/man/man1/tee.1
+#usr/share/man/man1/test.1
+#usr/share/man/man1/tr.1
+#usr/share/man/man1/true.1
+#usr/share/man/man1/tsort.1
+#usr/share/man/man1/tty.1
+#usr/share/man/man1/uname.1
+#usr/share/man/man1/unexpand.1
+#usr/share/man/man1/uniq.1
+#usr/share/man/man1/unlink.1
+#usr/share/man/man1/uptime.1
+#usr/share/man/man1/users.1
+#usr/share/man/man1/wc.1
+#usr/share/man/man1/who.1
+#usr/share/man/man1/whoami.1
+#usr/share/man/man1/yes.1
+##
+## zlib-1.2.3
+##
+lib/libz.so.1
+lib/libz.so.1.2.3
+#usr/include/zconf.h
+#usr/include/zlib.h
+#usr/lib/libz.a
+#usr/share/man/man3/zlib.3
+##
+## mktemp-1.5
+##
+usr/bin/mktemp
+#usr/share/man/man1/mktemp.1
+##
+## Iana-Etc-2.00
+##
+etc/protocols
+etc/services
+##
+## findutils-4.1.20
+##
+#usr/bin/bigram
+#usr/bin/code
+usr/bin/find
+#usr/bin/frcode
+#usr/bin/locate
+#usr/bin/updatedb
+#usr/bin/xargs
+#usr/share/info/find.info
+#usr/share/info/find.info-1
+#usr/share/info/find.info-2
+#usr/share/man/man1/find.1
+#usr/share/man/man1/locate.1
+#usr/share/man/man1/updatedb.1
+#usr/share/man/man1/xargs.1
+#usr/share/man/man5/locatedb.5
+#usr/var
+##
+## gawk-3.1.3
+##
+usr/bin/awk
+usr/bin/gawk
+#usr/bin/gawk-3.1.3
+#usr/bin/grcat
+#usr/bin/igawk
+#usr/bin/pgawk
+#usr/bin/pgawk-3.1.3
+#usr/bin/pwcat
+#usr/share/gawk-3.1.3
+#usr/share/gawk-3.1.3/assert.awk
+#usr/share/gawk-3.1.3/bits2str.awk
+#usr/share/gawk-3.1.3/cliff_rand.awk
+#usr/share/gawk-3.1.3/ctime.awk
+#usr/share/gawk-3.1.3/ftrans.awk
+#usr/share/gawk-3.1.3/getopt.awk
+#usr/share/gawk-3.1.3/gettime.awk
+#usr/share/gawk-3.1.3/group.awk
+#usr/share/gawk-3.1.3/join.awk
+#usr/share/gawk-3.1.3/libintl.awk
+#usr/share/gawk-3.1.3/nextfile.awk
+#usr/share/gawk-3.1.3/noassign.awk
+#usr/share/gawk-3.1.3/ord.awk
+#usr/share/gawk-3.1.3/passwd.awk
+#usr/share/gawk-3.1.3/readable.awk
+#usr/share/gawk-3.1.3/rewind.awk
+#usr/share/gawk-3.1.3/round.awk
+#usr/share/gawk-3.1.3/zerofile.awk
+#usr/share/info/gawk.info
+#usr/share/info/gawkinet.info
+#usr/share/man/man1/gawk.1
+#usr/share/man/man1/igawk.1
+#usr/share/man/man1/pgawk.1
+##
+## ncurses-5.4
+##
+lib/libncurses.so.5
+lib/libncurses.so.5.4
+#usr/bin/captoinfo
+#usr/bin/clear
+#usr/bin/infocmp
+#usr/bin/infotocap
+#usr/bin/reset
+#usr/bin/tack
+#usr/bin/tic
+#usr/bin/toe
+usr/bin/tput
+#usr/bin/tset
+#usr/include/curses.h
+#usr/include/cursesapp.h
+#usr/include/cursesf.h
+#usr/include/cursesm.h
+#usr/include/cursesp.h
+#usr/include/cursesw.h
+#usr/include/cursslk.h
+#usr/include/eti.h
+#usr/include/etip.h
+#usr/include/form.h
+#usr/include/menu.h
+#usr/include/ncurses.h
+#usr/include/ncurses_dll.h
+#usr/include/panel.h
+#usr/include/term.h
+#usr/include/termcap.h
+#usr/include/unctrl.h
+#usr/lib/libcurses.a
+#usr/lib/libcurses.so
+#usr/lib/libform.a
+#usr/lib/libform.so
+#usr/lib/libform.so.5
+#usr/lib/libform.so.5.4
+#usr/lib/libmenu.a
+#usr/lib/libmenu.so
+#usr/lib/libmenu.so.5
+#usr/lib/libmenu.so.5.4
+#usr/lib/libncurses++.a
+#usr/lib/libncurses.a
+usr/lib/libncurses.so
+#usr/lib/libpanel.a
+usr/lib/libpanel.so
+usr/lib/libpanel.so.5
+usr/lib/libpanel.so.5.4
+#usr/lib/terminfo
+#usr/share/man/man1/captoinfo.1m
+#usr/share/man/man1/clear.1
+#usr/share/man/man1/infocmp.1m
+#usr/share/man/man1/infotocap.1m
+#usr/share/man/man1/reset.1
+#usr/share/man/man1/tack.1
+#usr/share/man/man1/tic.1m
+#usr/share/man/man1/toe.1m
+#usr/share/man/man1/tput.1
+#usr/share/man/man1/tset.1
+#usr/share/man/man3/COLOR_PAIR.3x
+#usr/share/man/man3/PAIR_NUMBER.3x
+#usr/share/man/man3/_nc_tracebits.3x
+#usr/share/man/man3/_traceattr.3x
+#usr/share/man/man3/_traceattr2.3x
+#usr/share/man/man3/_tracechar.3x
+#usr/share/man/man3/_tracechtype.3x
+#usr/share/man/man3/_tracechtype2.3x
+#usr/share/man/man3/_tracedump.3x
+#usr/share/man/man3/_tracef.3x
+#usr/share/man/man3/_tracemouse.3x
+#usr/share/man/man3/add_wch.3x
+#usr/share/man/man3/add_wchnstr.3x
+#usr/share/man/man3/add_wchstr.3x
+#usr/share/man/man3/addch.3x
+#usr/share/man/man3/addchnstr.3x
+#usr/share/man/man3/addchstr.3x
+#usr/share/man/man3/addnstr.3x
+#usr/share/man/man3/addnwstr.3x
+#usr/share/man/man3/addstr.3x
+#usr/share/man/man3/addwstr.3x
+#usr/share/man/man3/assume_default_colors.3x
+#usr/share/man/man3/attr_get.3x
+#usr/share/man/man3/attr_off.3x
+#usr/share/man/man3/attr_on.3x
+#usr/share/man/man3/attr_set.3x
+#usr/share/man/man3/attroff.3x
+#usr/share/man/man3/attron.3x
+#usr/share/man/man3/attrset.3x
+#usr/share/man/man3/baudrate.3x
+#usr/share/man/man3/beep.3x
+#usr/share/man/man3/bkgd.3x
+#usr/share/man/man3/bkgdset.3x
+#usr/share/man/man3/bkgrnd.3x
+#usr/share/man/man3/bkgrndset.3x
+#usr/share/man/man3/border.3x
+#usr/share/man/man3/border_set.3x
+#usr/share/man/man3/bottom_panel.3x
+#usr/share/man/man3/box.3x
+#usr/share/man/man3/box_set.3x
+#usr/share/man/man3/can_change_color.3x
+#usr/share/man/man3/cbreak.3x
+#usr/share/man/man3/chgat.3x
+#usr/share/man/man3/clear.3x
+#usr/share/man/man3/clearok.3x
+#usr/share/man/man3/clrtobot.3x
+#usr/share/man/man3/clrtoeol.3x
+#usr/share/man/man3/color_content.3x
+#usr/share/man/man3/color_set.3x
+#usr/share/man/man3/copywin.3x
+#usr/share/man/man3/current_field.3x
+#usr/share/man/man3/current_item.3x
+#usr/share/man/man3/curs_add_wch.3x
+#usr/share/man/man3/curs_add_wchstr.3x
+#usr/share/man/man3/curs_addch.3x
+#usr/share/man/man3/curs_addchstr.3x
+#usr/share/man/man3/curs_addstr.3x
+#usr/share/man/man3/curs_addwstr.3x
+#usr/share/man/man3/curs_attr.3x
+#usr/share/man/man3/curs_beep.3x
+#usr/share/man/man3/curs_bkgd.3x
+#usr/share/man/man3/curs_bkgrnd.3x
+#usr/share/man/man3/curs_border.3x
+#usr/share/man/man3/curs_border_set.3x
+#usr/share/man/man3/curs_clear.3x
+#usr/share/man/man3/curs_color.3x
+#usr/share/man/man3/curs_delch.3x
+#usr/share/man/man3/curs_deleteln.3x
+#usr/share/man/man3/curs_extend.3x
+#usr/share/man/man3/curs_get_wch.3x
+#usr/share/man/man3/curs_get_wstr.3x
+#usr/share/man/man3/curs_getcchar.3x
+#usr/share/man/man3/curs_getch.3x
+#usr/share/man/man3/curs_getstr.3x
+#usr/share/man/man3/curs_getyx.3x
+#usr/share/man/man3/curs_in_wch.3x
+#usr/share/man/man3/curs_in_wchstr.3x
+#usr/share/man/man3/curs_inch.3x
+#usr/share/man/man3/curs_inchstr.3x
+#usr/share/man/man3/curs_initscr.3x
+#usr/share/man/man3/curs_inopts.3x
+#usr/share/man/man3/curs_ins_wch.3x
+#usr/share/man/man3/curs_ins_wstr.3x
+#usr/share/man/man3/curs_insch.3x
+#usr/share/man/man3/curs_insstr.3x
+#usr/share/man/man3/curs_instr.3x
+#usr/share/man/man3/curs_inwstr.3x
+#usr/share/man/man3/curs_kernel.3x
+#usr/share/man/man3/curs_mouse.3x
+#usr/share/man/man3/curs_move.3x
+#usr/share/man/man3/curs_outopts.3x
+#usr/share/man/man3/curs_overlay.3x
+#usr/share/man/man3/curs_pad.3x
+#usr/share/man/man3/curs_print.3x
+#usr/share/man/man3/curs_printw.3x
+#usr/share/man/man3/curs_refresh.3x
+#usr/share/man/man3/curs_scanw.3x
+#usr/share/man/man3/curs_scr_dump.3x
+#usr/share/man/man3/curs_scroll.3x
+#usr/share/man/man3/curs_set.3x
+#usr/share/man/man3/curs_slk.3x
+#usr/share/man/man3/curs_termattrs.3x
+#usr/share/man/man3/curs_termcap.3x
+#usr/share/man/man3/curs_terminfo.3x
+#usr/share/man/man3/curs_touch.3x
+#usr/share/man/man3/curs_trace.3x
+#usr/share/man/man3/curs_util.3x
+#usr/share/man/man3/curs_window.3x
+#usr/share/man/man3/curses_version.3x
+#usr/share/man/man3/data_ahead.3x
+#usr/share/man/man3/data_behind.3x
+#usr/share/man/man3/def_prog_mode.3x
+#usr/share/man/man3/def_shell_mode.3x
+#usr/share/man/man3/default_colors.3x
+#usr/share/man/man3/define_key.3x
+#usr/share/man/man3/del_curterm.3x
+#usr/share/man/man3/del_panel.3x
+#usr/share/man/man3/delay_output.3x
+#usr/share/man/man3/delch.3x
+#usr/share/man/man3/deleteln.3x
+#usr/share/man/man3/delscreen.3x
+#usr/share/man/man3/delwin.3x
+#usr/share/man/man3/derwin.3x
+#usr/share/man/man3/doupdate.3x
+#usr/share/man/man3/dup_field.3x
+#usr/share/man/man3/dupwin.3x
+#usr/share/man/man3/dynamic_field_info.3x
+#usr/share/man/man3/echo.3x
+#usr/share/man/man3/echo_wchar.3x
+#usr/share/man/man3/echochar.3x
+#usr/share/man/man3/endwin.3x
+#usr/share/man/man3/erase.3x
+#usr/share/man/man3/erasechar.3x
+#usr/share/man/man3/erasewchar.3x
+#usr/share/man/man3/field_arg.3x
+#usr/share/man/man3/field_back.3x
+#usr/share/man/man3/field_buffer.3x
+#usr/share/man/man3/field_count.3x
+#usr/share/man/man3/field_fore.3x
+#usr/share/man/man3/field_index.3x
+#usr/share/man/man3/field_info.3x
+#usr/share/man/man3/field_just.3x
+#usr/share/man/man3/field_opts.3x
+#usr/share/man/man3/field_opts_off.3x
+#usr/share/man/man3/field_opts_on.3x
+#usr/share/man/man3/field_pad.3x
+#usr/share/man/man3/field_status.3x
+#usr/share/man/man3/field_type.3x
+#usr/share/man/man3/field_userptr.3x
+#usr/share/man/man3/filter.3x
+#usr/share/man/man3/flash.3x
+#usr/share/man/man3/flushinp.3x
+#usr/share/man/man3/form.3x
+#usr/share/man/man3/form_cursor.3x
+#usr/share/man/man3/form_data.3x
+#usr/share/man/man3/form_driver.3x
+#usr/share/man/man3/form_field.3x
+#usr/share/man/man3/form_field_attributes.3x
+#usr/share/man/man3/form_field_buffer.3x
+#usr/share/man/man3/form_field_info.3x
+#usr/share/man/man3/form_field_just.3x
+#usr/share/man/man3/form_field_new.3x
+#usr/share/man/man3/form_field_opts.3x
+#usr/share/man/man3/form_field_userptr.3x
+#usr/share/man/man3/form_field_validation.3x
+#usr/share/man/man3/form_fields.3x
+#usr/share/man/man3/form_fieldtype.3x
+#usr/share/man/man3/form_hook.3x
+#usr/share/man/man3/form_new.3x
+#usr/share/man/man3/form_new_page.3x
+#usr/share/man/man3/form_opts.3x
+#usr/share/man/man3/form_opts_off.3x
+#usr/share/man/man3/form_opts_on.3x
+#usr/share/man/man3/form_page.3x
+#usr/share/man/man3/form_post.3x
+#usr/share/man/man3/form_request_by_name.3x
+#usr/share/man/man3/form_request_name.3x
+#usr/share/man/man3/form_requestname.3x
+#usr/share/man/man3/form_sub.3x
+#usr/share/man/man3/form_userptr.3x
+#usr/share/man/man3/form_win.3x
+#usr/share/man/man3/free_field.3x
+#usr/share/man/man3/free_fieldtype.3x
+#usr/share/man/man3/free_form.3x
+#usr/share/man/man3/free_item.3x
+#usr/share/man/man3/free_menu.3x
+#usr/share/man/man3/get_wch.3x
+#usr/share/man/man3/get_wstr.3x
+#usr/share/man/man3/getbegx.3x
+#usr/share/man/man3/getbegy.3x
+#usr/share/man/man3/getbegyx.3x
+#usr/share/man/man3/getbkgd.3x
+#usr/share/man/man3/getbkgrnd.3x
+#usr/share/man/man3/getcchar.3x
+#usr/share/man/man3/getch.3x
+#usr/share/man/man3/getcurx.3x
+#usr/share/man/man3/getcury.3x
+#usr/share/man/man3/getmaxx.3x
+#usr/share/man/man3/getmaxy.3x
+#usr/share/man/man3/getmaxyx.3x
+#usr/share/man/man3/getmouse.3x
+#usr/share/man/man3/getn_wstr.3x
+#usr/share/man/man3/getnstr.3x
+#usr/share/man/man3/getparx.3x
+#usr/share/man/man3/getpary.3x
+#usr/share/man/man3/getparyx.3x
+#usr/share/man/man3/getstr.3x
+#usr/share/man/man3/getsyx.3x
+#usr/share/man/man3/getwin.3x
+#usr/share/man/man3/getyx.3x
+#usr/share/man/man3/halfdelay.3x
+#usr/share/man/man3/has_colors.3x
+#usr/share/man/man3/has_ic.3x
+#usr/share/man/man3/has_il.3x
+#usr/share/man/man3/has_key.3x
+#usr/share/man/man3/hide_panel.3x
+#usr/share/man/man3/hline.3x
+#usr/share/man/man3/hline_set.3x
+#usr/share/man/man3/idcok.3x
+#usr/share/man/man3/idlok.3x
+#usr/share/man/man3/immedok.3x
+#usr/share/man/man3/in_wch.3x
+#usr/share/man/man3/in_wchnstr.3x
+#usr/share/man/man3/in_wchstr.3x
+#usr/share/man/man3/inch.3x
+#usr/share/man/man3/inchnstr.3x
+#usr/share/man/man3/inchstr.3x
+#usr/share/man/man3/init_color.3x
+#usr/share/man/man3/init_pair.3x
+#usr/share/man/man3/initscr.3x
+#usr/share/man/man3/innstr.3x
+#usr/share/man/man3/innwstr.3x
+#usr/share/man/man3/ins_nwstr.3x
+#usr/share/man/man3/ins_wch.3x
+#usr/share/man/man3/ins_wstr.3x
+#usr/share/man/man3/insch.3x
+#usr/share/man/man3/insdelln.3x
+#usr/share/man/man3/insertln.3x
+#usr/share/man/man3/insnstr.3x
+#usr/share/man/man3/insstr.3x
+#usr/share/man/man3/instr.3x
+#usr/share/man/man3/intrflush.3x
+#usr/share/man/man3/inwstr.3x
+#usr/share/man/man3/is_linetouched.3x
+#usr/share/man/man3/is_term_resized.3x
+#usr/share/man/man3/is_wintouched.3x
+#usr/share/man/man3/isendwin.3x
+#usr/share/man/man3/item_count.3x
+#usr/share/man/man3/item_description.3x
+#usr/share/man/man3/item_index.3x
+#usr/share/man/man3/item_name.3x
+#usr/share/man/man3/item_opts.3x
+#usr/share/man/man3/item_opts_off.3x
+#usr/share/man/man3/item_opts_on.3x
+#usr/share/man/man3/item_userptr.3x
+#usr/share/man/man3/item_value.3x
+#usr/share/man/man3/item_visible.3x
+#usr/share/man/man3/key_name.3x
+#usr/share/man/man3/keybound.3x
+#usr/share/man/man3/keyname.3x
+#usr/share/man/man3/keyok.3x
+#usr/share/man/man3/keypad.3x
+#usr/share/man/man3/killchar.3x
+#usr/share/man/man3/killwchar.3x
+#usr/share/man/man3/leaveok.3x
+#usr/share/man/man3/link_field.3x
+#usr/share/man/man3/link_fieldtype.3x
+#usr/share/man/man3/longname.3x
+#usr/share/man/man3/mcprint.3x
+#usr/share/man/man3/menu.3x
+#usr/share/man/man3/menu_attributes.3x
+#usr/share/man/man3/menu_back.3x
+#usr/share/man/man3/menu_cursor.3x
+#usr/share/man/man3/menu_driver.3x
+#usr/share/man/man3/menu_fore.3x
+#usr/share/man/man3/menu_format.3x
+#usr/share/man/man3/menu_grey.3x
+#usr/share/man/man3/menu_hook.3x
+#usr/share/man/man3/menu_items.3x
+#usr/share/man/man3/menu_mark.3x
+#usr/share/man/man3/menu_new.3x
+#usr/share/man/man3/menu_opts.3x
+#usr/share/man/man3/menu_opts_off.3x
+#usr/share/man/man3/menu_opts_on.3x
+#usr/share/man/man3/menu_pad.3x
+#usr/share/man/man3/menu_pattern.3x
+#usr/share/man/man3/menu_post.3x
+#usr/share/man/man3/menu_request_by_name.3x
+#usr/share/man/man3/menu_request_name.3x
+#usr/share/man/man3/menu_requestname.3x
+#usr/share/man/man3/menu_spacing.3x
+#usr/share/man/man3/menu_sub.3x
+#usr/share/man/man3/menu_userptr.3x
+#usr/share/man/man3/menu_win.3x
+#usr/share/man/man3/meta.3x
+#usr/share/man/man3/mitem_current.3x
+#usr/share/man/man3/mitem_name.3x
+#usr/share/man/man3/mitem_new.3x
+#usr/share/man/man3/mitem_opts.3x
+#usr/share/man/man3/mitem_userptr.3x
+#usr/share/man/man3/mitem_value.3x
+#usr/share/man/man3/mitem_visible.3x
+#usr/share/man/man3/mouse_trafo.3x
+#usr/share/man/man3/mouseinterval.3x
+#usr/share/man/man3/mousemask.3x
+#usr/share/man/man3/move.3x
+#usr/share/man/man3/move_field.3x
+#usr/share/man/man3/move_panel.3x
+#usr/share/man/man3/mvadd_wch.3x
+#usr/share/man/man3/mvadd_wchnstr.3x
+#usr/share/man/man3/mvadd_wchstr.3x
+#usr/share/man/man3/mvaddch.3x
+#usr/share/man/man3/mvaddchnstr.3x
+#usr/share/man/man3/mvaddchstr.3x
+#usr/share/man/man3/mvaddnstr.3x
+#usr/share/man/man3/mvaddnwstr.3x
+#usr/share/man/man3/mvaddstr.3x
+#usr/share/man/man3/mvaddwstr.3x
+#usr/share/man/man3/mvchgat.3x
+#usr/share/man/man3/mvcur.3x
+#usr/share/man/man3/mvdelch.3x
+#usr/share/man/man3/mvderwin.3x
+#usr/share/man/man3/mvget_wch.3x
+#usr/share/man/man3/mvget_wstr.3x
+#usr/share/man/man3/mvgetch.3x
+#usr/share/man/man3/mvgetn_wstr.3x
+#usr/share/man/man3/mvgetnstr.3x
+#usr/share/man/man3/mvgetstr.3x
+#usr/share/man/man3/mvhline.3x
+#usr/share/man/man3/mvhline_set.3x
+#usr/share/man/man3/mvin_wch.3x
+#usr/share/man/man3/mvin_wchnstr.3x
+#usr/share/man/man3/mvin_wchstr.3x
+#usr/share/man/man3/mvinch.3x
+#usr/share/man/man3/mvinchnstr.3x
+#usr/share/man/man3/mvinchstr.3x
+#usr/share/man/man3/mvinnstr.3x
+#usr/share/man/man3/mvinnwstr.3x
+#usr/share/man/man3/mvins_nwstr.3x
+#usr/share/man/man3/mvins_wch.3x
+#usr/share/man/man3/mvins_wstr.3x
+#usr/share/man/man3/mvinsch.3x
+#usr/share/man/man3/mvinsnstr.3x
+#usr/share/man/man3/mvinsstr.3x
+#usr/share/man/man3/mvinstr.3x
+#usr/share/man/man3/mvinwstr.3x
+#usr/share/man/man3/mvprintw.3x
+#usr/share/man/man3/mvscanw.3x
+#usr/share/man/man3/mvvline.3x
+#usr/share/man/man3/mvvline_set.3x
+#usr/share/man/man3/mvwadd_wch.3x
+#usr/share/man/man3/mvwadd_wchnstr.3x
+#usr/share/man/man3/mvwadd_wchstr.3x
+#usr/share/man/man3/mvwaddch.3x
+#usr/share/man/man3/mvwaddchnstr.3x
+#usr/share/man/man3/mvwaddchstr.3x
+#usr/share/man/man3/mvwaddnstr.3x
+#usr/share/man/man3/mvwaddnwstr.3x
+#usr/share/man/man3/mvwaddstr.3x
+#usr/share/man/man3/mvwaddwstr.3x
+#usr/share/man/man3/mvwchgat.3x
+#usr/share/man/man3/mvwdelch.3x
+#usr/share/man/man3/mvwget_wch.3x
+#usr/share/man/man3/mvwget_wstr.3x
+#usr/share/man/man3/mvwgetch.3x
+#usr/share/man/man3/mvwgetn_wstr.3x
+#usr/share/man/man3/mvwgetnstr.3x
+#usr/share/man/man3/mvwgetstr.3x
+#usr/share/man/man3/mvwhline.3x
+#usr/share/man/man3/mvwhline_set.3x
+#usr/share/man/man3/mvwin.3x
+#usr/share/man/man3/mvwin_wch.3x
+#usr/share/man/man3/mvwin_wchnstr.3x
+#usr/share/man/man3/mvwin_wchstr.3x
+#usr/share/man/man3/mvwinch.3x
+#usr/share/man/man3/mvwinchnstr.3x
+#usr/share/man/man3/mvwinchstr.3x
+#usr/share/man/man3/mvwinnstr.3x
+#usr/share/man/man3/mvwinnwstr.3x
+#usr/share/man/man3/mvwins_nwstr.3x
+#usr/share/man/man3/mvwins_wch.3x
+#usr/share/man/man3/mvwins_wstr.3x
+#usr/share/man/man3/mvwinsch.3x
+#usr/share/man/man3/mvwinsnstr.3x
+#usr/share/man/man3/mvwinsstr.3x
+#usr/share/man/man3/mvwinstr.3x
+#usr/share/man/man3/mvwinwstr.3x
+#usr/share/man/man3/mvwprintw.3x
+#usr/share/man/man3/mvwscanw.3x
+#usr/share/man/man3/mvwvline.3x
+#usr/share/man/man3/mvwvline_set.3x
+#usr/share/man/man3/napms.3x
+#usr/share/man/man3/ncurses.3x
+#usr/share/man/man3/new_field.3x
+#usr/share/man/man3/new_fieldtype.3x
+#usr/share/man/man3/new_form.3x
+#usr/share/man/man3/new_item.3x
+#usr/share/man/man3/new_menu.3x
+#usr/share/man/man3/new_page.3x
+#usr/share/man/man3/new_panel.3x
+#usr/share/man/man3/newpad.3x
+#usr/share/man/man3/newterm.3x
+#usr/share/man/man3/newwin.3x
+#usr/share/man/man3/nl.3x
+#usr/share/man/man3/nocbreak.3x
+#usr/share/man/man3/nodelay.3x
+#usr/share/man/man3/noecho.3x
+#usr/share/man/man3/nonl.3x
+#usr/share/man/man3/noqiflush.3x
+#usr/share/man/man3/noraw.3x
+#usr/share/man/man3/notimeout.3x
+#usr/share/man/man3/overlay.3x
+#usr/share/man/man3/overwrite.3x
+#usr/share/man/man3/pair_content.3x
+#usr/share/man/man3/panel.3x
+#usr/share/man/man3/panel_above.3x
+#usr/share/man/man3/panel_below.3x
+#usr/share/man/man3/panel_hidden.3x
+#usr/share/man/man3/panel_userptr.3x
+#usr/share/man/man3/panel_window.3x
+#usr/share/man/man3/pechochar.3x
+#usr/share/man/man3/pnoutrefresh.3x
+#usr/share/man/man3/pos_form_cursor.3x
+#usr/share/man/man3/pos_menu_cursor.3x
+#usr/share/man/man3/post_form.3x
+#usr/share/man/man3/post_menu.3x
+#usr/share/man/man3/prefresh.3x
+#usr/share/man/man3/printw.3x
+#usr/share/man/man3/putp.3x
+#usr/share/man/man3/putwin.3x
+#usr/share/man/man3/qiflush.3x
+#usr/share/man/man3/raw.3x
+#usr/share/man/man3/redrawwin.3x
+#usr/share/man/man3/refresh.3x
+#usr/share/man/man3/replace_panel.3x
+#usr/share/man/man3/reset_prog_mode.3x
+#usr/share/man/man3/reset_shell_mode.3x
+#usr/share/man/man3/resetty.3x
+#usr/share/man/man3/resize_term.3x
+#usr/share/man/man3/resizeterm.3x
+#usr/share/man/man3/restartterm.3x
+#usr/share/man/man3/ripoffline.3x
+#usr/share/man/man3/savetty.3x
+#usr/share/man/man3/scale_form.3x
+#usr/share/man/man3/scale_menu.3x
+#usr/share/man/man3/scanw.3x
+#usr/share/man/man3/scr_dump.3x
+#usr/share/man/man3/scr_init.3x
+#usr/share/man/man3/scr_restore.3x
+#usr/share/man/man3/scr_set.3x
+#usr/share/man/man3/scrl.3x
+#usr/share/man/man3/scroll.3x
+#usr/share/man/man3/scrollok.3x
+#usr/share/man/man3/set_current_field.3x
+#usr/share/man/man3/set_current_item.3x
+#usr/share/man/man3/set_curterm.3x
+#usr/share/man/man3/set_field_back.3x
+#usr/share/man/man3/set_field_buffer.3x
+#usr/share/man/man3/set_field_fore.3x
+#usr/share/man/man3/set_field_init.3x
+#usr/share/man/man3/set_field_just.3x
+#usr/share/man/man3/set_field_opts.3x
+#usr/share/man/man3/set_field_pad.3x
+#usr/share/man/man3/set_field_status.3x
+#usr/share/man/man3/set_field_term.3x
+#usr/share/man/man3/set_field_type.3x
+#usr/share/man/man3/set_field_userptr.3x
+#usr/share/man/man3/set_fieldtype_arg.3x
+#usr/share/man/man3/set_fieldtype_choice.3x
+#usr/share/man/man3/set_form_fields.3x
+#usr/share/man/man3/set_form_init.3x
+#usr/share/man/man3/set_form_opts.3x
+#usr/share/man/man3/set_form_page.3x
+#usr/share/man/man3/set_form_sub.3x
+#usr/share/man/man3/set_form_term.3x
+#usr/share/man/man3/set_form_userptr.3x
+#usr/share/man/man3/set_form_win.3x
+#usr/share/man/man3/set_item_init.3x
+#usr/share/man/man3/set_item_opts.3x
+#usr/share/man/man3/set_item_term.3x
+#usr/share/man/man3/set_item_userptr.3x
+#usr/share/man/man3/set_item_value.3x
+#usr/share/man/man3/set_max_field.3x
+#usr/share/man/man3/set_menu_back.3x
+#usr/share/man/man3/set_menu_fore.3x
+#usr/share/man/man3/set_menu_format.3x
+#usr/share/man/man3/set_menu_grey.3x
+#usr/share/man/man3/set_menu_init.3x
+#usr/share/man/man3/set_menu_items.3x
+#usr/share/man/man3/set_menu_mark.3x
+#usr/share/man/man3/set_menu_opts.3x
+#usr/share/man/man3/set_menu_pad.3x
+#usr/share/man/man3/set_menu_pattern.3x
+#usr/share/man/man3/set_menu_spacing.3x
+#usr/share/man/man3/set_menu_sub.3x
+#usr/share/man/man3/set_menu_term.3x
+#usr/share/man/man3/set_menu_userptr.3x
+#usr/share/man/man3/set_menu_win.3x
+#usr/share/man/man3/set_new_page.3x
+#usr/share/man/man3/set_panel_userptr.3x
+#usr/share/man/man3/set_term.3x
+#usr/share/man/man3/set_top_row.3x
+#usr/share/man/man3/setcchar.3x
+#usr/share/man/man3/setscrreg.3x
+#usr/share/man/man3/setsyx.3x
+#usr/share/man/man3/setterm.3x
+#usr/share/man/man3/setupterm.3x
+#usr/share/man/man3/show_panel.3x
+#usr/share/man/man3/slk_attr.3x
+#usr/share/man/man3/slk_attr_off.3x
+#usr/share/man/man3/slk_attr_on.3x
+#usr/share/man/man3/slk_attr_set.3x
+#usr/share/man/man3/slk_attroff.3x
+#usr/share/man/man3/slk_attron.3x
+#usr/share/man/man3/slk_attrset.3x
+#usr/share/man/man3/slk_clear.3x
+#usr/share/man/man3/slk_color.3x
+#usr/share/man/man3/slk_init.3x
+#usr/share/man/man3/slk_label.3x
+#usr/share/man/man3/slk_noutrefresh.3x
+#usr/share/man/man3/slk_refresh.3x
+#usr/share/man/man3/slk_restore.3x
+#usr/share/man/man3/slk_set.3x
+#usr/share/man/man3/slk_touch.3x
+#usr/share/man/man3/standend.3x
+#usr/share/man/man3/standout.3x
+#usr/share/man/man3/start_color.3x
+#usr/share/man/man3/subpad.3x
+#usr/share/man/man3/subwin.3x
+#usr/share/man/man3/syncok.3x
+#usr/share/man/man3/term_attrs.3x
+#usr/share/man/man3/termattrs.3x
+#usr/share/man/man3/termname.3x
+#usr/share/man/man3/tgetent.3x
+#usr/share/man/man3/tgetflag.3x
+#usr/share/man/man3/tgetnum.3x
+#usr/share/man/man3/tgetstr.3x
+#usr/share/man/man3/tgoto.3x
+#usr/share/man/man3/tigetflag.3x
+#usr/share/man/man3/tigetnum.3x
+#usr/share/man/man3/tigetstr.3x
+#usr/share/man/man3/timeout.3x
+#usr/share/man/man3/top_panel.3x
+#usr/share/man/man3/top_row.3x
+#usr/share/man/man3/touchline.3x
+#usr/share/man/man3/touchwin.3x
+#usr/share/man/man3/tparm.3x
+#usr/share/man/man3/tputs.3x
+#usr/share/man/man3/trace.3x
+#usr/share/man/man3/typeahead.3x
+#usr/share/man/man3/unctrl.3x
+#usr/share/man/man3/unget_wch.3x
+#usr/share/man/man3/ungetch.3x
+#usr/share/man/man3/ungetmouse.3x
+#usr/share/man/man3/unpost_form.3x
+#usr/share/man/man3/unpost_menu.3x
+#usr/share/man/man3/untouchwin.3x
+#usr/share/man/man3/update_panels.3x
+#usr/share/man/man3/use_default_colors.3x
+#usr/share/man/man3/use_env.3x
+#usr/share/man/man3/use_extended_names.3x
+#usr/share/man/man3/vid_attr.3x
+#usr/share/man/man3/vid_puts.3x
+#usr/share/man/man3/vidattr.3x
+#usr/share/man/man3/vidputs.3x
+#usr/share/man/man3/vline.3x
+#usr/share/man/man3/vline_set.3x
+#usr/share/man/man3/vw_printw.3x
+#usr/share/man/man3/vw_scanw.3x
+#usr/share/man/man3/vwprintw.3x
+#usr/share/man/man3/vwscanw.3x
+#usr/share/man/man3/wadd_wch.3x
+#usr/share/man/man3/wadd_wchnstr.3x
+#usr/share/man/man3/wadd_wchstr.3x
+#usr/share/man/man3/waddch.3x
+#usr/share/man/man3/waddchnstr.3x
+#usr/share/man/man3/waddchstr.3x
+#usr/share/man/man3/waddnstr.3x
+#usr/share/man/man3/waddnwstr.3x
+#usr/share/man/man3/waddstr.3x
+#usr/share/man/man3/waddwstr.3x
+#usr/share/man/man3/wattr_get.3x
+#usr/share/man/man3/wattr_off.3x
+#usr/share/man/man3/wattr_on.3x
+#usr/share/man/man3/wattr_set.3x
+#usr/share/man/man3/wattroff.3x
+#usr/share/man/man3/wattron.3x
+#usr/share/man/man3/wattrset.3x
+#usr/share/man/man3/wbkgd.3x
+#usr/share/man/man3/wbkgdset.3x
+#usr/share/man/man3/wbkgrnd.3x
+#usr/share/man/man3/wbkgrndset.3x
+#usr/share/man/man3/wborder.3x
+#usr/share/man/man3/wborder_set.3x
+#usr/share/man/man3/wchgat.3x
+#usr/share/man/man3/wclear.3x
+#usr/share/man/man3/wclrtobot.3x
+#usr/share/man/man3/wclrtoeol.3x
+#usr/share/man/man3/wcolor_set.3x
+#usr/share/man/man3/wcursyncup.3x
+#usr/share/man/man3/wdelch.3x
+#usr/share/man/man3/wdeleteln.3x
+#usr/share/man/man3/wecho_wchar.3x
+#usr/share/man/man3/wechochar.3x
+#usr/share/man/man3/wenclose.3x
+#usr/share/man/man3/werase.3x
+#usr/share/man/man3/wget_wch.3x
+#usr/share/man/man3/wget_wstr.3x
+#usr/share/man/man3/wgetbkgrnd.3x
+#usr/share/man/man3/wgetch.3x
+#usr/share/man/man3/wgetn_wstr.3x
+#usr/share/man/man3/wgetnstr.3x
+#usr/share/man/man3/wgetstr.3x
+#usr/share/man/man3/whline.3x
+#usr/share/man/man3/whline_set.3x
+#usr/share/man/man3/win_wch.3x
+#usr/share/man/man3/win_wchnstr.3x
+#usr/share/man/man3/win_wchstr.3x
+#usr/share/man/man3/winch.3x
+#usr/share/man/man3/winchnstr.3x
+#usr/share/man/man3/winchstr.3x
+#usr/share/man/man3/winnstr.3x
+#usr/share/man/man3/winnwstr.3x
+#usr/share/man/man3/wins_nwstr.3x
+#usr/share/man/man3/wins_wch.3x
+#usr/share/man/man3/wins_wstr.3x
+#usr/share/man/man3/winsch.3x
+#usr/share/man/man3/winsdelln.3x
+#usr/share/man/man3/winsertln.3x
+#usr/share/man/man3/winsnstr.3x
+#usr/share/man/man3/winsstr.3x
+#usr/share/man/man3/winstr.3x
+#usr/share/man/man3/winwstr.3x
+#usr/share/man/man3/wmouse_trafo.3x
+#usr/share/man/man3/wmove.3x
+#usr/share/man/man3/wnoutrefresh.3x
+#usr/share/man/man3/wprintw.3x
+#usr/share/man/man3/wredrawln.3x
+#usr/share/man/man3/wrefresh.3x
+#usr/share/man/man3/wresize.3x
+#usr/share/man/man3/wscanw.3x
+#usr/share/man/man3/wscrl.3x
+#usr/share/man/man3/wsetscrreg.3x
+#usr/share/man/man3/wstandend.3x
+#usr/share/man/man3/wstandout.3x
+#usr/share/man/man3/wsyncdown.3x
+#usr/share/man/man3/wsyncup.3x
+#usr/share/man/man3/wtimeout.3x
+#usr/share/man/man3/wtouchln.3x
+#usr/share/man/man3/wunctrl.3x
+#usr/share/man/man3/wvline.3x
+#usr/share/man/man3/wvline_set.3x
+#usr/share/man/man5/term.5
+#usr/share/man/man5/terminfo.5
+#usr/share/man/man7/term.7
+#usr/share/tabset
+#usr/share/tabset/std
+#usr/share/tabset/stdcrt
+#usr/share/tabset/vt100
+#usr/share/tabset/vt300
+#usr/share/terminfo/1
+#usr/share/terminfo/1/1178
+#usr/share/terminfo/1/1730-lm
+#usr/share/terminfo/2
+#usr/share/terminfo/2/2621
+#usr/share/terminfo/2/2621-wl
+#usr/share/terminfo/2/2621A
+#usr/share/terminfo/2/2621a
+#usr/share/terminfo/3
+#usr/share/terminfo/3/386at
+#usr/share/terminfo/3/3b1
+#usr/share/terminfo/4
+#usr/share/terminfo/4/4025ex
+#usr/share/terminfo/4/4027ex
+#usr/share/terminfo/4/4410-w
+#usr/share/terminfo/5
+#usr/share/terminfo/5/5051
+#usr/share/terminfo/5/5410-w
+#usr/share/terminfo/5/5620
+#usr/share/terminfo/5/5630-24
+#usr/share/terminfo/5/5630DMD-24
+#usr/share/terminfo/6
+#usr/share/terminfo/6/6053
+#usr/share/terminfo/6/6053-dg
+#usr/share/terminfo/6/605x
+#usr/share/terminfo/6/605x-dg
+#usr/share/terminfo/6/630-lm
+#usr/share/terminfo/6/630MTG-24
+#usr/share/terminfo/7
+#usr/share/terminfo/7/730MTG-24
+#usr/share/terminfo/7/730MTG-41
+#usr/share/terminfo/7/730MTG-41r
+#usr/share/terminfo/7/730MTGr
+#usr/share/terminfo/7/730MTGr-24
+#usr/share/terminfo/8
+#usr/share/terminfo/8/8510
+#usr/share/terminfo/9
+#usr/share/terminfo/9/955-hb
+#usr/share/terminfo/9/955-w
+#usr/share/terminfo/A
+#usr/share/terminfo/A/Apple_Terminal
+#usr/share/terminfo/E
+#usr/share/terminfo/E/Eterm
+#usr/share/terminfo/E/Eterm-color
+#usr/share/terminfo/L
+#usr/share/terminfo/L/LFT-PC850
+#usr/share/terminfo/M
+#usr/share/terminfo/M/MtxOrb
+#usr/share/terminfo/M/MtxOrb162
+#usr/share/terminfo/M/MtxOrb204
+#usr/share/terminfo/N
+#usr/share/terminfo/N/NCR260VT300WPP
+#usr/share/terminfo/N/NCRVT100WPP
+#usr/share/terminfo/P
+#usr/share/terminfo/P/P12
+#usr/share/terminfo/P/P12-M
+#usr/share/terminfo/P/P12-M-W
+#usr/share/terminfo/P/P12-W
+#usr/share/terminfo/P/P14
+#usr/share/terminfo/P/P14-M
+#usr/share/terminfo/P/P14-M-W
+#usr/share/terminfo/P/P14-W
+#usr/share/terminfo/P/P4
+#usr/share/terminfo/P/P5
+#usr/share/terminfo/P/P7
+#usr/share/terminfo/P/P8
+#usr/share/terminfo/P/P8-W
+#usr/share/terminfo/P/P9
+#usr/share/terminfo/P/P9-8
+#usr/share/terminfo/P/P9-8-W
+#usr/share/terminfo/P/P9-W
+#usr/share/terminfo/Q
+#usr/share/terminfo/Q/Q306-8-pc
+#usr/share/terminfo/Q/Q310-vip-H
+#usr/share/terminfo/Q/Q310-vip-H-am
+#usr/share/terminfo/Q/Q310-vip-Hw
+#usr/share/terminfo/Q/Q310-vip-w
+#usr/share/terminfo/Q/Q310-vip-w-am
+#usr/share/terminfo/X
+#usr/share/terminfo/X/X-hpterm
+#usr/share/terminfo/a
+#usr/share/terminfo/a/a210
+#usr/share/terminfo/a/a80
+#usr/share/terminfo/a/a980
+#usr/share/terminfo/a/aa4080
+#usr/share/terminfo/a/aaa
+#usr/share/terminfo/a/aaa+dec
+#usr/share/terminfo/a/aaa+rv
+#usr/share/terminfo/a/aaa+unk
+#usr/share/terminfo/a/aaa-18
+#usr/share/terminfo/a/aaa-18-rv
+#usr/share/terminfo/a/aaa-20
+#usr/share/terminfo/a/aaa-22
+#usr/share/terminfo/a/aaa-24
+#usr/share/terminfo/a/aaa-24-rv
+#usr/share/terminfo/a/aaa-26
+#usr/share/terminfo/a/aaa-28
+#usr/share/terminfo/a/aaa-30
+#usr/share/terminfo/a/aaa-30-ctxt
+#usr/share/terminfo/a/aaa-30-rv
+#usr/share/terminfo/a/aaa-30-rv-ctxt
+#usr/share/terminfo/a/aaa-30-s
+#usr/share/terminfo/a/aaa-30-s-ctxt
+#usr/share/terminfo/a/aaa-30-s-rv
+#usr/share/terminfo/a/aaa-30-s-rv-ct
+#usr/share/terminfo/a/aaa-36
+#usr/share/terminfo/a/aaa-36-rv
+#usr/share/terminfo/a/aaa-40
+#usr/share/terminfo/a/aaa-40-rv
+#usr/share/terminfo/a/aaa-48
+#usr/share/terminfo/a/aaa-48-rv
+#usr/share/terminfo/a/aaa-60
+#usr/share/terminfo/a/aaa-60-dec-rv
+#usr/share/terminfo/a/aaa-60-rv
+#usr/share/terminfo/a/aaa-60-s
+#usr/share/terminfo/a/aaa-60-s-rv
+#usr/share/terminfo/a/aaa-ctxt
+#usr/share/terminfo/a/aaa-db
+#usr/share/terminfo/a/aaa-rv
+#usr/share/terminfo/a/aaa-rv-ctxt
+#usr/share/terminfo/a/aaa-rv-unk
+#usr/share/terminfo/a/aaa-s
+#usr/share/terminfo/a/aaa-s-ctxt
+#usr/share/terminfo/a/aaa-s-rv
+#usr/share/terminfo/a/aaa-s-rv-ctxt
+#usr/share/terminfo/a/aaa-unk
+#usr/share/terminfo/a/aas1901
+#usr/share/terminfo/a/abm80
+#usr/share/terminfo/a/abm85
+#usr/share/terminfo/a/abm85e
+#usr/share/terminfo/a/abm85h
+#usr/share/terminfo/a/abm85h-old
+#usr/share/terminfo/a/act4
+#usr/share/terminfo/a/act5
+#usr/share/terminfo/a/addrinfo
+#usr/share/terminfo/a/adds980
+#usr/share/terminfo/a/addsviewpoint
+#usr/share/terminfo/a/addsvp60
+#usr/share/terminfo/a/adm+sgr
+#usr/share/terminfo/a/adm1
+#usr/share/terminfo/a/adm11
+#usr/share/terminfo/a/adm1178
+#usr/share/terminfo/a/adm12
+#usr/share/terminfo/a/adm1a
+#usr/share/terminfo/a/adm2
+#usr/share/terminfo/a/adm20
+#usr/share/terminfo/a/adm21
+#usr/share/terminfo/a/adm22
+#usr/share/terminfo/a/adm3
+#usr/share/terminfo/a/adm31
+#usr/share/terminfo/a/adm31-old
+#usr/share/terminfo/a/adm36
+#usr/share/terminfo/a/adm3a
+#usr/share/terminfo/a/adm3a+
+#usr/share/terminfo/a/adm42
+#usr/share/terminfo/a/adm42-ns
+#usr/share/terminfo/a/adm5
+#usr/share/terminfo/a/aepro
+#usr/share/terminfo/a/aixterm
+#usr/share/terminfo/a/aixterm-m
+#usr/share/terminfo/a/aixterm-m-old
+#usr/share/terminfo/a/aj
+#usr/share/terminfo/a/aj510
+#usr/share/terminfo/a/aj830
+#usr/share/terminfo/a/aj832
+#usr/share/terminfo/a/alt2
+#usr/share/terminfo/a/alt3
+#usr/share/terminfo/a/alt4
+#usr/share/terminfo/a/alt5
+#usr/share/terminfo/a/alt7
+#usr/share/terminfo/a/alt7pc
+#usr/share/terminfo/a/alto-h19
+#usr/share/terminfo/a/alto-heath
+#usr/share/terminfo/a/altoh19
+#usr/share/terminfo/a/altoheath
+#usr/share/terminfo/a/altos-2
+#usr/share/terminfo/a/altos-3
+#usr/share/terminfo/a/altos-4
+#usr/share/terminfo/a/altos-5
+#usr/share/terminfo/a/altos2
+#usr/share/terminfo/a/altos3
+#usr/share/terminfo/a/altos4
+#usr/share/terminfo/a/altos5
+#usr/share/terminfo/a/altos7
+#usr/share/terminfo/a/altos7pc
+#usr/share/terminfo/a/ambas
+#usr/share/terminfo/a/ambassador
+#usr/share/terminfo/a/amiga
+#usr/share/terminfo/a/amiga-8bit
+#usr/share/terminfo/a/amiga-h
+#usr/share/terminfo/a/amiga-vnc
+#usr/share/terminfo/a/amp219
+#usr/share/terminfo/a/amp219w
+#usr/share/terminfo/a/ampex-219
+#usr/share/terminfo/a/ampex-219w
+#usr/share/terminfo/a/ampex-232
+#usr/share/terminfo/a/ampex175
+#usr/share/terminfo/a/ampex175-b
+#usr/share/terminfo/a/ampex210
+#usr/share/terminfo/a/ampex219
+#usr/share/terminfo/a/ampex219w
+#usr/share/terminfo/a/ampex232
+#usr/share/terminfo/a/ampex232w
+#usr/share/terminfo/a/ampex80
+#usr/share/terminfo/a/annarbor4080
+#usr/share/terminfo/a/ansi
+#usr/share/terminfo/a/ansi+arrows
+#usr/share/terminfo/a/ansi+csr
+#usr/share/terminfo/a/ansi+cup
+#usr/share/terminfo/a/ansi+erase
+#usr/share/terminfo/a/ansi+idc
+#usr/share/terminfo/a/ansi+idl
+#usr/share/terminfo/a/ansi+idl1
+#usr/share/terminfo/a/ansi+inittabs
+#usr/share/terminfo/a/ansi+local
+#usr/share/terminfo/a/ansi+local1
+#usr/share/terminfo/a/ansi+pp
+#usr/share/terminfo/a/ansi+rca
+#usr/share/terminfo/a/ansi+rep
+#usr/share/terminfo/a/ansi+sgr
+#usr/share/terminfo/a/ansi+sgrbold
+#usr/share/terminfo/a/ansi+sgrdim
+#usr/share/terminfo/a/ansi+sgrso
+#usr/share/terminfo/a/ansi+sgrul
+#usr/share/terminfo/a/ansi+tabs
+#usr/share/terminfo/a/ansi-color-2-emx
+#usr/share/terminfo/a/ansi-color-3-emx
+#usr/share/terminfo/a/ansi-emx
+#usr/share/terminfo/a/ansi-generic
+#usr/share/terminfo/a/ansi-m
+#usr/share/terminfo/a/ansi-mini
+#usr/share/terminfo/a/ansi-mono
+#usr/share/terminfo/a/ansi-mr
+#usr/share/terminfo/a/ansi-mtabs
+#usr/share/terminfo/a/ansi-nt
+#usr/share/terminfo/a/ansi.sys
+#usr/share/terminfo/a/ansi.sys-old
+#usr/share/terminfo/a/ansi.sysk
+#usr/share/terminfo/a/ansi43m
+#usr/share/terminfo/a/ansi77
+#usr/share/terminfo/a/ansi80x25
+#usr/share/terminfo/a/ansi80x25-mono
+#usr/share/terminfo/a/ansi80x25-raw
+#usr/share/terminfo/a/ansi80x30
+#usr/share/terminfo/a/ansi80x30-mono
+#usr/share/terminfo/a/ansi80x43
+#usr/share/terminfo/a/ansi80x43-mono
+#usr/share/terminfo/a/ansi80x50
+#usr/share/terminfo/a/ansi80x50-mono
+#usr/share/terminfo/a/ansi80x60
+#usr/share/terminfo/a/ansi80x60-mono
+#usr/share/terminfo/a/ansil
+#usr/share/terminfo/a/ansil-mono
+#usr/share/terminfo/a/ansis
+#usr/share/terminfo/a/ansis-mono
+#usr/share/terminfo/a/ansisysk
+#usr/share/terminfo/a/ansiw
+#usr/share/terminfo/a/ap-vm80
+#usr/share/terminfo/a/apl
+#usr/share/terminfo/a/apollo
+#usr/share/terminfo/a/apollo_15P
+#usr/share/terminfo/a/apollo_19L
+#usr/share/terminfo/a/apollo_color
+#usr/share/terminfo/a/apple-80
+#usr/share/terminfo/a/apple-ae
+#usr/share/terminfo/a/apple-soroc
+#usr/share/terminfo/a/apple-uterm
+#usr/share/terminfo/a/apple-uterm-vb
+#usr/share/terminfo/a/apple-videx
+#usr/share/terminfo/a/apple-videx2
+#usr/share/terminfo/a/apple-videx3
+#usr/share/terminfo/a/apple-vm80
+#usr/share/terminfo/a/apple2e
+#usr/share/terminfo/a/apple2e-p
+#usr/share/terminfo/a/apple80p
+#usr/share/terminfo/a/appleII
+#usr/share/terminfo/a/appleIIc
+#usr/share/terminfo/a/appleIIe
+#usr/share/terminfo/a/appleIIgs
+#usr/share/terminfo/a/arm100
+#usr/share/terminfo/a/arm100-am
+#usr/share/terminfo/a/arm100-w
+#usr/share/terminfo/a/arm100-wam
+#usr/share/terminfo/a/at386
+#usr/share/terminfo/a/atari
+#usr/share/terminfo/a/att2300
+#usr/share/terminfo/a/att2350
+#usr/share/terminfo/a/att4410
+#usr/share/terminfo/a/att4410-w
+#usr/share/terminfo/a/att4410v1
+#usr/share/terminfo/a/att4410v1-w
+#usr/share/terminfo/a/att4415
+#usr/share/terminfo/a/att4415+nl
+#usr/share/terminfo/a/att4415-nl
+#usr/share/terminfo/a/att4415-rv
+#usr/share/terminfo/a/att4415-rv-nl
+#usr/share/terminfo/a/att4415-w
+#usr/share/terminfo/a/att4415-w-nl
+#usr/share/terminfo/a/att4415-w-rv
+#usr/share/terminfo/a/att4415-w-rv-n
+#usr/share/terminfo/a/att4418
+#usr/share/terminfo/a/att4418-w
+#usr/share/terminfo/a/att4420
+#usr/share/terminfo/a/att4424
+#usr/share/terminfo/a/att4424-1
+#usr/share/terminfo/a/att4424m
+#usr/share/terminfo/a/att4425
+#usr/share/terminfo/a/att4425-nl
+#usr/share/terminfo/a/att4425-w
+#usr/share/terminfo/a/att4426
+#usr/share/terminfo/a/att500
+#usr/share/terminfo/a/att505
+#usr/share/terminfo/a/att505-24
+#usr/share/terminfo/a/att510a
+#usr/share/terminfo/a/att510d
+#usr/share/terminfo/a/att513
+#usr/share/terminfo/a/att5310
+#usr/share/terminfo/a/att5320
+#usr/share/terminfo/a/att5410
+#usr/share/terminfo/a/att5410-w
+#usr/share/terminfo/a/att5410v1
+#usr/share/terminfo/a/att5410v1-w
+#usr/share/terminfo/a/att5418
+#usr/share/terminfo/a/att5418-w
+#usr/share/terminfo/a/att5420
+#usr/share/terminfo/a/att5420+nl
+#usr/share/terminfo/a/att5420-nl
+#usr/share/terminfo/a/att5420-rv
+#usr/share/terminfo/a/att5420-rv-nl
+#usr/share/terminfo/a/att5420-w
+#usr/share/terminfo/a/att5420-w-nl
+#usr/share/terminfo/a/att5420-w-rv
+#usr/share/terminfo/a/att5420-w-rv-n
+#usr/share/terminfo/a/att5420_2
+#usr/share/terminfo/a/att5420_2-w
+#usr/share/terminfo/a/att5425
+#usr/share/terminfo/a/att5425-nl
+#usr/share/terminfo/a/att5425-w
+#usr/share/terminfo/a/att5430
+#usr/share/terminfo/a/att5620
+#usr/share/terminfo/a/att5620-1
+#usr/share/terminfo/a/att5620-24
+#usr/share/terminfo/a/att5620-34
+#usr/share/terminfo/a/att5620-s
+#usr/share/terminfo/a/att605
+#usr/share/terminfo/a/att605-pc
+#usr/share/terminfo/a/att605-w
+#usr/share/terminfo/a/att610
+#usr/share/terminfo/a/att610-103k
+#usr/share/terminfo/a/att610-103k-w
+#usr/share/terminfo/a/att610-w
+#usr/share/terminfo/a/att615
+#usr/share/terminfo/a/att615-103k
+#usr/share/terminfo/a/att615-103k-w
+#usr/share/terminfo/a/att615-w
+#usr/share/terminfo/a/att620
+#usr/share/terminfo/a/att620-103k
+#usr/share/terminfo/a/att620-103k-w
+#usr/share/terminfo/a/att620-w
+#usr/share/terminfo/a/att630
+#usr/share/terminfo/a/att630-24
+#usr/share/terminfo/a/att6386
+#usr/share/terminfo/a/att700
+#usr/share/terminfo/a/att730
+#usr/share/terminfo/a/att730-24
+#usr/share/terminfo/a/att730-41
+#usr/share/terminfo/a/att7300
+#usr/share/terminfo/a/att730r
+#usr/share/terminfo/a/att730r-24
+#usr/share/terminfo/a/att730r-41
+#usr/share/terminfo/a/avatar
+#usr/share/terminfo/a/avatar0
+#usr/share/terminfo/a/avatar0+
+#usr/share/terminfo/a/avatar1
+#usr/share/terminfo/a/avt
+#usr/share/terminfo/a/avt+s
+#usr/share/terminfo/a/avt-ns
+#usr/share/terminfo/a/avt-rv
+#usr/share/terminfo/a/avt-rv-ns
+#usr/share/terminfo/a/avt-rv-s
+#usr/share/terminfo/a/avt-s
+#usr/share/terminfo/a/avt-w
+#usr/share/terminfo/a/avt-w-ns
+#usr/share/terminfo/a/avt-w-rv
+#usr/share/terminfo/a/avt-w-rv-ns
+#usr/share/terminfo/a/avt-w-rv-s
+#usr/share/terminfo/a/avt-w-s
+#usr/share/terminfo/a/aws
+#usr/share/terminfo/a/awsc
+#usr/share/terminfo/b
+#usr/share/terminfo/b/b-128
+#usr/share/terminfo/b/bantam
+#usr/share/terminfo/b/basic4
+#usr/share/terminfo/b/basis
+#usr/share/terminfo/b/bct510a
+#usr/share/terminfo/b/bct510d
+#usr/share/terminfo/b/beacon
+#usr/share/terminfo/b/bee
+#usr/share/terminfo/b/beehive
+#usr/share/terminfo/b/beehive3
+#usr/share/terminfo/b/beehive4
+#usr/share/terminfo/b/beehiveIIIm
+#usr/share/terminfo/b/beterm
+#usr/share/terminfo/b/bg1.25
+#usr/share/terminfo/b/bg1.25nv
+#usr/share/terminfo/b/bg1.25rv
+#usr/share/terminfo/b/bg2.0
+#usr/share/terminfo/b/bg2.0nv
+#usr/share/terminfo/b/bg2.0rv
+#usr/share/terminfo/b/bg3.10
+#usr/share/terminfo/b/bg3.10nv
+#usr/share/terminfo/b/bg3.10rv
+#usr/share/terminfo/b/bh3m
+#usr/share/terminfo/b/bh4
+#usr/share/terminfo/b/bitgraph
+#usr/share/terminfo/b/blit
+#usr/share/terminfo/b/bobcat
+#usr/share/terminfo/b/bq300
+#usr/share/terminfo/b/bq300-8
+#usr/share/terminfo/b/bq300-8-pc
+#usr/share/terminfo/b/bq300-8-pc-rv
+#usr/share/terminfo/b/bq300-8-pc-w
+#usr/share/terminfo/b/bq300-8-pc-w-rv
+#usr/share/terminfo/b/bq300-8rv
+#usr/share/terminfo/b/bq300-8w
+#usr/share/terminfo/b/bq300-pc
+#usr/share/terminfo/b/bq300-pc-rv
+#usr/share/terminfo/b/bq300-pc-w
+#usr/share/terminfo/b/bq300-pc-w-rv
+#usr/share/terminfo/b/bq300-rv
+#usr/share/terminfo/b/bq300-w
+#usr/share/terminfo/b/bq300-w-8rv
+#usr/share/terminfo/b/bq300-w-rv
+#usr/share/terminfo/b/bsdos-pc
+#usr/share/terminfo/b/bsdos-pc-m
+#usr/share/terminfo/b/bsdos-pc-mono
+#usr/share/terminfo/b/bsdos-pc-nobold
+#usr/share/terminfo/b/bsdos-ppc
+#usr/share/terminfo/b/bsdos-sparc
+#usr/share/terminfo/c
+#usr/share/terminfo/c/c100
+#usr/share/terminfo/c/c100-1p
+#usr/share/terminfo/c/c100-4p
+#usr/share/terminfo/c/c100-rv
+#usr/share/terminfo/c/c100-rv-4p
+#usr/share/terminfo/c/c104
+#usr/share/terminfo/c/c108
+#usr/share/terminfo/c/c108-4p
+#usr/share/terminfo/c/c108-8p
+#usr/share/terminfo/c/c108-rv
+#usr/share/terminfo/c/c108-rv-4p
+#usr/share/terminfo/c/c108-rv-8p
+#usr/share/terminfo/c/c108-w
+#usr/share/terminfo/c/c108-w-8p
+#usr/share/terminfo/c/c300
+#usr/share/terminfo/c/c301
+#usr/share/terminfo/c/c321
+#usr/share/terminfo/c/ca22851
+#usr/share/terminfo/c/cad68-2
+#usr/share/terminfo/c/cad68-3
+#usr/share/terminfo/c/cbblit
+#usr/share/terminfo/c/cbunix
+#usr/share/terminfo/c/cci
+#usr/share/terminfo/c/cci1
+#usr/share/terminfo/c/cdc456
+#usr/share/terminfo/c/cdc721
+#usr/share/terminfo/c/cdc721-esc
+#usr/share/terminfo/c/cdc721ll
+#usr/share/terminfo/c/cdc752
+#usr/share/terminfo/c/cdc756
+#usr/share/terminfo/c/cg7900
+#usr/share/terminfo/c/cgc2
+#usr/share/terminfo/c/cgc3
+#usr/share/terminfo/c/chromatics
+#usr/share/terminfo/c/ci8510
+#usr/share/terminfo/c/cit-80
+#usr/share/terminfo/c/cit101
+#usr/share/terminfo/c/cit101e
+#usr/share/terminfo/c/cit101e-132
+#usr/share/terminfo/c/cit101e-n
+#usr/share/terminfo/c/cit101e-n132
+#usr/share/terminfo/c/cit101e-rv
+#usr/share/terminfo/c/cit500
+#usr/share/terminfo/c/cit80
+#usr/share/terminfo/c/citc
+#usr/share/terminfo/c/citoh
+#usr/share/terminfo/c/citoh-6lpi
+#usr/share/terminfo/c/citoh-8lpi
+#usr/share/terminfo/c/citoh-comp
+#usr/share/terminfo/c/citoh-elite
+#usr/share/terminfo/c/citoh-pica
+#usr/share/terminfo/c/citoh-prop
+#usr/share/terminfo/c/citoh-ps
+#usr/share/terminfo/c/coco3
+#usr/share/terminfo/c/coherent
+#usr/share/terminfo/c/color_xterm
+#usr/share/terminfo/c/colorscan
+#usr/share/terminfo/c/commodore
+#usr/share/terminfo/c/concept
+#usr/share/terminfo/c/concept-avt
+#usr/share/terminfo/c/concept100
+#usr/share/terminfo/c/concept100-rv
+#usr/share/terminfo/c/concept108
+#usr/share/terminfo/c/concept108-4p
+#usr/share/terminfo/c/concept108-8p
+#usr/share/terminfo/c/concept108-w-8
+#usr/share/terminfo/c/concept108-w8p
+#usr/share/terminfo/c/concept108rv4p
+#usr/share/terminfo/c/cons25
+#usr/share/terminfo/c/cons25-iso-m
+#usr/share/terminfo/c/cons25-iso8859
+#usr/share/terminfo/c/cons25-koi8-r
+#usr/share/terminfo/c/cons25-koi8r-m
+#usr/share/terminfo/c/cons25-m
+#usr/share/terminfo/c/cons25l1
+#usr/share/terminfo/c/cons25l1-m
+#usr/share/terminfo/c/cons25r
+#usr/share/terminfo/c/cons25r-m
+#usr/share/terminfo/c/cons25w
+#usr/share/terminfo/c/cons30
+#usr/share/terminfo/c/cons30-m
+#usr/share/terminfo/c/cons43
+#usr/share/terminfo/c/cons43-m
+#usr/share/terminfo/c/cons50
+#usr/share/terminfo/c/cons50-iso-m
+#usr/share/terminfo/c/cons50-iso8859
+#usr/share/terminfo/c/cons50-koi8r
+#usr/share/terminfo/c/cons50-koi8r-m
+#usr/share/terminfo/c/cons50-m
+#usr/share/terminfo/c/cons50l1
+#usr/share/terminfo/c/cons50l1-m
+#usr/share/terminfo/c/cons50r
+#usr/share/terminfo/c/cons50r-m
+#usr/share/terminfo/c/cons60
+#usr/share/terminfo/c/cons60-iso
+#usr/share/terminfo/c/cons60-iso-m
+#usr/share/terminfo/c/cons60-koi8r
+#usr/share/terminfo/c/cons60-koi8r-m
+#usr/share/terminfo/c/cons60-m
+#usr/share/terminfo/c/cons60l1
+#usr/share/terminfo/c/cons60l1-m
+#usr/share/terminfo/c/cons60r
+#usr/share/terminfo/c/cons60r-m
+#usr/share/terminfo/c/contel300
+#usr/share/terminfo/c/contel301
+#usr/share/terminfo/c/contel320
+#usr/share/terminfo/c/contel321
+#usr/share/terminfo/c/cops
+#usr/share/terminfo/c/cops-10
+#usr/share/terminfo/c/cops10
+#usr/share/terminfo/c/crt
+#usr/share/terminfo/c/crt-vt220
+#usr/share/terminfo/c/cs10
+#usr/share/terminfo/c/cs10-w
+#usr/share/terminfo/c/ct82
+#usr/share/terminfo/c/ct8500
+#usr/share/terminfo/c/ctrm
+#usr/share/terminfo/c/cx
+#usr/share/terminfo/c/cx100
+#usr/share/terminfo/c/cyb110
+#usr/share/terminfo/c/cyb83
+#usr/share/terminfo/c/cygwin
+#usr/share/terminfo/c/cygwinB19
+#usr/share/terminfo/d
+#usr/share/terminfo/d/d132
+#usr/share/terminfo/d/d2
+#usr/share/terminfo/d/d2-dg
+#usr/share/terminfo/d/d200
+#usr/share/terminfo/d/d200-dg
+#usr/share/terminfo/d/d210
+#usr/share/terminfo/d/d210-dg
+#usr/share/terminfo/d/d211
+#usr/share/terminfo/d/d211-7b
+#usr/share/terminfo/d/d211-dg
+#usr/share/terminfo/d/d214
+#usr/share/terminfo/d/d214-dg
+#usr/share/terminfo/d/d215
+#usr/share/terminfo/d/d215-7b
+#usr/share/terminfo/d/d215-dg
+#usr/share/terminfo/d/d216+
+#usr/share/terminfo/d/d216+25
+#usr/share/terminfo/d/d216+dg
+#usr/share/terminfo/d/d216-dg
+#usr/share/terminfo/d/d216-unix
+#usr/share/terminfo/d/d216-unix-25
+#usr/share/terminfo/d/d216e+
+#usr/share/terminfo/d/d216e+dg
+#usr/share/terminfo/d/d216e-dg
+#usr/share/terminfo/d/d216e-unix
+#usr/share/terminfo/d/d217-dg
+#usr/share/terminfo/d/d217-unix
+#usr/share/terminfo/d/d217-unix-25
+#usr/share/terminfo/d/d220
+#usr/share/terminfo/d/d220-7b
+#usr/share/terminfo/d/d220-dg
+#usr/share/terminfo/d/d230
+#usr/share/terminfo/d/d230-dg
+#usr/share/terminfo/d/d230c
+#usr/share/terminfo/d/d230c-dg
+#usr/share/terminfo/d/d400
+#usr/share/terminfo/d/d400-dg
+#usr/share/terminfo/d/d410
+#usr/share/terminfo/d/d410-7b
+#usr/share/terminfo/d/d410-7b-w
+#usr/share/terminfo/d/d410-dg
+#usr/share/terminfo/d/d410-w
+#usr/share/terminfo/d/d411
+#usr/share/terminfo/d/d411-7b
+#usr/share/terminfo/d/d411-7b-w
+#usr/share/terminfo/d/d411-dg
+#usr/share/terminfo/d/d411-w
+#usr/share/terminfo/d/d412+
+#usr/share/terminfo/d/d412+25
+#usr/share/terminfo/d/d412+dg
+#usr/share/terminfo/d/d412+s
+#usr/share/terminfo/d/d412+sr
+#usr/share/terminfo/d/d412+w
+#usr/share/terminfo/d/d412-dg
+#usr/share/terminfo/d/d412-unix
+#usr/share/terminfo/d/d412-unix-25
+#usr/share/terminfo/d/d412-unix-s
+#usr/share/terminfo/d/d412-unix-sr
+#usr/share/terminfo/d/d412-unix-w
+#usr/share/terminfo/d/d413-dg
+#usr/share/terminfo/d/d413-unix
+#usr/share/terminfo/d/d413-unix-25
+#usr/share/terminfo/d/d413-unix-s
+#usr/share/terminfo/d/d413-unix-sr
+#usr/share/terminfo/d/d413-unix-w
+#usr/share/terminfo/d/d414-unix
+#usr/share/terminfo/d/d414-unix-25
+#usr/share/terminfo/d/d414-unix-s
+#usr/share/terminfo/d/d414-unix-sr
+#usr/share/terminfo/d/d414-unix-w
+#usr/share/terminfo/d/d430-dg
+#usr/share/terminfo/d/d430-dg-ccc
+#usr/share/terminfo/d/d430-unix
+#usr/share/terminfo/d/d430-unix-25
+#usr/share/terminfo/d/d430-unix-25-ccc
+#usr/share/terminfo/d/d430-unix-ccc
+#usr/share/terminfo/d/d430-unix-s
+#usr/share/terminfo/d/d430-unix-s-ccc
+#usr/share/terminfo/d/d430-unix-sr
+#usr/share/terminfo/d/d430-unix-sr-ccc
+#usr/share/terminfo/d/d430-unix-w
+#usr/share/terminfo/d/d430-unix-w-ccc
+#usr/share/terminfo/d/d430c-dg
+#usr/share/terminfo/d/d430c-dg-ccc
+#usr/share/terminfo/d/d430c-unix
+#usr/share/terminfo/d/d430c-unix-25
+#usr/share/terminfo/d/d430c-unix-25-ccc
+#usr/share/terminfo/d/d430c-unix-ccc
+#usr/share/terminfo/d/d430c-unix-s
+#usr/share/terminfo/d/d430c-unix-s-ccc
+#usr/share/terminfo/d/d430c-unix-sr
+#usr/share/terminfo/d/d430c-unix-sr-ccc
+#usr/share/terminfo/d/d430c-unix-w
+#usr/share/terminfo/d/d430c-unix-w-ccc
+#usr/share/terminfo/d/d450
+#usr/share/terminfo/d/d450-dg
+#usr/share/terminfo/d/d460
+#usr/share/terminfo/d/d460-7b
+#usr/share/terminfo/d/d460-7b-w
+#usr/share/terminfo/d/d460-dg
+#usr/share/terminfo/d/d460-w
+#usr/share/terminfo/d/d461
+#usr/share/terminfo/d/d461-7b
+#usr/share/terminfo/d/d461-7b-w
+#usr/share/terminfo/d/d461-dg
+#usr/share/terminfo/d/d461-w
+#usr/share/terminfo/d/d462+
+#usr/share/terminfo/d/d462+25
+#usr/share/terminfo/d/d462+dg
+#usr/share/terminfo/d/d462+s
+#usr/share/terminfo/d/d462+sr
+#usr/share/terminfo/d/d462+w
+#usr/share/terminfo/d/d462-dg
+#usr/share/terminfo/d/d462-unix
+#usr/share/terminfo/d/d462-unix-25
+#usr/share/terminfo/d/d462-unix-s
+#usr/share/terminfo/d/d462-unix-sr
+#usr/share/terminfo/d/d462-unix-w
+#usr/share/terminfo/d/d462e-dg
+#usr/share/terminfo/d/d463-dg
+#usr/share/terminfo/d/d463-unix
+#usr/share/terminfo/d/d463-unix-25
+#usr/share/terminfo/d/d463-unix-s
+#usr/share/terminfo/d/d463-unix-sr
+#usr/share/terminfo/d/d463-unix-w
+#usr/share/terminfo/d/d464-unix
+#usr/share/terminfo/d/d464-unix-25
+#usr/share/terminfo/d/d464-unix-s
+#usr/share/terminfo/d/d464-unix-sr
+#usr/share/terminfo/d/d464-unix-w
+#usr/share/terminfo/d/d470
+#usr/share/terminfo/d/d470-7b
+#usr/share/terminfo/d/d470-dg
+#usr/share/terminfo/d/d470c
+#usr/share/terminfo/d/d470c-7b
+#usr/share/terminfo/d/d470c-dg
+#usr/share/terminfo/d/d555
+#usr/share/terminfo/d/d555-7b
+#usr/share/terminfo/d/d555-7b-w
+#usr/share/terminfo/d/d555-dg
+#usr/share/terminfo/d/d555-w
+#usr/share/terminfo/d/d577
+#usr/share/terminfo/d/d577-7b
+#usr/share/terminfo/d/d577-7b-w
+#usr/share/terminfo/d/d577-dg
+#usr/share/terminfo/d/d577-w
+#usr/share/terminfo/d/d578
+#usr/share/terminfo/d/d578-7b
+#usr/share/terminfo/d/d578-dg
+#usr/share/terminfo/d/d80
+#usr/share/terminfo/d/d800
+#usr/share/terminfo/d/darwin
+#usr/share/terminfo/d/darwin-100x37
+#usr/share/terminfo/d/darwin-100x37-m
+#usr/share/terminfo/d/darwin-112x37
+#usr/share/terminfo/d/darwin-112x37-m
+#usr/share/terminfo/d/darwin-128x40
+#usr/share/terminfo/d/darwin-128x40-m
+#usr/share/terminfo/d/darwin-128x48
+#usr/share/terminfo/d/darwin-128x48-m
+#usr/share/terminfo/d/darwin-144x48
+#usr/share/terminfo/d/darwin-144x48-m
+#usr/share/terminfo/d/darwin-160x64
+#usr/share/terminfo/d/darwin-160x64-m
+#usr/share/terminfo/d/darwin-200x64
+#usr/share/terminfo/d/darwin-200x64-m
+#usr/share/terminfo/d/darwin-200x75
+#usr/share/terminfo/d/darwin-200x75-m
+#usr/share/terminfo/d/darwin-256x96
+#usr/share/terminfo/d/darwin-256x96-m
+#usr/share/terminfo/d/darwin-80x25
+#usr/share/terminfo/d/darwin-80x25-m
+#usr/share/terminfo/d/darwin-80x30
+#usr/share/terminfo/d/darwin-80x30-m
+#usr/share/terminfo/d/darwin-90x30
+#usr/share/terminfo/d/darwin-90x30-m
+#usr/share/terminfo/d/darwin-b
+#usr/share/terminfo/d/darwin-f
+#usr/share/terminfo/d/darwin-f2
+#usr/share/terminfo/d/darwin-m
+#usr/share/terminfo/d/darwin-m-b
+#usr/share/terminfo/d/darwin-m-f
+#usr/share/terminfo/d/darwin-m-f2
+#usr/share/terminfo/d/datagraphix
+#usr/share/terminfo/d/datamedia2500
+#usr/share/terminfo/d/datapoint
+#usr/share/terminfo/d/dataspeed40
+#usr/share/terminfo/d/dd5000
+#usr/share/terminfo/d/ddr
+#usr/share/terminfo/d/ddr3180
+#usr/share/terminfo/d/dec-vt100
+#usr/share/terminfo/d/dec-vt220
+#usr/share/terminfo/d/dec-vt330
+#usr/share/terminfo/d/dec-vt340
+#usr/share/terminfo/d/dec-vt400
+#usr/share/terminfo/d/decpro
+#usr/share/terminfo/d/decwriter
+#usr/share/terminfo/d/delta
+#usr/share/terminfo/d/dg+ccc
+#usr/share/terminfo/d/dg+color
+#usr/share/terminfo/d/dg+color8
+#usr/share/terminfo/d/dg+fixed
+#usr/share/terminfo/d/dg-ansi
+#usr/share/terminfo/d/dg-generic
+#usr/share/terminfo/d/dg100
+#usr/share/terminfo/d/dg200
+#usr/share/terminfo/d/dg210
+#usr/share/terminfo/d/dg211
+#usr/share/terminfo/d/dg450
+#usr/share/terminfo/d/dg460-ansi
+#usr/share/terminfo/d/dg6053
+#usr/share/terminfo/d/dg6053-old
+#usr/share/terminfo/d/dg605x
+#usr/share/terminfo/d/dg6134
+#usr/share/terminfo/d/dgkeys+11
+#usr/share/terminfo/d/dgkeys+15
+#usr/share/terminfo/d/dgkeys+7b
+#usr/share/terminfo/d/dgkeys+8b
+#usr/share/terminfo/d/dgmode+color
+#usr/share/terminfo/d/dgmode+color8
+#usr/share/terminfo/d/dgunix+ccc
+#usr/share/terminfo/d/dgunix+fixed
+#usr/share/terminfo/d/diablo
+#usr/share/terminfo/d/diablo-lm
+#usr/share/terminfo/d/diablo1620
+#usr/share/terminfo/d/diablo1620-m8
+#usr/share/terminfo/d/diablo1640
+#usr/share/terminfo/d/diablo1640-lm
+#usr/share/terminfo/d/diablo1640-m8
+#usr/share/terminfo/d/diablo1720
+#usr/share/terminfo/d/diablo1730
+#usr/share/terminfo/d/diablo1740
+#usr/share/terminfo/d/diablo1740-lm
+#usr/share/terminfo/d/diablo450
+#usr/share/terminfo/d/diablo630
+#usr/share/terminfo/d/dialogue
+#usr/share/terminfo/d/dialogue80
+#usr/share/terminfo/d/digilog
+#usr/share/terminfo/d/dku7003
+#usr/share/terminfo/d/dku7003-dumb
+#usr/share/terminfo/d/dku7102
+#usr/share/terminfo/d/dku7102-old
+#usr/share/terminfo/d/dku7102-sna
+#usr/share/terminfo/d/dku7103-sna
+#usr/share/terminfo/d/dku7202
+#usr/share/terminfo/d/dm1520
+#usr/share/terminfo/d/dm1521
+#usr/share/terminfo/d/dm2500
+#usr/share/terminfo/d/dm3025
+#usr/share/terminfo/d/dm3045
+#usr/share/terminfo/d/dm80
+#usr/share/terminfo/d/dm80w
+#usr/share/terminfo/d/dmchat
+#usr/share/terminfo/d/dmd
+#usr/share/terminfo/d/dmd-24
+#usr/share/terminfo/d/dmd-34
+#usr/share/terminfo/d/dmd1
+#usr/share/terminfo/d/dmdt80
+#usr/share/terminfo/d/dmdt80w
+#usr/share/terminfo/d/dmterm
+#usr/share/terminfo/d/dp3360
+#usr/share/terminfo/d/dp8242
+#usr/share/terminfo/d/ds40
+#usr/share/terminfo/d/ds40-2
+#usr/share/terminfo/d/dt-100
+#usr/share/terminfo/d/dt-100w
+#usr/share/terminfo/d/dt100
+#usr/share/terminfo/d/dt100w
+#usr/share/terminfo/d/dt110
+#usr/share/terminfo/d/dt80
+#usr/share/terminfo/d/dt80-sas
+#usr/share/terminfo/d/dt80w
+#usr/share/terminfo/d/dtc300s
+#usr/share/terminfo/d/dtc382
+#usr/share/terminfo/d/dtterm
+#usr/share/terminfo/d/dumb
+#usr/share/terminfo/d/dw
+#usr/share/terminfo/d/dw1
+#usr/share/terminfo/d/dw2
+#usr/share/terminfo/d/dw3
+#usr/share/terminfo/d/dw4
+#usr/share/terminfo/d/dwk
+#usr/share/terminfo/d/dwk-vt
+#usr/share/terminfo/e
+#usr/share/terminfo/e/ecma+color
+#usr/share/terminfo/e/ecma+sgr
+#usr/share/terminfo/e/elks
+#usr/share/terminfo/e/elks-ansi
+#usr/share/terminfo/e/elks-glasstty
+#usr/share/terminfo/e/elks-vt52
+#usr/share/terminfo/e/emots
+#usr/share/terminfo/e/emu
+#usr/share/terminfo/e/env230
+#usr/share/terminfo/e/envision230
+#usr/share/terminfo/e/ep40
+#usr/share/terminfo/e/ep4000
+#usr/share/terminfo/e/ep4080
+#usr/share/terminfo/e/ep48
+#usr/share/terminfo/e/ergo4000
+#usr/share/terminfo/e/esprit
+#usr/share/terminfo/e/esprit-am
+#usr/share/terminfo/e/eterm
+#usr/share/terminfo/e/ex155
+#usr/share/terminfo/e/excel62
+#usr/share/terminfo/e/excel62-rv
+#usr/share/terminfo/e/excel62-w
+#usr/share/terminfo/e/excel64
+#usr/share/terminfo/e/excel64-rv
+#usr/share/terminfo/e/excel64-w
+#usr/share/terminfo/e/exec80
+#usr/share/terminfo/f
+#usr/share/terminfo/f/f100
+#usr/share/terminfo/f/f100-rv
+#usr/share/terminfo/f/f110
+#usr/share/terminfo/f/f110-14
+#usr/share/terminfo/f/f110-14w
+#usr/share/terminfo/f/f110-w
+#usr/share/terminfo/f/f1720
+#usr/share/terminfo/f/f1720a
+#usr/share/terminfo/f/f200
+#usr/share/terminfo/f/f200-w
+#usr/share/terminfo/f/f200vi
+#usr/share/terminfo/f/f200vi-w
+#usr/share/terminfo/f/falco
+#usr/share/terminfo/f/falco-p
+#usr/share/terminfo/f/fenix
+#usr/share/terminfo/f/fenixw
+#usr/share/terminfo/f/fixterm
+#usr/share/terminfo/f/fortune
+#usr/share/terminfo/f/fos
+#usr/share/terminfo/f/fox
+#usr/share/terminfo/f/freedom
+#usr/share/terminfo/f/freedom-rv
+#usr/share/terminfo/f/freedom100
+#usr/share/terminfo/f/freedom110
+#usr/share/terminfo/f/freedom200
+#usr/share/terminfo/g
+#usr/share/terminfo/g/gator
+#usr/share/terminfo/g/gator-52
+#usr/share/terminfo/g/gator-52t
+#usr/share/terminfo/g/gator-t
+#usr/share/terminfo/g/gigi
+#usr/share/terminfo/g/glasstty
+#usr/share/terminfo/g/gnome
+#usr/share/terminfo/g/gnome-rh62
+#usr/share/terminfo/g/gnome-rh72
+#usr/share/terminfo/g/go-225
+#usr/share/terminfo/g/go140
+#usr/share/terminfo/g/go140w
+#usr/share/terminfo/g/go225
+#usr/share/terminfo/g/graphos
+#usr/share/terminfo/g/graphos-30
+#usr/share/terminfo/g/gs5430
+#usr/share/terminfo/g/gs5430-22
+#usr/share/terminfo/g/gs5430-24
+#usr/share/terminfo/g/gs6300
+#usr/share/terminfo/g/gsi
+#usr/share/terminfo/g/gt100
+#usr/share/terminfo/g/gt100a
+#usr/share/terminfo/g/gt40
+#usr/share/terminfo/g/gt42
+#usr/share/terminfo/g/guru
+#usr/share/terminfo/g/guru+rv
+#usr/share/terminfo/g/guru+s
+#usr/share/terminfo/g/guru+unk
+#usr/share/terminfo/g/guru-24
+#usr/share/terminfo/g/guru-33
+#usr/share/terminfo/g/guru-33-rv
+#usr/share/terminfo/g/guru-33-s
+#usr/share/terminfo/g/guru-44
+#usr/share/terminfo/g/guru-44-s
+#usr/share/terminfo/g/guru-76
+#usr/share/terminfo/g/guru-76-lp
+#usr/share/terminfo/g/guru-76-s
+#usr/share/terminfo/g/guru-76-w
+#usr/share/terminfo/g/guru-76-w-s
+#usr/share/terminfo/g/guru-76-wm
+#usr/share/terminfo/g/guru-lp
+#usr/share/terminfo/g/guru-nctxt
+#usr/share/terminfo/g/guru-rv
+#usr/share/terminfo/g/guru-s
+#usr/share/terminfo/h
+#usr/share/terminfo/h/h-100
+#usr/share/terminfo/h/h-100bw
+#usr/share/terminfo/h/h100
+#usr/share/terminfo/h/h100bw
+#usr/share/terminfo/h/h19
+#usr/share/terminfo/h/h19-a
+#usr/share/terminfo/h/h19-b
+#usr/share/terminfo/h/h19-bs
+#usr/share/terminfo/h/h19-g
+#usr/share/terminfo/h/h19-smul
+#usr/share/terminfo/h/h19-u
+#usr/share/terminfo/h/h19-us
+#usr/share/terminfo/h/h19a
+#usr/share/terminfo/h/h19g
+#usr/share/terminfo/h/h19k
+#usr/share/terminfo/h/h19kermit
+#usr/share/terminfo/h/h19us
+#usr/share/terminfo/h/h29a-kc-bc
+#usr/share/terminfo/h/h29a-kc-uc
+#usr/share/terminfo/h/h29a-nkc-bc
+#usr/share/terminfo/h/h29a-nkc-uc
+#usr/share/terminfo/h/h80
+#usr/share/terminfo/h/ha8675
+#usr/share/terminfo/h/ha8686
+#usr/share/terminfo/h/hazel
+#usr/share/terminfo/h/hds200
+#usr/share/terminfo/h/he80
+#usr/share/terminfo/h/heath
+#usr/share/terminfo/h/heath-19
+#usr/share/terminfo/h/heath-ansi
+#usr/share/terminfo/h/heathkit
+#usr/share/terminfo/h/heathkit-a
+#usr/share/terminfo/h/hft
+#usr/share/terminfo/h/hft-c
+#usr/share/terminfo/h/hft-c-old
+#usr/share/terminfo/h/hft-old
+#usr/share/terminfo/h/hirez100
+#usr/share/terminfo/h/hirez100-w
+#usr/share/terminfo/h/hmod1
+#usr/share/terminfo/h/hp
+#usr/share/terminfo/h/hp+arrows
+#usr/share/terminfo/h/hp+color
+#usr/share/terminfo/h/hp+labels
+#usr/share/terminfo/h/hp+pfk+arrows
+#usr/share/terminfo/h/hp+pfk+cr
+#usr/share/terminfo/h/hp+pfk-cr
+#usr/share/terminfo/h/hp+printer
+#usr/share/terminfo/h/hp110
+#usr/share/terminfo/h/hp150
+#usr/share/terminfo/h/hp2
+#usr/share/terminfo/h/hp236
+#usr/share/terminfo/h/hp2382
+#usr/share/terminfo/h/hp2382a
+#usr/share/terminfo/h/hp2392
+#usr/share/terminfo/h/hp2397
+#usr/share/terminfo/h/hp2397a
+#usr/share/terminfo/h/hp2621
+#usr/share/terminfo/h/hp2621-48
+#usr/share/terminfo/h/hp2621-a
+#usr/share/terminfo/h/hp2621-ba
+#usr/share/terminfo/h/hp2621-fl
+#usr/share/terminfo/h/hp2621-k45
+#usr/share/terminfo/h/hp2621-nl
+#usr/share/terminfo/h/hp2621-nt
+#usr/share/terminfo/h/hp2621-wl
+#usr/share/terminfo/h/hp2621A
+#usr/share/terminfo/h/hp2621a
+#usr/share/terminfo/h/hp2621a-a
+#usr/share/terminfo/h/hp2621b
+#usr/share/terminfo/h/hp2621b-kx
+#usr/share/terminfo/h/hp2621b-kx-p
+#usr/share/terminfo/h/hp2621b-p
+#usr/share/terminfo/h/hp2621k45
+#usr/share/terminfo/h/hp2621p
+#usr/share/terminfo/h/hp2621p-a
+#usr/share/terminfo/h/hp2622
+#usr/share/terminfo/h/hp2622a
+#usr/share/terminfo/h/hp2623
+#usr/share/terminfo/h/hp2623a
+#usr/share/terminfo/h/hp2624
+#usr/share/terminfo/h/hp2624-10p
+#usr/share/terminfo/h/hp2624a
+#usr/share/terminfo/h/hp2624a-10p
+#usr/share/terminfo/h/hp2624b
+#usr/share/terminfo/h/hp2624b-10p
+#usr/share/terminfo/h/hp2624b-10p-p
+#usr/share/terminfo/h/hp2624b-4p
+#usr/share/terminfo/h/hp2624b-4p-p
+#usr/share/terminfo/h/hp2624b-p
+#usr/share/terminfo/h/hp2626
+#usr/share/terminfo/h/hp2626-12
+#usr/share/terminfo/h/hp2626-12-s
+#usr/share/terminfo/h/hp2626-12x40
+#usr/share/terminfo/h/hp2626-ns
+#usr/share/terminfo/h/hp2626-s
+#usr/share/terminfo/h/hp2626-x40
+#usr/share/terminfo/h/hp2626a
+#usr/share/terminfo/h/hp2626p
+#usr/share/terminfo/h/hp2627a
+#usr/share/terminfo/h/hp2627a-rev
+#usr/share/terminfo/h/hp2627c
+#usr/share/terminfo/h/hp262x
+#usr/share/terminfo/h/hp2640a
+#usr/share/terminfo/h/hp2640b
+#usr/share/terminfo/h/hp2641a
+#usr/share/terminfo/h/hp2644a
+#usr/share/terminfo/h/hp2645
+#usr/share/terminfo/h/hp2645a
+#usr/share/terminfo/h/hp2647a
+#usr/share/terminfo/h/hp2648
+#usr/share/terminfo/h/hp2648a
+#usr/share/terminfo/h/hp300h
+#usr/share/terminfo/h/hp45
+#usr/share/terminfo/h/hp700
+#usr/share/terminfo/h/hp700-wy
+#usr/share/terminfo/h/hp70092
+#usr/share/terminfo/h/hp70092A
+#usr/share/terminfo/h/hp70092a
+#usr/share/terminfo/h/hp9837
+#usr/share/terminfo/h/hp9845
+#usr/share/terminfo/h/hp98550
+#usr/share/terminfo/h/hp98550a
+#usr/share/terminfo/h/hp98720
+#usr/share/terminfo/h/hp98721
+#usr/share/terminfo/h/hpansi
+#usr/share/terminfo/h/hpex
+#usr/share/terminfo/h/hpex2
+#usr/share/terminfo/h/hpgeneric
+#usr/share/terminfo/h/hpsub
+#usr/share/terminfo/h/hpterm
+#usr/share/terminfo/h/htx11
+#usr/share/terminfo/h/hz1000
+#usr/share/terminfo/h/hz1420
+#usr/share/terminfo/h/hz1500
+#usr/share/terminfo/h/hz1510
+#usr/share/terminfo/h/hz1520
+#usr/share/terminfo/h/hz1520-noesc
+#usr/share/terminfo/h/hz1552
+#usr/share/terminfo/h/hz1552-rv
+#usr/share/terminfo/h/hz2000
+#usr/share/terminfo/i
+#usr/share/terminfo/i/i100
+#usr/share/terminfo/i/i3101
+#usr/share/terminfo/i/i3164
+#usr/share/terminfo/i/i400
+#usr/share/terminfo/i/ibcs2
+#usr/share/terminfo/i/ibm+16color
+#usr/share/terminfo/i/ibm+color
+#usr/share/terminfo/i/ibm-apl
+#usr/share/terminfo/i/ibm-pc
+#usr/share/terminfo/i/ibm-system1
+#usr/share/terminfo/i/ibm3101
+#usr/share/terminfo/i/ibm3151
+#usr/share/terminfo/i/ibm3161
+#usr/share/terminfo/i/ibm3161-C
+#usr/share/terminfo/i/ibm3162
+#usr/share/terminfo/i/ibm3163
+#usr/share/terminfo/i/ibm3164
+#usr/share/terminfo/i/ibm327x
+#usr/share/terminfo/i/ibm5051
+#usr/share/terminfo/i/ibm5081
+#usr/share/terminfo/i/ibm5081-c
+#usr/share/terminfo/i/ibm5151
+#usr/share/terminfo/i/ibm5154
+#usr/share/terminfo/i/ibm5154-c
+#usr/share/terminfo/i/ibm6153
+#usr/share/terminfo/i/ibm6153-40
+#usr/share/terminfo/i/ibm6153-90
+#usr/share/terminfo/i/ibm6154
+#usr/share/terminfo/i/ibm6154-c
+#usr/share/terminfo/i/ibm6155
+#usr/share/terminfo/i/ibm8503
+#usr/share/terminfo/i/ibm8507
+#usr/share/terminfo/i/ibm8512
+#usr/share/terminfo/i/ibm8513
+#usr/share/terminfo/i/ibm8514
+#usr/share/terminfo/i/ibm8514-c
+#usr/share/terminfo/i/ibm8604
+#usr/share/terminfo/i/ibmaed
+#usr/share/terminfo/i/ibmapa16
+#usr/share/terminfo/i/ibmapa8
+#usr/share/terminfo/i/ibmapa8c
+#usr/share/terminfo/i/ibmapa8c-c
+#usr/share/terminfo/i/ibmega
+#usr/share/terminfo/i/ibmega-c
+#usr/share/terminfo/i/ibmmono
+#usr/share/terminfo/i/ibmmpel-c
+#usr/share/terminfo/i/ibmpc
+#usr/share/terminfo/i/ibmpc3
+#usr/share/terminfo/i/ibmpc3r
+#usr/share/terminfo/i/ibmpc3r-mono
+#usr/share/terminfo/i/ibmpcx
+#usr/share/terminfo/i/ibmvga
+#usr/share/terminfo/i/ibmvga-c
+#usr/share/terminfo/i/ibmx
+#usr/share/terminfo/i/icl6402
+#usr/share/terminfo/i/icl6404
+#usr/share/terminfo/i/icl6404-w
+#usr/share/terminfo/i/ifmr
+#usr/share/terminfo/i/ims-ansi
+#usr/share/terminfo/i/ims950
+#usr/share/terminfo/i/ims950-b
+#usr/share/terminfo/i/ims950-rv
+#usr/share/terminfo/i/infoton
+#usr/share/terminfo/i/intertec
+#usr/share/terminfo/i/intertube
+#usr/share/terminfo/i/intertube2
+#usr/share/terminfo/i/intext
+#usr/share/terminfo/i/intext2
+#usr/share/terminfo/i/intextii
+#usr/share/terminfo/i/ips
+#usr/share/terminfo/i/ipsi
+#usr/share/terminfo/i/iq120
+#usr/share/terminfo/i/iq140
+#usr/share/terminfo/i/iris-ansi
+#usr/share/terminfo/i/iris-ansi-ap
+#usr/share/terminfo/i/iris-ansi-net
+#usr/share/terminfo/i/iris-color
+#usr/share/terminfo/i/iris40
+#usr/share/terminfo/j
+#usr/share/terminfo/j/jaixterm
+#usr/share/terminfo/j/jaixterm-m
+#usr/share/terminfo/j/jerq
+#usr/share/terminfo/k
+#usr/share/terminfo/k/k45
+#usr/share/terminfo/k/kaypro
+#usr/share/terminfo/k/kaypro2
+#usr/share/terminfo/k/kds6402
+#usr/share/terminfo/k/kds7372
+#usr/share/terminfo/k/kds7372-w
+#usr/share/terminfo/k/kermit
+#usr/share/terminfo/k/kermit-am
+#usr/share/terminfo/k/klone+acs
+#usr/share/terminfo/k/klone+color
+#usr/share/terminfo/k/klone+koi8acs
+#usr/share/terminfo/k/klone+sgr
+#usr/share/terminfo/k/klone+sgr-dumb
+#usr/share/terminfo/k/konsole
+#usr/share/terminfo/k/konsole-16color
+#usr/share/terminfo/k/konsole-base
+#usr/share/terminfo/k/konsole-linux
+#usr/share/terminfo/k/konsole-vt100
+#usr/share/terminfo/k/konsole-vt420pc
+#usr/share/terminfo/k/konsole-xf3x
+#usr/share/terminfo/k/konsole-xf4x
+#usr/share/terminfo/k/kt7
+#usr/share/terminfo/k/kt7ix
+#usr/share/terminfo/k/kterm
+#usr/share/terminfo/k/kterm-co
+#usr/share/terminfo/k/kterm-color
+#usr/share/terminfo/k/ktm
+#usr/share/terminfo/k/kvt
+#usr/share/terminfo/l
+#usr/share/terminfo/l/la120
+#usr/share/terminfo/l/layer
+#usr/share/terminfo/l/lft
+#usr/share/terminfo/l/lft-pc850
+usr/share/terminfo/l/linux
+usr/share/terminfo/l/linux-basic
+usr/share/terminfo/l/linux-c
+usr/share/terminfo/l/linux-c-nc
+usr/share/terminfo/l/linux-koi8
+usr/share/terminfo/l/linux-koi8r
+usr/share/terminfo/l/linux-lat
+usr/share/terminfo/l/linux-m
+usr/share/terminfo/l/linux-nic
+#usr/share/terminfo/l/lisa
+#usr/share/terminfo/l/lisaterm
+#usr/share/terminfo/l/lisaterm-w
+#usr/share/terminfo/l/liswb
+#usr/share/terminfo/l/ln03
+#usr/share/terminfo/l/ln03-w
+#usr/share/terminfo/l/lpr
+#usr/share/terminfo/l/luna
+#usr/share/terminfo/l/luna68k
+#usr/share/terminfo/m
+#usr/share/terminfo/m/m2-nam
+#usr/share/terminfo/m/mac
+#usr/share/terminfo/m/mac-w
+#usr/share/terminfo/m/mach
+#usr/share/terminfo/m/mach-bold
+#usr/share/terminfo/m/mach-color
+#usr/share/terminfo/m/macintosh
+#usr/share/terminfo/m/macterminal-w
+#usr/share/terminfo/m/mai
+#usr/share/terminfo/m/masscomp
+#usr/share/terminfo/m/masscomp1
+#usr/share/terminfo/m/masscomp2
+#usr/share/terminfo/m/mdl110
+#usr/share/terminfo/m/megatek
+#usr/share/terminfo/m/memhp
+#usr/share/terminfo/m/mgr
+#usr/share/terminfo/m/mgr-linux
+#usr/share/terminfo/m/mgr-sun
+#usr/share/terminfo/m/mgterm
+#usr/share/terminfo/m/microb
+#usr/share/terminfo/m/microbee
+#usr/share/terminfo/m/microterm
+#usr/share/terminfo/m/microterm5
+#usr/share/terminfo/m/mime
+#usr/share/terminfo/m/mime-3ax
+#usr/share/terminfo/m/mime-fb
+#usr/share/terminfo/m/mime-hb
+#usr/share/terminfo/m/mime1
+#usr/share/terminfo/m/mime2
+#usr/share/terminfo/m/mime2a
+#usr/share/terminfo/m/mime2a-s
+#usr/share/terminfo/m/mime2a-v
+#usr/share/terminfo/m/mime314
+#usr/share/terminfo/m/mime340
+#usr/share/terminfo/m/mime3a
+#usr/share/terminfo/m/mime3ax
+#usr/share/terminfo/m/mimei
+#usr/share/terminfo/m/mimeii
+#usr/share/terminfo/m/minitel
+#usr/share/terminfo/m/minitel-2
+#usr/share/terminfo/m/minitel-2-nam
+#usr/share/terminfo/m/minitel1
+#usr/share/terminfo/m/minitel1b
+#usr/share/terminfo/m/minitel1b-80
+#usr/share/terminfo/m/minix
+#usr/share/terminfo/m/minix-old
+#usr/share/terminfo/m/minix-old-am
+#usr/share/terminfo/m/mm314
+#usr/share/terminfo/m/mm340
+#usr/share/terminfo/m/mod
+#usr/share/terminfo/m/mod24
+#usr/share/terminfo/m/modgraph
+#usr/share/terminfo/m/modgraph2
+#usr/share/terminfo/m/modgraph48
+#usr/share/terminfo/m/mono-emx
+#usr/share/terminfo/m/ms-vt100
+#usr/share/terminfo/m/ms-vt100-color
+#usr/share/terminfo/m/msk227
+#usr/share/terminfo/m/msk22714
+#usr/share/terminfo/m/msk227am
+#usr/share/terminfo/m/mskermit227
+#usr/share/terminfo/m/mskermit22714
+#usr/share/terminfo/m/mskermit227am
+#usr/share/terminfo/m/mt-70
+#usr/share/terminfo/m/mt4520-rv
+#usr/share/terminfo/m/mt70
+#usr/share/terminfo/m/mvterm
+#usr/share/terminfo/n
+#usr/share/terminfo/n/nansi.sys
+#usr/share/terminfo/n/nansi.sysk
+#usr/share/terminfo/n/nansisys
+#usr/share/terminfo/n/nansisysk
+#usr/share/terminfo/n/ncr160vppp
+#usr/share/terminfo/n/ncr160vpwpp
+#usr/share/terminfo/n/ncr160vt100an
+#usr/share/terminfo/n/ncr160vt100pp
+#usr/share/terminfo/n/ncr160vt100wan
+#usr/share/terminfo/n/ncr160vt100wpp
+#usr/share/terminfo/n/ncr160vt200an
+#usr/share/terminfo/n/ncr160vt200pp
+#usr/share/terminfo/n/ncr160vt200wan
+#usr/share/terminfo/n/ncr160vt200wpp
+#usr/share/terminfo/n/ncr160vt300an
+#usr/share/terminfo/n/ncr160vt300pp
+#usr/share/terminfo/n/ncr160vt300wan
+#usr/share/terminfo/n/ncr160vt300wpp
+#usr/share/terminfo/n/ncr160wy50+pp
+#usr/share/terminfo/n/ncr160wy50+wpp
+#usr/share/terminfo/n/ncr160wy60pp
+#usr/share/terminfo/n/ncr160wy60wpp
+#usr/share/terminfo/n/ncr260intan
+#usr/share/terminfo/n/ncr260intpp
+#usr/share/terminfo/n/ncr260intwan
+#usr/share/terminfo/n/ncr260intwpp
+#usr/share/terminfo/n/ncr260vppp
+#usr/share/terminfo/n/ncr260vpwpp
+#usr/share/terminfo/n/ncr260vt100an
+#usr/share/terminfo/n/ncr260vt100pp
+#usr/share/terminfo/n/ncr260vt100wan
+#usr/share/terminfo/n/ncr260vt100wpp
+#usr/share/terminfo/n/ncr260vt200an
+#usr/share/terminfo/n/ncr260vt200pp
+#usr/share/terminfo/n/ncr260vt200wan
+#usr/share/terminfo/n/ncr260vt200wpp
+#usr/share/terminfo/n/ncr260vt300an
+#usr/share/terminfo/n/ncr260vt300pp
+#usr/share/terminfo/n/ncr260vt300wan
+#usr/share/terminfo/n/ncr260vt300wpp
+#usr/share/terminfo/n/ncr260wy325pp
+#usr/share/terminfo/n/ncr260wy325wpp
+#usr/share/terminfo/n/ncr260wy350pp
+#usr/share/terminfo/n/ncr260wy350wpp
+#usr/share/terminfo/n/ncr260wy50+pp
+#usr/share/terminfo/n/ncr260wy50+wpp
+#usr/share/terminfo/n/ncr260wy60pp
+#usr/share/terminfo/n/ncr260wy60wpp
+#usr/share/terminfo/n/ncr7900
+#usr/share/terminfo/n/ncr7900i
+#usr/share/terminfo/n/ncr7900iv
+#usr/share/terminfo/n/ncr7901
+#usr/share/terminfo/n/ncrvt100an
+#usr/share/terminfo/n/ncrvt100pp
+#usr/share/terminfo/n/ncrvt100wan
+#usr/share/terminfo/n/ncrvt100wpp
+#usr/share/terminfo/n/ncsa
+#usr/share/terminfo/n/ncsa-m
+#usr/share/terminfo/n/ncsa-m-ns
+#usr/share/terminfo/n/ncsa-ns
+#usr/share/terminfo/n/ncsa-vt220
+#usr/share/terminfo/n/ncsa-vt220-8
+#usr/share/terminfo/n/nec
+#usr/share/terminfo/n/nec5520
+#usr/share/terminfo/n/newhp
+#usr/share/terminfo/n/newhpkeyboard
+#usr/share/terminfo/n/news
+#usr/share/terminfo/n/news-29
+#usr/share/terminfo/n/news-29-euc
+#usr/share/terminfo/n/news-29-sjis
+#usr/share/terminfo/n/news-33
+#usr/share/terminfo/n/news-33-euc
+#usr/share/terminfo/n/news-33-sjis
+#usr/share/terminfo/n/news-42
+#usr/share/terminfo/n/news-42-euc
+#usr/share/terminfo/n/news-42-sjis
+#usr/share/terminfo/n/news-a
+#usr/share/terminfo/n/news-o
+#usr/share/terminfo/n/news-old-unk
+#usr/share/terminfo/n/news-unk
+#usr/share/terminfo/n/news28
+#usr/share/terminfo/n/news28-a
+#usr/share/terminfo/n/news29
+#usr/share/terminfo/n/news31
+#usr/share/terminfo/n/news31-a
+#usr/share/terminfo/n/news31-o
+#usr/share/terminfo/n/news33
+#usr/share/terminfo/n/news40
+#usr/share/terminfo/n/news40-a
+#usr/share/terminfo/n/news40-o
+#usr/share/terminfo/n/news42
+#usr/share/terminfo/n/newscbm
+#usr/share/terminfo/n/newscbm-a
+#usr/share/terminfo/n/newscbm-o
+#usr/share/terminfo/n/newscbm33
+#usr/share/terminfo/n/next
+#usr/share/terminfo/n/nextshell
+#usr/share/terminfo/n/northstar
+#usr/share/terminfo/n/nsterm
+#usr/share/terminfo/n/nsterm+7
+#usr/share/terminfo/n/nsterm+acs
+#usr/share/terminfo/n/nsterm+c
+#usr/share/terminfo/n/nsterm+c41
+#usr/share/terminfo/n/nsterm+mac
+#usr/share/terminfo/n/nsterm+s
+#usr/share/terminfo/n/nsterm-7
+#usr/share/terminfo/n/nsterm-7-c
+#usr/share/terminfo/n/nsterm-7-c-s
+#usr/share/terminfo/n/nsterm-7-m
+#usr/share/terminfo/n/nsterm-7-m-s
+#usr/share/terminfo/n/nsterm-7-s
+#usr/share/terminfo/n/nsterm-acs
+#usr/share/terminfo/n/nsterm-acs-c
+#usr/share/terminfo/n/nsterm-acs-c-s
+#usr/share/terminfo/n/nsterm-acs-m
+#usr/share/terminfo/n/nsterm-acs-m-s
+#usr/share/terminfo/n/nsterm-acs-s
+#usr/share/terminfo/n/nsterm-c
+#usr/share/terminfo/n/nsterm-c-7
+#usr/share/terminfo/n/nsterm-c-acs
+#usr/share/terminfo/n/nsterm-c-s
+#usr/share/terminfo/n/nsterm-c-s-7
+#usr/share/terminfo/n/nsterm-c-s-acs
+#usr/share/terminfo/n/nsterm-m
+#usr/share/terminfo/n/nsterm-m-7
+#usr/share/terminfo/n/nsterm-m-acs
+#usr/share/terminfo/n/nsterm-m-s
+#usr/share/terminfo/n/nsterm-m-s-7
+#usr/share/terminfo/n/nsterm-m-s-acs
+#usr/share/terminfo/n/nsterm-s
+#usr/share/terminfo/n/nsterm-s-7
+#usr/share/terminfo/n/nsterm-s-acs
+#usr/share/terminfo/n/nwe501
+#usr/share/terminfo/n/nwe501-a
+#usr/share/terminfo/n/nwe501-o
+#usr/share/terminfo/n/nwp-511
+#usr/share/terminfo/n/nwp-517
+#usr/share/terminfo/n/nwp-517-w
+#usr/share/terminfo/n/nwp251-a
+#usr/share/terminfo/n/nwp251-o
+#usr/share/terminfo/n/nwp511
+#usr/share/terminfo/n/nwp512
+#usr/share/terminfo/n/nwp512-a
+#usr/share/terminfo/n/nwp512-o
+#usr/share/terminfo/n/nwp513
+#usr/share/terminfo/n/nwp513-a
+#usr/share/terminfo/n/nwp513-o
+#usr/share/terminfo/n/nwp514
+#usr/share/terminfo/n/nwp514-a
+#usr/share/terminfo/n/nwp514-o
+#usr/share/terminfo/n/nwp517
+#usr/share/terminfo/n/nwp517-w
+#usr/share/terminfo/n/nwp518
+#usr/share/terminfo/n/nwp518-a
+#usr/share/terminfo/n/nwp518-o
+#usr/share/terminfo/n/nxterm
+#usr/share/terminfo/o
+#usr/share/terminfo/o/o31
+#usr/share/terminfo/o/o4112-nd
+#usr/share/terminfo/o/o85h
+#usr/share/terminfo/o/oabm85h
+#usr/share/terminfo/o/oblit
+#usr/share/terminfo/o/oc100
+#usr/share/terminfo/o/oconcept
+#usr/share/terminfo/o/ofcons
+#usr/share/terminfo/o/ojerq
+#usr/share/terminfo/o/oldibmpc3
+#usr/share/terminfo/o/oldpc3
+#usr/share/terminfo/o/oldsun
+#usr/share/terminfo/o/omron
+#usr/share/terminfo/o/opus3n1+
+#usr/share/terminfo/o/origibmpc3
+#usr/share/terminfo/o/origpc3
+#usr/share/terminfo/o/os9LII
+#usr/share/terminfo/o/osborne
+#usr/share/terminfo/o/osborne-w
+#usr/share/terminfo/o/osborne1
+#usr/share/terminfo/o/osborne1-w
+#usr/share/terminfo/o/osexec
+#usr/share/terminfo/o/otek4112
+#usr/share/terminfo/o/otek4113
+#usr/share/terminfo/o/otek4114
+#usr/share/terminfo/o/otek4115
+#usr/share/terminfo/o/owl
+#usr/share/terminfo/p
+#usr/share/terminfo/p/p12
+#usr/share/terminfo/p/p12-m
+#usr/share/terminfo/p/p12-m-w
+#usr/share/terminfo/p/p12-w
+#usr/share/terminfo/p/p14
+#usr/share/terminfo/p/p14-m
+#usr/share/terminfo/p/p14-m-w
+#usr/share/terminfo/p/p14-w
+#usr/share/terminfo/p/p19
+#usr/share/terminfo/p/p4
+#usr/share/terminfo/p/p5
+#usr/share/terminfo/p/p7
+#usr/share/terminfo/p/p8
+#usr/share/terminfo/p/p8-w
+#usr/share/terminfo/p/p8gl
+#usr/share/terminfo/p/p9
+#usr/share/terminfo/p/p9-8
+#usr/share/terminfo/p/p9-8-w
+#usr/share/terminfo/p/p9-w
+#usr/share/terminfo/p/pc-coherent
+#usr/share/terminfo/p/pc-minix
+#usr/share/terminfo/p/pc-venix
+#usr/share/terminfo/p/pc3
+#usr/share/terminfo/p/pc3-bold
+#usr/share/terminfo/p/pc3r
+#usr/share/terminfo/p/pc3r-m
+#usr/share/terminfo/p/pc6300plus
+#usr/share/terminfo/p/pc7300
+#usr/share/terminfo/p/pcansi
+#usr/share/terminfo/p/pcansi-25
+#usr/share/terminfo/p/pcansi-25-m
+#usr/share/terminfo/p/pcansi-33
+#usr/share/terminfo/p/pcansi-33-m
+#usr/share/terminfo/p/pcansi-43
+#usr/share/terminfo/p/pcansi-43-m
+#usr/share/terminfo/p/pcansi-m
+#usr/share/terminfo/p/pcansi-mono
+#usr/share/terminfo/p/pcansi25
+#usr/share/terminfo/p/pcansi25m
+#usr/share/terminfo/p/pcansi33
+#usr/share/terminfo/p/pcansi33m
+#usr/share/terminfo/p/pcansi43
+#usr/share/terminfo/p/pccons
+#usr/share/terminfo/p/pcconsole
+#usr/share/terminfo/p/pcix
+#usr/share/terminfo/p/pckermit
+#usr/share/terminfo/p/pckermit12
+#usr/share/terminfo/p/pckermit120
+#usr/share/terminfo/p/pcmw
+#usr/share/terminfo/p/pcplot
+#usr/share/terminfo/p/pcvt25
+#usr/share/terminfo/p/pcvt25-color
+#usr/share/terminfo/p/pcvt25w
+#usr/share/terminfo/p/pcvt28
+#usr/share/terminfo/p/pcvt28w
+#usr/share/terminfo/p/pcvt35
+#usr/share/terminfo/p/pcvt35w
+#usr/share/terminfo/p/pcvt40
+#usr/share/terminfo/p/pcvt40w
+#usr/share/terminfo/p/pcvt43
+#usr/share/terminfo/p/pcvt43w
+#usr/share/terminfo/p/pcvt50
+#usr/share/terminfo/p/pcvt50w
+#usr/share/terminfo/p/pcvtXX
+#usr/share/terminfo/p/pcz19
+#usr/share/terminfo/p/pe1100
+#usr/share/terminfo/p/pe1200
+#usr/share/terminfo/p/pe1251
+#usr/share/terminfo/p/pe550
+#usr/share/terminfo/p/pe6100
+#usr/share/terminfo/p/pe6300
+#usr/share/terminfo/p/pe6312
+#usr/share/terminfo/p/pe7000c
+#usr/share/terminfo/p/pe7000m
+#usr/share/terminfo/p/pilot
+#usr/share/terminfo/p/pmcons
+#usr/share/terminfo/p/pmconsole
+#usr/share/terminfo/p/printer
+#usr/share/terminfo/p/prism12
+#usr/share/terminfo/p/prism12-m
+#usr/share/terminfo/p/prism12-m-w
+#usr/share/terminfo/p/prism12-w
+#usr/share/terminfo/p/prism14
+#usr/share/terminfo/p/prism14-m
+#usr/share/terminfo/p/prism14-m-w
+#usr/share/terminfo/p/prism14-w
+#usr/share/terminfo/p/prism2
+#usr/share/terminfo/p/prism4
+#usr/share/terminfo/p/prism5
+#usr/share/terminfo/p/prism7
+#usr/share/terminfo/p/prism8
+#usr/share/terminfo/p/prism8-w
+#usr/share/terminfo/p/prism8gl
+#usr/share/terminfo/p/prism9
+#usr/share/terminfo/p/prism9-8
+#usr/share/terminfo/p/prism9-8-w
+#usr/share/terminfo/p/prism9-w
+#usr/share/terminfo/p/pro350
+#usr/share/terminfo/p/ps300
+#usr/share/terminfo/p/psterm
+#usr/share/terminfo/p/psterm-80x24
+#usr/share/terminfo/p/psterm-90x28
+#usr/share/terminfo/p/psterm-96x48
+#usr/share/terminfo/p/psterm-basic
+#usr/share/terminfo/p/psterm-fast
+#usr/share/terminfo/p/psx_ansi
+#usr/share/terminfo/p/pt100
+#usr/share/terminfo/p/pt100w
+#usr/share/terminfo/p/pt200
+#usr/share/terminfo/p/pt200w
+#usr/share/terminfo/p/pt210
+#usr/share/terminfo/p/pt250
+#usr/share/terminfo/p/pt250w
+#usr/share/terminfo/p/pt505
+#usr/share/terminfo/p/pt505-22
+#usr/share/terminfo/p/pt505-24
+#usr/share/terminfo/p/pty
+#usr/share/terminfo/p/putty
+#usr/share/terminfo/q
+#usr/share/terminfo/q/qansi
+#usr/share/terminfo/q/qansi-g
+#usr/share/terminfo/q/qansi-m
+#usr/share/terminfo/q/qansi-t
+#usr/share/terminfo/q/qansi-w
+#usr/share/terminfo/q/qdcons
+#usr/share/terminfo/q/qdss
+#usr/share/terminfo/q/qnx
+#usr/share/terminfo/q/qnx4
+#usr/share/terminfo/q/qnxm
+#usr/share/terminfo/q/qnxt
+#usr/share/terminfo/q/qnxt2
+#usr/share/terminfo/q/qnxt4
+#usr/share/terminfo/q/qnxtmono
+#usr/share/terminfo/q/qnxw
+#usr/share/terminfo/q/qume
+#usr/share/terminfo/q/qume5
+#usr/share/terminfo/q/qvt101
+#usr/share/terminfo/q/qvt101+
+#usr/share/terminfo/q/qvt101p
+#usr/share/terminfo/q/qvt102
+#usr/share/terminfo/q/qvt103
+#usr/share/terminfo/q/qvt103-w
+#usr/share/terminfo/q/qvt108
+#usr/share/terminfo/q/qvt119
+#usr/share/terminfo/q/qvt119+
+#usr/share/terminfo/q/qvt119+-25
+#usr/share/terminfo/q/qvt119+-25-w
+#usr/share/terminfo/q/qvt119+-w
+#usr/share/terminfo/q/qvt119-25-w
+#usr/share/terminfo/q/qvt119-w
+#usr/share/terminfo/q/qvt119p
+#usr/share/terminfo/q/qvt119p-25
+#usr/share/terminfo/q/qvt119p-25-w
+#usr/share/terminfo/q/qvt119p-w
+#usr/share/terminfo/q/qvt203
+#usr/share/terminfo/q/qvt203+
+#usr/share/terminfo/q/qvt203-25
+#usr/share/terminfo/q/qvt203-25-w
+#usr/share/terminfo/q/qvt203-w
+#usr/share/terminfo/q/qvt203-w-am
+#usr/share/terminfo/r
+#usr/share/terminfo/r/rbcomm
+#usr/share/terminfo/r/rbcomm-nam
+#usr/share/terminfo/r/rbcomm-w
+#usr/share/terminfo/r/rca
+#usr/share/terminfo/r/rcons
+#usr/share/terminfo/r/rcons-color
+#usr/share/terminfo/r/rebus3180
+#usr/share/terminfo/r/regent
+#usr/share/terminfo/r/regent100
+#usr/share/terminfo/r/regent20
+#usr/share/terminfo/r/regent200
+#usr/share/terminfo/r/regent25
+#usr/share/terminfo/r/regent40
+#usr/share/terminfo/r/regent40+
+#usr/share/terminfo/r/regent60
+#usr/share/terminfo/r/rt6221
+#usr/share/terminfo/r/rt6221-w
+#usr/share/terminfo/r/rtpc
+#usr/share/terminfo/r/rxvt
+#usr/share/terminfo/r/rxvt-16color
+#usr/share/terminfo/r/rxvt-basic
+#usr/share/terminfo/s
+#usr/share/terminfo/s/s4
+#usr/share/terminfo/s/sb1
+#usr/share/terminfo/s/sb2
+#usr/share/terminfo/s/sb3
+#usr/share/terminfo/s/sbi
+#usr/share/terminfo/s/sbobcat
+#usr/share/terminfo/s/sc410
+#usr/share/terminfo/s/sc415
+#usr/share/terminfo/s/scanset
+#usr/share/terminfo/s/scoansi
+#usr/share/terminfo/s/scoansi-new
+#usr/share/terminfo/s/scoansi-old
+#usr/share/terminfo/s/screen
+#usr/share/terminfo/s/screen-w
+#usr/share/terminfo/s/screen.teraterm
+#usr/share/terminfo/s/screen.xterm-r6
+#usr/share/terminfo/s/screen.xterm-xfree86
+#usr/share/terminfo/s/screen2
+#usr/share/terminfo/s/screen3
+#usr/share/terminfo/s/screwpoint
+#usr/share/terminfo/s/scrhp
+#usr/share/terminfo/s/sibo
+#usr/share/terminfo/s/simterm
+#usr/share/terminfo/s/soroc
+#usr/share/terminfo/s/soroc120
+#usr/share/terminfo/s/soroc140
+#usr/share/terminfo/s/spinwriter
+#usr/share/terminfo/s/st52
+#usr/share/terminfo/s/sun
+#usr/share/terminfo/s/sun-1
+#usr/share/terminfo/s/sun-12
+#usr/share/terminfo/s/sun-17
+#usr/share/terminfo/s/sun-24
+#usr/share/terminfo/s/sun-34
+#usr/share/terminfo/s/sun-48
+#usr/share/terminfo/s/sun-c
+#usr/share/terminfo/s/sun-cgsix
+#usr/share/terminfo/s/sun-cmd
+#usr/share/terminfo/s/sun-e
+#usr/share/terminfo/s/sun-e-s
+#usr/share/terminfo/s/sun-il
+#usr/share/terminfo/s/sun-nic
+#usr/share/terminfo/s/sun-s
+#usr/share/terminfo/s/sun-s-e
+#usr/share/terminfo/s/sun-ss5
+#usr/share/terminfo/s/sun1
+#usr/share/terminfo/s/sun2
+#usr/share/terminfo/s/sune
+#usr/share/terminfo/s/superbee
+#usr/share/terminfo/s/superbee-xsb
+#usr/share/terminfo/s/superbeeic
+#usr/share/terminfo/s/superbrain
+#usr/share/terminfo/s/sv80
+#usr/share/terminfo/s/swtp
+#usr/share/terminfo/s/synertek
+#usr/share/terminfo/s/synertek380
+#usr/share/terminfo/s/system1
+#usr/share/terminfo/t
+#usr/share/terminfo/t/t10
+#usr/share/terminfo/t/t1061
+#usr/share/terminfo/t/t1061f
+#usr/share/terminfo/t/t16
+#usr/share/terminfo/t/t3700
+#usr/share/terminfo/t/t3800
+#usr/share/terminfo/t/t653x
+#usr/share/terminfo/t/tab
+#usr/share/terminfo/t/tab132
+#usr/share/terminfo/t/tab132-15
+#usr/share/terminfo/t/tab132-rv
+#usr/share/terminfo/t/tab132-w
+#usr/share/terminfo/t/tab132-w-rv
+#usr/share/terminfo/t/tandem6510
+#usr/share/terminfo/t/tandem653
+#usr/share/terminfo/t/tek
+#usr/share/terminfo/t/tek4012
+#usr/share/terminfo/t/tek4013
+#usr/share/terminfo/t/tek4014
+#usr/share/terminfo/t/tek4014-sm
+#usr/share/terminfo/t/tek4015
+#usr/share/terminfo/t/tek4015-sm
+#usr/share/terminfo/t/tek4023
+#usr/share/terminfo/t/tek4024
+#usr/share/terminfo/t/tek4025
+#usr/share/terminfo/t/tek4025-17
+#usr/share/terminfo/t/tek4025-17-ws
+#usr/share/terminfo/t/tek4025-cr
+#usr/share/terminfo/t/tek4025-ex
+#usr/share/terminfo/t/tek4025a
+#usr/share/terminfo/t/tek4025ex
+#usr/share/terminfo/t/tek4027
+#usr/share/terminfo/t/tek4027-ex
+#usr/share/terminfo/t/tek4105
+#usr/share/terminfo/t/tek4105-30
+#usr/share/terminfo/t/tek4105a
+#usr/share/terminfo/t/tek4106brl
+#usr/share/terminfo/t/tek4107
+#usr/share/terminfo/t/tek4107brl
+#usr/share/terminfo/t/tek4109
+#usr/share/terminfo/t/tek4109brl
+#usr/share/terminfo/t/tek4112
+#usr/share/terminfo/t/tek4112-5
+#usr/share/terminfo/t/tek4112-nd
+#usr/share/terminfo/t/tek4113
+#usr/share/terminfo/t/tek4113-34
+#usr/share/terminfo/t/tek4113-nd
+#usr/share/terminfo/t/tek4114
+#usr/share/terminfo/t/tek4115
+#usr/share/terminfo/t/tek4125
+#usr/share/terminfo/t/tek4205
+#usr/share/terminfo/t/tek4207
+#usr/share/terminfo/t/tek4207-s
+#usr/share/terminfo/t/tek4404
+#usr/share/terminfo/t/teleray
+#usr/share/terminfo/t/teletec
+#usr/share/terminfo/t/teraterm
+#usr/share/terminfo/t/terminet
+#usr/share/terminfo/t/terminet1200
+#usr/share/terminfo/t/terminet300
+#usr/share/terminfo/t/tgtelnet
+#usr/share/terminfo/t/ti700
+#usr/share/terminfo/t/ti733
+#usr/share/terminfo/t/ti735
+#usr/share/terminfo/t/ti745
+#usr/share/terminfo/t/ti800
+#usr/share/terminfo/t/ti916
+#usr/share/terminfo/t/ti916-132
+#usr/share/terminfo/t/ti916-220-7
+#usr/share/terminfo/t/ti916-220-8
+#usr/share/terminfo/t/ti916-8
+#usr/share/terminfo/t/ti916-8-132
+#usr/share/terminfo/t/ti924
+#usr/share/terminfo/t/ti924-8
+#usr/share/terminfo/t/ti924-8w
+#usr/share/terminfo/t/ti924w
+#usr/share/terminfo/t/ti926
+#usr/share/terminfo/t/ti926-8
+#usr/share/terminfo/t/ti928
+#usr/share/terminfo/t/ti928-8
+#usr/share/terminfo/t/ti931
+#usr/share/terminfo/t/ti_ansi
+#usr/share/terminfo/t/tn1200
+#usr/share/terminfo/t/tn300
+#usr/share/terminfo/t/trs16
+#usr/share/terminfo/t/trs2
+#usr/share/terminfo/t/trs80II
+#usr/share/terminfo/t/trsII
+#usr/share/terminfo/t/ts-1
+#usr/share/terminfo/t/ts-1p
+#usr/share/terminfo/t/ts1
+#usr/share/terminfo/t/ts100
+#usr/share/terminfo/t/ts100-ctxt
+#usr/share/terminfo/t/ts100-sp
+#usr/share/terminfo/t/ts1p
+#usr/share/terminfo/t/tt505-22
+#usr/share/terminfo/t/tty33
+#usr/share/terminfo/t/tty35
+#usr/share/terminfo/t/tty37
+#usr/share/terminfo/t/tty40
+#usr/share/terminfo/t/tty43
+#usr/share/terminfo/t/tty4420
+#usr/share/terminfo/t/tty4424
+#usr/share/terminfo/t/tty4424-1
+#usr/share/terminfo/t/tty4424m
+#usr/share/terminfo/t/tty4426
+#usr/share/terminfo/t/tty5410
+#usr/share/terminfo/t/tty5410-w
+#usr/share/terminfo/t/tty5410v1
+#usr/share/terminfo/t/tty5410v1-w
+#usr/share/terminfo/t/tty5420
+#usr/share/terminfo/t/tty5420+nl
+#usr/share/terminfo/t/tty5420-nl
+#usr/share/terminfo/t/tty5420-rv
+#usr/share/terminfo/t/tty5420-rv-nl
+#usr/share/terminfo/t/tty5420-w
+#usr/share/terminfo/t/tty5420-w-nl
+#usr/share/terminfo/t/tty5420-w-rv
+#usr/share/terminfo/t/tty5420-w-rv-n
+#usr/share/terminfo/t/tty5425
+#usr/share/terminfo/t/tty5425-nl
+#usr/share/terminfo/t/tty5425-w
+#usr/share/terminfo/t/tty5620
+#usr/share/terminfo/t/tty5620-1
+#usr/share/terminfo/t/tty5620-24
+#usr/share/terminfo/t/tty5620-34
+#usr/share/terminfo/t/tty5620-s
+#usr/share/terminfo/t/ttydmd
+#usr/share/terminfo/t/tvi-2p
+#usr/share/terminfo/t/tvi803
+#usr/share/terminfo/t/tvi9065
+#usr/share/terminfo/t/tvi910
+#usr/share/terminfo/t/tvi910+
+#usr/share/terminfo/t/tvi912
+#usr/share/terminfo/t/tvi912-2p
+#usr/share/terminfo/t/tvi912b
+#usr/share/terminfo/t/tvi912c
+#usr/share/terminfo/t/tvi912cc
+#usr/share/terminfo/t/tvi914
+#usr/share/terminfo/t/tvi920
+#usr/share/terminfo/t/tvi920-2p
+#usr/share/terminfo/t/tvi920b
+#usr/share/terminfo/t/tvi920c
+#usr/share/terminfo/t/tvi921
+#usr/share/terminfo/t/tvi924
+#usr/share/terminfo/t/tvi925
+#usr/share/terminfo/t/tvi925-hi
+#usr/share/terminfo/t/tvi92B
+#usr/share/terminfo/t/tvi92D
+#usr/share/terminfo/t/tvi950
+#usr/share/terminfo/t/tvi950-2p
+#usr/share/terminfo/t/tvi950-4p
+#usr/share/terminfo/t/tvi950-rv
+#usr/share/terminfo/t/tvi950-rv-2p
+#usr/share/terminfo/t/tvi950-rv-4p
+#usr/share/terminfo/t/tvi955
+#usr/share/terminfo/t/tvi955-hb
+#usr/share/terminfo/t/tvi955-w
+#usr/share/terminfo/t/tvi970
+#usr/share/terminfo/t/tvi970-2p
+#usr/share/terminfo/t/tvi970-vb
+#usr/share/terminfo/t/tvipt
+#usr/share/terminfo/t/tws-generic
+#usr/share/terminfo/t/tws2102-sna
+#usr/share/terminfo/t/tws2103
+#usr/share/terminfo/t/tws2103-sna
+#usr/share/terminfo/u
+#usr/share/terminfo/u/ultima2
+#usr/share/terminfo/u/ultimaII
+#usr/share/terminfo/u/uniterm
+#usr/share/terminfo/u/uniterm49
+#usr/share/terminfo/u/unixpc
+#usr/share/terminfo/u/unknown
+#usr/share/terminfo/u/uts30
+#usr/share/terminfo/v
+#usr/share/terminfo/v/v200-nam
+#usr/share/terminfo/v/v320n
+#usr/share/terminfo/v/v3220
+#usr/share/terminfo/v/v5410
+#usr/share/terminfo/v/vanilla
+#usr/share/terminfo/v/vapple
+#usr/share/terminfo/v/vc103
+#usr/share/terminfo/v/vc203
+#usr/share/terminfo/v/vc303
+#usr/share/terminfo/v/vc303a
+#usr/share/terminfo/v/vc403a
+#usr/share/terminfo/v/vc404
+#usr/share/terminfo/v/vc404-s
+#usr/share/terminfo/v/vc414
+#usr/share/terminfo/v/vc414h
+#usr/share/terminfo/v/vc415
+#usr/share/terminfo/v/venix
+#usr/share/terminfo/v/versaterm
+#usr/share/terminfo/v/vi200
+#usr/share/terminfo/v/vi200-f
+#usr/share/terminfo/v/vi200-rv
+#usr/share/terminfo/v/vi300
+#usr/share/terminfo/v/vi300-old
+#usr/share/terminfo/v/vi50
+#usr/share/terminfo/v/vi500
+#usr/share/terminfo/v/vi50adm
+#usr/share/terminfo/v/vi55
+#usr/share/terminfo/v/vi550
+#usr/share/terminfo/v/vi603
+#usr/share/terminfo/v/viewpoint
+#usr/share/terminfo/v/viewpoint3a+
+#usr/share/terminfo/v/viewpoint60
+#usr/share/terminfo/v/viewpoint90
+#usr/share/terminfo/v/vip
+#usr/share/terminfo/v/vip-H
+#usr/share/terminfo/v/vip-Hw
+#usr/share/terminfo/v/vip-w
+#usr/share/terminfo/v/vip7800-H
+#usr/share/terminfo/v/vip7800-Hw
+#usr/share/terminfo/v/vip7800-w
+#usr/share/terminfo/v/visa50
+#usr/share/terminfo/v/visual603
+#usr/share/terminfo/v/vitty
+#usr/share/terminfo/v/vk100
+#usr/share/terminfo/v/vp3a+
+#usr/share/terminfo/v/vp60
+#usr/share/terminfo/v/vp90
+#usr/share/terminfo/v/vremote
+#usr/share/terminfo/v/vs100
+#usr/share/terminfo/v/vs100-x10
+#usr/share/terminfo/v/vsc
+#usr/share/terminfo/v/vt-61
+usr/share/terminfo/v/vt100
+usr/share/terminfo/v/vt100-am
+usr/share/terminfo/v/vt100-bm
+usr/share/terminfo/v/vt100-bm-o
+usr/share/terminfo/v/vt100-bot-s
+usr/share/terminfo/v/vt100-nam
+usr/share/terminfo/v/vt100-nam-w
+usr/share/terminfo/v/vt100-nav
+usr/share/terminfo/v/vt100-nav-w
+usr/share/terminfo/v/vt100-s
+usr/share/terminfo/v/vt100-s-bot
+usr/share/terminfo/v/vt100-s-top
+usr/share/terminfo/v/vt100-top-s
+usr/share/terminfo/v/vt100-vb
+usr/share/terminfo/v/vt100-w
+usr/share/terminfo/v/vt100-w-am
+usr/share/terminfo/v/vt100-w-nam
+usr/share/terminfo/v/vt100-w-nav
+usr/share/terminfo/v/vt100nam
+usr/share/terminfo/v/vt102
+usr/share/terminfo/v/vt102-nsgr
+usr/share/terminfo/v/vt102-w
+#usr/share/terminfo/v/vt125
+#usr/share/terminfo/v/vt131
+#usr/share/terminfo/v/vt132
+usr/share/terminfo/v/vt200
+usr/share/terminfo/v/vt200-8
+usr/share/terminfo/v/vt200-8bit
+usr/share/terminfo/v/vt200-js
+usr/share/terminfo/v/vt200-old
+usr/share/terminfo/v/vt200-w
+usr/share/terminfo/v/vt220
+usr/share/terminfo/v/vt220-8
+usr/share/terminfo/v/vt220-8bit
+usr/share/terminfo/v/vt220-js
+usr/share/terminfo/v/vt220-nam
+#usr/share/terminfo/v/vt220-old
+usr/share/terminfo/v/vt220-w
+usr/share/terminfo/v/vt220d
+#usr/share/terminfo/v/vt300
+#usr/share/terminfo/v/vt300-nam
+#usr/share/terminfo/v/vt300-w
+#usr/share/terminfo/v/vt300-w-nam
+#usr/share/terminfo/v/vt320
+#usr/share/terminfo/v/vt320-k3
+#usr/share/terminfo/v/vt320-k311
+#usr/share/terminfo/v/vt320-nam
+#usr/share/terminfo/v/vt320-w
+#usr/share/terminfo/v/vt320-w-nam
+#usr/share/terminfo/v/vt320nam
+#usr/share/terminfo/v/vt330
+#usr/share/terminfo/v/vt340
+#usr/share/terminfo/v/vt400
+#usr/share/terminfo/v/vt400-24
+#usr/share/terminfo/v/vt420
+#usr/share/terminfo/v/vt420f
+#usr/share/terminfo/v/vt420pc
+#usr/share/terminfo/v/vt420pcdos
+#usr/share/terminfo/v/vt50
+#usr/share/terminfo/v/vt50h
+#usr/share/terminfo/v/vt510
+#usr/share/terminfo/v/vt510pc
+#usr/share/terminfo/v/vt510pcdos
+#usr/share/terminfo/v/vt52
+#usr/share/terminfo/v/vt520
+#usr/share/terminfo/v/vt525
+#usr/share/terminfo/v/vt61
+#usr/share/terminfo/v/vt61.5
+#usr/share/terminfo/v/vv100
+#usr/share/terminfo/w
+#usr/share/terminfo/w/wren
+#usr/share/terminfo/w/wrenw
+#usr/share/terminfo/w/wsiris
+#usr/share/terminfo/w/wsvt25
+#usr/share/terminfo/w/wsvt25m
+#usr/share/terminfo/w/wy-75ap
+#usr/share/terminfo/w/wy-99fgt
+#usr/share/terminfo/w/wy-99fgta
+#usr/share/terminfo/w/wy100
+#usr/share/terminfo/w/wy100q
+#usr/share/terminfo/w/wy120
+#usr/share/terminfo/w/wy120-25
+#usr/share/terminfo/w/wy120-25-w
+#usr/share/terminfo/w/wy120-vb
+#usr/share/terminfo/w/wy120-w
+#usr/share/terminfo/w/wy120-w-vb
+#usr/share/terminfo/w/wy120-wvb
+#usr/share/terminfo/w/wy150
+#usr/share/terminfo/w/wy150-25
+#usr/share/terminfo/w/wy150-25-w
+#usr/share/terminfo/w/wy150-vb
+#usr/share/terminfo/w/wy150-w
+#usr/share/terminfo/w/wy150-w-vb
+#usr/share/terminfo/w/wy160
+#usr/share/terminfo/w/wy160-25
+#usr/share/terminfo/w/wy160-25-w
+#usr/share/terminfo/w/wy160-42
+#usr/share/terminfo/w/wy160-42-w
+#usr/share/terminfo/w/wy160-43
+#usr/share/terminfo/w/wy160-43-w
+#usr/share/terminfo/w/wy160-tek
+#usr/share/terminfo/w/wy160-vb
+#usr/share/terminfo/w/wy160-w
+#usr/share/terminfo/w/wy160-w-vb
+#usr/share/terminfo/w/wy160-wvb
+#usr/share/terminfo/w/wy185
+#usr/share/terminfo/w/wy185-24
+#usr/share/terminfo/w/wy185-vb
+#usr/share/terminfo/w/wy185-w
+#usr/share/terminfo/w/wy185-wvb
+#usr/share/terminfo/w/wy30
+#usr/share/terminfo/w/wy30-mc
+#usr/share/terminfo/w/wy30-vb
+#usr/share/terminfo/w/wy325
+#usr/share/terminfo/w/wy325-25
+#usr/share/terminfo/w/wy325-25w
+#usr/share/terminfo/w/wy325-42
+#usr/share/terminfo/w/wy325-42w
+#usr/share/terminfo/w/wy325-42w-vb
+#usr/share/terminfo/w/wy325-42wvb
+#usr/share/terminfo/w/wy325-43
+#usr/share/terminfo/w/wy325-43w
+#usr/share/terminfo/w/wy325-43w-vb
+#usr/share/terminfo/w/wy325-43wvb
+#usr/share/terminfo/w/wy325-80
+#usr/share/terminfo/w/wy325-vb
+#usr/share/terminfo/w/wy325-w
+#usr/share/terminfo/w/wy325-w-vb
+#usr/share/terminfo/w/wy325-wvb
+#usr/share/terminfo/w/wy325w-24
+#usr/share/terminfo/w/wy350
+#usr/share/terminfo/w/wy350-vb
+#usr/share/terminfo/w/wy350-w
+#usr/share/terminfo/w/wy350-wvb
+#usr/share/terminfo/w/wy370
+#usr/share/terminfo/w/wy370-101k
+#usr/share/terminfo/w/wy370-105k
+#usr/share/terminfo/w/wy370-EPC
+#usr/share/terminfo/w/wy370-nk
+#usr/share/terminfo/w/wy370-rv
+#usr/share/terminfo/w/wy370-tek
+#usr/share/terminfo/w/wy370-vb
+#usr/share/terminfo/w/wy370-w
+#usr/share/terminfo/w/wy370-wvb
+#usr/share/terminfo/w/wy50
+#usr/share/terminfo/w/wy50-mc
+#usr/share/terminfo/w/wy50-vb
+#usr/share/terminfo/w/wy50-w
+#usr/share/terminfo/w/wy50-wvb
+#usr/share/terminfo/w/wy520
+#usr/share/terminfo/w/wy520-24
+#usr/share/terminfo/w/wy520-36
+#usr/share/terminfo/w/wy520-36pc
+#usr/share/terminfo/w/wy520-36w
+#usr/share/terminfo/w/wy520-36wpc
+#usr/share/terminfo/w/wy520-48
+#usr/share/terminfo/w/wy520-48pc
+#usr/share/terminfo/w/wy520-48w
+#usr/share/terminfo/w/wy520-48wpc
+#usr/share/terminfo/w/wy520-epc
+#usr/share/terminfo/w/wy520-epc-24
+#usr/share/terminfo/w/wy520-epc-vb
+#usr/share/terminfo/w/wy520-epc-w
+#usr/share/terminfo/w/wy520-epc-wvb
+#usr/share/terminfo/w/wy520-vb
+#usr/share/terminfo/w/wy520-w
+#usr/share/terminfo/w/wy520-wvb
+#usr/share/terminfo/w/wy60
+#usr/share/terminfo/w/wy60-25
+#usr/share/terminfo/w/wy60-25-w
+#usr/share/terminfo/w/wy60-316X
+#usr/share/terminfo/w/wy60-42
+#usr/share/terminfo/w/wy60-42-w
+#usr/share/terminfo/w/wy60-43
+#usr/share/terminfo/w/wy60-43-w
+#usr/share/terminfo/w/wy60-AT
+#usr/share/terminfo/w/wy60-PC
+#usr/share/terminfo/w/wy60-vb
+#usr/share/terminfo/w/wy60-w
+#usr/share/terminfo/w/wy60-w-vb
+#usr/share/terminfo/w/wy60-wvb
+#usr/share/terminfo/w/wy75
+#usr/share/terminfo/w/wy75-mc
+#usr/share/terminfo/w/wy75-vb
+#usr/share/terminfo/w/wy75-w
+#usr/share/terminfo/w/wy75-wvb
+#usr/share/terminfo/w/wy75ap
+#usr/share/terminfo/w/wy85
+#usr/share/terminfo/w/wy85-8bit
+#usr/share/terminfo/w/wy85-vb
+#usr/share/terminfo/w/wy85-w
+#usr/share/terminfo/w/wy85-wvb
+#usr/share/terminfo/w/wy99-ansi
+#usr/share/terminfo/w/wy99a-ansi
+#usr/share/terminfo/w/wy99f
+#usr/share/terminfo/w/wy99fa
+#usr/share/terminfo/w/wy99fgt
+#usr/share/terminfo/w/wy99fgta
+#usr/share/terminfo/w/wy99gt
+#usr/share/terminfo/w/wy99gt-25
+#usr/share/terminfo/w/wy99gt-25-w
+#usr/share/terminfo/w/wy99gt-tek
+#usr/share/terminfo/w/wy99gt-vb
+#usr/share/terminfo/w/wy99gt-w
+#usr/share/terminfo/w/wy99gt-w-vb
+#usr/share/terminfo/w/wy99gt-wvb
+#usr/share/terminfo/w/wyse-325
+#usr/share/terminfo/w/wyse-75ap
+#usr/share/terminfo/w/wyse-vp
+#usr/share/terminfo/w/wyse120
+#usr/share/terminfo/w/wyse120-25
+#usr/share/terminfo/w/wyse120-25-w
+#usr/share/terminfo/w/wyse120-vb
+#usr/share/terminfo/w/wyse120-w
+#usr/share/terminfo/w/wyse120-wvb
+#usr/share/terminfo/w/wyse150
+#usr/share/terminfo/w/wyse150-25
+#usr/share/terminfo/w/wyse150-25-w
+#usr/share/terminfo/w/wyse150-vb
+#usr/share/terminfo/w/wyse150-w
+#usr/share/terminfo/w/wyse150-w-vb
+#usr/share/terminfo/w/wyse160
+#usr/share/terminfo/w/wyse160-25
+#usr/share/terminfo/w/wyse160-25-w
+#usr/share/terminfo/w/wyse160-42
+#usr/share/terminfo/w/wyse160-42-w
+#usr/share/terminfo/w/wyse160-43
+#usr/share/terminfo/w/wyse160-43-w
+#usr/share/terminfo/w/wyse160-vb
+#usr/share/terminfo/w/wyse160-w
+#usr/share/terminfo/w/wyse160-wvb
+#usr/share/terminfo/w/wyse185
+#usr/share/terminfo/w/wyse185-24
+#usr/share/terminfo/w/wyse185-vb
+#usr/share/terminfo/w/wyse185-w
+#usr/share/terminfo/w/wyse185-wvb
+#usr/share/terminfo/w/wyse30
+#usr/share/terminfo/w/wyse30-mc
+#usr/share/terminfo/w/wyse30-vb
+#usr/share/terminfo/w/wyse325
+#usr/share/terminfo/w/wyse325-25
+#usr/share/terminfo/w/wyse325-25w
+#usr/share/terminfo/w/wyse325-42
+#usr/share/terminfo/w/wyse325-42w
+#usr/share/terminfo/w/wyse325-43
+#usr/share/terminfo/w/wyse325-43w
+#usr/share/terminfo/w/wyse325-vb
+#usr/share/terminfo/w/wyse325-w
+#usr/share/terminfo/w/wyse325-wvb
+#usr/share/terminfo/w/wyse350
+#usr/share/terminfo/w/wyse350-vb
+#usr/share/terminfo/w/wyse350-w
+#usr/share/terminfo/w/wyse350-wvb
+#usr/share/terminfo/w/wyse370
+#usr/share/terminfo/w/wyse50
+#usr/share/terminfo/w/wyse50-mc
+#usr/share/terminfo/w/wyse50-vb
+#usr/share/terminfo/w/wyse50-w
+#usr/share/terminfo/w/wyse50-wvb
+#usr/share/terminfo/w/wyse520
+#usr/share/terminfo/w/wyse520-24
+#usr/share/terminfo/w/wyse520-36
+#usr/share/terminfo/w/wyse520-36pc
+#usr/share/terminfo/w/wyse520-36w
+#usr/share/terminfo/w/wyse520-36wpc
+#usr/share/terminfo/w/wyse520-48
+#usr/share/terminfo/w/wyse520-48pc
+#usr/share/terminfo/w/wyse520-48w
+#usr/share/terminfo/w/wyse520-48wpc
+#usr/share/terminfo/w/wyse520-epc
+#usr/share/terminfo/w/wyse520-epc-w
+#usr/share/terminfo/w/wyse520-p-wvb
+#usr/share/terminfo/w/wyse520-pc-24
+#usr/share/terminfo/w/wyse520-pc-vb
+#usr/share/terminfo/w/wyse520-vb
+#usr/share/terminfo/w/wyse520-w
+#usr/share/terminfo/w/wyse520-wvb
+#usr/share/terminfo/w/wyse60
+#usr/share/terminfo/w/wyse60-25
+#usr/share/terminfo/w/wyse60-25-w
+#usr/share/terminfo/w/wyse60-316X
+#usr/share/terminfo/w/wyse60-42
+#usr/share/terminfo/w/wyse60-42-w
+#usr/share/terminfo/w/wyse60-43
+#usr/share/terminfo/w/wyse60-43-w
+#usr/share/terminfo/w/wyse60-AT
+#usr/share/terminfo/w/wyse60-PC
+#usr/share/terminfo/w/wyse60-vb
+#usr/share/terminfo/w/wyse60-w
+#usr/share/terminfo/w/wyse60-wvb
+#usr/share/terminfo/w/wyse75
+#usr/share/terminfo/w/wyse75-mc
+#usr/share/terminfo/w/wyse75-vb
+#usr/share/terminfo/w/wyse75-w
+#usr/share/terminfo/w/wyse75-wvb
+#usr/share/terminfo/w/wyse75ap
+#usr/share/terminfo/w/wyse85
+#usr/share/terminfo/w/wyse85-8bit
+#usr/share/terminfo/w/wyse85-vb
+#usr/share/terminfo/w/wyse85-w
+#usr/share/terminfo/w/wyse85-wvb
+#usr/share/terminfo/w/wyse99gt
+#usr/share/terminfo/w/wyse99gt-25
+#usr/share/terminfo/w/wyse99gt-25-w
+#usr/share/terminfo/w/wyse99gt-vb
+#usr/share/terminfo/w/wyse99gt-w
+#usr/share/terminfo/w/wyse99gt-wvb
+#usr/share/terminfo/x
+#usr/share/terminfo/x/x10term
+#usr/share/terminfo/x/x1700
+#usr/share/terminfo/x/x1700-lm
+#usr/share/terminfo/x/x1720
+#usr/share/terminfo/x/x1750
+#usr/share/terminfo/x/x68k
+#usr/share/terminfo/x/x68k-ite
+#usr/share/terminfo/x/x820
+#usr/share/terminfo/x/xdku
+#usr/share/terminfo/x/xenix
+#usr/share/terminfo/x/xerox
+#usr/share/terminfo/x/xerox-lm
+#usr/share/terminfo/x/xerox1720
+#usr/share/terminfo/x/xerox820
+#usr/share/terminfo/x/xl83
+#usr/share/terminfo/x/xnuppc
+#usr/share/terminfo/x/xnuppc+100x37
+#usr/share/terminfo/x/xnuppc+112x37
+#usr/share/terminfo/x/xnuppc+128x40
+#usr/share/terminfo/x/xnuppc+128x48
+#usr/share/terminfo/x/xnuppc+144x48
+#usr/share/terminfo/x/xnuppc+160x64
+#usr/share/terminfo/x/xnuppc+200x64
+#usr/share/terminfo/x/xnuppc+200x75
+#usr/share/terminfo/x/xnuppc+256x96
+#usr/share/terminfo/x/xnuppc+80x25
+#usr/share/terminfo/x/xnuppc+80x30
+#usr/share/terminfo/x/xnuppc+90x30
+#usr/share/terminfo/x/xnuppc+b
+#usr/share/terminfo/x/xnuppc+basic
+#usr/share/terminfo/x/xnuppc+c
+#usr/share/terminfo/x/xnuppc+f
+#usr/share/terminfo/x/xnuppc+f2
+#usr/share/terminfo/x/xnuppc-100x37
+#usr/share/terminfo/x/xnuppc-100x37-m
+#usr/share/terminfo/x/xnuppc-112x37
+#usr/share/terminfo/x/xnuppc-112x37-m
+#usr/share/terminfo/x/xnuppc-128x40
+#usr/share/terminfo/x/xnuppc-128x40-m
+#usr/share/terminfo/x/xnuppc-128x48
+#usr/share/terminfo/x/xnuppc-128x48-m
+#usr/share/terminfo/x/xnuppc-144x48
+#usr/share/terminfo/x/xnuppc-144x48-m
+#usr/share/terminfo/x/xnuppc-160x64
+#usr/share/terminfo/x/xnuppc-160x64-m
+#usr/share/terminfo/x/xnuppc-200x64
+#usr/share/terminfo/x/xnuppc-200x64-m
+#usr/share/terminfo/x/xnuppc-200x75
+#usr/share/terminfo/x/xnuppc-200x75-m
+#usr/share/terminfo/x/xnuppc-256x96
+#usr/share/terminfo/x/xnuppc-256x96-m
+#usr/share/terminfo/x/xnuppc-80x25
+#usr/share/terminfo/x/xnuppc-80x25-m
+#usr/share/terminfo/x/xnuppc-80x30
+#usr/share/terminfo/x/xnuppc-80x30-m
+#usr/share/terminfo/x/xnuppc-90x30
+#usr/share/terminfo/x/xnuppc-90x30-m
+#usr/share/terminfo/x/xnuppc-b
+#usr/share/terminfo/x/xnuppc-f
+#usr/share/terminfo/x/xnuppc-f2
+#usr/share/terminfo/x/xnuppc-m
+#usr/share/terminfo/x/xnuppc-m-b
+#usr/share/terminfo/x/xnuppc-m-f
+#usr/share/terminfo/x/xnuppc-m-f2
+#usr/share/terminfo/x/xtalk
+usr/share/terminfo/x/xterm
+usr/share/terminfo/x/xterm+sl
+usr/share/terminfo/x/xterm+sl-twm
+usr/share/terminfo/x/xterm-16color
+usr/share/terminfo/x/xterm-24
+usr/share/terminfo/x/xterm-256color
+usr/share/terminfo/x/xterm-88color
+usr/share/terminfo/x/xterm-8bit
+usr/share/terminfo/x/xterm-basic
+usr/share/terminfo/x/xterm-bold
+usr/share/terminfo/x/xterm-color
+usr/share/terminfo/x/xterm-hp
+usr/share/terminfo/x/xterm-new
+usr/share/terminfo/x/xterm-nic
+usr/share/terminfo/x/xterm-noapp
+usr/share/terminfo/x/xterm-old
+usr/share/terminfo/x/xterm-pcolor
+usr/share/terminfo/x/xterm-r5
+usr/share/terminfo/x/xterm-r6
+usr/share/terminfo/x/xterm-sco
+usr/share/terminfo/x/xterm-sun
+usr/share/terminfo/x/xterm-vt220
+usr/share/terminfo/x/xterm-vt52
+usr/share/terminfo/x/xterm-xf86-v32
+usr/share/terminfo/x/xterm-xf86-v33
+usr/share/terminfo/x/xterm-xf86-v333
+usr/share/terminfo/x/xterm-xf86-v40
+usr/share/terminfo/x/xterm-xfree86
+usr/share/terminfo/x/xterm-xi
+usr/share/terminfo/x/xterm1
+usr/share/terminfo/x/xtermc
+usr/share/terminfo/x/xtermm
+usr/share/terminfo/x/xterms
+usr/share/terminfo/x/xterms-sun
+#usr/share/terminfo/x/xwsh
+#usr/share/terminfo/z
+#usr/share/terminfo/z/z-100
+#usr/share/terminfo/z/z-100bw
+#usr/share/terminfo/z/z100
+#usr/share/terminfo/z/z100bw
+#usr/share/terminfo/z/z110
+#usr/share/terminfo/z/z110bw
+#usr/share/terminfo/z/z19
+#usr/share/terminfo/z/z29
+#usr/share/terminfo/z/z29a
+#usr/share/terminfo/z/z29a-kc-bc
+#usr/share/terminfo/z/z29a-kc-uc
+#usr/share/terminfo/z/z29a-nkc-bc
+#usr/share/terminfo/z/z29a-nkc-uc
+#usr/share/terminfo/z/z29b
+#usr/share/terminfo/z/z30
+#usr/share/terminfo/z/z340
+#usr/share/terminfo/z/z340-nam
+#usr/share/terminfo/z/z39-a
+#usr/share/terminfo/z/z39a
+#usr/share/terminfo/z/z50
+#usr/share/terminfo/z/z8001
+#usr/share/terminfo/z/zen30
+#usr/share/terminfo/z/zen50
+#usr/share/terminfo/z/zen8001
+#usr/share/terminfo/z/zenith
+#usr/share/terminfo/z/zenith29
+#usr/share/terminfo/z/zenith39-a
+#usr/share/terminfo/z/zenith39-ansi
+#usr/share/terminfo/z/zt-1
+#usr/share/terminfo/z/ztx
+#usr/share/terminfo/z/ztx-1-a
+#usr/share/terminfo/z/ztx11
+##
+## vim-6.3
+##
+#root/.vimrc
+#usr/bin/ex
+#usr/bin/rview
+#usr/bin/rvim
+usr/bin/vi
+#usr/bin/view
+usr/bin/vim
+#usr/bin/vimtutor
+#usr/bin/xxd
+#usr/share/man/man1/evim.1
+#usr/share/man/man1/ex.1
+#usr/share/man/man1/rview.1
+#usr/share/man/man1/rvim.1
+#usr/share/man/man1/view.1
+#usr/share/man/man1/vim.1
+#usr/share/man/man1/vimdiff.1
+#usr/share/man/man1/vimtutor.1
+#usr/share/man/man1/xxd.1
+#usr/share/vim
+#usr/share/vim/vim63
+#usr/share/vim/vim63/bugreport.vim
+#usr/share/vim/vim63/colors
+#usr/share/vim/vim63/colors/README.txt
+#usr/share/vim/vim63/colors/blue.vim
+#usr/share/vim/vim63/colors/darkblue.vim
+#usr/share/vim/vim63/colors/default.vim
+#usr/share/vim/vim63/colors/delek.vim
+#usr/share/vim/vim63/colors/desert.vim
+#usr/share/vim/vim63/colors/elflord.vim
+#usr/share/vim/vim63/colors/evening.vim
+#usr/share/vim/vim63/colors/koehler.vim
+#usr/share/vim/vim63/colors/morning.vim
+#usr/share/vim/vim63/colors/murphy.vim
+#usr/share/vim/vim63/colors/pablo.vim
+#usr/share/vim/vim63/colors/peachpuff.vim
+#usr/share/vim/vim63/colors/ron.vim
+#usr/share/vim/vim63/colors/shine.vim
+#usr/share/vim/vim63/colors/torte.vim
+#usr/share/vim/vim63/colors/zellner.vim
+#usr/share/vim/vim63/compiler
+#usr/share/vim/vim63/compiler/README.txt
+#usr/share/vim/vim63/compiler/ant.vim
+#usr/share/vim/vim63/compiler/bcc.vim
+#usr/share/vim/vim63/compiler/bdf.vim
+#usr/share/vim/vim63/compiler/checkstyle.vim
+#usr/share/vim/vim63/compiler/cs.vim
+#usr/share/vim/vim63/compiler/dot.vim
+#usr/share/vim/vim63/compiler/fortran_F.vim
+#usr/share/vim/vim63/compiler/fortran_cv.vim
+#usr/share/vim/vim63/compiler/fortran_elf90.vim
+#usr/share/vim/vim63/compiler/fortran_g77.vim
+#usr/share/vim/vim63/compiler/fortran_lf95.vim
+#usr/share/vim/vim63/compiler/hp_acc.vim
+#usr/share/vim/vim63/compiler/icc.vim
+#usr/share/vim/vim63/compiler/intel.vim
+#usr/share/vim/vim63/compiler/irix5_c.vim
+#usr/share/vim/vim63/compiler/irix5_cpp.vim
+#usr/share/vim/vim63/compiler/javac.vim
+#usr/share/vim/vim63/compiler/jikes.vim
+#usr/share/vim/vim63/compiler/mips_c.vim
+#usr/share/vim/vim63/compiler/mipspro_c89.vim
+#usr/share/vim/vim63/compiler/mipspro_cpp.vim
+#usr/share/vim/vim63/compiler/modelsim_vcom.vim
+#usr/share/vim/vim63/compiler/msvc.vim
+#usr/share/vim/vim63/compiler/neato.vim
+#usr/share/vim/vim63/compiler/onsgmls.vim
+#usr/share/vim/vim63/compiler/pbx.vim
+#usr/share/vim/vim63/compiler/perl.vim
+#usr/share/vim/vim63/compiler/pyunit.vim
+#usr/share/vim/vim63/compiler/rst.vim
+#usr/share/vim/vim63/compiler/ruby.vim
+#usr/share/vim/vim63/compiler/se.vim
+#usr/share/vim/vim63/compiler/splint.vim
+#usr/share/vim/vim63/compiler/tcl.vim
+#usr/share/vim/vim63/compiler/tex.vim
+#usr/share/vim/vim63/compiler/tidy.vim
+#usr/share/vim/vim63/compiler/xmllint.vim
+#usr/share/vim/vim63/compiler/xmlwf.vim
+#usr/share/vim/vim63/delmenu.vim
+#usr/share/vim/vim63/doc
+#usr/share/vim/vim63/doc/arabic.txt
+#usr/share/vim/vim63/doc/autocmd.txt
+#usr/share/vim/vim63/doc/change.txt
+#usr/share/vim/vim63/doc/cmdline.txt
+#usr/share/vim/vim63/doc/debugger.txt
+#usr/share/vim/vim63/doc/develop.txt
+#usr/share/vim/vim63/doc/diff.txt
+#usr/share/vim/vim63/doc/digraph.txt
+#usr/share/vim/vim63/doc/editing.txt
+#usr/share/vim/vim63/doc/eval.txt
+#usr/share/vim/vim63/doc/farsi.txt
+#usr/share/vim/vim63/doc/filetype.txt
+#usr/share/vim/vim63/doc/fold.txt
+#usr/share/vim/vim63/doc/gui.txt
+#usr/share/vim/vim63/doc/gui_w16.txt
+#usr/share/vim/vim63/doc/gui_w32.txt
+#usr/share/vim/vim63/doc/gui_x11.txt
+#usr/share/vim/vim63/doc/hangulin.txt
+#usr/share/vim/vim63/doc/hebrew.txt
+#usr/share/vim/vim63/doc/help.txt
+#usr/share/vim/vim63/doc/howto.txt
+#usr/share/vim/vim63/doc/if_cscop.txt
+#usr/share/vim/vim63/doc/if_ole.txt
+#usr/share/vim/vim63/doc/if_perl.txt
+#usr/share/vim/vim63/doc/if_pyth.txt
+#usr/share/vim/vim63/doc/if_ruby.txt
+#usr/share/vim/vim63/doc/if_sniff.txt
+#usr/share/vim/vim63/doc/if_tcl.txt
+#usr/share/vim/vim63/doc/indent.txt
+#usr/share/vim/vim63/doc/index.txt
+#usr/share/vim/vim63/doc/insert.txt
+#usr/share/vim/vim63/doc/intro.txt
+#usr/share/vim/vim63/doc/map.txt
+#usr/share/vim/vim63/doc/mbyte.txt
+#usr/share/vim/vim63/doc/message.txt
+#usr/share/vim/vim63/doc/mlang.txt
+#usr/share/vim/vim63/doc/motion.txt
+#usr/share/vim/vim63/doc/netbeans.txt
+#usr/share/vim/vim63/doc/options.txt
+#usr/share/vim/vim63/doc/os_390.txt
+#usr/share/vim/vim63/doc/os_amiga.txt
+#usr/share/vim/vim63/doc/os_beos.txt
+#usr/share/vim/vim63/doc/os_dos.txt
+#usr/share/vim/vim63/doc/os_mac.txt
+#usr/share/vim/vim63/doc/os_mint.txt
+#usr/share/vim/vim63/doc/os_msdos.txt
+#usr/share/vim/vim63/doc/os_os2.txt
+#usr/share/vim/vim63/doc/os_qnx.txt
+#usr/share/vim/vim63/doc/os_risc.txt
+#usr/share/vim/vim63/doc/os_unix.txt
+#usr/share/vim/vim63/doc/os_vms.txt
+#usr/share/vim/vim63/doc/os_win32.txt
+#usr/share/vim/vim63/doc/pattern.txt
+#usr/share/vim/vim63/doc/pi_expl.txt
+#usr/share/vim/vim63/doc/pi_gzip.txt
+#usr/share/vim/vim63/doc/pi_netrw.txt
+#usr/share/vim/vim63/doc/pi_spec.txt
+#usr/share/vim/vim63/doc/quickfix.txt
+#usr/share/vim/vim63/doc/quickref.txt
+#usr/share/vim/vim63/doc/quotes.txt
+#usr/share/vim/vim63/doc/recover.txt
+#usr/share/vim/vim63/doc/remote.txt
+#usr/share/vim/vim63/doc/repeat.txt
+#usr/share/vim/vim63/doc/rileft.txt
+#usr/share/vim/vim63/doc/russian.txt
+#usr/share/vim/vim63/doc/scroll.txt
+#usr/share/vim/vim63/doc/sign.txt
+#usr/share/vim/vim63/doc/sponsor.txt
+#usr/share/vim/vim63/doc/starting.txt
+#usr/share/vim/vim63/doc/syntax.txt
+#usr/share/vim/vim63/doc/tags
+#usr/share/vim/vim63/doc/tagsrch.txt
+#usr/share/vim/vim63/doc/term.txt
+#usr/share/vim/vim63/doc/tips.txt
+#usr/share/vim/vim63/doc/todo.txt
+#usr/share/vim/vim63/doc/uganda.txt
+#usr/share/vim/vim63/doc/undo.txt
+#usr/share/vim/vim63/doc/usr_01.txt
+#usr/share/vim/vim63/doc/usr_02.txt
+#usr/share/vim/vim63/doc/usr_03.txt
+#usr/share/vim/vim63/doc/usr_04.txt
+#usr/share/vim/vim63/doc/usr_05.txt
+#usr/share/vim/vim63/doc/usr_06.txt
+#usr/share/vim/vim63/doc/usr_07.txt
+#usr/share/vim/vim63/doc/usr_08.txt
+#usr/share/vim/vim63/doc/usr_09.txt
+#usr/share/vim/vim63/doc/usr_10.txt
+#usr/share/vim/vim63/doc/usr_11.txt
+#usr/share/vim/vim63/doc/usr_12.txt
+#usr/share/vim/vim63/doc/usr_20.txt
+#usr/share/vim/vim63/doc/usr_21.txt
+#usr/share/vim/vim63/doc/usr_22.txt
+#usr/share/vim/vim63/doc/usr_23.txt
+#usr/share/vim/vim63/doc/usr_24.txt
+#usr/share/vim/vim63/doc/usr_25.txt
+#usr/share/vim/vim63/doc/usr_26.txt
+#usr/share/vim/vim63/doc/usr_27.txt
+#usr/share/vim/vim63/doc/usr_28.txt
+#usr/share/vim/vim63/doc/usr_29.txt
+#usr/share/vim/vim63/doc/usr_30.txt
+#usr/share/vim/vim63/doc/usr_31.txt
+#usr/share/vim/vim63/doc/usr_40.txt
+#usr/share/vim/vim63/doc/usr_41.txt
+#usr/share/vim/vim63/doc/usr_42.txt
+#usr/share/vim/vim63/doc/usr_43.txt
+#usr/share/vim/vim63/doc/usr_44.txt
+#usr/share/vim/vim63/doc/usr_45.txt
+#usr/share/vim/vim63/doc/usr_90.txt
+#usr/share/vim/vim63/doc/usr_toc.txt
+#usr/share/vim/vim63/doc/various.txt
+#usr/share/vim/vim63/doc/version4.txt
+#usr/share/vim/vim63/doc/version5.txt
+#usr/share/vim/vim63/doc/version6.txt
+#usr/share/vim/vim63/doc/vi_diff.txt
+#usr/share/vim/vim63/doc/vim2html.pl
+#usr/share/vim/vim63/doc/visual.txt
+#usr/share/vim/vim63/doc/windows.txt
+#usr/share/vim/vim63/doc/workshop.txt
+#usr/share/vim/vim63/evim.vim
+#usr/share/vim/vim63/filetype.vim
+#usr/share/vim/vim63/ftoff.vim
+#usr/share/vim/vim63/ftplugin
+#usr/share/vim/vim63/ftplugin.vim
+#usr/share/vim/vim63/ftplugin/README.txt
+#usr/share/vim/vim63/ftplugin/aap.vim
+#usr/share/vim/vim63/ftplugin/abaqus.vim
+#usr/share/vim/vim63/ftplugin/ada.vim
+#usr/share/vim/vim63/ftplugin/ant.vim
+#usr/share/vim/vim63/ftplugin/art.vim
+#usr/share/vim/vim63/ftplugin/aspvbs.vim
+#usr/share/vim/vim63/ftplugin/automake.vim
+#usr/share/vim/vim63/ftplugin/bib.vim
+#usr/share/vim/vim63/ftplugin/c.vim
+#usr/share/vim/vim63/ftplugin/ch.vim
+#usr/share/vim/vim63/ftplugin/changelog.vim
+#usr/share/vim/vim63/ftplugin/config.vim
+#usr/share/vim/vim63/ftplugin/cpp.vim
+#usr/share/vim/vim63/ftplugin/cs.vim
+#usr/share/vim/vim63/ftplugin/csc.vim
+#usr/share/vim/vim63/ftplugin/csh.vim
+#usr/share/vim/vim63/ftplugin/css.vim
+#usr/share/vim/vim63/ftplugin/debchangelog.vim
+#usr/share/vim/vim63/ftplugin/dosbatch.vim
+#usr/share/vim/vim63/ftplugin/dtd.vim
+#usr/share/vim/vim63/ftplugin/fortran.vim
+#usr/share/vim/vim63/ftplugin/html.vim
+#usr/share/vim/vim63/ftplugin/ishd.vim
+#usr/share/vim/vim63/ftplugin/java.vim
+#usr/share/vim/vim63/ftplugin/jsp.vim
+#usr/share/vim/vim63/ftplugin/kwt.vim
+#usr/share/vim/vim63/ftplugin/lisp.vim
+#usr/share/vim/vim63/ftplugin/lprolog.vim
+#usr/share/vim/vim63/ftplugin/lua.vim
+#usr/share/vim/vim63/ftplugin/mail.vim
+#usr/share/vim/vim63/ftplugin/make.vim
+#usr/share/vim/vim63/ftplugin/man.vim
+#usr/share/vim/vim63/ftplugin/mf.vim
+#usr/share/vim/vim63/ftplugin/mp.vim
+#usr/share/vim/vim63/ftplugin/objc.vim
+#usr/share/vim/vim63/ftplugin/ocaml.vim
+#usr/share/vim/vim63/ftplugin/occam.vim
+#usr/share/vim/vim63/ftplugin/pascal.vim
+#usr/share/vim/vim63/ftplugin/perl.vim
+#usr/share/vim/vim63/ftplugin/php.vim
+#usr/share/vim/vim63/ftplugin/postscr.vim
+#usr/share/vim/vim63/ftplugin/pyrex.vim
+#usr/share/vim/vim63/ftplugin/python.vim
+#usr/share/vim/vim63/ftplugin/rpl.vim
+#usr/share/vim/vim63/ftplugin/rst.vim
+#usr/share/vim/vim63/ftplugin/ruby.vim
+#usr/share/vim/vim63/ftplugin/scheme.vim
+#usr/share/vim/vim63/ftplugin/sgml.vim
+#usr/share/vim/vim63/ftplugin/sh.vim
+#usr/share/vim/vim63/ftplugin/spec.vim
+#usr/share/vim/vim63/ftplugin/sql.vim
+#usr/share/vim/vim63/ftplugin/svg.vim
+#usr/share/vim/vim63/ftplugin/tcsh.vim
+#usr/share/vim/vim63/ftplugin/tex.vim
+#usr/share/vim/vim63/ftplugin/vb.vim
+#usr/share/vim/vim63/ftplugin/verilog.vim
+#usr/share/vim/vim63/ftplugin/vim.vim
+#usr/share/vim/vim63/ftplugin/xhtml.vim
+#usr/share/vim/vim63/ftplugin/xml.vim
+#usr/share/vim/vim63/ftplugin/xs.vim
+#usr/share/vim/vim63/ftplugin/xsd.vim
+#usr/share/vim/vim63/ftplugin/xslt.vim
+#usr/share/vim/vim63/ftplugof.vim
+#usr/share/vim/vim63/gvimrc_example.vim
+#usr/share/vim/vim63/indent
+#usr/share/vim/vim63/indent.vim
+#usr/share/vim/vim63/indent/README.txt
+#usr/share/vim/vim63/indent/aap.vim
+#usr/share/vim/vim63/indent/ada.vim
+#usr/share/vim/vim63/indent/ant.vim
+#usr/share/vim/vim63/indent/automake.vim
+#usr/share/vim/vim63/indent/awk.vim
+#usr/share/vim/vim63/indent/c.vim
+#usr/share/vim/vim63/indent/cdl.vim
+#usr/share/vim/vim63/indent/ch.vim
+#usr/share/vim/vim63/indent/config.vim
+#usr/share/vim/vim63/indent/cpp.vim
+#usr/share/vim/vim63/indent/cs.vim
+#usr/share/vim/vim63/indent/css.vim
+#usr/share/vim/vim63/indent/docbk.vim
+#usr/share/vim/vim63/indent/dylan.vim
+#usr/share/vim/vim63/indent/eiffel.vim
+#usr/share/vim/vim63/indent/eterm.vim
+#usr/share/vim/vim63/indent/fortran.vim
+#usr/share/vim/vim63/indent/html.vim
+#usr/share/vim/vim63/indent/idlang.vim
+#usr/share/vim/vim63/indent/ishd.vim
+#usr/share/vim/vim63/indent/java.vim
+#usr/share/vim/vim63/indent/lua.vim
+#usr/share/vim/vim63/indent/make.vim
+#usr/share/vim/vim63/indent/matlab.vim
+#usr/share/vim/vim63/indent/mp.vim
+#usr/share/vim/vim63/indent/objc.vim
+#usr/share/vim/vim63/indent/ocaml.vim
+#usr/share/vim/vim63/indent/occam.vim
+#usr/share/vim/vim63/indent/perl.vim
+#usr/share/vim/vim63/indent/php.vim
+#usr/share/vim/vim63/indent/postscr.vim
+#usr/share/vim/vim63/indent/pov.vim
+#usr/share/vim/vim63/indent/prolog.vim
+#usr/share/vim/vim63/indent/pyrex.vim
+#usr/share/vim/vim63/indent/python.vim
+#usr/share/vim/vim63/indent/readline.vim
+#usr/share/vim/vim63/indent/rpl.vim
+#usr/share/vim/vim63/indent/rst.vim
+#usr/share/vim/vim63/indent/ruby.vim
+#usr/share/vim/vim63/indent/sdl.vim
+#usr/share/vim/vim63/indent/sh.vim
+#usr/share/vim/vim63/indent/tcl.vim
+#usr/share/vim/vim63/indent/tcsh.vim
+#usr/share/vim/vim63/indent/tilde.vim
+#usr/share/vim/vim63/indent/vb.vim
+#usr/share/vim/vim63/indent/verilog.vim
+#usr/share/vim/vim63/indent/vim.vim
+#usr/share/vim/vim63/indent/xf86conf.vim
+#usr/share/vim/vim63/indent/xhtml.vim
+#usr/share/vim/vim63/indent/xml.vim
+#usr/share/vim/vim63/indent/xslt.vim
+#usr/share/vim/vim63/indent/yacc.vim
+#usr/share/vim/vim63/indent/zsh.vim
+#usr/share/vim/vim63/indoff.vim
+#usr/share/vim/vim63/keymap
+#usr/share/vim/vim63/keymap/README.txt
+#usr/share/vim/vim63/keymap/accents.vim
+#usr/share/vim/vim63/keymap/arabic.vim
+#usr/share/vim/vim63/keymap/arabic_utf-8.vim
+#usr/share/vim/vim63/keymap/czech.vim
+#usr/share/vim/vim63/keymap/czech_utf-8.vim
+#usr/share/vim/vim63/keymap/esperanto.vim
+#usr/share/vim/vim63/keymap/esperanto_utf-8.vim
+#usr/share/vim/vim63/keymap/greek.vim
+#usr/share/vim/vim63/keymap/greek_cp1253.vim
+#usr/share/vim/vim63/keymap/greek_iso-8859-7.vim
+#usr/share/vim/vim63/keymap/greek_utf-8.vim
+#usr/share/vim/vim63/keymap/hebrew.vim
+#usr/share/vim/vim63/keymap/hebrew_cp1255.vim
+#usr/share/vim/vim63/keymap/hebrew_iso-8859-8.vim
+#usr/share/vim/vim63/keymap/hebrew_utf-8.vim
+#usr/share/vim/vim63/keymap/hebrewp.vim
+#usr/share/vim/vim63/keymap/hebrewp_cp1255.vim
+#usr/share/vim/vim63/keymap/hebrewp_iso-8859-8.vim
+#usr/share/vim/vim63/keymap/hebrewp_utf-8.vim
+#usr/share/vim/vim63/keymap/lithuanian-baltic.vim
+#usr/share/vim/vim63/keymap/magyar_utf-8.vim
+#usr/share/vim/vim63/keymap/persian-iranian_utf-8.vim
+#usr/share/vim/vim63/keymap/persian.vim
+#usr/share/vim/vim63/keymap/pinyin.vim
+#usr/share/vim/vim63/keymap/russian-jcuken.vim
+#usr/share/vim/vim63/keymap/russian-jcukenwin.vim
+#usr/share/vim/vim63/keymap/russian-yawerty.vim
+#usr/share/vim/vim63/keymap/serbian-latin.vim
+#usr/share/vim/vim63/keymap/serbian-latin_utf-8.vim
+#usr/share/vim/vim63/keymap/serbian.vim
+#usr/share/vim/vim63/keymap/serbian_cp1250.vim
+#usr/share/vim/vim63/keymap/serbian_cp1251.vim
+#usr/share/vim/vim63/keymap/serbian_iso-8859-2.vim
+#usr/share/vim/vim63/keymap/serbian_iso-8859-5.vim
+#usr/share/vim/vim63/keymap/serbian_utf-8.vim
+#usr/share/vim/vim63/keymap/slovak.vim
+#usr/share/vim/vim63/keymap/slovak_cp1250.vim
+#usr/share/vim/vim63/keymap/slovak_iso-8859-2.vim
+#usr/share/vim/vim63/keymap/slovak_utf-8.vim
+#usr/share/vim/vim63/lang
+#usr/share/vim/vim63/lang/README.txt
+#usr/share/vim/vim63/lang/menu_af.latin1.vim
+#usr/share/vim/vim63/lang/menu_af.utf-8.vim
+#usr/share/vim/vim63/lang/menu_af_af.latin1.vim
+#usr/share/vim/vim63/lang/menu_af_af.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ca.latin1.vim
+#usr/share/vim/vim63/lang/menu_ca.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ca_es.latin1.vim
+#usr/share/vim/vim63/lang/menu_ca_es.utf-8.vim
+#usr/share/vim/vim63/lang/menu_chinese(gb)_gb.936.vim
+#usr/share/vim/vim63/lang/menu_chinese(taiwan)_taiwan.950.vim
+#usr/share/vim/vim63/lang/menu_chinese_gb.936.vim
+#usr/share/vim/vim63/lang/menu_chinese_taiwan.950.vim
+#usr/share/vim/vim63/lang/menu_cs.cp1250.vim
+#usr/share/vim/vim63/lang/menu_cs.latin1.vim
+#usr/share/vim/vim63/lang/menu_cs_cz.cp1250.vim
+#usr/share/vim/vim63/lang/menu_cs_cz.iso_8859-2.vim
+#usr/share/vim/vim63/lang/menu_cs_cz.latin1.vim
+#usr/share/vim/vim63/lang/menu_czech_czech_republic.1250.vim
+#usr/share/vim/vim63/lang/menu_czech_czech_republic.1252.vim
+#usr/share/vim/vim63/lang/menu_czech_czech_republic.ascii.vim
+#usr/share/vim/vim63/lang/menu_de.latin1.vim
+#usr/share/vim/vim63/lang/menu_de.utf-8.vim
+#usr/share/vim/vim63/lang/menu_de_de.latin1.vim
+#usr/share/vim/vim63/lang/menu_de_de.utf-8.vim
+#usr/share/vim/vim63/lang/menu_en_gb.latin1.vim
+#usr/share/vim/vim63/lang/menu_en_gb.utf-8.vim
+#usr/share/vim/vim63/lang/menu_english_united_kingdom.1252.vim
+#usr/share/vim/vim63/lang/menu_english_united_kingdom.ascii.vim
+#usr/share/vim/vim63/lang/menu_es.latin1.vim
+#usr/share/vim/vim63/lang/menu_es.utf-8.vim
+#usr/share/vim/vim63/lang/menu_es_es.latin1.vim
+#usr/share/vim/vim63/lang/menu_es_es.utf-8.vim
+#usr/share/vim/vim63/lang/menu_fr.latin1.vim
+#usr/share/vim/vim63/lang/menu_fr.utf-8.vim
+#usr/share/vim/vim63/lang/menu_fr_fr.latin1.vim
+#usr/share/vim/vim63/lang/menu_fr_fr.utf-8.vim
+#usr/share/vim/vim63/lang/menu_french_france.1252.vim
+#usr/share/vim/vim63/lang/menu_german_germany.1252.vim
+#usr/share/vim/vim63/lang/menu_hu_hu.iso_8859-2.vim
+#usr/share/vim/vim63/lang/menu_it.latin1.vim
+#usr/share/vim/vim63/lang/menu_it.utf-8.vim
+#usr/share/vim/vim63/lang/menu_it_it.latin1.vim
+#usr/share/vim/vim63/lang/menu_it_it.utf-8.vim
+#usr/share/vim/vim63/lang/menu_italian_italy.1252.vim
+#usr/share/vim/vim63/lang/menu_ja.cp932.vim
+#usr/share/vim/vim63/lang/menu_ja.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ja_jp.cp932.vim
+#usr/share/vim/vim63/lang/menu_ja_jp.euc-jp.vim
+#usr/share/vim/vim63/lang/menu_ja_jp.eucjp.vim
+#usr/share/vim/vim63/lang/menu_ja_jp.ujis.vim
+#usr/share/vim/vim63/lang/menu_ja_jp.utf-8.vim
+#usr/share/vim/vim63/lang/menu_japanese_japan.932.vim
+#usr/share/vim/vim63/lang/menu_ko.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ko_kr.euckr.vim
+#usr/share/vim/vim63/lang/menu_ko_kr.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ko_kr.vim
+#usr/share/vim/vim63/lang/menu_nl.latin1.vim
+#usr/share/vim/vim63/lang/menu_nl.utf-8.vim
+#usr/share/vim/vim63/lang/menu_nl_nl.latin1.vim
+#usr/share/vim/vim63/lang/menu_nl_nl.utf-8.vim
+#usr/share/vim/vim63/lang/menu_no.latin1.vim
+#usr/share/vim/vim63/lang/menu_no.utf-8.vim
+#usr/share/vim/vim63/lang/menu_no_no.latin1.vim
+#usr/share/vim/vim63/lang/menu_no_no.utf-8.vim
+#usr/share/vim/vim63/lang/menu_pl.cp1250.vim
+#usr/share/vim/vim63/lang/menu_pl_pl.cp1250.vim
+#usr/share/vim/vim63/lang/menu_pl_pl.iso_8859-2.vim
+#usr/share/vim/vim63/lang/menu_polish_poland.1250.vim
+#usr/share/vim/vim63/lang/menu_pt_br.latin1.vim
+#usr/share/vim/vim63/lang/menu_pt_br.utf-8.vim
+#usr/share/vim/vim63/lang/menu_pt_br.vim
+#usr/share/vim/vim63/lang/menu_pt_pt.latin1.vim
+#usr/share/vim/vim63/lang/menu_pt_pt.utf-8.vim
+#usr/share/vim/vim63/lang/menu_pt_pt.vim
+#usr/share/vim/vim63/lang/menu_ru.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ru_ru.koi8-r.vim
+#usr/share/vim/vim63/lang/menu_ru_ru.utf-8.vim
+#usr/share/vim/vim63/lang/menu_ru_ru.vim
+#usr/share/vim/vim63/lang/menu_sk.cp1250.vim
+#usr/share/vim/vim63/lang/menu_sk_sk.1250.vim
+#usr/share/vim/vim63/lang/menu_sk_sk.cp1250.vim
+#usr/share/vim/vim63/lang/menu_sk_sk.iso_8859-2.vim
+#usr/share/vim/vim63/lang/menu_sk_sk.vim
+#usr/share/vim/vim63/lang/menu_slovak_slovak_republic.1250.vim
+#usr/share/vim/vim63/lang/menu_spanish_spain.850.vim
+#usr/share/vim/vim63/lang/menu_sr.utf-8.vim
+#usr/share/vim/vim63/lang/menu_sr_yu.ascii.vim
+#usr/share/vim/vim63/lang/menu_sr_yu.iso_8859-2.vim
+#usr/share/vim/vim63/lang/menu_sr_yu.iso_8859-5.vim
+#usr/share/vim/vim63/lang/menu_sr_yu.utf-8.vim
+#usr/share/vim/vim63/lang/menu_sv.latin1.vim
+#usr/share/vim/vim63/lang/menu_sv.utf-8.vim
+#usr/share/vim/vim63/lang/menu_sv_se.latin1.vim
+#usr/share/vim/vim63/lang/menu_sv_se.utf-8.vim
+#usr/share/vim/vim63/lang/menu_uk_ua.koi8-u.vim
+#usr/share/vim/vim63/lang/menu_zh.big5.vim
+#usr/share/vim/vim63/lang/menu_zh.cp936.vim
+#usr/share/vim/vim63/lang/menu_zh.cp950.vim
+#usr/share/vim/vim63/lang/menu_zh.gb2312.vim
+#usr/share/vim/vim63/lang/menu_zh_cn.18030.vim
+#usr/share/vim/vim63/lang/menu_zh_cn.cp936.vim
+#usr/share/vim/vim63/lang/menu_zh_cn.gb2312.vim
+#usr/share/vim/vim63/lang/menu_zh_cn.gbk.vim
+#usr/share/vim/vim63/lang/menu_zh_cn.utf-8.vim
+#usr/share/vim/vim63/lang/menu_zh_tw.big5.vim
+#usr/share/vim/vim63/lang/menu_zh_tw.cp950.vim
+#usr/share/vim/vim63/lang/menu_zh_tw.utf-8.vim
+#usr/share/vim/vim63/macros
+#usr/share/vim/vim63/macros/README.txt
+#usr/share/vim/vim63/macros/dvorak
+#usr/share/vim/vim63/macros/hanoi
+#usr/share/vim/vim63/macros/hanoi/click.me
+#usr/share/vim/vim63/macros/hanoi/hanoi.vim
+#usr/share/vim/vim63/macros/hanoi/poster
+#usr/share/vim/vim63/macros/justify.vim
+#usr/share/vim/vim63/macros/less.sh
+#usr/share/vim/vim63/macros/less.vim
+#usr/share/vim/vim63/macros/life
+#usr/share/vim/vim63/macros/life/click.me
+#usr/share/vim/vim63/macros/life/life.vim
+#usr/share/vim/vim63/macros/matchit.txt
+#usr/share/vim/vim63/macros/matchit.vim
+#usr/share/vim/vim63/macros/maze
+#usr/share/vim/vim63/macros/maze/Makefile
+#usr/share/vim/vim63/macros/maze/README.txt
+#usr/share/vim/vim63/macros/maze/main.aap
+#usr/share/vim/vim63/macros/maze/maze.c
+#usr/share/vim/vim63/macros/maze/maze_5.78
+#usr/share/vim/vim63/macros/maze/maze_mac
+#usr/share/vim/vim63/macros/maze/mazeansi.c
+#usr/share/vim/vim63/macros/maze/mazeclean.c
+#usr/share/vim/vim63/macros/maze/poster
+#usr/share/vim/vim63/macros/shellmenu.vim
+#usr/share/vim/vim63/macros/swapmous.vim
+#usr/share/vim/vim63/macros/urm
+#usr/share/vim/vim63/macros/urm/README.txt
+#usr/share/vim/vim63/macros/urm/examples
+#usr/share/vim/vim63/macros/urm/urm
+#usr/share/vim/vim63/macros/urm/urm.vim
+#usr/share/vim/vim63/menu.vim
+#usr/share/vim/vim63/mswin.vim
+#usr/share/vim/vim63/optwin.vim
+#usr/share/vim/vim63/plugin
+#usr/share/vim/vim63/plugin/README.txt
+#usr/share/vim/vim63/plugin/explorer.vim
+#usr/share/vim/vim63/plugin/gzip.vim
+#usr/share/vim/vim63/plugin/netrw.vim
+#usr/share/vim/vim63/plugin/rrhelper.vim
+#usr/share/vim/vim63/plugin/tohtml.vim
+#usr/share/vim/vim63/print
+#usr/share/vim/vim63/print/cp1250.ps
+#usr/share/vim/vim63/print/cp1251.ps
+#usr/share/vim/vim63/print/cp1252.ps
+#usr/share/vim/vim63/print/cp1253.ps
+#usr/share/vim/vim63/print/cp1254.ps
+#usr/share/vim/vim63/print/cp1255.ps
+#usr/share/vim/vim63/print/cp1257.ps
+#usr/share/vim/vim63/print/dec-mcs.ps
+#usr/share/vim/vim63/print/ebcdic-uk.ps
+#usr/share/vim/vim63/print/hp-roman8.ps
+#usr/share/vim/vim63/print/iso-8859-10.ps
+#usr/share/vim/vim63/print/iso-8859-11.ps
+#usr/share/vim/vim63/print/iso-8859-13.ps
+#usr/share/vim/vim63/print/iso-8859-14.ps
+#usr/share/vim/vim63/print/iso-8859-15.ps
+#usr/share/vim/vim63/print/iso-8859-2.ps
+#usr/share/vim/vim63/print/iso-8859-3.ps
+#usr/share/vim/vim63/print/iso-8859-4.ps
+#usr/share/vim/vim63/print/iso-8859-5.ps
+#usr/share/vim/vim63/print/iso-8859-7.ps
+#usr/share/vim/vim63/print/iso-8859-8.ps
+#usr/share/vim/vim63/print/iso-8859-9.ps
+#usr/share/vim/vim63/print/koi8-r.ps
+#usr/share/vim/vim63/print/koi8-u.ps
+#usr/share/vim/vim63/print/latin1.ps
+#usr/share/vim/vim63/print/mac-roman.ps
+#usr/share/vim/vim63/print/prolog.ps
+#usr/share/vim/vim63/scripts.vim
+#usr/share/vim/vim63/synmenu.vim
+#usr/share/vim/vim63/syntax
+#usr/share/vim/vim63/syntax/2html.vim
+#usr/share/vim/vim63/syntax/README.txt
+#usr/share/vim/vim63/syntax/a65.vim
+#usr/share/vim/vim63/syntax/aap.vim
+#usr/share/vim/vim63/syntax/abaqus.vim
+#usr/share/vim/vim63/syntax/abc.vim
+#usr/share/vim/vim63/syntax/abel.vim
+#usr/share/vim/vim63/syntax/acedb.vim
+#usr/share/vim/vim63/syntax/ada.vim
+#usr/share/vim/vim63/syntax/aflex.vim
+#usr/share/vim/vim63/syntax/ahdl.vim
+#usr/share/vim/vim63/syntax/amiga.vim
+#usr/share/vim/vim63/syntax/aml.vim
+#usr/share/vim/vim63/syntax/ampl.vim
+#usr/share/vim/vim63/syntax/ant.vim
+#usr/share/vim/vim63/syntax/antlr.vim
+#usr/share/vim/vim63/syntax/apache.vim
+#usr/share/vim/vim63/syntax/apachestyle.vim
+#usr/share/vim/vim63/syntax/arch.vim
+#usr/share/vim/vim63/syntax/art.vim
+#usr/share/vim/vim63/syntax/asm.vim
+#usr/share/vim/vim63/syntax/asm68k.vim
+#usr/share/vim/vim63/syntax/asmh8300.vim
+#usr/share/vim/vim63/syntax/asn.vim
+#usr/share/vim/vim63/syntax/aspperl.vim
+#usr/share/vim/vim63/syntax/aspvbs.vim
+#usr/share/vim/vim63/syntax/atlas.vim
+#usr/share/vim/vim63/syntax/automake.vim
+#usr/share/vim/vim63/syntax/ave.vim
+#usr/share/vim/vim63/syntax/awk.vim
+#usr/share/vim/vim63/syntax/ayacc.vim
+#usr/share/vim/vim63/syntax/b.vim
+#usr/share/vim/vim63/syntax/baan.vim
+#usr/share/vim/vim63/syntax/basic.vim
+#usr/share/vim/vim63/syntax/bc.vim
+#usr/share/vim/vim63/syntax/bdf.vim
+#usr/share/vim/vim63/syntax/bib.vim
+#usr/share/vim/vim63/syntax/bindzone.vim
+#usr/share/vim/vim63/syntax/blank.vim
+#usr/share/vim/vim63/syntax/btm.vim
+#usr/share/vim/vim63/syntax/c.vim
+#usr/share/vim/vim63/syntax/calendar.vim
+#usr/share/vim/vim63/syntax/catalog.vim
+#usr/share/vim/vim63/syntax/cdl.vim
+#usr/share/vim/vim63/syntax/cf.vim
+#usr/share/vim/vim63/syntax/cfg.vim
+#usr/share/vim/vim63/syntax/ch.vim
+#usr/share/vim/vim63/syntax/change.vim
+#usr/share/vim/vim63/syntax/changelog.vim
+#usr/share/vim/vim63/syntax/chaskell.vim
+#usr/share/vim/vim63/syntax/cheetah.vim
+#usr/share/vim/vim63/syntax/chill.vim
+#usr/share/vim/vim63/syntax/cl.vim
+#usr/share/vim/vim63/syntax/clean.vim
+#usr/share/vim/vim63/syntax/clipper.vim
+#usr/share/vim/vim63/syntax/cobol.vim
+#usr/share/vim/vim63/syntax/colortest.vim
+#usr/share/vim/vim63/syntax/conf.vim
+#usr/share/vim/vim63/syntax/config.vim
+#usr/share/vim/vim63/syntax/cpp.vim
+#usr/share/vim/vim63/syntax/crm.vim
+#usr/share/vim/vim63/syntax/crontab.vim
+#usr/share/vim/vim63/syntax/cs.vim
+#usr/share/vim/vim63/syntax/csc.vim
+#usr/share/vim/vim63/syntax/csh.vim
+#usr/share/vim/vim63/syntax/csp.vim
+#usr/share/vim/vim63/syntax/css.vim
+#usr/share/vim/vim63/syntax/cterm.vim
+#usr/share/vim/vim63/syntax/ctrlh.vim
+#usr/share/vim/vim63/syntax/cupl.vim
+#usr/share/vim/vim63/syntax/cuplsim.vim
+#usr/share/vim/vim63/syntax/cvs.vim
+#usr/share/vim/vim63/syntax/cvsrc.vim
+#usr/share/vim/vim63/syntax/cweb.vim
+#usr/share/vim/vim63/syntax/cynlib.vim
+#usr/share/vim/vim63/syntax/cynpp.vim
+#usr/share/vim/vim63/syntax/d.vim
+#usr/share/vim/vim63/syntax/dcd.vim
+#usr/share/vim/vim63/syntax/dcl.vim
+#usr/share/vim/vim63/syntax/debchangelog.vim
+#usr/share/vim/vim63/syntax/debcontrol.vim
+#usr/share/vim/vim63/syntax/def.vim
+#usr/share/vim/vim63/syntax/desc.vim
+#usr/share/vim/vim63/syntax/desktop.vim
+#usr/share/vim/vim63/syntax/diff.vim
+#usr/share/vim/vim63/syntax/dircolors.vim
+#usr/share/vim/vim63/syntax/diva.vim
+#usr/share/vim/vim63/syntax/dns.vim
+#usr/share/vim/vim63/syntax/docbk.vim
+#usr/share/vim/vim63/syntax/docbksgml.vim
+#usr/share/vim/vim63/syntax/docbkxml.vim
+#usr/share/vim/vim63/syntax/dosbatch.vim
+#usr/share/vim/vim63/syntax/dosini.vim
+#usr/share/vim/vim63/syntax/dot.vim
+#usr/share/vim/vim63/syntax/dracula.vim
+#usr/share/vim/vim63/syntax/dsl.vim
+#usr/share/vim/vim63/syntax/dtd.vim
+#usr/share/vim/vim63/syntax/dtml.vim
+#usr/share/vim/vim63/syntax/dylan.vim
+#usr/share/vim/vim63/syntax/dylanintr.vim
+#usr/share/vim/vim63/syntax/dylanlid.vim
+#usr/share/vim/vim63/syntax/ecd.vim
+#usr/share/vim/vim63/syntax/edif.vim
+#usr/share/vim/vim63/syntax/eiffel.vim
+#usr/share/vim/vim63/syntax/elf.vim
+#usr/share/vim/vim63/syntax/elinks.vim
+#usr/share/vim/vim63/syntax/elmfilt.vim
+#usr/share/vim/vim63/syntax/erlang.vim
+#usr/share/vim/vim63/syntax/esqlc.vim
+#usr/share/vim/vim63/syntax/eterm.vim
+#usr/share/vim/vim63/syntax/exim.vim
+#usr/share/vim/vim63/syntax/expect.vim
+#usr/share/vim/vim63/syntax/exports.vim
+#usr/share/vim/vim63/syntax/fasm.vim
+#usr/share/vim/vim63/syntax/fdcc.vim
+#usr/share/vim/vim63/syntax/fetchmail.vim
+#usr/share/vim/vim63/syntax/fgl.vim
+#usr/share/vim/vim63/syntax/focexec.vim
+#usr/share/vim/vim63/syntax/form.vim
+#usr/share/vim/vim63/syntax/forth.vim
+#usr/share/vim/vim63/syntax/fortran.vim
+#usr/share/vim/vim63/syntax/foxpro.vim
+#usr/share/vim/vim63/syntax/fstab.vim
+#usr/share/vim/vim63/syntax/fvwm.vim
+#usr/share/vim/vim63/syntax/fvwm2m4.vim
+#usr/share/vim/vim63/syntax/gdb.vim
+#usr/share/vim/vim63/syntax/gdmo.vim
+#usr/share/vim/vim63/syntax/gedcom.vim
+#usr/share/vim/vim63/syntax/gkrellmrc.vim
+#usr/share/vim/vim63/syntax/gnuplot.vim
+#usr/share/vim/vim63/syntax/gp.vim
+#usr/share/vim/vim63/syntax/gpg.vim
+#usr/share/vim/vim63/syntax/grads.vim
+#usr/share/vim/vim63/syntax/groff.vim
+#usr/share/vim/vim63/syntax/grub.vim
+#usr/share/vim/vim63/syntax/gsp.vim
+#usr/share/vim/vim63/syntax/gtkrc.vim
+#usr/share/vim/vim63/syntax/haskell.vim
+#usr/share/vim/vim63/syntax/hb.vim
+#usr/share/vim/vim63/syntax/help.vim
+#usr/share/vim/vim63/syntax/hercules.vim
+#usr/share/vim/vim63/syntax/hex.vim
+#usr/share/vim/vim63/syntax/hitest.vim
+#usr/share/vim/vim63/syntax/hog.vim
+#usr/share/vim/vim63/syntax/html.vim
+#usr/share/vim/vim63/syntax/htmlcheetah.vim
+#usr/share/vim/vim63/syntax/htmlm4.vim
+#usr/share/vim/vim63/syntax/htmlos.vim
+#usr/share/vim/vim63/syntax/ia64.vim
+#usr/share/vim/vim63/syntax/icemenu.vim
+#usr/share/vim/vim63/syntax/icon.vim
+#usr/share/vim/vim63/syntax/idl.vim
+#usr/share/vim/vim63/syntax/idlang.vim
+#usr/share/vim/vim63/syntax/indent.vim
+#usr/share/vim/vim63/syntax/inform.vim
+#usr/share/vim/vim63/syntax/inittab.vim
+#usr/share/vim/vim63/syntax/ipfilter.vim
+#usr/share/vim/vim63/syntax/ishd.vim
+#usr/share/vim/vim63/syntax/iss.vim
+#usr/share/vim/vim63/syntax/ist.vim
+#usr/share/vim/vim63/syntax/jal.vim
+#usr/share/vim/vim63/syntax/jam.vim
+#usr/share/vim/vim63/syntax/jargon.vim
+#usr/share/vim/vim63/syntax/java.vim
+#usr/share/vim/vim63/syntax/javacc.vim
+#usr/share/vim/vim63/syntax/javascript.vim
+#usr/share/vim/vim63/syntax/jess.vim
+#usr/share/vim/vim63/syntax/jgraph.vim
+#usr/share/vim/vim63/syntax/jproperties.vim
+#usr/share/vim/vim63/syntax/jsp.vim
+#usr/share/vim/vim63/syntax/kix.vim
+#usr/share/vim/vim63/syntax/kscript.vim
+#usr/share/vim/vim63/syntax/kwt.vim
+#usr/share/vim/vim63/syntax/lace.vim
+#usr/share/vim/vim63/syntax/latte.vim
+#usr/share/vim/vim63/syntax/ldif.vim
+#usr/share/vim/vim63/syntax/lex.vim
+#usr/share/vim/vim63/syntax/lftp.vim
+#usr/share/vim/vim63/syntax/lhaskell.vim
+#usr/share/vim/vim63/syntax/libao.vim
+#usr/share/vim/vim63/syntax/lifelines.vim
+#usr/share/vim/vim63/syntax/lilo.vim
+#usr/share/vim/vim63/syntax/lisp.vim
+#usr/share/vim/vim63/syntax/lite.vim
+#usr/share/vim/vim63/syntax/logtalk.vim
+#usr/share/vim/vim63/syntax/lotos.vim
+#usr/share/vim/vim63/syntax/lout.vim
+#usr/share/vim/vim63/syntax/lpc.vim
+#usr/share/vim/vim63/syntax/lprolog.vim
+#usr/share/vim/vim63/syntax/lscript.vim
+#usr/share/vim/vim63/syntax/lss.vim
+#usr/share/vim/vim63/syntax/lua.vim
+#usr/share/vim/vim63/syntax/lynx.vim
+#usr/share/vim/vim63/syntax/m4.vim
+#usr/share/vim/vim63/syntax/mail.vim
+#usr/share/vim/vim63/syntax/mailcap.vim
+#usr/share/vim/vim63/syntax/make.vim
+#usr/share/vim/vim63/syntax/man.vim
+#usr/share/vim/vim63/syntax/manual.vim
+#usr/share/vim/vim63/syntax/maple.vim
+#usr/share/vim/vim63/syntax/masm.vim
+#usr/share/vim/vim63/syntax/mason.vim
+#usr/share/vim/vim63/syntax/master.vim
+#usr/share/vim/vim63/syntax/matlab.vim
+#usr/share/vim/vim63/syntax/mel.vim
+#usr/share/vim/vim63/syntax/mf.vim
+#usr/share/vim/vim63/syntax/mgp.vim
+#usr/share/vim/vim63/syntax/mib.vim
+#usr/share/vim/vim63/syntax/mma.vim
+#usr/share/vim/vim63/syntax/mmix.vim
+#usr/share/vim/vim63/syntax/modconf.vim
+#usr/share/vim/vim63/syntax/model.vim
+#usr/share/vim/vim63/syntax/modsim3.vim
+#usr/share/vim/vim63/syntax/modula2.vim
+#usr/share/vim/vim63/syntax/modula3.vim
+#usr/share/vim/vim63/syntax/monk.vim
+#usr/share/vim/vim63/syntax/moo.vim
+#usr/share/vim/vim63/syntax/mp.vim
+#usr/share/vim/vim63/syntax/mplayerconf.vim
+#usr/share/vim/vim63/syntax/msidl.vim
+#usr/share/vim/vim63/syntax/msql.vim
+#usr/share/vim/vim63/syntax/mush.vim
+#usr/share/vim/vim63/syntax/muttrc.vim
+#usr/share/vim/vim63/syntax/mysql.vim
+#usr/share/vim/vim63/syntax/named.vim
+#usr/share/vim/vim63/syntax/nasm.vim
+#usr/share/vim/vim63/syntax/nastran.vim
+#usr/share/vim/vim63/syntax/natural.vim
+#usr/share/vim/vim63/syntax/ncf.vim
+#usr/share/vim/vim63/syntax/nosyntax.vim
+#usr/share/vim/vim63/syntax/nqc.vim
+#usr/share/vim/vim63/syntax/nroff.vim
+#usr/share/vim/vim63/syntax/nsis.vim
+#usr/share/vim/vim63/syntax/objc.vim
+#usr/share/vim/vim63/syntax/objcpp.vim
+#usr/share/vim/vim63/syntax/ocaml.vim
+#usr/share/vim/vim63/syntax/occam.vim
+#usr/share/vim/vim63/syntax/omnimark.vim
+#usr/share/vim/vim63/syntax/openroad.vim
+#usr/share/vim/vim63/syntax/opl.vim
+#usr/share/vim/vim63/syntax/ora.vim
+#usr/share/vim/vim63/syntax/papp.vim
+#usr/share/vim/vim63/syntax/pascal.vim
+#usr/share/vim/vim63/syntax/pcap.vim
+#usr/share/vim/vim63/syntax/pccts.vim
+#usr/share/vim/vim63/syntax/perl.vim
+#usr/share/vim/vim63/syntax/pf.vim
+#usr/share/vim/vim63/syntax/pfmain.vim
+#usr/share/vim/vim63/syntax/php.vim
+#usr/share/vim/vim63/syntax/phtml.vim
+#usr/share/vim/vim63/syntax/pic.vim
+#usr/share/vim/vim63/syntax/pike.vim
+#usr/share/vim/vim63/syntax/pilrc.vim
+#usr/share/vim/vim63/syntax/pine.vim
+#usr/share/vim/vim63/syntax/pinfo.vim
+#usr/share/vim/vim63/syntax/plm.vim
+#usr/share/vim/vim63/syntax/plp.vim
+#usr/share/vim/vim63/syntax/plsql.vim
+#usr/share/vim/vim63/syntax/po.vim
+#usr/share/vim/vim63/syntax/pod.vim
+#usr/share/vim/vim63/syntax/postscr.vim
+#usr/share/vim/vim63/syntax/pov.vim
+#usr/share/vim/vim63/syntax/povini.vim
+#usr/share/vim/vim63/syntax/ppd.vim
+#usr/share/vim/vim63/syntax/ppwiz.vim
+#usr/share/vim/vim63/syntax/procmail.vim
+#usr/share/vim/vim63/syntax/progress.vim
+#usr/share/vim/vim63/syntax/prolog.vim
+#usr/share/vim/vim63/syntax/psf.vim
+#usr/share/vim/vim63/syntax/ptcap.vim
+#usr/share/vim/vim63/syntax/purifylog.vim
+#usr/share/vim/vim63/syntax/pyrex.vim
+#usr/share/vim/vim63/syntax/python.vim
+#usr/share/vim/vim63/syntax/qf.vim
+#usr/share/vim/vim63/syntax/quake.vim
+#usr/share/vim/vim63/syntax/r.vim
+#usr/share/vim/vim63/syntax/radiance.vim
+#usr/share/vim/vim63/syntax/ratpoison.vim
+#usr/share/vim/vim63/syntax/rc.vim
+#usr/share/vim/vim63/syntax/rcs.vim
+#usr/share/vim/vim63/syntax/rcslog.vim
+#usr/share/vim/vim63/syntax/readline.vim
+#usr/share/vim/vim63/syntax/rebol.vim
+#usr/share/vim/vim63/syntax/registry.vim
+#usr/share/vim/vim63/syntax/remind.vim
+#usr/share/vim/vim63/syntax/resolv.vim
+#usr/share/vim/vim63/syntax/rexx.vim
+#usr/share/vim/vim63/syntax/rib.vim
+#usr/share/vim/vim63/syntax/rnc.vim
+#usr/share/vim/vim63/syntax/robots.vim
+#usr/share/vim/vim63/syntax/rpcgen.vim
+#usr/share/vim/vim63/syntax/rpl.vim
+#usr/share/vim/vim63/syntax/rst.vim
+#usr/share/vim/vim63/syntax/rtf.vim
+#usr/share/vim/vim63/syntax/ruby.vim
+#usr/share/vim/vim63/syntax/samba.vim
+#usr/share/vim/vim63/syntax/sas.vim
+#usr/share/vim/vim63/syntax/sather.vim
+#usr/share/vim/vim63/syntax/scheme.vim
+#usr/share/vim/vim63/syntax/scilab.vim
+#usr/share/vim/vim63/syntax/screen.vim
+#usr/share/vim/vim63/syntax/sdl.vim
+#usr/share/vim/vim63/syntax/sed.vim
+#usr/share/vim/vim63/syntax/sendpr.vim
+#usr/share/vim/vim63/syntax/sgml.vim
+#usr/share/vim/vim63/syntax/sgmldecl.vim
+#usr/share/vim/vim63/syntax/sgmllnx.vim
+#usr/share/vim/vim63/syntax/sh.vim
+#usr/share/vim/vim63/syntax/sicad.vim
+#usr/share/vim/vim63/syntax/simula.vim
+#usr/share/vim/vim63/syntax/sinda.vim
+#usr/share/vim/vim63/syntax/sindacmp.vim
+#usr/share/vim/vim63/syntax/sindaout.vim
+#usr/share/vim/vim63/syntax/skill.vim
+#usr/share/vim/vim63/syntax/sl.vim
+#usr/share/vim/vim63/syntax/slang.vim
+#usr/share/vim/vim63/syntax/slice.vim
+#usr/share/vim/vim63/syntax/slrnrc.vim
+#usr/share/vim/vim63/syntax/slrnsc.vim
+#usr/share/vim/vim63/syntax/sm.vim
+#usr/share/vim/vim63/syntax/smarty.vim
+#usr/share/vim/vim63/syntax/smil.vim
+#usr/share/vim/vim63/syntax/smith.vim
+#usr/share/vim/vim63/syntax/sml.vim
+#usr/share/vim/vim63/syntax/snnsnet.vim
+#usr/share/vim/vim63/syntax/snnspat.vim
+#usr/share/vim/vim63/syntax/snnsres.vim
+#usr/share/vim/vim63/syntax/snobol4.vim
+#usr/share/vim/vim63/syntax/spec.vim
+#usr/share/vim/vim63/syntax/specman.vim
+#usr/share/vim/vim63/syntax/spice.vim
+#usr/share/vim/vim63/syntax/splint.vim
+#usr/share/vim/vim63/syntax/spup.vim
+#usr/share/vim/vim63/syntax/spyce.vim
+#usr/share/vim/vim63/syntax/sql.vim
+#usr/share/vim/vim63/syntax/sqlforms.vim
+#usr/share/vim/vim63/syntax/sqlj.vim
+#usr/share/vim/vim63/syntax/sqr.vim
+#usr/share/vim/vim63/syntax/squid.vim
+#usr/share/vim/vim63/syntax/sshconfig.vim
+#usr/share/vim/vim63/syntax/sshdconfig.vim
+#usr/share/vim/vim63/syntax/st.vim
+#usr/share/vim/vim63/syntax/stp.vim
+#usr/share/vim/vim63/syntax/strace.vim
+#usr/share/vim/vim63/syntax/svn.vim
+#usr/share/vim/vim63/syntax/syncolor.vim
+#usr/share/vim/vim63/syntax/synload.vim
+#usr/share/vim/vim63/syntax/syntax.vim
+#usr/share/vim/vim63/syntax/tads.vim
+#usr/share/vim/vim63/syntax/tags.vim
+#usr/share/vim/vim63/syntax/tak.vim
+#usr/share/vim/vim63/syntax/takcmp.vim
+#usr/share/vim/vim63/syntax/takout.vim
+#usr/share/vim/vim63/syntax/tasm.vim
+#usr/share/vim/vim63/syntax/tcl.vim
+#usr/share/vim/vim63/syntax/tcsh.vim
+#usr/share/vim/vim63/syntax/terminfo.vim
+#usr/share/vim/vim63/syntax/tex.vim
+#usr/share/vim/vim63/syntax/texinfo.vim
+#usr/share/vim/vim63/syntax/texmf.vim
+#usr/share/vim/vim63/syntax/tf.vim
+#usr/share/vim/vim63/syntax/tidy.vim
+#usr/share/vim/vim63/syntax/tilde.vim
+#usr/share/vim/vim63/syntax/tli.vim
+#usr/share/vim/vim63/syntax/trasys.vim
+#usr/share/vim/vim63/syntax/tsalt.vim
+#usr/share/vim/vim63/syntax/tsscl.vim
+#usr/share/vim/vim63/syntax/tssgm.vim
+#usr/share/vim/vim63/syntax/tssop.vim
+#usr/share/vim/vim63/syntax/uc.vim
+#usr/share/vim/vim63/syntax/uil.vim
+#usr/share/vim/vim63/syntax/valgrind.vim
+#usr/share/vim/vim63/syntax/vb.vim
+#usr/share/vim/vim63/syntax/verilog.vim
+#usr/share/vim/vim63/syntax/vgrindefs.vim
+#usr/share/vim/vim63/syntax/vhdl.vim
+#usr/share/vim/vim63/syntax/vim.vim
+#usr/share/vim/vim63/syntax/viminfo.vim
+#usr/share/vim/vim63/syntax/virata.vim
+#usr/share/vim/vim63/syntax/vmasm.vim
+#usr/share/vim/vim63/syntax/vrml.vim
+#usr/share/vim/vim63/syntax/vsejcl.vim
+#usr/share/vim/vim63/syntax/wdiff.vim
+#usr/share/vim/vim63/syntax/web.vim
+#usr/share/vim/vim63/syntax/webmacro.vim
+#usr/share/vim/vim63/syntax/wget.vim
+#usr/share/vim/vim63/syntax/whitespace.vim
+#usr/share/vim/vim63/syntax/winbatch.vim
+#usr/share/vim/vim63/syntax/wml.vim
+#usr/share/vim/vim63/syntax/wsh.vim
+#usr/share/vim/vim63/syntax/wvdial.vim
+#usr/share/vim/vim63/syntax/xdefaults.vim
+#usr/share/vim/vim63/syntax/xf86conf.vim
+#usr/share/vim/vim63/syntax/xhtml.vim
+#usr/share/vim/vim63/syntax/xkb.vim
+#usr/share/vim/vim63/syntax/xmath.vim
+#usr/share/vim/vim63/syntax/xml.vim
+#usr/share/vim/vim63/syntax/xmodmap.vim
+#usr/share/vim/vim63/syntax/xpm.vim
+#usr/share/vim/vim63/syntax/xpm2.vim
+#usr/share/vim/vim63/syntax/xs.vim
+#usr/share/vim/vim63/syntax/xsd.vim
+#usr/share/vim/vim63/syntax/xslt.vim
+#usr/share/vim/vim63/syntax/xxd.vim
+#usr/share/vim/vim63/syntax/yacc.vim
+#usr/share/vim/vim63/syntax/yaml.vim
+#usr/share/vim/vim63/syntax/z8a.vim
+#usr/share/vim/vim63/syntax/zsh.vim
+#usr/share/vim/vim63/tools
+#usr/share/vim/vim63/tools/README.txt
+#usr/share/vim/vim63/tools/blink.c
+#usr/share/vim/vim63/tools/ccfilter.1
+#usr/share/vim/vim63/tools/ccfilter.c
+#usr/share/vim/vim63/tools/ccfilter_README.txt
+#usr/share/vim/vim63/tools/efm_filter.pl
+#usr/share/vim/vim63/tools/efm_filter.txt
+#usr/share/vim/vim63/tools/efm_perl.pl
+#usr/share/vim/vim63/tools/mve.awk
+#usr/share/vim/vim63/tools/mve.txt
+#usr/share/vim/vim63/tools/pltags.pl
+#usr/share/vim/vim63/tools/ref
+#usr/share/vim/vim63/tools/shtags.1
+#usr/share/vim/vim63/tools/shtags.pl
+#usr/share/vim/vim63/tools/tcltags
+#usr/share/vim/vim63/tools/vim132
+#usr/share/vim/vim63/tools/vim_vs_net.cmd
+#usr/share/vim/vim63/tools/vimm
+#usr/share/vim/vim63/tools/vimspell.sh
+#usr/share/vim/vim63/tools/vimspell.txt
+#usr/share/vim/vim63/tools/xcmdsrv_client.c
+#usr/share/vim/vim63/tutor
+#usr/share/vim/vim63/tutor/README.gr.cp737.txt
+#usr/share/vim/vim63/tutor/README.gr.txt
+#usr/share/vim/vim63/tutor/README.txt
+#usr/share/vim/vim63/tutor/tutor
+#usr/share/vim/vim63/tutor/tutor.ca
+#usr/share/vim/vim63/tutor/tutor.de
+#usr/share/vim/vim63/tutor/tutor.es
+#usr/share/vim/vim63/tutor/tutor.fr
+#usr/share/vim/vim63/tutor/tutor.gr
+#usr/share/vim/vim63/tutor/tutor.gr.cp737
+#usr/share/vim/vim63/tutor/tutor.it
+#usr/share/vim/vim63/tutor/tutor.ja.euc
+#usr/share/vim/vim63/tutor/tutor.ja.sjis
+#usr/share/vim/vim63/tutor/tutor.ja.utf-8
+#usr/share/vim/vim63/tutor/tutor.ko.euc
+#usr/share/vim/vim63/tutor/tutor.ko.utf-8
+#usr/share/vim/vim63/tutor/tutor.no
+#usr/share/vim/vim63/tutor/tutor.pl
+#usr/share/vim/vim63/tutor/tutor.pl.cp1250
+#usr/share/vim/vim63/tutor/tutor.ru
+#usr/share/vim/vim63/tutor/tutor.ru.cp1251
+#usr/share/vim/vim63/tutor/tutor.sk
+#usr/share/vim/vim63/tutor/tutor.sv
+#usr/share/vim/vim63/tutor/tutor.vim
+#usr/share/vim/vim63/tutor/tutor.zh.big5
+#usr/share/vim/vim63/tutor/tutor.zh.euc
+#usr/share/vim/vim63/vimrc_example.vim
+##
+## m4-1.4
+##
+#usr/bin/m4
+#usr/share/info/m4.info
+#usr/share/info/m4.info-1
+#usr/share/info/m4.info-2
+#usr/share/info/m4.info-3
+##
+## bison-1.875
+##
+#usr/bin/bison
+#usr/bin/yacc
+#usr/lib/liby.a
+#usr/share/bison
+#usr/share/bison/README
+#usr/share/bison/c.m4
+#usr/share/bison/glr.c
+#usr/share/bison/lalr1.cc
+#usr/share/bison/m4sugar
+#usr/share/bison/m4sugar/m4sugar.m4
+#usr/share/bison/yacc.c
+#usr/share/info/bison.info
+#usr/share/info/bison.info-1
+#usr/share/info/bison.info-2
+#usr/share/info/bison.info-3
+#usr/share/info/bison.info-4
+#usr/share/info/bison.info-5
+#usr/share/info/bison.info-6
+#usr/share/info/bison.info-7
+#usr/share/man/man1/bison.1
+##
+## less-382
+##
+bin/less
+#bin/lessecho
+#bin/lesskey
+#usr/share/man/man1/less.1
+#usr/share/man/man1/lesskey.1
+##
+## groff-1.19
+##
+#usr/bin/addftinfo
+#usr/bin/afmtodit
+#usr/bin/eqn
+#usr/bin/eqn2graph
+#usr/bin/geqn
+#usr/bin/grn
+#usr/bin/grodvi
+#usr/bin/groff
+#usr/bin/groffer
+#usr/bin/grog
+#usr/bin/grolbp
+#usr/bin/grolj4
+#usr/bin/grops
+#usr/bin/grotty
+#usr/bin/gtbl
+#usr/bin/hpftodit
+#usr/bin/indxbib
+#usr/bin/lkbib
+#usr/bin/lookbib
+#usr/bin/mmroff
+#usr/bin/neqn
+#usr/bin/nroff
+#usr/bin/pfbtops
+#usr/bin/pic
+#usr/bin/pic2graph
+#usr/bin/post-grohtml
+#usr/bin/pre-grohtml
+#usr/bin/refer
+#usr/bin/soelim
+#usr/bin/tbl
+#usr/bin/tfmtodit
+#usr/bin/troff
+#usr/bin/zsoelim
+#usr/lib/groff
+#usr/lib/groff/site-tmac
+#usr/share/doc/groff
+#usr/share/doc/groff/1.19
+#usr/share/doc/groff/1.19/examples
+#usr/share/doc/groff/1.19/examples/README.mom
+#usr/share/doc/groff/1.19/examples/elvis_syntax
+#usr/share/doc/groff/1.19/examples/grnexmpl.g
+#usr/share/doc/groff/1.19/examples/grnexmpl.me
+#usr/share/doc/groff/1.19/examples/grnexmpl.ps
+#usr/share/doc/groff/1.19/examples/letter.mom
+#usr/share/doc/groff/1.19/examples/letter.ps
+#usr/share/doc/groff/1.19/examples/macros.mom
+#usr/share/doc/groff/1.19/examples/macros.ps
+#usr/share/doc/groff/1.19/examples/penguin.ps
+#usr/share/doc/groff/1.19/examples/typeset.mom
+#usr/share/doc/groff/1.19/examples/typeset.ps
+#usr/share/doc/groff/1.19/examples/typewrite.mom
+#usr/share/doc/groff/1.19/examples/typewrite.ps
+#usr/share/doc/groff/1.19/examples/webpage.ms
+#usr/share/doc/groff/1.19/examples/webpage.ps
+#usr/share/doc/groff/1.19/html
+#usr/share/doc/groff/1.19/html/momdoc
+#usr/share/doc/groff/1.19/html/momdoc/appendices.html
+#usr/share/doc/groff/1.19/html/momdoc/cover.html
+#usr/share/doc/groff/1.19/html/momdoc/definitions.html
+#usr/share/doc/groff/1.19/html/momdoc/docelement.html
+#usr/share/doc/groff/1.19/html/momdoc/docprocessing.html
+#usr/share/doc/groff/1.19/html/momdoc/goodies.html
+#usr/share/doc/groff/1.19/html/momdoc/headfootpage.html
+#usr/share/doc/groff/1.19/html/momdoc/inlines.html
+#usr/share/doc/groff/1.19/html/momdoc/intro.html
+#usr/share/doc/groff/1.19/html/momdoc/letters.html
+#usr/share/doc/groff/1.19/html/momdoc/rectoverso.html
+#usr/share/doc/groff/1.19/html/momdoc/reserved.html
+#usr/share/doc/groff/1.19/html/momdoc/toc.html
+#usr/share/doc/groff/1.19/html/momdoc/typemacdoc.html
+#usr/share/doc/groff/1.19/html/momdoc/typesetting.html
+#usr/share/doc/groff/1.19/html/momdoc/using.html
+#usr/share/doc/groff/1.19/meintro.me
+#usr/share/doc/groff/1.19/meintro.ps
+#usr/share/doc/groff/1.19/meref.me
+#usr/share/doc/groff/1.19/meref.ps
+#usr/share/doc/groff/1.19/pic.ms
+#usr/share/doc/groff/1.19/pic.ps
+#usr/share/groff
+#usr/share/groff/1.19
+#usr/share/groff/1.19/eign
+#usr/share/groff/1.19/font
+#usr/share/groff/1.19/font/devX100
+#usr/share/groff/1.19/font/devX100-12
+#usr/share/groff/1.19/font/devX100-12/CB
+#usr/share/groff/1.19/font/devX100-12/CBI
+#usr/share/groff/1.19/font/devX100-12/CI
+#usr/share/groff/1.19/font/devX100-12/CR
+#usr/share/groff/1.19/font/devX100-12/DESC
+#usr/share/groff/1.19/font/devX100-12/HB
+#usr/share/groff/1.19/font/devX100-12/HBI
+#usr/share/groff/1.19/font/devX100-12/HI
+#usr/share/groff/1.19/font/devX100-12/HR
+#usr/share/groff/1.19/font/devX100-12/NB
+#usr/share/groff/1.19/font/devX100-12/NBI
+#usr/share/groff/1.19/font/devX100-12/NI
+#usr/share/groff/1.19/font/devX100-12/NR
+#usr/share/groff/1.19/font/devX100-12/S
+#usr/share/groff/1.19/font/devX100-12/TB
+#usr/share/groff/1.19/font/devX100-12/TBI
+#usr/share/groff/1.19/font/devX100-12/TI
+#usr/share/groff/1.19/font/devX100-12/TR
+#usr/share/groff/1.19/font/devX100/CB
+#usr/share/groff/1.19/font/devX100/CBI
+#usr/share/groff/1.19/font/devX100/CI
+#usr/share/groff/1.19/font/devX100/CR
+#usr/share/groff/1.19/font/devX100/DESC
+#usr/share/groff/1.19/font/devX100/HB
+#usr/share/groff/1.19/font/devX100/HBI
+#usr/share/groff/1.19/font/devX100/HI
+#usr/share/groff/1.19/font/devX100/HR
+#usr/share/groff/1.19/font/devX100/NB
+#usr/share/groff/1.19/font/devX100/NBI
+#usr/share/groff/1.19/font/devX100/NI
+#usr/share/groff/1.19/font/devX100/NR
+#usr/share/groff/1.19/font/devX100/S
+#usr/share/groff/1.19/font/devX100/TB
+#usr/share/groff/1.19/font/devX100/TBI
+#usr/share/groff/1.19/font/devX100/TI
+#usr/share/groff/1.19/font/devX100/TR
+#usr/share/groff/1.19/font/devX75
+#usr/share/groff/1.19/font/devX75-12
+#usr/share/groff/1.19/font/devX75-12/CB
+#usr/share/groff/1.19/font/devX75-12/CBI
+#usr/share/groff/1.19/font/devX75-12/CI
+#usr/share/groff/1.19/font/devX75-12/CR
+#usr/share/groff/1.19/font/devX75-12/DESC
+#usr/share/groff/1.19/font/devX75-12/HB
+#usr/share/groff/1.19/font/devX75-12/HBI
+#usr/share/groff/1.19/font/devX75-12/HI
+#usr/share/groff/1.19/font/devX75-12/HR
+#usr/share/groff/1.19/font/devX75-12/NB
+#usr/share/groff/1.19/font/devX75-12/NBI
+#usr/share/groff/1.19/font/devX75-12/NI
+#usr/share/groff/1.19/font/devX75-12/NR
+#usr/share/groff/1.19/font/devX75-12/S
+#usr/share/groff/1.19/font/devX75-12/TB
+#usr/share/groff/1.19/font/devX75-12/TBI
+#usr/share/groff/1.19/font/devX75-12/TI
+#usr/share/groff/1.19/font/devX75-12/TR
+#usr/share/groff/1.19/font/devX75/CB
+#usr/share/groff/1.19/font/devX75/CBI
+#usr/share/groff/1.19/font/devX75/CI
+#usr/share/groff/1.19/font/devX75/CR
+#usr/share/groff/1.19/font/devX75/DESC
+#usr/share/groff/1.19/font/devX75/HB
+#usr/share/groff/1.19/font/devX75/HBI
+#usr/share/groff/1.19/font/devX75/HI
+#usr/share/groff/1.19/font/devX75/HR
+#usr/share/groff/1.19/font/devX75/NB
+#usr/share/groff/1.19/font/devX75/NBI
+#usr/share/groff/1.19/font/devX75/NI
+#usr/share/groff/1.19/font/devX75/NR
+#usr/share/groff/1.19/font/devX75/S
+#usr/share/groff/1.19/font/devX75/TB
+#usr/share/groff/1.19/font/devX75/TBI
+#usr/share/groff/1.19/font/devX75/TI
+#usr/share/groff/1.19/font/devX75/TR
+#usr/share/groff/1.19/font/devascii
+#usr/share/groff/1.19/font/devascii/B
+#usr/share/groff/1.19/font/devascii/BI
+#usr/share/groff/1.19/font/devascii/DESC
+#usr/share/groff/1.19/font/devascii/I
+#usr/share/groff/1.19/font/devascii/R
+#usr/share/groff/1.19/font/devdvi
+#usr/share/groff/1.19/font/devdvi/CW
+#usr/share/groff/1.19/font/devdvi/CWEC
+#usr/share/groff/1.19/font/devdvi/CWI
+#usr/share/groff/1.19/font/devdvi/CWIEC
+#usr/share/groff/1.19/font/devdvi/CWITC
+#usr/share/groff/1.19/font/devdvi/CWTC
+#usr/share/groff/1.19/font/devdvi/DESC
+#usr/share/groff/1.19/font/devdvi/EX
+#usr/share/groff/1.19/font/devdvi/HB
+#usr/share/groff/1.19/font/devdvi/HBEC
+#usr/share/groff/1.19/font/devdvi/HBI
+#usr/share/groff/1.19/font/devdvi/HBIEC
+#usr/share/groff/1.19/font/devdvi/HBITC
+#usr/share/groff/1.19/font/devdvi/HBTC
+#usr/share/groff/1.19/font/devdvi/HI
+#usr/share/groff/1.19/font/devdvi/HIEC
+#usr/share/groff/1.19/font/devdvi/HITC
+#usr/share/groff/1.19/font/devdvi/HR
+#usr/share/groff/1.19/font/devdvi/HREC
+#usr/share/groff/1.19/font/devdvi/HRTC
+#usr/share/groff/1.19/font/devdvi/MI
+#usr/share/groff/1.19/font/devdvi/S
+#usr/share/groff/1.19/font/devdvi/SA
+#usr/share/groff/1.19/font/devdvi/SB
+#usr/share/groff/1.19/font/devdvi/SC
+#usr/share/groff/1.19/font/devdvi/TB
+#usr/share/groff/1.19/font/devdvi/TBEC
+#usr/share/groff/1.19/font/devdvi/TBI
+#usr/share/groff/1.19/font/devdvi/TBIEC
+#usr/share/groff/1.19/font/devdvi/TBITC
+#usr/share/groff/1.19/font/devdvi/TBTC
+#usr/share/groff/1.19/font/devdvi/TI
+#usr/share/groff/1.19/font/devdvi/TIEC
+#usr/share/groff/1.19/font/devdvi/TITC
+#usr/share/groff/1.19/font/devdvi/TR
+#usr/share/groff/1.19/font/devdvi/TREC
+#usr/share/groff/1.19/font/devdvi/TRTC
+#usr/share/groff/1.19/font/devdvi/generate
+#usr/share/groff/1.19/font/devdvi/generate/CompileFonts
+#usr/share/groff/1.19/font/devdvi/generate/Makefile
+#usr/share/groff/1.19/font/devdvi/generate/ec.map
+#usr/share/groff/1.19/font/devdvi/generate/msam.map
+#usr/share/groff/1.19/font/devdvi/generate/msbm.map
+#usr/share/groff/1.19/font/devdvi/generate/tc.map
+#usr/share/groff/1.19/font/devdvi/generate/texb.map
+#usr/share/groff/1.19/font/devdvi/generate/texex.map
+#usr/share/groff/1.19/font/devdvi/generate/texi.map
+#usr/share/groff/1.19/font/devdvi/generate/texmi.map
+#usr/share/groff/1.19/font/devdvi/generate/texr.map
+#usr/share/groff/1.19/font/devdvi/generate/texsy.map
+#usr/share/groff/1.19/font/devdvi/generate/textex.map
+#usr/share/groff/1.19/font/devdvi/generate/textt.map
+#usr/share/groff/1.19/font/devhtml
+#usr/share/groff/1.19/font/devhtml/B
+#usr/share/groff/1.19/font/devhtml/BI
+#usr/share/groff/1.19/font/devhtml/CB
+#usr/share/groff/1.19/font/devhtml/CBI
+#usr/share/groff/1.19/font/devhtml/CI
+#usr/share/groff/1.19/font/devhtml/CR
+#usr/share/groff/1.19/font/devhtml/DESC
+#usr/share/groff/1.19/font/devhtml/I
+#usr/share/groff/1.19/font/devhtml/R
+#usr/share/groff/1.19/font/devhtml/S
+#usr/share/groff/1.19/font/devlatin1
+#usr/share/groff/1.19/font/devlatin1/B
+#usr/share/groff/1.19/font/devlatin1/BI
+#usr/share/groff/1.19/font/devlatin1/DESC
+#usr/share/groff/1.19/font/devlatin1/I
+#usr/share/groff/1.19/font/devlatin1/R
+#usr/share/groff/1.19/font/devlbp
+#usr/share/groff/1.19/font/devlbp/CB
+#usr/share/groff/1.19/font/devlbp/CI
+#usr/share/groff/1.19/font/devlbp/CR
+#usr/share/groff/1.19/font/devlbp/DESC
+#usr/share/groff/1.19/font/devlbp/EB
+#usr/share/groff/1.19/font/devlbp/EI
+#usr/share/groff/1.19/font/devlbp/ER
+#usr/share/groff/1.19/font/devlbp/HB
+#usr/share/groff/1.19/font/devlbp/HBI
+#usr/share/groff/1.19/font/devlbp/HI
+#usr/share/groff/1.19/font/devlbp/HNB
+#usr/share/groff/1.19/font/devlbp/HNBI
+#usr/share/groff/1.19/font/devlbp/HNI
+#usr/share/groff/1.19/font/devlbp/HNR
+#usr/share/groff/1.19/font/devlbp/HR
+#usr/share/groff/1.19/font/devlbp/TB
+#usr/share/groff/1.19/font/devlbp/TBI
+#usr/share/groff/1.19/font/devlbp/TI
+#usr/share/groff/1.19/font/devlbp/TR
+#usr/share/groff/1.19/font/devlj4
+#usr/share/groff/1.19/font/devlj4/ALBB
+#usr/share/groff/1.19/font/devlj4/ALBR
+#usr/share/groff/1.19/font/devlj4/AOB
+#usr/share/groff/1.19/font/devlj4/AOI
+#usr/share/groff/1.19/font/devlj4/AOR
+#usr/share/groff/1.19/font/devlj4/CB
+#usr/share/groff/1.19/font/devlj4/CBI
+#usr/share/groff/1.19/font/devlj4/CI
+#usr/share/groff/1.19/font/devlj4/CLARENDON
+#usr/share/groff/1.19/font/devlj4/CORONET
+#usr/share/groff/1.19/font/devlj4/CR
+#usr/share/groff/1.19/font/devlj4/DESC
+#usr/share/groff/1.19/font/devlj4/GB
+#usr/share/groff/1.19/font/devlj4/GBI
+#usr/share/groff/1.19/font/devlj4/GI
+#usr/share/groff/1.19/font/devlj4/GR
+#usr/share/groff/1.19/font/devlj4/LGB
+#usr/share/groff/1.19/font/devlj4/LGI
+#usr/share/groff/1.19/font/devlj4/LGR
+#usr/share/groff/1.19/font/devlj4/MARIGOLD
+#usr/share/groff/1.19/font/devlj4/OB
+#usr/share/groff/1.19/font/devlj4/OBI
+#usr/share/groff/1.19/font/devlj4/OI
+#usr/share/groff/1.19/font/devlj4/OR
+#usr/share/groff/1.19/font/devlj4/S
+#usr/share/groff/1.19/font/devlj4/TB
+#usr/share/groff/1.19/font/devlj4/TBI
+#usr/share/groff/1.19/font/devlj4/TI
+#usr/share/groff/1.19/font/devlj4/TR
+#usr/share/groff/1.19/font/devlj4/UB
+#usr/share/groff/1.19/font/devlj4/UBI
+#usr/share/groff/1.19/font/devlj4/UCB
+#usr/share/groff/1.19/font/devlj4/UCBI
+#usr/share/groff/1.19/font/devlj4/UCI
+#usr/share/groff/1.19/font/devlj4/UCR
+#usr/share/groff/1.19/font/devlj4/UI
+#usr/share/groff/1.19/font/devlj4/UR
+#usr/share/groff/1.19/font/devlj4/generate
+#usr/share/groff/1.19/font/devlj4/generate/Makefile
+#usr/share/groff/1.19/font/devlj4/generate/special.map
+#usr/share/groff/1.19/font/devlj4/generate/text.map
+#usr/share/groff/1.19/font/devps
+#usr/share/groff/1.19/font/devps/AB
+#usr/share/groff/1.19/font/devps/ABI
+#usr/share/groff/1.19/font/devps/AI
+#usr/share/groff/1.19/font/devps/AR
+#usr/share/groff/1.19/font/devps/BMB
+#usr/share/groff/1.19/font/devps/BMBI
+#usr/share/groff/1.19/font/devps/BMI
+#usr/share/groff/1.19/font/devps/BMR
+#usr/share/groff/1.19/font/devps/CB
+#usr/share/groff/1.19/font/devps/CBI
+#usr/share/groff/1.19/font/devps/CI
+#usr/share/groff/1.19/font/devps/CR
+#usr/share/groff/1.19/font/devps/DESC
+#usr/share/groff/1.19/font/devps/EURO
+#usr/share/groff/1.19/font/devps/HB
+#usr/share/groff/1.19/font/devps/HBI
+#usr/share/groff/1.19/font/devps/HI
+#usr/share/groff/1.19/font/devps/HNB
+#usr/share/groff/1.19/font/devps/HNBI
+#usr/share/groff/1.19/font/devps/HNI
+#usr/share/groff/1.19/font/devps/HNR
+#usr/share/groff/1.19/font/devps/HR
+#usr/share/groff/1.19/font/devps/NB
+#usr/share/groff/1.19/font/devps/NBI
+#usr/share/groff/1.19/font/devps/NI
+#usr/share/groff/1.19/font/devps/NR
+#usr/share/groff/1.19/font/devps/PB
+#usr/share/groff/1.19/font/devps/PBI
+#usr/share/groff/1.19/font/devps/PI
+#usr/share/groff/1.19/font/devps/PR
+#usr/share/groff/1.19/font/devps/S
+#usr/share/groff/1.19/font/devps/SS
+#usr/share/groff/1.19/font/devps/TB
+#usr/share/groff/1.19/font/devps/TBI
+#usr/share/groff/1.19/font/devps/TI
+#usr/share/groff/1.19/font/devps/TR
+#usr/share/groff/1.19/font/devps/ZCMI
+#usr/share/groff/1.19/font/devps/ZD
+#usr/share/groff/1.19/font/devps/ZDR
+#usr/share/groff/1.19/font/devps/download
+#usr/share/groff/1.19/font/devps/freeeuro.pfa
+#usr/share/groff/1.19/font/devps/generate
+#usr/share/groff/1.19/font/devps/generate/Makefile
+#usr/share/groff/1.19/font/devps/generate/afmname
+#usr/share/groff/1.19/font/devps/generate/dingbats.map
+#usr/share/groff/1.19/font/devps/generate/dingbats.rmap
+#usr/share/groff/1.19/font/devps/generate/lgreekmap
+#usr/share/groff/1.19/font/devps/generate/symbol.sed
+#usr/share/groff/1.19/font/devps/generate/symbolchars
+#usr/share/groff/1.19/font/devps/generate/symbolsl.afm
+#usr/share/groff/1.19/font/devps/generate/textmap
+#usr/share/groff/1.19/font/devps/prologue
+#usr/share/groff/1.19/font/devps/symbolsl.pfa
+#usr/share/groff/1.19/font/devps/text.enc
+#usr/share/groff/1.19/font/devps/zapfdr.pfa
+#usr/share/groff/1.19/font/devutf8
+#usr/share/groff/1.19/font/devutf8/B
+#usr/share/groff/1.19/font/devutf8/BI
+#usr/share/groff/1.19/font/devutf8/DESC
+#usr/share/groff/1.19/font/devutf8/I
+#usr/share/groff/1.19/font/devutf8/R
+#usr/share/groff/1.19/tmac
+#usr/share/groff/1.19/tmac/X.tmac
+#usr/share/groff/1.19/tmac/Xps.tmac
+#usr/share/groff/1.19/tmac/a4.tmac
+#usr/share/groff/1.19/tmac/an-old.tmac
+#usr/share/groff/1.19/tmac/an.tmac
+#usr/share/groff/1.19/tmac/andoc.tmac
+#usr/share/groff/1.19/tmac/composite.tmac
+#usr/share/groff/1.19/tmac/cp1047.tmac
+#usr/share/groff/1.19/tmac/doc-old.tmac
+#usr/share/groff/1.19/tmac/doc.tmac
+#usr/share/groff/1.19/tmac/dvi.tmac
+#usr/share/groff/1.19/tmac/e.tmac
+#usr/share/groff/1.19/tmac/ec.tmac
+#usr/share/groff/1.19/tmac/eqnrc
+#usr/share/groff/1.19/tmac/europs.tmac
+#usr/share/groff/1.19/tmac/html-end.tmac
+#usr/share/groff/1.19/tmac/html.tmac
+#usr/share/groff/1.19/tmac/hyphen.us
+#usr/share/groff/1.19/tmac/hyphenex.us
+#usr/share/groff/1.19/tmac/latin1.tmac
+#usr/share/groff/1.19/tmac/latin2.tmac
+#usr/share/groff/1.19/tmac/latin9.tmac
+#usr/share/groff/1.19/tmac/lbp.tmac
+#usr/share/groff/1.19/tmac/lj4.tmac
+#usr/share/groff/1.19/tmac/m.tmac
+#usr/share/groff/1.19/tmac/man.tmac
+#usr/share/groff/1.19/tmac/mandoc.tmac
+#usr/share/groff/1.19/tmac/mdoc
+#usr/share/groff/1.19/tmac/mdoc.tmac
+#usr/share/groff/1.19/tmac/mdoc/doc-common
+#usr/share/groff/1.19/tmac/mdoc/doc-ditroff
+#usr/share/groff/1.19/tmac/mdoc/doc-nroff
+#usr/share/groff/1.19/tmac/mdoc/doc-syms
+#usr/share/groff/1.19/tmac/me.tmac
+#usr/share/groff/1.19/tmac/mm
+#usr/share/groff/1.19/tmac/mm.tmac
+#usr/share/groff/1.19/tmac/mm/0.MT
+#usr/share/groff/1.19/tmac/mm/4.MT
+#usr/share/groff/1.19/tmac/mm/5.MT
+#usr/share/groff/1.19/tmac/mm/locale
+#usr/share/groff/1.19/tmac/mm/ms.cov
+#usr/share/groff/1.19/tmac/mm/se_locale
+#usr/share/groff/1.19/tmac/mm/se_ms.cov
+#usr/share/groff/1.19/tmac/mmse.tmac
+#usr/share/groff/1.19/tmac/mom.tmac
+#usr/share/groff/1.19/tmac/ms.tmac
+#usr/share/groff/1.19/tmac/mse.tmac
+#usr/share/groff/1.19/tmac/om.tmac
+#usr/share/groff/1.19/tmac/papersize.tmac
+#usr/share/groff/1.19/tmac/pic.tmac
+#usr/share/groff/1.19/tmac/ps.tmac
+#usr/share/groff/1.19/tmac/psatk.tmac
+#usr/share/groff/1.19/tmac/psold.tmac
+#usr/share/groff/1.19/tmac/pspic.tmac
+#usr/share/groff/1.19/tmac/s.tmac
+#usr/share/groff/1.19/tmac/safer.tmac
+#usr/share/groff/1.19/tmac/trace.tmac
+#usr/share/groff/1.19/tmac/troffrc
+#usr/share/groff/1.19/tmac/troffrc-end
+#usr/share/groff/1.19/tmac/tty-char.tmac
+#usr/share/groff/1.19/tmac/tty.tmac
+#usr/share/groff/1.19/tmac/www.tmac
+#usr/share/groff/site-tmac
+#usr/share/groff/site-tmac/man.local
+#usr/share/groff/site-tmac/mdoc.local
+#usr/share/info/groff
+#usr/share/info/groff-1
+#usr/share/info/groff-10
+#usr/share/info/groff-11
+#usr/share/info/groff-2
+#usr/share/info/groff-3
+#usr/share/info/groff-4
+#usr/share/info/groff-5
+#usr/share/info/groff-6
+#usr/share/info/groff-7
+#usr/share/info/groff-8
+#usr/share/info/groff-9
+#usr/share/man/man1/addftinfo.1
+#usr/share/man/man1/afmtodit.1
+#usr/share/man/man1/eqn.1
+#usr/share/man/man1/eqn2graph.1
+#usr/share/man/man1/grn.1
+#usr/share/man/man1/grodvi.1
+#usr/share/man/man1/groff.1
+#usr/share/man/man1/groffer.1
+#usr/share/man/man1/grog.1
+#usr/share/man/man1/grohtml.1
+#usr/share/man/man1/grolbp.1
+#usr/share/man/man1/grolj4.1
+#usr/share/man/man1/grops.1
+#usr/share/man/man1/grotty.1
+#usr/share/man/man1/hpftodit.1
+#usr/share/man/man1/indxbib.1
+#usr/share/man/man1/lkbib.1
+#usr/share/man/man1/lookbib.1
+#usr/share/man/man1/mmroff.1
+#usr/share/man/man1/neqn.1
+#usr/share/man/man1/nroff.1
+#usr/share/man/man1/pfbtops.1
+#usr/share/man/man1/pic.1
+#usr/share/man/man1/pic2graph.1
+#usr/share/man/man1/refer.1
+#usr/share/man/man1/soelim.1
+#usr/share/man/man1/tbl.1
+#usr/share/man/man1/tfmtodit.1
+#usr/share/man/man1/troff.1
+#usr/share/man/man5/groff_font.5
+#usr/share/man/man5/groff_out.5
+#usr/share/man/man5/groff_tmac.5
+#usr/share/man/man7/ditroff.7
+#usr/share/man/man7/groff.7
+#usr/share/man/man7/groff_char.7
+#usr/share/man/man7/groff_diff.7
+#usr/share/man/man7/groff_man.7
+#usr/share/man/man7/groff_mdoc.7
+#usr/share/man/man7/groff_me.7
+#usr/share/man/man7/groff_mm.7
+#usr/share/man/man7/groff_mmse.7
+#usr/share/man/man7/groff_mom.7
+#usr/share/man/man7/groff_ms.7
+#usr/share/man/man7/groff_trace.7
+#usr/share/man/man7/groff_www.7
+#usr/share/man/man7/roff.7
+##
+## sed-4.0.9
+##
+bin/sed
+#usr/share/info/sed.info
+#usr/share/info/sed.info-1
+#usr/share/info/sed.info-2
+#usr/share/man/man1/sed.1
+##
+## flex-2.5.4a
+##
+#usr/bin/flex
+#usr/bin/flex++
+#usr/bin/lex
+#usr/include/FlexLexer.h
+#usr/lib/libfl.a
+#usr/lib/libl.a
+#usr/share/man/man1/flex.1
+##
+## gettext-0.14.1
+##
+#usr/bin/autopoint
+#usr/bin/gettext
+#usr/bin/gettextize
+#usr/bin/msgattrib
+#usr/bin/msgcat
+#usr/bin/msgcmp
+#usr/bin/msgcomm
+#usr/bin/msgconv
+#usr/bin/msgen
+#usr/bin/msgexec
+#usr/bin/msgfilter
+#usr/bin/msgfmt
+#usr/bin/msggrep
+#usr/bin/msginit
+#usr/bin/msgmerge
+#usr/bin/msgunfmt
+#usr/bin/msguniq
+#usr/bin/ngettext
+#usr/bin/xgettext
+#usr/include/autosprintf.h
+#usr/include/gettext-po.h
+#usr/lib/gettext
+#usr/lib/gettext/gnu.gettext.DumpResource
+#usr/lib/gettext/gnu.gettext.GetURL
+#usr/lib/gettext/hostname
+#usr/lib/gettext/project-id
+#usr/lib/gettext/urlget
+#usr/lib/gettext/user-email
+#usr/lib/libasprintf.a
+#usr/lib/libasprintf.la
+#usr/lib/libasprintf.so
+#usr/lib/libasprintf.so.0
+#usr/lib/libasprintf.so.0.0.0
+#usr/lib/libgettextlib-0.14.1.so
+#usr/lib/libgettextlib.la
+#usr/lib/libgettextlib.so
+#usr/lib/libgettextpo.a
+#usr/lib/libgettextpo.la
+#usr/lib/libgettextpo.so
+#usr/lib/libgettextpo.so.0
+#usr/lib/libgettextpo.so.0.0.0
+#usr/lib/libgettextsrc-0.14.1.so
+#usr/lib/libgettextsrc.la
+#usr/lib/libgettextsrc.so
+#usr/lib/preloadable_libintl.so
+#usr/share/aclocal
+#usr/share/aclocal/codeset.m4
+#usr/share/aclocal/gettext.m4
+#usr/share/aclocal/glibc21.m4
+#usr/share/aclocal/iconv.m4
+#usr/share/aclocal/intdiv0.m4
+#usr/share/aclocal/inttypes-pri.m4
+#usr/share/aclocal/inttypes.m4
+#usr/share/aclocal/inttypes_h.m4
+#usr/share/aclocal/isc-posix.m4
+#usr/share/aclocal/lcmessage.m4
+#usr/share/aclocal/lib-ld.m4
+#usr/share/aclocal/lib-link.m4
+#usr/share/aclocal/lib-prefix.m4
+#usr/share/aclocal/nls.m4
+#usr/share/aclocal/po.m4
+#usr/share/aclocal/progtest.m4
+#usr/share/aclocal/stdint_h.m4
+#usr/share/aclocal/uintmax_t.m4
+#usr/share/aclocal/ulonglong.m4
+#usr/share/doc/gettext
+#usr/share/doc/gettext/autopoint.1.html
+#usr/share/doc/gettext/bind_textdomain_codeset.3.html
+#usr/share/doc/gettext/bindtextdomain.3.html
+#usr/share/doc/gettext/gettext.1.html
+#usr/share/doc/gettext/gettext.3.html
+#usr/share/doc/gettext/gettext_1.html
+#usr/share/doc/gettext/gettext_10.html
+#usr/share/doc/gettext/gettext_11.html
+#usr/share/doc/gettext/gettext_12.html
+#usr/share/doc/gettext/gettext_13.html
+#usr/share/doc/gettext/gettext_14.html
+#usr/share/doc/gettext/gettext_15.html
+#usr/share/doc/gettext/gettext_16.html
+#usr/share/doc/gettext/gettext_17.html
+#usr/share/doc/gettext/gettext_18.html
+#usr/share/doc/gettext/gettext_19.html
+#usr/share/doc/gettext/gettext_2.html
+#usr/share/doc/gettext/gettext_20.html
+#usr/share/doc/gettext/gettext_21.html
+#usr/share/doc/gettext/gettext_22.html
+#usr/share/doc/gettext/gettext_3.html
+#usr/share/doc/gettext/gettext_4.html
+#usr/share/doc/gettext/gettext_5.html
+#usr/share/doc/gettext/gettext_6.html
+#usr/share/doc/gettext/gettext_7.html
+#usr/share/doc/gettext/gettext_8.html
+#usr/share/doc/gettext/gettext_9.html
+#usr/share/doc/gettext/gettext_foot.html
+#usr/share/doc/gettext/gettext_toc.html
+#usr/share/doc/gettext/gettextize.1.html
+#usr/share/doc/gettext/javadoc1
+#usr/share/doc/gettext/javadoc1/AllNames.html
+#usr/share/doc/gettext/javadoc1/gnu.gettext.GettextResource.html
+#usr/share/doc/gettext/javadoc1/images
+#usr/share/doc/gettext/javadoc1/images/blue-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/blue-ball.gif
+#usr/share/doc/gettext/javadoc1/images/class-index.gif
+#usr/share/doc/gettext/javadoc1/images/constructor-index.gif
+#usr/share/doc/gettext/javadoc1/images/constructors.gif
+#usr/share/doc/gettext/javadoc1/images/cyan-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/cyan-ball.gif
+#usr/share/doc/gettext/javadoc1/images/error-index.gif
+#usr/share/doc/gettext/javadoc1/images/exception-index.gif
+#usr/share/doc/gettext/javadoc1/images/green-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/green-ball.gif
+#usr/share/doc/gettext/javadoc1/images/interface-index.gif
+#usr/share/doc/gettext/javadoc1/images/magenta-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/magenta-ball.gif
+#usr/share/doc/gettext/javadoc1/images/method-index.gif
+#usr/share/doc/gettext/javadoc1/images/methods.gif
+#usr/share/doc/gettext/javadoc1/images/package-index.gif
+#usr/share/doc/gettext/javadoc1/images/red-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/red-ball.gif
+#usr/share/doc/gettext/javadoc1/images/variable-index.gif
+#usr/share/doc/gettext/javadoc1/images/variables.gif
+#usr/share/doc/gettext/javadoc1/images/yellow-ball-small.gif
+#usr/share/doc/gettext/javadoc1/images/yellow-ball.gif
+#usr/share/doc/gettext/javadoc1/packages.html
+#usr/share/doc/gettext/javadoc1/tree.html
+#usr/share/doc/gettext/javadoc2
+#usr/share/doc/gettext/javadoc2/allclasses-frame.html
+#usr/share/doc/gettext/javadoc2/deprecated-list.html
+#usr/share/doc/gettext/javadoc2/gnu
+#usr/share/doc/gettext/javadoc2/gnu/gettext
+#usr/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html
+#usr/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html
+#usr/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html
+#usr/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html
+#usr/share/doc/gettext/javadoc2/help-doc.html
+#usr/share/doc/gettext/javadoc2/index-all.html
+#usr/share/doc/gettext/javadoc2/index.html
+#usr/share/doc/gettext/javadoc2/overview-tree.html
+#usr/share/doc/gettext/javadoc2/package-list
+#usr/share/doc/gettext/javadoc2/packages.html
+#usr/share/doc/gettext/javadoc2/serialized-form.html
+#usr/share/doc/gettext/javadoc2/stylesheet.css
+#usr/share/doc/gettext/msgattrib.1.html
+#usr/share/doc/gettext/msgcat.1.html
+#usr/share/doc/gettext/msgcmp.1.html
+#usr/share/doc/gettext/msgcomm.1.html
+#usr/share/doc/gettext/msgconv.1.html
+#usr/share/doc/gettext/msgen.1.html
+#usr/share/doc/gettext/msgexec.1.html
+#usr/share/doc/gettext/msgfilter.1.html
+#usr/share/doc/gettext/msgfmt.1.html
+#usr/share/doc/gettext/msggrep.1.html
+#usr/share/doc/gettext/msginit.1.html
+#usr/share/doc/gettext/msgmerge.1.html
+#usr/share/doc/gettext/msgunfmt.1.html
+#usr/share/doc/gettext/msguniq.1.html
+#usr/share/doc/gettext/ngettext.1.html
+#usr/share/doc/gettext/ngettext.3.html
+#usr/share/doc/gettext/textdomain.3.html
+#usr/share/doc/gettext/xgettext.1.html
+#usr/share/doc/libasprintf
+#usr/share/doc/libasprintf/autosprintf.html
+#usr/share/gettext
+#usr/share/gettext/ABOUT-NLS
+#usr/share/gettext/archive.tar.gz
+#usr/share/gettext/config.rpath
+#usr/share/gettext/gettext.h
+#usr/share/gettext/intl
+#usr/share/gettext/intl/COPYING.LIB-2.0
+#usr/share/gettext/intl/COPYING.LIB-2.1
+#usr/share/gettext/intl/ChangeLog
+#usr/share/gettext/intl/Makefile.in
+#usr/share/gettext/intl/VERSION
+#usr/share/gettext/intl/bindtextdom.c
+#usr/share/gettext/intl/config.charset
+#usr/share/gettext/intl/dcgettext.c
+#usr/share/gettext/intl/dcigettext.c
+#usr/share/gettext/intl/dcngettext.c
+#usr/share/gettext/intl/dgettext.c
+#usr/share/gettext/intl/dngettext.c
+#usr/share/gettext/intl/eval-plural.h
+#usr/share/gettext/intl/explodename.c
+#usr/share/gettext/intl/finddomain.c
+#usr/share/gettext/intl/gettext.c
+#usr/share/gettext/intl/gettextP.h
+#usr/share/gettext/intl/gmo.h
+#usr/share/gettext/intl/hash-string.h
+#usr/share/gettext/intl/intl-compat.c
+#usr/share/gettext/intl/l10nflist.c
+#usr/share/gettext/intl/libgnuintl.h.in
+#usr/share/gettext/intl/loadinfo.h
+#usr/share/gettext/intl/loadmsgcat.c
+#usr/share/gettext/intl/localcharset.c
+#usr/share/gettext/intl/localcharset.h
+#usr/share/gettext/intl/locale.alias
+#usr/share/gettext/intl/localealias.c
+#usr/share/gettext/intl/localename.c
+#usr/share/gettext/intl/log.c
+#usr/share/gettext/intl/ngettext.c
+#usr/share/gettext/intl/os2compat.c
+#usr/share/gettext/intl/os2compat.h
+#usr/share/gettext/intl/osdep.c
+#usr/share/gettext/intl/plural-exp.c
+#usr/share/gettext/intl/plural-exp.h
+#usr/share/gettext/intl/plural.c
+#usr/share/gettext/intl/plural.y
+#usr/share/gettext/intl/ref-add.sin
+#usr/share/gettext/intl/ref-del.sin
+#usr/share/gettext/intl/relocatable.c
+#usr/share/gettext/intl/relocatable.h
+#usr/share/gettext/intl/textdomain.c
+#usr/share/gettext/mkinstalldirs
+#usr/share/gettext/msgunfmt.tcl
+#usr/share/gettext/po
+#usr/share/gettext/po/Makefile.in.in
+#usr/share/gettext/po/Makevars.template
+#usr/share/gettext/po/Rules-quot
+#usr/share/gettext/po/boldquot.sed
+#usr/share/gettext/po/en@boldquot.header
+#usr/share/gettext/po/en@quot.header
+#usr/share/gettext/po/insert-header.sin
+#usr/share/gettext/po/quot.sed
+#usr/share/gettext/po/remove-potcdate.sin
+#usr/share/gettext/projects
+#usr/share/gettext/projects/GNOME
+#usr/share/gettext/projects/GNOME/team-address
+#usr/share/gettext/projects/GNOME/teams.html
+#usr/share/gettext/projects/GNOME/teams.url
+#usr/share/gettext/projects/GNOME/trigger
+#usr/share/gettext/projects/KDE
+#usr/share/gettext/projects/KDE/team-address
+#usr/share/gettext/projects/KDE/teams.html
+#usr/share/gettext/projects/KDE/teams.url
+#usr/share/gettext/projects/KDE/trigger
+#usr/share/gettext/projects/TP
+#usr/share/gettext/projects/TP/team-address
+#usr/share/gettext/projects/TP/teams.html
+#usr/share/gettext/projects/TP/teams.url
+#usr/share/gettext/projects/TP/trigger
+#usr/share/gettext/projects/index
+#usr/share/gettext/projects/team-address
+#usr/share/info/autosprintf.info
+#usr/share/info/gettext.info
+#usr/share/info/gettext.info-1
+#usr/share/info/gettext.info-10
+#usr/share/info/gettext.info-2
+#usr/share/info/gettext.info-3
+#usr/share/info/gettext.info-4
+#usr/share/info/gettext.info-5
+#usr/share/info/gettext.info-6
+#usr/share/info/gettext.info-7
+#usr/share/info/gettext.info-8
+#usr/share/info/gettext.info-9
+#usr/share/man/man1/autopoint.1
+#usr/share/man/man1/gettext.1
+#usr/share/man/man1/gettextize.1
+#usr/share/man/man1/msgattrib.1
+#usr/share/man/man1/msgcat.1
+#usr/share/man/man1/msgcmp.1
+#usr/share/man/man1/msgcomm.1
+#usr/share/man/man1/msgconv.1
+#usr/share/man/man1/msgen.1
+#usr/share/man/man1/msgexec.1
+#usr/share/man/man1/msgfilter.1
+#usr/share/man/man1/msgfmt.1
+#usr/share/man/man1/msggrep.1
+#usr/share/man/man1/msginit.1
+#usr/share/man/man1/msgmerge.1
+#usr/share/man/man1/msgunfmt.1
+#usr/share/man/man1/msguniq.1
+#usr/share/man/man1/ngettext.1
+#usr/share/man/man1/xgettext.1
+#usr/share/man/man3/bind_textdomain_codeset.3
+#usr/share/man/man3/bindtextdomain.3
+#usr/share/man/man3/dcgettext.3
+#usr/share/man/man3/dcngettext.3
+#usr/share/man/man3/dgettext.3
+#usr/share/man/man3/dngettext.3
+#usr/share/man/man3/gettext.3
+#usr/share/man/man3/ngettext.3
+#usr/share/man/man3/textdomain.3
+##
+## net-tools-1.60
+##
+bin/dnsdomainname
+#bin/domainname
+bin/hostname
+bin/netstat
+#bin/nisdomainname
+#bin/ypdomainname
+sbin/arp
+sbin/ifconfig
+sbin/nameif
+#sbin/plipconfig
+sbin/rarp
+sbin/route
+sbin/slattach
+sbin/mii-tool
+#usr/share/man/man1/dnsdomainname.1
+#usr/share/man/man1/domainname.1
+#usr/share/man/man1/hostname.1
+#usr/share/man/man1/nisdomainname.1
+#usr/share/man/man1/ypdomainname.1
+#usr/share/man/man5/ethers.5
+#usr/share/man/man8/arp.8
+#usr/share/man/man8/ifconfig.8
+#usr/share/man/man8/mii-tool.8
+#usr/share/man/man8/nameif.8
+#usr/share/man/man8/netstat.8
+#usr/share/man/man8/plipconfig.8
+#usr/share/man/man8/rarp.8
+#usr/share/man/man8/route.8
+#usr/share/man/man8/slattach.8
+##
+## inetutils-1.4.2
+##
+bin/ping
+#usr/bin/ftp
+#usr/bin/rcp
+#usr/bin/rlogin
+#usr/bin/rsh
+#usr/bin/talk
+#usr/bin/telnet
+#usr/bin/tftp
+#usr/share/info/inetutils.info
+#usr/share/info/inetutils.info-1
+#usr/share/info/inetutils.info-2
+#usr/share/info/inetutils.info-3
+#usr/share/man/man1/ftp.1
+#usr/share/man/man1/logger.1
+#usr/share/man/man1/rcp.1
+#usr/share/man/man1/rlogin.1
+#usr/share/man/man1/rsh.1
+#usr/share/man/man1/talk.1
+#usr/share/man/man1/telnet.1
+#usr/share/man/man1/tftp.1
+#usr/share/man/man5/syslog.conf.5
+#usr/share/man/man8/ftpd.8
+#usr/share/man/man8/inetd.8
+#usr/share/man/man8/ping.8
+#usr/share/man/man8/rexecd.8
+#usr/share/man/man8/rlogind.8
+#usr/share/man/man8/rshd.8
+#usr/share/man/man8/syslogd.8
+#usr/share/man/man8/talkd.8
+#usr/share/man/man8/telnetd.8
+#usr/share/man/man8/tftpd.8
+##
+## perl-5.8.5
+##
+#usr/bin/a2p
+#usr/bin/c2ph
+#usr/bin/dprofpp
+#usr/bin/enc2xs
+#usr/bin/find2perl
+#usr/bin/h2ph
+#usr/bin/h2xs
+#usr/bin/libnetcfg
+usr/bin/perl
+usr/bin/perl5.8.5
+#usr/bin/perlbug
+#usr/bin/perlcc
+#usr/bin/perldoc
+#usr/bin/perlivp
+#usr/bin/piconv
+#usr/bin/pl2pm
+#usr/bin/pod2html
+#usr/bin/pod2latex
+#usr/bin/pod2man
+#usr/bin/pod2text
+#usr/bin/pod2usage
+#usr/bin/podchecker
+#usr/bin/podselect
+#usr/bin/psed
+#usr/bin/pstruct
+#usr/bin/s2p
+usr/bin/sperl5.8.5
+#usr/bin/splain
+usr/bin/suidperl
+#usr/bin/xsubpp
+#usr/lib/perl5
+#usr/lib/perl5/5.8.5
+usr/lib/perl5/5.8.5/AnyDBM_File.pm
+#usr/lib/perl5/5.8.5/Attribute
+#usr/lib/perl5/5.8.5/Attribute/Handlers
+usr/lib/perl5/5.8.5/Attribute/Handlers.pm
+#usr/lib/perl5/5.8.5/Attribute/Handlers/Changes
+#usr/lib/perl5/5.8.5/Attribute/Handlers/README
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/Demo.pm
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/Descriptions.pm
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/MyClass.pm
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo2.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo3.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo4.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_call.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_chain.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_cycle.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_hashdir.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_phases.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_range.pl
+#usr/lib/perl5/5.8.5/Attribute/Handlers/demo/demo_rawdata.pl
+usr/lib/perl5/5.8.5/AutoLoader.pm
+usr/lib/perl5/5.8.5/AutoSplit.pm
+#usr/lib/perl5/5.8.5/B
+#usr/lib/perl5/5.8.5/B/assemble
+#usr/lib/perl5/5.8.5/B/cc_harness
+#usr/lib/perl5/5.8.5/B/disassemble
+#usr/lib/perl5/5.8.5/B/makeliblinks
+#usr/lib/perl5/5.8.5/Benchmark.pm
+#usr/lib/perl5/5.8.5/CGI
+usr/lib/perl5/5.8.5/CGI.pm
+usr/lib/perl5/5.8.5/CGI/Apache.pm
+usr/lib/perl5/5.8.5/CGI/Carp.pm
+usr/lib/perl5/5.8.5/CGI/Cookie.pm
+usr/lib/perl5/5.8.5/CGI/Fast.pm
+usr/lib/perl5/5.8.5/CGI/Pretty.pm
+usr/lib/perl5/5.8.5/CGI/Push.pm
+usr/lib/perl5/5.8.5/CGI/Switch.pm
+usr/lib/perl5/5.8.5/CGI/Util.pm
+#usr/lib/perl5/5.8.5/CGI/eg
+#usr/lib/perl5/5.8.5/CGI/eg/RunMeFirst
+#usr/lib/perl5/5.8.5/CGI/eg/caution.xbm
+#usr/lib/perl5/5.8.5/CGI/eg/clickable_image.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/cookie.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/crash.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/customize.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/diff_upload.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/dna_small_gif.uu
+#usr/lib/perl5/5.8.5/CGI/eg/file_upload.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/frameset.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/index.html
+#usr/lib/perl5/5.8.5/CGI/eg/internal_links.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/javascript.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/make_links.pl
+#usr/lib/perl5/5.8.5/CGI/eg/monty.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/multiple_forms.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/nph-clock.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/nph-multipart.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/popup.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/save_state.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/tryit.cgi
+#usr/lib/perl5/5.8.5/CGI/eg/wilogo_gif.uu
+#usr/lib/perl5/5.8.5/CPAN
+#usr/lib/perl5/5.8.5/CPAN.pm
+#usr/lib/perl5/5.8.5/CPAN/FirstTime.pm
+#usr/lib/perl5/5.8.5/CPAN/Nox.pm
+#usr/lib/perl5/5.8.5/Carp
+usr/lib/perl5/5.8.5/Carp.pm
+usr/lib/perl5/5.8.5/Carp/Heavy.pm
+#usr/lib/perl5/5.8.5/Class
+#usr/lib/perl5/5.8.5/Class/ISA
+usr/lib/perl5/5.8.5/Class/ISA.pm
+#usr/lib/perl5/5.8.5/Class/ISA/test.pl
+usr/lib/perl5/5.8.5/Class/Struct.pm
+usr/lib/perl5/5.8.5/DB.pm
+#usr/lib/perl5/5.8.5/Devel
+#usr/lib/perl5/5.8.5/Devel/SelfStubber.pm
+#usr/lib/perl5/5.8.5/Digest.pm
+#usr/lib/perl5/5.8.5/DirHandle.pm
+#usr/lib/perl5/5.8.5/Dumpvalue.pm
+#usr/lib/perl5/5.8.5/Encode
+#usr/lib/perl5/5.8.5/Encode/CN
+#usr/lib/perl5/5.8.5/Encode/CN/HZ.pm
+#usr/lib/perl5/5.8.5/Encode/Changes.e2x
+#usr/lib/perl5/5.8.5/Encode/ConfigLocal_PM.e2x
+#usr/lib/perl5/5.8.5/Encode/JP
+#usr/lib/perl5/5.8.5/Encode/JP/H2Z.pm
+#usr/lib/perl5/5.8.5/Encode/JP/JIS7.pm
+#usr/lib/perl5/5.8.5/Encode/KR
+#usr/lib/perl5/5.8.5/Encode/KR/2022_KR.pm
+#usr/lib/perl5/5.8.5/Encode/MIME
+#usr/lib/perl5/5.8.5/Encode/MIME/Header.pm
+#usr/lib/perl5/5.8.5/Encode/Makefile_PL.e2x
+#usr/lib/perl5/5.8.5/Encode/PerlIO.pod
+#usr/lib/perl5/5.8.5/Encode/README.e2x
+#usr/lib/perl5/5.8.5/Encode/Supported.pod
+#usr/lib/perl5/5.8.5/Encode/_PM.e2x
+#usr/lib/perl5/5.8.5/Encode/_T.e2x
+#usr/lib/perl5/5.8.5/Encode/encode.h
+usr/lib/perl5/5.8.5/English.pm
+usr/lib/perl5/5.8.5/Env.pm
+#usr/lib/perl5/5.8.5/Exporter
+usr/lib/perl5/5.8.5/Exporter.pm
+usr/lib/perl5/5.8.5/Exporter/Heavy.pm
+#usr/lib/perl5/5.8.5/ExtUtils
+#usr/lib/perl5/5.8.5/ExtUtils/Changes
+#usr/lib/perl5/5.8.5/ExtUtils/Command
+#usr/lib/perl5/5.8.5/ExtUtils/Command.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Command/MM.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Constant.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Embed.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Install.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Installed.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Liblist
+#usr/lib/perl5/5.8.5/ExtUtils/Liblist.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Liblist/Kid.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MANIFEST.SKIP
+#usr/lib/perl5/5.8.5/ExtUtils/MM.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_Any.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_BeOS.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_Cygwin.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_DOS.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_MacOS.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_NW5.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_OS2.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_UWIN.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_VMS.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_Win32.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MM_Win95.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MY.pm
+#usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Manifest.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Miniperl.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Mkbootstrap.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Mksymlists.pm
+#usr/lib/perl5/5.8.5/ExtUtils/Packlist.pm
+#usr/lib/perl5/5.8.5/ExtUtils/instmodsh
+#usr/lib/perl5/5.8.5/ExtUtils/testlib.pm
+#usr/lib/perl5/5.8.5/ExtUtils/typemap
+#usr/lib/perl5/5.8.5/ExtUtils/xsubpp
+usr/lib/perl5/5.8.5/Fatal.pm
+#usr/lib/perl5/5.8.5/File
+usr/lib/perl5/5.8.5/File/Basename.pm
+usr/lib/perl5/5.8.5/File/CheckTree.pm
+usr/lib/perl5/5.8.5/File/Compare.pm
+usr/lib/perl5/5.8.5/File/Copy.pm
+#usr/lib/perl5/5.8.5/File/DosGlob.pm
+usr/lib/perl5/5.8.5/File/Find.pm
+usr/lib/perl5/5.8.5/File/Path.pm
+#usr/lib/perl5/5.8.5/File/Spec
+usr/lib/perl5/5.8.5/File/Spec.pm
+#usr/lib/perl5/5.8.5/File/Spec/Cygwin.pm
+#usr/lib/perl5/5.8.5/File/Spec/Epoc.pm
+usr/lib/perl5/5.8.5/File/Spec/Functions.pm
+#usr/lib/perl5/5.8.5/File/Spec/Mac.pm
+#usr/lib/perl5/5.8.5/File/Spec/OS2.pm
+usr/lib/perl5/5.8.5/File/Spec/Unix.pm
+#usr/lib/perl5/5.8.5/File/Spec/VMS.pm
+#usr/lib/perl5/5.8.5/File/Spec/Win32.pm
+usr/lib/perl5/5.8.5/File/Temp.pm
+usr/lib/perl5/5.8.5/File/stat.pm
+usr/lib/perl5/5.8.5/FileCache.pm
+usr/lib/perl5/5.8.5/FileHandle.pm
+#usr/lib/perl5/5.8.5/Filter
+usr/lib/perl5/5.8.5/Filter/Simple
+usr/lib/perl5/5.8.5/Filter/Simple.pm
+#usr/lib/perl5/5.8.5/Filter/Simple/Changes
+#usr/lib/perl5/5.8.5/Filter/Simple/README
+usr/lib/perl5/5.8.5/FindBin.pm
+#usr/lib/perl5/5.8.5/Getopt
+#usr/lib/perl5/5.8.5/Getopt/Long
+usr/lib/perl5/5.8.5/Getopt/Long.pm
+#usr/lib/perl5/5.8.5/Getopt/Long/CHANGES
+#usr/lib/perl5/5.8.5/Getopt/Long/README
+usr/lib/perl5/5.8.5/Getopt/Std.pm
+#usr/lib/perl5/5.8.5/Hash
+usr/lib/perl5/5.8.5/Hash/Util.pm
+#usr/lib/perl5/5.8.5/I18N
+usr/lib/perl5/5.8.5/I18N/Collate.pm
+#usr/lib/perl5/5.8.5/I18N/LangTags
+usr/lib/perl5/5.8.5/I18N/LangTags.pm
+#usr/lib/perl5/5.8.5/I18N/LangTags/ChangeLog
+usr/lib/perl5/5.8.5/I18N/LangTags/List.pm
+#usr/lib/perl5/5.8.5/I18N/LangTags/README
+#usr/lib/perl5/5.8.5/I18N/LangTags/test.pl
+#usr/lib/perl5/5.8.5/IO
+#usr/lib/perl5/5.8.5/IO/Socket
+usr/lib/perl5/5.8.5/IO/Socket/INET.pm
+usr/lib/perl5/5.8.5/IO/Socket/UNIX.pm
+#usr/lib/perl5/5.8.5/IPC
+#usr/lib/perl5/5.8.5/IPC/Open2.pm
+#usr/lib/perl5/5.8.5/IPC/Open3.pm
+#usr/lib/perl5/5.8.5/List
+usr/lib/perl5/5.8.5/List/Util.pm
+#usr/lib/perl5/5.8.5/Locale
+#usr/lib/perl5/5.8.5/Locale/Codes
+#usr/lib/perl5/5.8.5/Locale/Codes/ChangeLog
+#usr/lib/perl5/5.8.5/Locale/Codes/README
+#usr/lib/perl5/5.8.5/Locale/Constants.pm
+#usr/lib/perl5/5.8.5/Locale/Constants.pod
+#usr/lib/perl5/5.8.5/Locale/Country.pm
+#usr/lib/perl5/5.8.5/Locale/Country.pod
+#usr/lib/perl5/5.8.5/Locale/Currency.pm
+#usr/lib/perl5/5.8.5/Locale/Currency.pod
+#usr/lib/perl5/5.8.5/Locale/Language.pm
+#usr/lib/perl5/5.8.5/Locale/Language.pod
+#usr/lib/perl5/5.8.5/Locale/Maketext
+#usr/lib/perl5/5.8.5/Locale/Maketext.pm
+#usr/lib/perl5/5.8.5/Locale/Maketext.pod
+#usr/lib/perl5/5.8.5/Locale/Maketext/ChangeLog
+#usr/lib/perl5/5.8.5/Locale/Maketext/README
+#usr/lib/perl5/5.8.5/Locale/Maketext/TPJ13.pod
+#usr/lib/perl5/5.8.5/Locale/Maketext/test.pl
+#usr/lib/perl5/5.8.5/Locale/Script.pm
+#usr/lib/perl5/5.8.5/Locale/Script.pod
+#usr/lib/perl5/5.8.5/Math
+#usr/lib/perl5/5.8.5/Math/BigFloat
+usr/lib/perl5/5.8.5/Math/BigFloat.pm
+usr/lib/perl5/5.8.5/Math/BigFloat/Trace.pm
+#usr/lib/perl5/5.8.5/Math/BigInt
+usr/lib/perl5/5.8.5/Math/BigInt.pm
+usr/lib/perl5/5.8.5/Math/BigInt/Calc.pm
+usr/lib/perl5/5.8.5/Math/BigInt/Trace.pm
+usr/lib/perl5/5.8.5/Math/BigRat.pm
+usr/lib/perl5/5.8.5/Math/Complex.pm
+usr/lib/perl5/5.8.5/Math/Trig.pm
+#usr/lib/perl5/5.8.5/Memoize
+usr/lib/perl5/5.8.5/Memoize.pm
+usr/lib/perl5/5.8.5/Memoize/AnyDBM_File.pm
+usr/lib/perl5/5.8.5/Memoize/Expire.pm
+usr/lib/perl5/5.8.5/Memoize/ExpireFile.pm
+usr/lib/perl5/5.8.5/Memoize/ExpireTest.pm
+usr/lib/perl5/5.8.5/Memoize/NDBM_File.pm
+#usr/lib/perl5/5.8.5/Memoize/README
+usr/lib/perl5/5.8.5/Memoize/SDBM_File.pm
+usr/lib/perl5/5.8.5/Memoize/Storable.pm
+#usr/lib/perl5/5.8.5/Memoize/TODO
+#usr/lib/perl5/5.8.5/NEXT
+usr/lib/perl5/5.8.5/NEXT.pm
+#usr/lib/perl5/5.8.5/NEXT/Changes
+#usr/lib/perl5/5.8.5/NEXT/README
+#usr/lib/perl5/5.8.5/Net
+#usr/lib/perl5/5.8.5/Net/ChangeLog.libnet
+usr/lib/perl5/5.8.5/Net/Cmd.pm
+#usr/lib/perl5/5.8.5/Net/Config.eg
+usr/lib/perl5/5.8.5/Net/Config.pm
+usr/lib/perl5/5.8.5/Net/Domain.pm
+#usr/lib/perl5/5.8.5/Net/FTP
+#usr/lib/perl5/5.8.5/Net/FTP.pm
+#usr/lib/perl5/5.8.5/Net/FTP/A.pm
+#usr/lib/perl5/5.8.5/Net/FTP/E.pm
+#usr/lib/perl5/5.8.5/Net/FTP/I.pm
+#usr/lib/perl5/5.8.5/Net/FTP/L.pm
+#usr/lib/perl5/5.8.5/Net/FTP/dataconn.pm
+usr/lib/perl5/5.8.5/Net/Hostname.eg
+#usr/lib/perl5/5.8.5/Net/NNTP.pm
+#usr/lib/perl5/5.8.5/Net/Netrc.pm
+#usr/lib/perl5/5.8.5/Net/POP3.pm
+#usr/lib/perl5/5.8.5/Net/Ping
+usr/lib/perl5/5.8.5/Net/Ping.pm
+#usr/lib/perl5/5.8.5/Net/Ping/Changes
+#usr/lib/perl5/5.8.5/Net/Ping/README
+#usr/lib/perl5/5.8.5/Net/README.libnet
+usr/lib/perl5/5.8.5/Net/SMTP.pm
+usr/lib/perl5/5.8.5/Net/Time.pm
+#usr/lib/perl5/5.8.5/Net/demos
+#usr/lib/perl5/5.8.5/Net/demos/ftp
+#usr/lib/perl5/5.8.5/Net/demos/inetd
+#usr/lib/perl5/5.8.5/Net/demos/nntp
+#usr/lib/perl5/5.8.5/Net/demos/nntp.mirror
+#usr/lib/perl5/5.8.5/Net/demos/pop3
+#usr/lib/perl5/5.8.5/Net/demos/smtp.self
+#usr/lib/perl5/5.8.5/Net/demos/time
+usr/lib/perl5/5.8.5/Net/hostent.pm
+#usr/lib/perl5/5.8.5/Net/libnetFAQ.pod
+usr/lib/perl5/5.8.5/Net/netent.pm
+usr/lib/perl5/5.8.5/Net/protoent.pm
+usr/lib/perl5/5.8.5/Net/servent.pm
+#usr/lib/perl5/5.8.5/PerlIO
+usr/lib/perl5/5.8.5/PerlIO.pm
+#usr/lib/perl5/5.8.5/PerlIO/via
+usr/lib/perl5/5.8.5/PerlIO/via/QuotedPrint.pm
+#usr/lib/perl5/5.8.5/Pod
+#usr/lib/perl5/5.8.5/Pod/Checker.pm
+#usr/lib/perl5/5.8.5/Pod/Find.pm
+#usr/lib/perl5/5.8.5/Pod/Functions.pm
+#usr/lib/perl5/5.8.5/Pod/Html.pm
+#usr/lib/perl5/5.8.5/Pod/InputObjects.pm
+#usr/lib/perl5/5.8.5/Pod/LaTeX.pm
+#usr/lib/perl5/5.8.5/Pod/Man.pm
+#usr/lib/perl5/5.8.5/Pod/ParseLink.pm
+#usr/lib/perl5/5.8.5/Pod/ParseUtils.pm
+#usr/lib/perl5/5.8.5/Pod/Parser.pm
+#usr/lib/perl5/5.8.5/Pod/Plainer.pm
+#usr/lib/perl5/5.8.5/Pod/Select.pm
+#usr/lib/perl5/5.8.5/Pod/Text
+#usr/lib/perl5/5.8.5/Pod/Text.pm
+#usr/lib/perl5/5.8.5/Pod/Text/Color.pm
+#usr/lib/perl5/5.8.5/Pod/Text/Overstrike.pm
+#usr/lib/perl5/5.8.5/Pod/Text/Termcap.pm
+#usr/lib/perl5/5.8.5/Pod/Usage.pm
+#usr/lib/perl5/5.8.5/Scalar
+usr/lib/perl5/5.8.5/Scalar/Util.pm
+#usr/lib/perl5/5.8.5/Search
+usr/lib/perl5/5.8.5/Search/Dict.pm
+usr/lib/perl5/5.8.5/SelectSaver.pm
+usr/lib/perl5/5.8.5/SelfLoader.pm
+usr/lib/perl5/5.8.5/Shell.pm
+#usr/lib/perl5/5.8.5/Switch
+usr/lib/perl5/5.8.5/Switch.pm
+#usr/lib/perl5/5.8.5/Switch/Changes
+#usr/lib/perl5/5.8.5/Switch/README
+usr/lib/perl5/5.8.5/Symbol.pm
+#usr/lib/perl5/5.8.5/Term
+#usr/lib/perl5/5.8.5/Term/ANSIColor
+#usr/lib/perl5/5.8.5/Term/ANSIColor.pm
+#usr/lib/perl5/5.8.5/Term/ANSIColor/ChangeLog
+#usr/lib/perl5/5.8.5/Term/ANSIColor/README
+#usr/lib/perl5/5.8.5/Term/ANSIColor/test.pl
+#usr/lib/perl5/5.8.5/Term/Cap.pm
+#usr/lib/perl5/5.8.5/Term/Complete.pm
+#usr/lib/perl5/5.8.5/Term/ReadLine.pm
+#usr/lib/perl5/5.8.5/Test
+#usr/lib/perl5/5.8.5/Test.pm
+#usr/lib/perl5/5.8.5/Test/Builder.pm
+#usr/lib/perl5/5.8.5/Test/Harness
+#usr/lib/perl5/5.8.5/Test/Harness.pm
+#usr/lib/perl5/5.8.5/Test/Harness/Assert.pm
+#usr/lib/perl5/5.8.5/Test/Harness/Changes
+#usr/lib/perl5/5.8.5/Test/Harness/Iterator.pm
+#usr/lib/perl5/5.8.5/Test/Harness/Straps.pm
+#usr/lib/perl5/5.8.5/Test/More.pm
+#usr/lib/perl5/5.8.5/Test/Simple
+#usr/lib/perl5/5.8.5/Test/Simple.pm
+#usr/lib/perl5/5.8.5/Test/Simple/Changes
+#usr/lib/perl5/5.8.5/Test/Simple/README
+#usr/lib/perl5/5.8.5/Test/Tutorial.pod
+#usr/lib/perl5/5.8.5/Text
+#usr/lib/perl5/5.8.5/Text/Abbrev.pm
+#usr/lib/perl5/5.8.5/Text/Balanced
+#usr/lib/perl5/5.8.5/Text/Balanced.pm
+#usr/lib/perl5/5.8.5/Text/Balanced/Changes
+#usr/lib/perl5/5.8.5/Text/Balanced/README
+#usr/lib/perl5/5.8.5/Text/ParseWords.pm
+#usr/lib/perl5/5.8.5/Text/Soundex.pm
+#usr/lib/perl5/5.8.5/Text/Tabs.pm
+#usr/lib/perl5/5.8.5/Text/TabsWrap
+#usr/lib/perl5/5.8.5/Text/TabsWrap/CHANGELOG
+#usr/lib/perl5/5.8.5/Text/Wrap.pm
+#usr/lib/perl5/5.8.5/Thread
+usr/lib/perl5/5.8.5/Thread.pm
+usr/lib/perl5/5.8.5/Thread/Queue.pm
+usr/lib/perl5/5.8.5/Thread/Semaphore.pm
+#usr/lib/perl5/5.8.5/Tie
+usr/lib/perl5/5.8.5/Tie/Array.pm
+usr/lib/perl5/5.8.5/Tie/File.pm
+usr/lib/perl5/5.8.5/Tie/Handle.pm
+usr/lib/perl5/5.8.5/Tie/Hash.pm
+usr/lib/perl5/5.8.5/Tie/Memoize.pm
+usr/lib/perl5/5.8.5/Tie/RefHash.pm
+usr/lib/perl5/5.8.5/Tie/Scalar.pm
+usr/lib/perl5/5.8.5/Tie/SubstrHash.pm
+#usr/lib/perl5/5.8.5/Time
+usr/lib/perl5/5.8.5/Time/Local.pm
+usr/lib/perl5/5.8.5/Time/gmtime.pm
+usr/lib/perl5/5.8.5/Time/localtime.pm
+usr/lib/perl5/5.8.5/Time/tm.pm
+usr/lib/perl5/5.8.5/UNIVERSAL.pm
+#usr/lib/perl5/5.8.5/Unicode
+#usr/lib/perl5/5.8.5/Unicode/Collate
+usr/lib/perl5/5.8.5/Unicode/Collate.pm
+#usr/lib/perl5/5.8.5/Unicode/Collate/Changes
+#usr/lib/perl5/5.8.5/Unicode/Collate/README
+#usr/lib/perl5/5.8.5/Unicode/Collate/keys.txt
+#usr/lib/perl5/5.8.5/Unicode/README
+usr/lib/perl5/5.8.5/Unicode/UCD.pm
+#usr/lib/perl5/5.8.5/User
+usr/lib/perl5/5.8.5/User/grent.pm
+usr/lib/perl5/5.8.5/User/pwent.pm
+#usr/lib/perl5/5.8.5/Win32.pod
+usr/lib/perl5/5.8.5/abbrev.pl
+usr/lib/perl5/5.8.5/assert.pl
+usr/lib/perl5/5.8.5/attributes.pm
+usr/lib/perl5/5.8.5/autouse.pm
+usr/lib/perl5/5.8.5/base.pm
+usr/lib/perl5/5.8.5/bigfloat.pl
+usr/lib/perl5/5.8.5/bigint.pl
+usr/lib/perl5/5.8.5/bigint.pm
+usr/lib/perl5/5.8.5/bignum.pm
+usr/lib/perl5/5.8.5/bigrat.pl
+usr/lib/perl5/5.8.5/bigrat.pm
+usr/lib/perl5/5.8.5/blib.pm
+usr/lib/perl5/5.8.5/bytes.pm
+usr/lib/perl5/5.8.5/bytes_heavy.pl
+usr/lib/perl5/5.8.5/cacheout.pl
+usr/lib/perl5/5.8.5/charnames.pm
+usr/lib/perl5/5.8.5/complete.pl
+usr/lib/perl5/5.8.5/constant.pm
+usr/lib/perl5/5.8.5/ctime.pl
+usr/lib/perl5/5.8.5/diagnostics.pm
+usr/lib/perl5/5.8.5/dotsh.pl
+usr/lib/perl5/5.8.5/dumpvar.pl
+usr/lib/perl5/5.8.5/exceptions.pl
+usr/lib/perl5/5.8.5/fastcwd.pl
+usr/lib/perl5/5.8.5/fields.pm
+usr/lib/perl5/5.8.5/filetest.pm
+usr/lib/perl5/5.8.5/find.pl
+usr/lib/perl5/5.8.5/finddepth.pl
+usr/lib/perl5/5.8.5/flush.pl
+usr/lib/perl5/5.8.5/getcwd.pl
+usr/lib/perl5/5.8.5/getopt.pl
+usr/lib/perl5/5.8.5/getopts.pl
+usr/lib/perl5/5.8.5/hostname.pl
+#usr/lib/perl5/5.8.5/i386-linux
+#usr/lib/perl5/5.8.5/i386-linux/.packlist
+#usr/lib/perl5/5.8.5/i386-linux/B
+#usr/lib/perl5/5.8.5/i386-linux/B.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Asmdata.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Assembler.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Bblock.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Bytecode.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/C.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/CC.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Concise.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Debug.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Deparse.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Disassembler.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Lint.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Showlex.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Stackobj.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Stash.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Terse.pm
+#usr/lib/perl5/5.8.5/i386-linux/B/Xref.pm
+usr/lib/perl5/5.8.5/i386-linux/ByteLoader.pm
+#usr/lib/perl5/5.8.5/i386-linux/CORE
+#usr/lib/perl5/5.8.5/i386-linux/CORE/EXTERN.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/INTERN.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/XSUB.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/av.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/cc_runtime.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/config.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/cop.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/cv.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/dosish.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/embed.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/embedvar.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/fakesdio.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/fakethr.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/form.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/gv.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/handy.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/hv.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/intrpvar.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/iperlsys.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/keywords.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/libperl.a
+#usr/lib/perl5/5.8.5/i386-linux/CORE/mg.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/nostdio.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/op.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/opcode.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/opnames.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/patchlevel.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perl.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perlapi.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perlio.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perliol.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perlsdio.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perlsfio.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perlvars.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/perly.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/pp.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/pp_proto.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/proto.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/reentr.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/regcomp.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/regexp.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/regnodes.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/scope.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/sv.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/thrdvar.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/thread.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/uconfig.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/unixish.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/utf8.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/utfebcdic.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/util.h
+#usr/lib/perl5/5.8.5/i386-linux/CORE/warnings.h
+usr/lib/perl5/5.8.5/i386-linux/Config.pm
+usr/lib/perl5/5.8.5/i386-linux/Cwd.pm
+#usr/lib/perl5/5.8.5/i386-linux/Data
+usr/lib/perl5/5.8.5/i386-linux/Data/Dumper.pm
+#usr/lib/perl5/5.8.5/i386-linux/Devel
+#usr/lib/perl5/5.8.5/i386-linux/Devel/DProf.pm
+#usr/lib/perl5/5.8.5/i386-linux/Devel/PPPort.pm
+#usr/lib/perl5/5.8.5/i386-linux/Devel/Peek.pm
+#usr/lib/perl5/5.8.5/i386-linux/Digest
+usr/lib/perl5/5.8.5/i386-linux/Digest/MD5.pm
+usr/lib/perl5/5.8.5/i386-linux/DynaLoader.pm
+#usr/lib/perl5/5.8.5/i386-linux/Encode
+usr/lib/perl5/5.8.5/i386-linux/Encode.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Alias.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Byte.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/CJKConstants.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/CN.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Config.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/EBCDIC.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Encoder.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Encoding.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Guess.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/JP.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/KR.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Symbol.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/TW.pm
+usr/lib/perl5/5.8.5/i386-linux/Encode/Unicode.pm
+usr/lib/perl5/5.8.5/i386-linux/Errno.pm
+usr/lib/perl5/5.8.5/i386-linux/Fcntl.pm
+#usr/lib/perl5/5.8.5/i386-linux/File
+usr/lib/perl5/5.8.5/i386-linux/File/Glob.pm
+#usr/lib/perl5/5.8.5/i386-linux/Filter
+#usr/lib/perl5/5.8.5/i386-linux/Filter/Util
+usr/lib/perl5/5.8.5/i386-linux/Filter/Util/Call.pm
+#usr/lib/perl5/5.8.5/i386-linux/I18N
+usr/lib/perl5/5.8.5/i386-linux/I18N/Langinfo.pm
+#usr/lib/perl5/5.8.5/i386-linux/IO
+usr/lib/perl5/5.8.5/i386-linux/IO.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Dir.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/File.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Handle.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Pipe.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Poll.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Seekable.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Select.pm
+usr/lib/perl5/5.8.5/i386-linux/IO/Socket.pm
+#usr/lib/perl5/5.8.5/i386-linux/IPC
+#usr/lib/perl5/5.8.5/i386-linux/IPC/Msg.pm
+#usr/lib/perl5/5.8.5/i386-linux/IPC/Semaphore.pm
+#usr/lib/perl5/5.8.5/i386-linux/IPC/SysV.pm
+#usr/lib/perl5/5.8.5/i386-linux/MIME
+usr/lib/perl5/5.8.5/i386-linux/MIME/Base64.pm
+usr/lib/perl5/5.8.5/i386-linux/MIME/QuotedPrint.pm
+usr/lib/perl5/5.8.5/i386-linux/O.pm
+usr/lib/perl5/5.8.5/i386-linux/Opcode.pm
+usr/lib/perl5/5.8.5/i386-linux/POSIX.pm
+#usr/lib/perl5/5.8.5/i386-linux/POSIX.pod
+#usr/lib/perl5/5.8.5/i386-linux/PerlIO
+usr/lib/perl5/5.8.5/i386-linux/PerlIO/encoding.pm
+usr/lib/perl5/5.8.5/i386-linux/PerlIO/scalar.pm
+usr/lib/perl5/5.8.5/i386-linux/PerlIO/via.pm
+usr/lib/perl5/5.8.5/i386-linux/SDBM_File.pm
+usr/lib/perl5/5.8.5/i386-linux/Safe.pm
+usr/lib/perl5/5.8.5/i386-linux/Socket.pm
+usr/lib/perl5/5.8.5/i386-linux/Storable.pm
+#usr/lib/perl5/5.8.5/i386-linux/Sys
+usr/lib/perl5/5.8.5/i386-linux/Sys/Hostname.pm
+usr/lib/perl5/5.8.5/i386-linux/Sys/Syslog.pm
+#usr/lib/perl5/5.8.5/i386-linux/Time
+usr/lib/perl5/5.8.5/i386-linux/Time/HiRes.pm
+#usr/lib/perl5/5.8.5/i386-linux/Unicode
+usr/lib/perl5/5.8.5/i386-linux/Unicode/Normalize.pm
+#usr/lib/perl5/5.8.5/i386-linux/XS
+usr/lib/perl5/5.8.5/i386-linux/XS/APItest.pm
+usr/lib/perl5/5.8.5/i386-linux/XS/Typemap.pm
+usr/lib/perl5/5.8.5/i386-linux/XSLoader.pm
+usr/lib/perl5/5.8.5/i386-linux/attrs.pm
+#usr/lib/perl5/5.8.5/i386-linux/auto
+#usr/lib/perl5/5.8.5/i386-linux/auto/B
+#usr/lib/perl5/5.8.5/i386-linux/auto/B/B.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/B/B.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/B/C
+#usr/lib/perl5/5.8.5/i386-linux/auto/B/C/C.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/B/C/C.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader
+#usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader/ByteLoader.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/ByteLoader/ByteLoader.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Cwd
+#usr/lib/perl5/5.8.5/i386-linux/auto/Cwd/Cwd.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Cwd/Cwd.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Data
+#usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper
+#usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper/Dumper.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Data/Dumper/Dumper.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf/DProf.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/DProf/DProf.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort/PPPort.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/PPPort/PPPort.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek/Peek.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Devel/Peek/Peek.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Digest
+#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5
+#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5/MD5.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Digest/MD5/MD5.so
+usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/DynaLoader.a
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_expandspec.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_find_symbol_anywhere.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/dl_findfile.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/DynaLoader/extralibs.ld
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte/Byte.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Byte/Byte.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN/CN.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/CN/CN.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC/EBCDIC.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/EBCDIC/EBCDIC.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Encode.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Encode.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP/JP.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/JP/JP.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR/KR.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/KR/KR.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol/Symbol.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Symbol/Symbol.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW/TW.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/TW/TW.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode
+#usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode/Unicode.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Encode/Unicode/Unicode.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl
+#usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl/Fcntl.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Fcntl/Fcntl.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/File
+#usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob
+#usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob/Glob.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/File/Glob/Glob.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Filter
+#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util
+#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call
+#usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call/Call.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Filter/Util/Call/Call.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/I18N
+#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo
+#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/Langinfo.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/Langinfo.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/I18N/Langinfo/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/IO
+#usr/lib/perl5/5.8.5/i386-linux/auto/IO/IO.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/IO/IO.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/IPC
+#usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV
+#usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV/SysV.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/IPC/SysV/SysV.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/List
+#usr/lib/perl5/5.8.5/i386-linux/auto/List/Util
+#usr/lib/perl5/5.8.5/i386-linux/auto/List/Util/Util.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/List/Util/Util.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/MIME
+#usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64
+#usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64/Base64.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/MIME/Base64/Base64.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Opcode
+#usr/lib/perl5/5.8.5/i386-linux/auto/Opcode/Opcode.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Opcode/Opcode.so
+usr/lib/perl5/5.8.5/i386-linux/auto/POSIX
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/POSIX.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/POSIX.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/abs.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/alarm.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/assert.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atan2.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atexit.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atof.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atoi.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/atol.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/bsearch.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/calloc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chdir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chmod.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/chown.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/clearerr.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/closedir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/cos.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/creat.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/div.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/errno.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execl.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execle.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execlp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execv.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execve.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/execvp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/exit.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/exp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fabs.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fclose.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fcntl.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fdopen.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/feof.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ferror.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fflush.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgetc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgetpos.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fgets.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fileno.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fopen.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fork.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fprintf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fputc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fputs.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fread.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/free.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/freopen.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fscanf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fseek.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fsetpos.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fstat.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ftell.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/fwrite.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getchar.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getegid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getenv.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/geteuid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgrgid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgrnam.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getgroups.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getlogin.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpgrp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getppid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpwnam.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getpwuid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/gets.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/getuid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/gmtime.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/isatty.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/kill.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/labs.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ldiv.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/link.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/load_imports.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/localtime.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/log.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/longjmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/malloc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memchr.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memcmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memcpy.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memmove.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/memset.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/mkdir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/offsetof.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/opendir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/perror.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/pow.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/printf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/putc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/putchar.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/puts.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/qsort.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/raise.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rand.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/readdir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/realloc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/redef.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/remove.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rename.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rewind.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rewinddir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/rmdir.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/scanf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setbuf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setjmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/setvbuf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/siglongjmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sigsetjmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sin.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sleep.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sprintf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sqrt.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/srand.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/sscanf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/stat.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcat.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strchr.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcpy.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strcspn.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strerror.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strlen.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncat.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncmp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strncpy.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strpbrk.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strrchr.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strspn.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strstr.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/strtok.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/system.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/time.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/tmpfile.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/tolower.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/toupper.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/umask.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/ungetc.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/unimpl.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/unlink.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/usage.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/utime.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vfprintf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vprintf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/vsprintf.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/wait.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/POSIX/waitpid.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding/encoding.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/encoding/encoding.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar/scalar.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/scalar/scalar.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via
+#usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via/via.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/PerlIO/via/via.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File
+#usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File/SDBM_File.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/SDBM_File/SDBM_File.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Socket
+#usr/lib/perl5/5.8.5/i386-linux/auto/Socket/Socket.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Socket/Socket.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/CAN_FLOCK.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/Storable.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Storable/Storable.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_freeze.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_retrieve.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_store.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/_store_fd.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/fd_retrieve.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/freeze.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_nstore.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_retrieve.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/lock_store.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/logcarp.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/logcroak.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nfreeze.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nstore.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/nstore_fd.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/read_magic.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/retrieve.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/show_file_magic.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/store.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/store_fd.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Storable/thaw.al
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/Hostname.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/Hostname.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Hostname/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog
+#usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog/Syslog.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Sys/Syslog/Syslog.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Time
+#usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes
+#usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes/HiRes.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Time/HiRes/HiRes.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode
+#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize
+#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/Normalize.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/Normalize.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/Unicode/Normalize/autosplit.ix
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest/APItest.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/APItest/APItest.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap/Typemap.bs
+#usr/lib/perl5/5.8.5/i386-linux/auto/XS/Typemap/Typemap.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/attrs
+#usr/lib/perl5/5.8.5/i386-linux/auto/attrs/attrs.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/attrs/attrs.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/re
+#usr/lib/perl5/5.8.5/i386-linux/auto/re/re.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/re/re.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/sdbm
+#usr/lib/perl5/5.8.5/i386-linux/auto/sdbm/extralibs.ld
+#usr/lib/perl5/5.8.5/i386-linux/auto/threads
+#usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared
+#usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared/shared.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/threads/shared/shared.so
+#usr/lib/perl5/5.8.5/i386-linux/auto/threads/threads.bs
+usr/lib/perl5/5.8.5/i386-linux/auto/threads/threads.so
+usr/lib/perl5/5.8.5/i386-linux/encoding.pm
+usr/lib/perl5/5.8.5/i386-linux/lib.pm
+usr/lib/perl5/5.8.5/i386-linux/ops.pm
+usr/lib/perl5/5.8.5/i386-linux/re.pm
+#usr/lib/perl5/5.8.5/i386-linux/threads
+usr/lib/perl5/5.8.5/i386-linux/threads.pm
+usr/lib/perl5/5.8.5/i386-linux/threads/shared.pm
+usr/lib/perl5/5.8.5/if.pm
+usr/lib/perl5/5.8.5/importenv.pl
+usr/lib/perl5/5.8.5/integer.pm
+usr/lib/perl5/5.8.5/less.pm
+usr/lib/perl5/5.8.5/locale.pm
+usr/lib/perl5/5.8.5/look.pl
+usr/lib/perl5/5.8.5/newgetopt.pl
+usr/lib/perl5/5.8.5/open.pm
+usr/lib/perl5/5.8.5/open2.pl
+usr/lib/perl5/5.8.5/open3.pl
+usr/lib/perl5/5.8.5/overload.pm
+usr/lib/perl5/5.8.5/perl5db.pl
+#usr/lib/perl5/5.8.5/pod
+#usr/lib/perl5/5.8.5/pod/perl.pod
+#usr/lib/perl5/5.8.5/pod/perl5004delta.pod
+#usr/lib/perl5/5.8.5/pod/perl5005delta.pod
+#usr/lib/perl5/5.8.5/pod/perl561delta.pod
+#usr/lib/perl5/5.8.5/pod/perl56delta.pod
+#usr/lib/perl5/5.8.5/pod/perl570delta.pod
+#usr/lib/perl5/5.8.5/pod/perl571delta.pod
+#usr/lib/perl5/5.8.5/pod/perl572delta.pod
+#usr/lib/perl5/5.8.5/pod/perlaix.pod
+#usr/lib/perl5/5.8.5/pod/perlamiga.pod
+#usr/lib/perl5/5.8.5/pod/perlapi.pod
+#usr/lib/perl5/5.8.5/pod/perlapio.pod
+#usr/lib/perl5/5.8.5/pod/perlapollo.pod
+#usr/lib/perl5/5.8.5/pod/perlbeos.pod
+#usr/lib/perl5/5.8.5/pod/perlbook.pod
+#usr/lib/perl5/5.8.5/pod/perlboot.pod
+#usr/lib/perl5/5.8.5/pod/perlbot.pod
+#usr/lib/perl5/5.8.5/pod/perlbs2000.pod
+#usr/lib/perl5/5.8.5/pod/perlcall.pod
+#usr/lib/perl5/5.8.5/pod/perlce.pod
+#usr/lib/perl5/5.8.5/pod/perlclib.pod
+#usr/lib/perl5/5.8.5/pod/perlcn.pod
+#usr/lib/perl5/5.8.5/pod/perlcompile.pod
+#usr/lib/perl5/5.8.5/pod/perlcygwin.pod
+#usr/lib/perl5/5.8.5/pod/perldata.pod
+#usr/lib/perl5/5.8.5/pod/perldbmfilter.pod
+#usr/lib/perl5/5.8.5/pod/perldebguts.pod
+#usr/lib/perl5/5.8.5/pod/perldebtut.pod
+#usr/lib/perl5/5.8.5/pod/perldebug.pod
+#usr/lib/perl5/5.8.5/pod/perldelta.pod
+#usr/lib/perl5/5.8.5/pod/perldgux.pod
+#usr/lib/perl5/5.8.5/pod/perldiag.pod
+#usr/lib/perl5/5.8.5/pod/perldos.pod
+#usr/lib/perl5/5.8.5/pod/perldsc.pod
+#usr/lib/perl5/5.8.5/pod/perlebcdic.pod
+#usr/lib/perl5/5.8.5/pod/perlembed.pod
+#usr/lib/perl5/5.8.5/pod/perlepoc.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq1.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq2.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq3.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq4.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq5.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq6.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq7.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq8.pod
+#usr/lib/perl5/5.8.5/pod/perlfaq9.pod
+#usr/lib/perl5/5.8.5/pod/perlfilter.pod
+#usr/lib/perl5/5.8.5/pod/perlfork.pod
+#usr/lib/perl5/5.8.5/pod/perlform.pod
+#usr/lib/perl5/5.8.5/pod/perlfreebsd.pod
+#usr/lib/perl5/5.8.5/pod/perlfunc.pod
+#usr/lib/perl5/5.8.5/pod/perlguts.pod
+#usr/lib/perl5/5.8.5/pod/perlhack.pod
+#usr/lib/perl5/5.8.5/pod/perlhist.pod
+#usr/lib/perl5/5.8.5/pod/perlhpux.pod
+#usr/lib/perl5/5.8.5/pod/perlhurd.pod
+#usr/lib/perl5/5.8.5/pod/perlintern.pod
+#usr/lib/perl5/5.8.5/pod/perlintro.pod
+#usr/lib/perl5/5.8.5/pod/perliol.pod
+#usr/lib/perl5/5.8.5/pod/perlipc.pod
+#usr/lib/perl5/5.8.5/pod/perlirix.pod
+#usr/lib/perl5/5.8.5/pod/perljp.pod
+#usr/lib/perl5/5.8.5/pod/perlko.pod
+#usr/lib/perl5/5.8.5/pod/perllexwarn.pod
+#usr/lib/perl5/5.8.5/pod/perllocale.pod
+#usr/lib/perl5/5.8.5/pod/perllol.pod
+#usr/lib/perl5/5.8.5/pod/perlmachten.pod
+#usr/lib/perl5/5.8.5/pod/perlmacos.pod
+#usr/lib/perl5/5.8.5/pod/perlmint.pod
+#usr/lib/perl5/5.8.5/pod/perlmod.pod
+#usr/lib/perl5/5.8.5/pod/perlmodinstall.pod
+#usr/lib/perl5/5.8.5/pod/perlmodlib.pod
+#usr/lib/perl5/5.8.5/pod/perlmodstyle.pod
+#usr/lib/perl5/5.8.5/pod/perlmpeix.pod
+#usr/lib/perl5/5.8.5/pod/perlnetware.pod
+#usr/lib/perl5/5.8.5/pod/perlnewmod.pod
+#usr/lib/perl5/5.8.5/pod/perlnumber.pod
+#usr/lib/perl5/5.8.5/pod/perlobj.pod
+#usr/lib/perl5/5.8.5/pod/perlop.pod
+#usr/lib/perl5/5.8.5/pod/perlopentut.pod
+#usr/lib/perl5/5.8.5/pod/perlos2.pod
+#usr/lib/perl5/5.8.5/pod/perlos390.pod
+#usr/lib/perl5/5.8.5/pod/perlothrtut.pod
+#usr/lib/perl5/5.8.5/pod/perlpacktut.pod
+#usr/lib/perl5/5.8.5/pod/perlplan9.pod
+#usr/lib/perl5/5.8.5/pod/perlpod.pod
+#usr/lib/perl5/5.8.5/pod/perlpodspec.pod
+#usr/lib/perl5/5.8.5/pod/perlport.pod
+#usr/lib/perl5/5.8.5/pod/perlqnx.pod
+#usr/lib/perl5/5.8.5/pod/perlre.pod
+#usr/lib/perl5/5.8.5/pod/perlref.pod
+#usr/lib/perl5/5.8.5/pod/perlreftut.pod
+#usr/lib/perl5/5.8.5/pod/perlrequick.pod
+#usr/lib/perl5/5.8.5/pod/perlretut.pod
+#usr/lib/perl5/5.8.5/pod/perlrun.pod
+#usr/lib/perl5/5.8.5/pod/perlsec.pod
+#usr/lib/perl5/5.8.5/pod/perlsolaris.pod
+#usr/lib/perl5/5.8.5/pod/perlstyle.pod
+#usr/lib/perl5/5.8.5/pod/perlsub.pod
+#usr/lib/perl5/5.8.5/pod/perlsyn.pod
+#usr/lib/perl5/5.8.5/pod/perlthrtut.pod
+#usr/lib/perl5/5.8.5/pod/perltie.pod
+#usr/lib/perl5/5.8.5/pod/perltoc.pod
+#usr/lib/perl5/5.8.5/pod/perltodo.pod
+#usr/lib/perl5/5.8.5/pod/perltooc.pod
+#usr/lib/perl5/5.8.5/pod/perltoot.pod
+#usr/lib/perl5/5.8.5/pod/perltrap.pod
+#usr/lib/perl5/5.8.5/pod/perltru64.pod
+#usr/lib/perl5/5.8.5/pod/perltw.pod
+#usr/lib/perl5/5.8.5/pod/perlunicode.pod
+#usr/lib/perl5/5.8.5/pod/perluniintro.pod
+#usr/lib/perl5/5.8.5/pod/perlutil.pod
+#usr/lib/perl5/5.8.5/pod/perluts.pod
+#usr/lib/perl5/5.8.5/pod/perlvar.pod
+#usr/lib/perl5/5.8.5/pod/perlvmesa.pod
+#usr/lib/perl5/5.8.5/pod/perlvms.pod
+#usr/lib/perl5/5.8.5/pod/perlvos.pod
+#usr/lib/perl5/5.8.5/pod/perlwin32.pod
+#usr/lib/perl5/5.8.5/pod/perlxs.pod
+#usr/lib/perl5/5.8.5/pod/perlxstut.pod
+usr/lib/perl5/5.8.5/pwd.pl
+usr/lib/perl5/5.8.5/shellwords.pl
+usr/lib/perl5/5.8.5/sigtrap.pm
+usr/lib/perl5/5.8.5/sort.pm
+usr/lib/perl5/5.8.5/stat.pl
+usr/lib/perl5/5.8.5/strict.pm
+usr/lib/perl5/5.8.5/subs.pm
+usr/lib/perl5/5.8.5/syslog.pl
+usr/lib/perl5/5.8.5/tainted.pl
+usr/lib/perl5/5.8.5/termcap.pl
+usr/lib/perl5/5.8.5/timelocal.pl
+#usr/lib/perl5/5.8.5/unicore
+#usr/lib/perl5/5.8.5/unicore/ArabLink.pl
+#usr/lib/perl5/5.8.5/unicore/ArabLnkGrp.pl
+#usr/lib/perl5/5.8.5/unicore/ArabicShaping.txt
+#usr/lib/perl5/5.8.5/unicore/BidiMirroring.txt
+#usr/lib/perl5/5.8.5/unicore/Bidirectional.pl
+#usr/lib/perl5/5.8.5/unicore/Blocks.txt
+usr/lib/perl5/5.8.5/unicore/Canonical.pl
+#usr/lib/perl5/5.8.5/unicore/CaseFolding.txt
+usr/lib/perl5/5.8.5/unicore/CombiningClass.pl
+#usr/lib/perl5/5.8.5/unicore/CompositionExclusions.txt
+usr/lib/perl5/5.8.5/unicore/Decomposition.pl
+#usr/lib/perl5/5.8.5/unicore/EastAsianWidth.txt
+usr/lib/perl5/5.8.5/unicore/Exact.pl
+#usr/lib/perl5/5.8.5/unicore/Index.txt
+#usr/lib/perl5/5.8.5/unicore/Jamo.txt
+#usr/lib/perl5/5.8.5/unicore/JamoShort.pl
+#usr/lib/perl5/5.8.5/unicore/LineBreak.txt
+#usr/lib/perl5/5.8.5/unicore/Makefile
+usr/lib/perl5/5.8.5/unicore/Name.pl
+#usr/lib/perl5/5.8.5/unicore/NamesList.txt
+#usr/lib/perl5/5.8.5/unicore/PropList.txt
+#usr/lib/perl5/5.8.5/unicore/PropValueAliases.txt
+#usr/lib/perl5/5.8.5/unicore/Properties
+#usr/lib/perl5/5.8.5/unicore/PropertyAliases.txt
+#usr/lib/perl5/5.8.5/unicore/README.perl
+#usr/lib/perl5/5.8.5/unicore/ReadMe.txt
+#usr/lib/perl5/5.8.5/unicore/Scripts.txt
+#usr/lib/perl5/5.8.5/unicore/SpecialCasing.txt
+usr/lib/perl5/5.8.5/unicore/To
+#usr/lib/perl5/5.8.5/unicore/To/Digit.pl
+#usr/lib/perl5/5.8.5/unicore/To/Fold.pl
+#usr/lib/perl5/5.8.5/unicore/To/Lower.pl
+#usr/lib/perl5/5.8.5/unicore/To/Title.pl
+#usr/lib/perl5/5.8.5/unicore/To/Upper.pl
+#usr/lib/perl5/5.8.5/unicore/UnicodeData.txt
+usr/lib/perl5/5.8.5/unicore/lib
+#usr/lib/perl5/5.8.5/unicore/lib/ASCII.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Alnum.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Alpha.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Alphabet.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Any.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Arabic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Armenian.pl
+#usr/lib/perl5/5.8.5/unicore/lib/AsciiHex.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Assigned.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Bengali.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiAL.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiAN.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiB.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiBN.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiCS.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiCont.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiEN.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiES.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiET.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiL.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiLRE.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiLRO.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiNSM.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiON.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiPDF.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiR.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiRLE.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiRLO.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiS.pl
+#usr/lib/perl5/5.8.5/unicore/lib/BidiWS.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Blank.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Bopomofo.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Buhid.pl
+#usr/lib/perl5/5.8.5/unicore/lib/C.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Canadian.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Canon.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cc.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cf.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cherokee.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cn.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cntrl.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Co.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Common.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Compat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cs.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Cyrillic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCcircle.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCcompat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCfinal.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCfont.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCfracti.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCinitia.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCisolat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCmedial.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCnarrow.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCnoBrea.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCsmall.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCsquare.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCsub.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCsuper.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCvertic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/DCwide.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Dash.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Deprecat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Deseret.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Devanaga.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Diacriti.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Digit.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Ethiopic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Extender.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Georgian.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Gothic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Graph.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Grapheme.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Greek.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Gujarati.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Gurmukhi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Han.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Hangul.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Hanunoo.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Hebrew.pl
+#usr/lib/perl5/5.8.5/unicore/lib/HexDigit.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Hiragana.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Hyphen.pl
+#usr/lib/perl5/5.8.5/unicore/lib/IdContin.pl
+#usr/lib/perl5/5.8.5/unicore/lib/IdStart.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Ideograp.pl
+#usr/lib/perl5/5.8.5/unicore/lib/IdsBinar.pl
+#usr/lib/perl5/5.8.5/unicore/lib/IdsTrina.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InAlphab.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InArabi2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InArabi3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InArabic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InArmeni.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InArrows.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBasicL.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBengal.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBlockE.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBopom2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBopomo.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBoxDra.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBraill.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InBuhid.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InByzant.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCherok.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkCo4.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkCom.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkRad.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkSym.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkUn2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkUn3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCjkUni.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCombi2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCombi3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCombin.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InContro.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCurren.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCyril2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InCyrill.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InDesere.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InDevana.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InDingba.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InEnclo2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InEnclos.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InEthiop.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGenera.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGeomet.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGeorgi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGothic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGreek.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGreekA.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGreekE.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGujara.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InGurmuk.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHalfwi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHangu2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHangu3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHangul.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHanuno.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHebrew.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHighPr.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHighSu.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InHiraga.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InIdeogr.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InIpaExt.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKanbun.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKangxi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKannad.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKatak2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKataka.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InKhmer.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLao.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLatin1.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLatin2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLatin3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLatinE.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLetter.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InLowSur.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMalaya.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMathe2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMathem.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMisce2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMisce3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMisce4.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMiscel.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMongol.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMusica.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InMyanma.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InNumber.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InOgham.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InOldIta.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InOptica.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InOriya.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InPrivat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InRunic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSinhal.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSmallF.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSpacin.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSpecia.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSupers.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSuppl2.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSuppl3.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSuppl4.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSuppl5.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSupple.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InSyriac.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTagalo.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTagban.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTags.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTamil.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTelugu.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InThaana.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InThai.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InTibeta.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InUnifie.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InVariat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InYiRadi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/InYiSyll.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Inherite.pl
+#usr/lib/perl5/5.8.5/unicore/lib/JoinCont.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Kannada.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Katakana.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Khmer.pl
+#usr/lib/perl5/5.8.5/unicore/lib/L.pl
+#usr/lib/perl5/5.8.5/unicore/lib/L_.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lao.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Latin.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Ll.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lm.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lo.pl
+#usr/lib/perl5/5.8.5/unicore/lib/LogicalO.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lower.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lowercas.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lt.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Lu.pl
+#usr/lib/perl5/5.8.5/unicore/lib/M.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Malayala.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Math.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Mc.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Me.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Mirrored.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Mn.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Mongolia.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Myanmar.pl
+#usr/lib/perl5/5.8.5/unicore/lib/N.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Nd.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Nl.pl
+#usr/lib/perl5/5.8.5/unicore/lib/No.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Nonchara.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Ogham.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OldItali.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Oriya.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherAlp.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherDef.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherGra.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherLow.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherMat.pl
+#usr/lib/perl5/5.8.5/unicore/lib/OtherUpp.pl
+#usr/lib/perl5/5.8.5/unicore/lib/P.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Pc.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Pd.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Pe.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Pf.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Pi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Po.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Print.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Ps.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Punct.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Quotatio.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Radical.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Runic.pl
+#usr/lib/perl5/5.8.5/unicore/lib/S.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Sc.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Sinhala.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Sk.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Sm.pl
+#usr/lib/perl5/5.8.5/unicore/lib/So.pl
+#usr/lib/perl5/5.8.5/unicore/lib/SoftDott.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Space.pl
+#usr/lib/perl5/5.8.5/unicore/lib/SpacePer.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Syriac.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Tagalog.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Tagbanwa.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Tamil.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Telugu.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Terminal.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Thaana.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Thai.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Tibetan.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Title.pl
+#usr/lib/perl5/5.8.5/unicore/lib/UnifiedI.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Upper.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Uppercas.pl
+#usr/lib/perl5/5.8.5/unicore/lib/WhiteSpa.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Word.pl
+#usr/lib/perl5/5.8.5/unicore/lib/XDigit.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Yi.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Z.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Zl.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Zp.pl
+#usr/lib/perl5/5.8.5/unicore/lib/Zs.pl
+#usr/lib/perl5/5.8.5/unicore/lib/_CanonDC.pl
+#usr/lib/perl5/5.8.5/unicore/lib/_CaseIgn.pl
+#usr/lib/perl5/5.8.5/unicore/lib/_CombAbo.pl
+#usr/lib/perl5/5.8.5/unicore/mktables
+#usr/lib/perl5/5.8.5/unicore/version
+usr/lib/perl5/5.8.5/utf8.pm
+usr/lib/perl5/5.8.5/utf8_heavy.pl
+usr/lib/perl5/5.8.5/validate.pl
+usr/lib/perl5/5.8.5/vars.pm
+usr/lib/perl5/5.8.5/vmsish.pm
+#usr/lib/perl5/5.8.5/warnings
+usr/lib/perl5/5.8.5/warnings.pm
+usr/lib/perl5/5.8.5/warnings/register.pm
+#usr/lib/perl5/site_perl
+#usr/lib/perl5/site_perl/5.8.5
+#usr/lib/perl5/site_perl/5.8.5/i386-linux
+#usr/share/man/man1/a2p.1
+#usr/share/man/man1/c2ph.1
+#usr/share/man/man1/dprofpp.1
+#usr/share/man/man1/enc2xs.1
+#usr/share/man/man1/find2perl.1
+#usr/share/man/man1/h2ph.1
+#usr/share/man/man1/h2xs.1
+#usr/share/man/man1/libnetcfg.1
+#usr/share/man/man1/perl.1
+#usr/share/man/man1/perl5004delta.1
+#usr/share/man/man1/perl5005delta.1
+#usr/share/man/man1/perl561delta.1
+#usr/share/man/man1/perl56delta.1
+#usr/share/man/man1/perl570delta.1
+#usr/share/man/man1/perl571delta.1
+#usr/share/man/man1/perl572delta.1
+#usr/share/man/man1/perlaix.1
+#usr/share/man/man1/perlamiga.1
+#usr/share/man/man1/perlapi.1
+#usr/share/man/man1/perlapio.1
+#usr/share/man/man1/perlapollo.1
+#usr/share/man/man1/perlbeos.1
+#usr/share/man/man1/perlbook.1
+#usr/share/man/man1/perlboot.1
+#usr/share/man/man1/perlbot.1
+#usr/share/man/man1/perlbs2000.1
+#usr/share/man/man1/perlbug.1
+#usr/share/man/man1/perlcall.1
+#usr/share/man/man1/perlcc.1
+#usr/share/man/man1/perlce.1
+#usr/share/man/man1/perlclib.1
+#usr/share/man/man1/perlcn.1
+#usr/share/man/man1/perlcompile.1
+#usr/share/man/man1/perlcygwin.1
+#usr/share/man/man1/perldata.1
+#usr/share/man/man1/perldbmfilter.1
+#usr/share/man/man1/perldebguts.1
+#usr/share/man/man1/perldebtut.1
+#usr/share/man/man1/perldebug.1
+#usr/share/man/man1/perldelta.1
+#usr/share/man/man1/perldgux.1
+#usr/share/man/man1/perldiag.1
+#usr/share/man/man1/perldoc.1
+#usr/share/man/man1/perldos.1
+#usr/share/man/man1/perldsc.1
+#usr/share/man/man1/perlebcdic.1
+#usr/share/man/man1/perlembed.1
+#usr/share/man/man1/perlepoc.1
+#usr/share/man/man1/perlfaq.1
+#usr/share/man/man1/perlfaq1.1
+#usr/share/man/man1/perlfaq2.1
+#usr/share/man/man1/perlfaq3.1
+#usr/share/man/man1/perlfaq4.1
+#usr/share/man/man1/perlfaq5.1
+#usr/share/man/man1/perlfaq6.1
+#usr/share/man/man1/perlfaq7.1
+#usr/share/man/man1/perlfaq8.1
+#usr/share/man/man1/perlfaq9.1
+#usr/share/man/man1/perlfilter.1
+#usr/share/man/man1/perlfork.1
+#usr/share/man/man1/perlform.1
+#usr/share/man/man1/perlfreebsd.1
+#usr/share/man/man1/perlfunc.1
+#usr/share/man/man1/perlguts.1
+#usr/share/man/man1/perlhack.1
+#usr/share/man/man1/perlhist.1
+#usr/share/man/man1/perlhpux.1
+#usr/share/man/man1/perlhurd.1
+#usr/share/man/man1/perlintern.1
+#usr/share/man/man1/perlintro.1
+#usr/share/man/man1/perliol.1
+#usr/share/man/man1/perlipc.1
+#usr/share/man/man1/perlirix.1
+#usr/share/man/man1/perlivp.1
+#usr/share/man/man1/perljp.1
+#usr/share/man/man1/perlko.1
+#usr/share/man/man1/perllexwarn.1
+#usr/share/man/man1/perllocale.1
+#usr/share/man/man1/perllol.1
+#usr/share/man/man1/perlmachten.1
+#usr/share/man/man1/perlmacos.1
+#usr/share/man/man1/perlmint.1
+#usr/share/man/man1/perlmod.1
+#usr/share/man/man1/perlmodinstall.1
+#usr/share/man/man1/perlmodlib.1
+#usr/share/man/man1/perlmodstyle.1
+#usr/share/man/man1/perlmpeix.1
+#usr/share/man/man1/perlnetware.1
+#usr/share/man/man1/perlnewmod.1
+#usr/share/man/man1/perlnumber.1
+#usr/share/man/man1/perlobj.1
+#usr/share/man/man1/perlop.1
+#usr/share/man/man1/perlopentut.1
+#usr/share/man/man1/perlos2.1
+#usr/share/man/man1/perlos390.1
+#usr/share/man/man1/perlothrtut.1
+#usr/share/man/man1/perlpacktut.1
+#usr/share/man/man1/perlplan9.1
+#usr/share/man/man1/perlpod.1
+#usr/share/man/man1/perlpodspec.1
+#usr/share/man/man1/perlport.1
+#usr/share/man/man1/perlqnx.1
+#usr/share/man/man1/perlre.1
+#usr/share/man/man1/perlref.1
+#usr/share/man/man1/perlreftut.1
+#usr/share/man/man1/perlrequick.1
+#usr/share/man/man1/perlretut.1
+#usr/share/man/man1/perlrun.1
+#usr/share/man/man1/perlsec.1
+#usr/share/man/man1/perlsolaris.1
+#usr/share/man/man1/perlstyle.1
+#usr/share/man/man1/perlsub.1
+#usr/share/man/man1/perlsyn.1
+#usr/share/man/man1/perlthrtut.1
+#usr/share/man/man1/perltie.1
+#usr/share/man/man1/perltoc.1
+#usr/share/man/man1/perltodo.1
+#usr/share/man/man1/perltooc.1
+#usr/share/man/man1/perltoot.1
+#usr/share/man/man1/perltrap.1
+#usr/share/man/man1/perltru64.1
+#usr/share/man/man1/perltw.1
+#usr/share/man/man1/perlunicode.1
+#usr/share/man/man1/perluniintro.1
+#usr/share/man/man1/perlutil.1
+#usr/share/man/man1/perluts.1
+#usr/share/man/man1/perlvar.1
+#usr/share/man/man1/perlvmesa.1
+#usr/share/man/man1/perlvms.1
+#usr/share/man/man1/perlvos.1
+#usr/share/man/man1/perlwin32.1
+#usr/share/man/man1/perlxs.1
+#usr/share/man/man1/perlxstut.1
+#usr/share/man/man1/piconv.1
+#usr/share/man/man1/pl2pm.1
+#usr/share/man/man1/pod2html.1
+#usr/share/man/man1/pod2latex.1
+#usr/share/man/man1/pod2man.1
+#usr/share/man/man1/pod2text.1
+#usr/share/man/man1/pod2usage.1
+#usr/share/man/man1/podchecker.1
+#usr/share/man/man1/podselect.1
+#usr/share/man/man1/psed.1
+#usr/share/man/man1/pstruct.1
+#usr/share/man/man1/s2p.1
+#usr/share/man/man1/splain.1
+#usr/share/man/man1/xsubpp.1
+#usr/share/man/man3/AnyDBM_File.3
+#usr/share/man/man3/Attribute::Handlers.3
+#usr/share/man/man3/Attribute::Handlers::demo::Demo.3
+#usr/share/man/man3/Attribute::Handlers::demo::Descriptions.3
+#usr/share/man/man3/Attribute::Handlers::demo::MyClass.3
+#usr/share/man/man3/AutoLoader.3
+#usr/share/man/man3/AutoSplit.3
+#usr/share/man/man3/B.3
+#usr/share/man/man3/B::Asmdata.3
+#usr/share/man/man3/B::Assembler.3
+#usr/share/man/man3/B::Bblock.3
+#usr/share/man/man3/B::Bytecode.3
+#usr/share/man/man3/B::C.3
+#usr/share/man/man3/B::CC.3
+#usr/share/man/man3/B::Concise.3
+#usr/share/man/man3/B::Debug.3
+#usr/share/man/man3/B::Deparse.3
+#usr/share/man/man3/B::Disassembler.3
+#usr/share/man/man3/B::Lint.3
+#usr/share/man/man3/B::Showlex.3
+#usr/share/man/man3/B::Stackobj.3
+#usr/share/man/man3/B::Stash.3
+#usr/share/man/man3/B::Terse.3
+#usr/share/man/man3/B::Xref.3
+#usr/share/man/man3/Benchmark.3
+#usr/share/man/man3/ByteLoader.3
+#usr/share/man/man3/CGI.3
+#usr/share/man/man3/CGI::Apache.3
+#usr/share/man/man3/CGI::Carp.3
+#usr/share/man/man3/CGI::Cookie.3
+#usr/share/man/man3/CGI::Fast.3
+#usr/share/man/man3/CGI::Pretty.3
+#usr/share/man/man3/CGI::Push.3
+#usr/share/man/man3/CGI::Switch.3
+#usr/share/man/man3/CGI::Util.3
+#usr/share/man/man3/CPAN.3
+#usr/share/man/man3/CPAN::FirstTime.3
+#usr/share/man/man3/CPAN::Nox.3
+#usr/share/man/man3/Carp.3
+#usr/share/man/man3/Carp::Heavy.3
+#usr/share/man/man3/Class::ISA.3
+#usr/share/man/man3/Class::Struct.3
+#usr/share/man/man3/Config.3
+#usr/share/man/man3/Cwd.3
+#usr/share/man/man3/DB.3
+#usr/share/man/man3/Data::Dumper.3
+#usr/share/man/man3/Devel::DProf.3
+#usr/share/man/man3/Devel::PPPort.3
+#usr/share/man/man3/Devel::Peek.3
+#usr/share/man/man3/Devel::SelfStubber.3
+#usr/share/man/man3/Digest.3
+#usr/share/man/man3/Digest::MD5.3
+#usr/share/man/man3/DirHandle.3
+#usr/share/man/man3/Dumpvalue.3
+#usr/share/man/man3/DynaLoader.3
+#usr/share/man/man3/Encode.3
+#usr/share/man/man3/Encode::Alias.3
+#usr/share/man/man3/Encode::Byte.3
+#usr/share/man/man3/Encode::CJKConstants.3
+#usr/share/man/man3/Encode::CN.3
+#usr/share/man/man3/Encode::CN::HZ.3
+#usr/share/man/man3/Encode::Config.3
+#usr/share/man/man3/Encode::EBCDIC.3
+#usr/share/man/man3/Encode::Encoder.3
+#usr/share/man/man3/Encode::Encoding.3
+#usr/share/man/man3/Encode::Guess.3
+#usr/share/man/man3/Encode::JP.3
+#usr/share/man/man3/Encode::JP::H2Z.3
+#usr/share/man/man3/Encode::JP::JIS7.3
+#usr/share/man/man3/Encode::KR.3
+#usr/share/man/man3/Encode::KR::2022_KR.3
+#usr/share/man/man3/Encode::MIME::Header.3
+#usr/share/man/man3/Encode::PerlIO.3
+#usr/share/man/man3/Encode::Supported.3
+#usr/share/man/man3/Encode::Symbol.3
+#usr/share/man/man3/Encode::TW.3
+#usr/share/man/man3/Encode::Unicode.3
+#usr/share/man/man3/English.3
+#usr/share/man/man3/Env.3
+#usr/share/man/man3/Errno.3
+#usr/share/man/man3/Exporter.3
+#usr/share/man/man3/Exporter::Heavy.3
+#usr/share/man/man3/ExtUtils::Command.3
+#usr/share/man/man3/ExtUtils::Command::MM.3
+#usr/share/man/man3/ExtUtils::Constant.3
+#usr/share/man/man3/ExtUtils::Embed.3
+#usr/share/man/man3/ExtUtils::Install.3
+#usr/share/man/man3/ExtUtils::Installed.3
+#usr/share/man/man3/ExtUtils::Liblist.3
+#usr/share/man/man3/ExtUtils::Liblist::Kid.3
+#usr/share/man/man3/ExtUtils::MM.3
+#usr/share/man/man3/ExtUtils::MM_Any.3
+#usr/share/man/man3/ExtUtils::MM_BeOS.3
+#usr/share/man/man3/ExtUtils::MM_Cygwin.3
+#usr/share/man/man3/ExtUtils::MM_DOS.3
+#usr/share/man/man3/ExtUtils::MM_MacOS.3
+#usr/share/man/man3/ExtUtils::MM_NW5.3
+#usr/share/man/man3/ExtUtils::MM_OS2.3
+#usr/share/man/man3/ExtUtils::MM_UWIN.3
+#usr/share/man/man3/ExtUtils::MM_Unix.3
+#usr/share/man/man3/ExtUtils::MM_VMS.3
+#usr/share/man/man3/ExtUtils::MM_Win32.3
+#usr/share/man/man3/ExtUtils::MM_Win95.3
+#usr/share/man/man3/ExtUtils::MY.3
+#usr/share/man/man3/ExtUtils::MakeMaker.3
+#usr/share/man/man3/ExtUtils::Manifest.3
+#usr/share/man/man3/ExtUtils::Miniperl.3
+#usr/share/man/man3/ExtUtils::Mkbootstrap.3
+#usr/share/man/man3/ExtUtils::Mksymlists.3
+#usr/share/man/man3/ExtUtils::Packlist.3
+#usr/share/man/man3/ExtUtils::testlib.3
+#usr/share/man/man3/Fatal.3
+#usr/share/man/man3/Fcntl.3
+#usr/share/man/man3/File::Basename.3
+#usr/share/man/man3/File::CheckTree.3
+#usr/share/man/man3/File::Compare.3
+#usr/share/man/man3/File::Copy.3
+#usr/share/man/man3/File::DosGlob.3
+#usr/share/man/man3/File::Find.3
+#usr/share/man/man3/File::Glob.3
+#usr/share/man/man3/File::Path.3
+#usr/share/man/man3/File::Spec.3
+#usr/share/man/man3/File::Spec::Cygwin.3
+#usr/share/man/man3/File::Spec::Epoc.3
+#usr/share/man/man3/File::Spec::Functions.3
+#usr/share/man/man3/File::Spec::Mac.3
+#usr/share/man/man3/File::Spec::OS2.3
+#usr/share/man/man3/File::Spec::Unix.3
+#usr/share/man/man3/File::Spec::VMS.3
+#usr/share/man/man3/File::Spec::Win32.3
+#usr/share/man/man3/File::Temp.3
+#usr/share/man/man3/File::stat.3
+#usr/share/man/man3/FileCache.3
+#usr/share/man/man3/FileHandle.3
+#usr/share/man/man3/Filter::Simple.3
+#usr/share/man/man3/Filter::Util::Call.3
+#usr/share/man/man3/FindBin.3
+#usr/share/man/man3/Getopt::Long.3
+#usr/share/man/man3/Getopt::Std.3
+#usr/share/man/man3/Hash::Util.3
+#usr/share/man/man3/I18N::Collate.3
+#usr/share/man/man3/I18N::LangTags.3
+#usr/share/man/man3/I18N::LangTags::List.3
+#usr/share/man/man3/I18N::Langinfo.3
+#usr/share/man/man3/IO.3
+#usr/share/man/man3/IO::Dir.3
+#usr/share/man/man3/IO::File.3
+#usr/share/man/man3/IO::Handle.3
+#usr/share/man/man3/IO::Pipe.3
+#usr/share/man/man3/IO::Poll.3
+#usr/share/man/man3/IO::Seekable.3
+#usr/share/man/man3/IO::Select.3
+#usr/share/man/man3/IO::Socket.3
+#usr/share/man/man3/IO::Socket::INET.3
+#usr/share/man/man3/IO::Socket::UNIX.3
+#usr/share/man/man3/IPC::Msg.3
+#usr/share/man/man3/IPC::Open2.3
+#usr/share/man/man3/IPC::Open3.3
+#usr/share/man/man3/IPC::Semaphore.3
+#usr/share/man/man3/IPC::SysV.3
+#usr/share/man/man3/List::Util.3
+#usr/share/man/man3/Locale::Constants.3
+#usr/share/man/man3/Locale::Country.3
+#usr/share/man/man3/Locale::Currency.3
+#usr/share/man/man3/Locale::Language.3
+#usr/share/man/man3/Locale::Maketext.3
+#usr/share/man/man3/Locale::Maketext::TPJ13.3
+#usr/share/man/man3/Locale::Script.3
+#usr/share/man/man3/MIME::Base64.3
+#usr/share/man/man3/MIME::QuotedPrint.3
+#usr/share/man/man3/Math::BigFloat.3
+#usr/share/man/man3/Math::BigFloat::Trace.3
+#usr/share/man/man3/Math::BigInt.3
+#usr/share/man/man3/Math::BigInt::Calc.3
+#usr/share/man/man3/Math::BigInt::Trace.3
+#usr/share/man/man3/Math::BigRat.3
+#usr/share/man/man3/Math::Complex.3
+#usr/share/man/man3/Math::Trig.3
+#usr/share/man/man3/Memoize.3
+#usr/share/man/man3/Memoize::AnyDBM_File.3
+#usr/share/man/man3/Memoize::Expire.3
+#usr/share/man/man3/Memoize::ExpireFile.3
+#usr/share/man/man3/Memoize::ExpireTest.3
+#usr/share/man/man3/Memoize::NDBM_File.3
+#usr/share/man/man3/Memoize::SDBM_File.3
+#usr/share/man/man3/Memoize::Storable.3
+#usr/share/man/man3/NEXT.3
+#usr/share/man/man3/Net::Cmd.3
+#usr/share/man/man3/Net::Config.3
+#usr/share/man/man3/Net::Domain.3
+#usr/share/man/man3/Net::FTP.3
+#usr/share/man/man3/Net::FTP::A.3
+#usr/share/man/man3/Net::FTP::E.3
+#usr/share/man/man3/Net::FTP::I.3
+#usr/share/man/man3/Net::FTP::L.3
+#usr/share/man/man3/Net::FTP::dataconn.3
+#usr/share/man/man3/Net::NNTP.3
+#usr/share/man/man3/Net::Netrc.3
+#usr/share/man/man3/Net::POP3.3
+#usr/share/man/man3/Net::Ping.3
+#usr/share/man/man3/Net::SMTP.3
+#usr/share/man/man3/Net::Time.3
+#usr/share/man/man3/Net::hostent.3
+#usr/share/man/man3/Net::libnetFAQ.3
+#usr/share/man/man3/Net::netent.3
+#usr/share/man/man3/Net::protoent.3
+#usr/share/man/man3/Net::servent.3
+#usr/share/man/man3/O.3
+#usr/share/man/man3/Opcode.3
+#usr/share/man/man3/POSIX.3
+#usr/share/man/man3/PerlIO.3
+#usr/share/man/man3/PerlIO::encoding.3
+#usr/share/man/man3/PerlIO::scalar.3
+#usr/share/man/man3/PerlIO::via.3
+#usr/share/man/man3/PerlIO::via::QuotedPrint.3
+#usr/share/man/man3/Pod::Checker.3
+#usr/share/man/man3/Pod::Find.3
+#usr/share/man/man3/Pod::Html.3
+#usr/share/man/man3/Pod::InputObjects.3
+#usr/share/man/man3/Pod::LaTeX.3
+#usr/share/man/man3/Pod::Man.3
+#usr/share/man/man3/Pod::ParseLink.3
+#usr/share/man/man3/Pod::ParseUtils.3
+#usr/share/man/man3/Pod::Parser.3
+#usr/share/man/man3/Pod::Plainer.3
+#usr/share/man/man3/Pod::Select.3
+#usr/share/man/man3/Pod::Text.3
+#usr/share/man/man3/Pod::Text::Color.3
+#usr/share/man/man3/Pod::Text::Overstrike.3
+#usr/share/man/man3/Pod::Text::Termcap.3
+#usr/share/man/man3/Pod::Usage.3
+#usr/share/man/man3/SDBM_File.3
+#usr/share/man/man3/Safe.3
+#usr/share/man/man3/Scalar::Util.3
+#usr/share/man/man3/Search::Dict.3
+#usr/share/man/man3/SelectSaver.3
+#usr/share/man/man3/SelfLoader.3
+#usr/share/man/man3/Shell.3
+#usr/share/man/man3/Socket.3
+#usr/share/man/man3/Storable.3
+#usr/share/man/man3/Switch.3
+#usr/share/man/man3/Symbol.3
+#usr/share/man/man3/Sys::Hostname.3
+#usr/share/man/man3/Sys::Syslog.3
+#usr/share/man/man3/Term::ANSIColor.3
+#usr/share/man/man3/Term::Cap.3
+#usr/share/man/man3/Term::Complete.3
+#usr/share/man/man3/Term::ReadLine.3
+#usr/share/man/man3/Test.3
+#usr/share/man/man3/Test::Builder.3
+#usr/share/man/man3/Test::Harness.3
+#usr/share/man/man3/Test::Harness::Assert.3
+#usr/share/man/man3/Test::Harness::Iterator.3
+#usr/share/man/man3/Test::Harness::Straps.3
+#usr/share/man/man3/Test::More.3
+#usr/share/man/man3/Test::Simple.3
+#usr/share/man/man3/Test::Tutorial.3
+#usr/share/man/man3/Text::Abbrev.3
+#usr/share/man/man3/Text::Balanced.3
+#usr/share/man/man3/Text::ParseWords.3
+#usr/share/man/man3/Text::Soundex.3
+#usr/share/man/man3/Text::Tabs.3
+#usr/share/man/man3/Text::Wrap.3
+#usr/share/man/man3/Thread.3
+#usr/share/man/man3/Thread::Queue.3
+#usr/share/man/man3/Thread::Semaphore.3
+#usr/share/man/man3/Tie::Array.3
+#usr/share/man/man3/Tie::File.3
+#usr/share/man/man3/Tie::Handle.3
+#usr/share/man/man3/Tie::Hash.3
+#usr/share/man/man3/Tie::Memoize.3
+#usr/share/man/man3/Tie::RefHash.3
+#usr/share/man/man3/Tie::Scalar.3
+#usr/share/man/man3/Tie::SubstrHash.3
+#usr/share/man/man3/Time::HiRes.3
+#usr/share/man/man3/Time::Local.3
+#usr/share/man/man3/Time::gmtime.3
+#usr/share/man/man3/Time::localtime.3
+#usr/share/man/man3/Time::tm.3
+#usr/share/man/man3/UNIVERSAL.3
+#usr/share/man/man3/Unicode::Collate.3
+#usr/share/man/man3/Unicode::Normalize.3
+#usr/share/man/man3/Unicode::UCD.3
+#usr/share/man/man3/User::grent.3
+#usr/share/man/man3/User::pwent.3
+#usr/share/man/man3/Win32.3
+#usr/share/man/man3/XS::APItest.3
+#usr/share/man/man3/XS::Typemap.3
+#usr/share/man/man3/XSLoader.3
+#usr/share/man/man3/attributes.3
+#usr/share/man/man3/attrs.3
+#usr/share/man/man3/autouse.3
+#usr/share/man/man3/base.3
+#usr/share/man/man3/bigint.3
+#usr/share/man/man3/bignum.3
+#usr/share/man/man3/bigrat.3
+#usr/share/man/man3/blib.3
+#usr/share/man/man3/bytes.3
+#usr/share/man/man3/charnames.3
+#usr/share/man/man3/constant.3
+#usr/share/man/man3/diagnostics.3
+#usr/share/man/man3/encoding.3
+#usr/share/man/man3/fields.3
+#usr/share/man/man3/filetest.3
+#usr/share/man/man3/if.3
+#usr/share/man/man3/integer.3
+#usr/share/man/man3/less.3
+#usr/share/man/man3/lib.3
+#usr/share/man/man3/locale.3
+#usr/share/man/man3/open.3
+#usr/share/man/man3/ops.3
+#usr/share/man/man3/overload.3
+#usr/share/man/man3/re.3
+#usr/share/man/man3/sigtrap.3
+#usr/share/man/man3/sort.3
+#usr/share/man/man3/strict.3
+#usr/share/man/man3/subs.3
+#usr/share/man/man3/threads.3
+#usr/share/man/man3/threads::shared.3
+#usr/share/man/man3/utf8.3
+#usr/share/man/man3/vars.3
+#usr/share/man/man3/vmsish.3
+#usr/share/man/man3/warnings.3
+#usr/share/man/man3/warnings::register.3
+##
+## texinfo-4.7
+##
+#usr/bin/info
+#usr/bin/infokey
+#usr/bin/install-info
+#usr/bin/makeinfo
+#usr/bin/texi2dvi
+#usr/bin/texindex
+#usr/share/info/info-stnd.info
+#usr/share/info/info.info
+#usr/share/info/texinfo
+#usr/share/info/texinfo-1
+#usr/share/info/texinfo-2
+#usr/share/info/texinfo-3
+#usr/share/man/man1/info.1
+#usr/share/man/man1/install-info.1
+#usr/share/man/man1/makeinfo.1
+#usr/share/man/man1/texi2dvi.1
+#usr/share/man/man1/texindex.1
+#usr/share/man/man5/info.5
+#usr/share/man/man5/texinfo.5
+#usr/share/texinfo
+#usr/share/texinfo/texinfo.dtd
+#usr/share/texinfo/texinfo.xsl
+##
+## autoconf-2.59
+##
+#usr/bin/autoconf
+#usr/bin/autoheader
+#usr/bin/autom4te
+#usr/bin/autoreconf
+#usr/bin/autoscan
+#usr/bin/autoupdate
+#usr/bin/ifnames
+#usr/share/autoconf
+#usr/share/autoconf/Autom4te
+#usr/share/autoconf/Autom4te/General.pm
+#usr/share/autoconf/Autom4te/Struct.pm
+#usr/share/autoconf/Autom4te/XFile.pm
+#usr/share/autoconf/INSTALL
+#usr/share/autoconf/autoconf
+#usr/share/autoconf/autoconf/autoconf.m4
+#usr/share/autoconf/autoconf/autoconf.m4f
+#usr/share/autoconf/autoconf/autoheader.m4
+#usr/share/autoconf/autoconf/autoscan.m4
+#usr/share/autoconf/autoconf/autotest.m4
+#usr/share/autoconf/autoconf/autoupdate.m4
+#usr/share/autoconf/autoconf/c.m4
+#usr/share/autoconf/autoconf/fortran.m4
+#usr/share/autoconf/autoconf/functions.m4
+#usr/share/autoconf/autoconf/general.m4
+#usr/share/autoconf/autoconf/headers.m4
+#usr/share/autoconf/autoconf/lang.m4
+#usr/share/autoconf/autoconf/libs.m4
+#usr/share/autoconf/autoconf/oldnames.m4
+#usr/share/autoconf/autoconf/programs.m4
+#usr/share/autoconf/autoconf/specific.m4
+#usr/share/autoconf/autoconf/status.m4
+#usr/share/autoconf/autoconf/types.m4
+#usr/share/autoconf/autom4te.cfg
+#usr/share/autoconf/autoscan
+#usr/share/autoconf/autoscan/autoscan.list
+#usr/share/autoconf/autotest
+#usr/share/autoconf/autotest/autotest.m4
+#usr/share/autoconf/autotest/autotest.m4f
+#usr/share/autoconf/autotest/general.m4
+#usr/share/autoconf/m4sugar
+#usr/share/autoconf/m4sugar/m4sh.m4
+#usr/share/autoconf/m4sugar/m4sh.m4f
+#usr/share/autoconf/m4sugar/m4sugar.m4
+#usr/share/autoconf/m4sugar/m4sugar.m4f
+#usr/share/autoconf/m4sugar/version.m4
+#usr/share/info/autoconf.info
+#usr/share/man/man1/autoconf.1
+#usr/share/man/man1/autoheader.1
+#usr/share/man/man1/autom4te.1
+#usr/share/man/man1/autoreconf.1
+#usr/share/man/man1/autoscan.1
+#usr/share/man/man1/autoupdate.1
+#usr/share/man/man1/config.guess.1
+#usr/share/man/man1/config.sub.1
+#usr/share/man/man1/ifnames.1
+##
+## automake-1.8.4
+##
+#usr/bin/aclocal
+#usr/bin/aclocal-1.8
+#usr/bin/automake
+#usr/bin/automake-1.8
+#usr/share/aclocal-1.8
+#usr/share/aclocal-1.8/amversion.m4
+#usr/share/aclocal-1.8/as.m4
+#usr/share/aclocal-1.8/auxdir.m4
+#usr/share/aclocal-1.8/ccstdc.m4
+#usr/share/aclocal-1.8/cond.m4
+#usr/share/aclocal-1.8/depend.m4
+#usr/share/aclocal-1.8/depout.m4
+#usr/share/aclocal-1.8/dmalloc.m4
+#usr/share/aclocal-1.8/gcj.m4
+#usr/share/aclocal-1.8/header.m4
+#usr/share/aclocal-1.8/init.m4
+#usr/share/aclocal-1.8/install-sh.m4
+#usr/share/aclocal-1.8/lead-dot.m4
+#usr/share/aclocal-1.8/lex.m4
+#usr/share/aclocal-1.8/lispdir.m4
+#usr/share/aclocal-1.8/maintainer.m4
+#usr/share/aclocal-1.8/make.m4
+#usr/share/aclocal-1.8/minuso.m4
+#usr/share/aclocal-1.8/missing.m4
+#usr/share/aclocal-1.8/multi.m4
+#usr/share/aclocal-1.8/obsol-gt.m4
+#usr/share/aclocal-1.8/obsol-lt.m4
+#usr/share/aclocal-1.8/obsolete.m4
+#usr/share/aclocal-1.8/options.m4
+#usr/share/aclocal-1.8/protos.m4
+#usr/share/aclocal-1.8/python.m4
+#usr/share/aclocal-1.8/regex.m4
+#usr/share/aclocal-1.8/runlog.m4
+#usr/share/aclocal-1.8/sanity.m4
+#usr/share/aclocal-1.8/strip.m4
+#usr/share/automake
+#usr/share/automake-1.8
+#usr/share/automake-1.8/Automake
+#usr/share/automake-1.8/Automake/Channels.pm
+#usr/share/automake-1.8/Automake/General.pm
+#usr/share/automake-1.8/Automake/Struct.pm
+#usr/share/automake-1.8/Automake/XFile.pm
+#usr/share/automake-1.8/COPYING
+#usr/share/automake-1.8/INSTALL
+#usr/share/automake-1.8/acinstall
+#usr/share/automake-1.8/am
+#usr/share/automake-1.8/am/ansi2knr.am
+#usr/share/automake-1.8/am/check.am
+#usr/share/automake-1.8/am/clean-hdr.am
+#usr/share/automake-1.8/am/clean.am
+#usr/share/automake-1.8/am/compile.am
+#usr/share/automake-1.8/am/configure.am
+#usr/share/automake-1.8/am/data.am
+#usr/share/automake-1.8/am/dejagnu.am
+#usr/share/automake-1.8/am/depend.am
+#usr/share/automake-1.8/am/depend2.am
+#usr/share/automake-1.8/am/distdir.am
+#usr/share/automake-1.8/am/footer.am
+#usr/share/automake-1.8/am/header-vars.am
+#usr/share/automake-1.8/am/header.am
+#usr/share/automake-1.8/am/install.am
+#usr/share/automake-1.8/am/java.am
+#usr/share/automake-1.8/am/lang-compile.am
+#usr/share/automake-1.8/am/lex.am
+#usr/share/automake-1.8/am/library.am
+#usr/share/automake-1.8/am/libs.am
+#usr/share/automake-1.8/am/libtool.am
+#usr/share/automake-1.8/am/lisp.am
+#usr/share/automake-1.8/am/ltlib.am
+#usr/share/automake-1.8/am/ltlibrary.am
+#usr/share/automake-1.8/am/mans-vars.am
+#usr/share/automake-1.8/am/mans.am
+#usr/share/automake-1.8/am/multilib.am
+#usr/share/automake-1.8/am/program.am
+#usr/share/automake-1.8/am/progs.am
+#usr/share/automake-1.8/am/python.am
+#usr/share/automake-1.8/am/remake-hdr.am
+#usr/share/automake-1.8/am/scripts.am
+#usr/share/automake-1.8/am/subdirs.am
+#usr/share/automake-1.8/am/tags.am
+#usr/share/automake-1.8/am/texi-vers.am
+#usr/share/automake-1.8/am/texibuild.am
+#usr/share/automake-1.8/am/texinfos.am
+#usr/share/automake-1.8/am/yacc.am
+#usr/share/automake-1.8/ansi2knr.1
+#usr/share/automake-1.8/ansi2knr.c
+#usr/share/automake-1.8/compile
+#usr/share/automake-1.8/config.guess
+#usr/share/automake-1.8/config.sub
+#usr/share/automake-1.8/depcomp
+#usr/share/automake-1.8/elisp-comp
+#usr/share/automake-1.8/install-sh
+#usr/share/automake-1.8/mdate-sh
+#usr/share/automake-1.8/missing
+#usr/share/automake-1.8/mkinstalldirs
+#usr/share/automake-1.8/py-compile
+#usr/share/automake-1.8/texinfo.tex
+#usr/share/automake-1.8/ylwrap
+#usr/share/info/automake.info
+##
+## bash-2.05b
+##
+bin/sh
+bin/bash
+#bin/bashbug
+#usr/share/info/bash.info
+#usr/share/man/man1/bash.1
+#usr/share/man/man1/bashbug.1
+##
+## file-4.16
+##
+#usr/bin/file
+#usr/include/magic.h
+#usr/lib/libmagic.a
+#usr/lib/libmagic.la
+#usr/lib/libmagic.so
+#usr/lib/libmagic.so.1
+#usr/lib/libmagic.so.1.0.0
+#usr/share/file
+#usr/share/file/magic
+#usr/share/file/magic.mgc
+#usr/share/file/magic.mime
+#usr/share/file/magic.mime.mgc
+#usr/share/man/man1/file.1
+#usr/share/man/man3/libmagic.3
+#usr/share/man/man4/magic.4
+##
+## libtool-1.5.6
+##
+#usr/bin/libtool
+#usr/bin/libtoolize
+#usr/include/ltdl.h
+#usr/lib/libltdl.a
+#usr/lib/libltdl.la
+#usr/lib/libltdl.so
+#usr/lib/libltdl.so.3
+#usr/lib/libltdl.so.3.1.0
+#usr/share/aclocal/libtool.m4
+#usr/share/aclocal/ltdl.m4
+#usr/share/info/libtool.info
+#usr/share/info/libtool.info-1
+#usr/share/info/libtool.info-2
+#usr/share/info/libtool.info-3
+#usr/share/info/libtool.info-4
+#usr/share/info/libtool.info-5
+#usr/share/libtool
+#usr/share/libtool/config.guess
+#usr/share/libtool/config.sub
+#usr/share/libtool/libltdl
+#usr/share/libtool/libltdl/COPYING.LIB
+#usr/share/libtool/libltdl/Makefile.am
+#usr/share/libtool/libltdl/Makefile.in
+#usr/share/libtool/libltdl/README
+#usr/share/libtool/libltdl/acinclude.m4
+#usr/share/libtool/libltdl/aclocal.m4
+#usr/share/libtool/libltdl/config-h.in
+#usr/share/libtool/libltdl/config.guess
+#usr/share/libtool/libltdl/config.sub
+#usr/share/libtool/libltdl/configure
+#usr/share/libtool/libltdl/configure.ac
+#usr/share/libtool/libltdl/install-sh
+#usr/share/libtool/libltdl/ltdl.c
+#usr/share/libtool/libltdl/ltdl.h
+#usr/share/libtool/libltdl/ltmain.sh
+#usr/share/libtool/libltdl/missing
+#usr/share/libtool/libltdl/mkinstalldirs
+#usr/share/libtool/ltmain.sh
+##
+## bzip2-1.0.3
+##
+bin/bunzip2
+bin/bzcat
+bin/bzip2
+#bin/bzip2recover
+#bin/bzless
+#bin/bzmore
+lib/libbz2.so.1.0
+lib/libbz2.so.1.0.3
+#usr/bin/bzcmp
+#usr/bin/bzdiff
+#usr/bin/bzegrep
+#usr/bin/bzfgrep
+#usr/bin/bzgrep
+#usr/include/bzlib.h
+#usr/lib/libbz2.a
+usr/lib/libbz2.so
+#usr/share/man/man1/bzcmp.1
+#usr/share/man/man1/bzdiff.1
+#usr/share/man/man1/bzegrep.1
+#usr/share/man/man1/bzfgrep.1
+#usr/share/man/man1/bzgrep.1
+#usr/share/man/man1/bzip2.1
+#usr/share/man/man1/bzless.1
+#usr/share/man/man1/bzmore.1
+##
+## diffutils-2.8.1
+##
+usr/bin/cmp
+usr/bin/diff
+#usr/bin/diff3
+#usr/bin/sdiff
+#usr/share/info/diff.info
+#usr/share/man/man1/cmp.1
+#usr/share/man/man1/diff3.1
+#usr/share/man/man1/sdiff.1
+##
+## ed-0.2
+##
+#bin/ed
+#bin/red
+#usr/share/info/ed.info
+#usr/share/man/man1/ed.1
+#usr/share/man/man1/red.1
+##
+## kbd-1.12
+##
+bin/loadkeys
+usr/bin/chvt
+usr/bin/deallocvt
+usr/bin/dumpkeys
+usr/bin/fgconsole
+usr/bin/getkeycodes
+usr/bin/getunimap
+usr/bin/kbd_mode
+#usr/bin/kbdrate
+usr/bin/loadunimap
+#usr/bin/mapscrn
+#usr/bin/openvt
+#usr/bin/psfaddtable
+#usr/bin/psfgettable
+#usr/bin/psfstriptable
+#usr/bin/psfxtable
+#usr/bin/resizecons
+usr/bin/setfont
+usr/bin/setkeycodes
+usr/bin/setleds
+usr/bin/setlogcons
+usr/bin/setmetamode
+#usr/bin/setvesablank
+usr/bin/showconsolefont
+usr/bin/showkey
+usr/bin/unicode_start
+usr/bin/unicode_stop
+#usr/share/kbd
+#usr/share/kbd/consolefonts
+#usr/share/kbd/consolefonts/161.cp.gz
+#usr/share/kbd/consolefonts/162.cp.gz
+#usr/share/kbd/consolefonts/163.cp.gz
+#usr/share/kbd/consolefonts/164.cp.gz
+#usr/share/kbd/consolefonts/165.cp.gz
+#usr/share/kbd/consolefonts/737.cp.gz
+#usr/share/kbd/consolefonts/880.cp.gz
+#usr/share/kbd/consolefonts/928.cp.gz
+#usr/share/kbd/consolefonts/972.cp.gz
+#usr/share/kbd/consolefonts/Agafari-12.psfu.gz
+#usr/share/kbd/consolefonts/Agafari-14.psfu.gz
+#usr/share/kbd/consolefonts/Agafari-16.psfu.gz
+#usr/share/kbd/consolefonts/Cyr_a8x14.psfu.gz
+#usr/share/kbd/consolefonts/Cyr_a8x16.psfu.gz
+#usr/share/kbd/consolefonts/Cyr_a8x8.psfu.gz
+#usr/share/kbd/consolefonts/ERRORS.gz
+#usr/share/kbd/consolefonts/Goha-12.psfu.gz
+#usr/share/kbd/consolefonts/Goha-14.psfu.gz
+#usr/share/kbd/consolefonts/Goha-16.psfu.gz
+#usr/share/kbd/consolefonts/GohaClassic-12.psfu.gz
+#usr/share/kbd/consolefonts/GohaClassic-14.psfu.gz
+#usr/share/kbd/consolefonts/GohaClassic-16.psfu.gz
+#usr/share/kbd/consolefonts/LatArCyrHeb-08.psfu.gz
+#usr/share/kbd/consolefonts/LatArCyrHeb-14.psfu.gz
+#usr/share/kbd/consolefonts/LatArCyrHeb-16+.psfu.gz
+#usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz
+#usr/share/kbd/consolefonts/LatArCyrHeb-19.psfu.gz
+#usr/share/kbd/consolefonts/Mik_8x16.gz
+#usr/share/kbd/consolefonts/README.12x22
+#usr/share/kbd/consolefonts/README.Arabic
+#usr/share/kbd/consolefonts/README.Cyrillic
+#usr/share/kbd/consolefonts/README.Ethiopic
+#usr/share/kbd/consolefonts/README.Greek
+#usr/share/kbd/consolefonts/README.Hebrew
+#usr/share/kbd/consolefonts/README.cp1250
+#usr/share/kbd/consolefonts/README.cybercafe
+#usr/share/kbd/consolefonts/README.drdos
+#usr/share/kbd/consolefonts/README.lat0
+#usr/share/kbd/consolefonts/README.lat7
+#usr/share/kbd/consolefonts/README.lat9
+#usr/share/kbd/consolefonts/README.psfu
+#usr/share/kbd/consolefonts/alt-8x14.gz
+#usr/share/kbd/consolefonts/alt-8x16.gz
+#usr/share/kbd/consolefonts/alt-8x8.gz
+#usr/share/kbd/consolefonts/altc-8x16.gz
+#usr/share/kbd/consolefonts/aply16.psf.gz
+#usr/share/kbd/consolefonts/arm8.fnt.gz
+#usr/share/kbd/consolefonts/cp1250.psfu.gz
+#usr/share/kbd/consolefonts/cp850-8x14.psfu.gz
+#usr/share/kbd/consolefonts/cp850-8x16.psfu.gz
+#usr/share/kbd/consolefonts/cp850-8x8.psfu.gz
+#usr/share/kbd/consolefonts/cp857.08.gz
+#usr/share/kbd/consolefonts/cp857.14.gz
+#usr/share/kbd/consolefonts/cp857.16.gz
+#usr/share/kbd/consolefonts/cp865-8x14.psfu.gz
+#usr/share/kbd/consolefonts/cp865-8x16.psfu.gz
+#usr/share/kbd/consolefonts/cp865-8x8.psfu.gz
+#usr/share/kbd/consolefonts/cp866-8x14.psf.gz
+#usr/share/kbd/consolefonts/cp866-8x16.psf.gz
+#usr/share/kbd/consolefonts/cp866-8x8.psf.gz
+#usr/share/kbd/consolefonts/cybercafe.fnt.gz
+#usr/share/kbd/consolefonts/cyr-sun16.psfu.gz
+#usr/share/kbd/consolefonts/default8x16.psfu.gz
+#usr/share/kbd/consolefonts/default8x9.psfu.gz
+#usr/share/kbd/consolefonts/drdos8x14.psfu.gz
+#usr/share/kbd/consolefonts/drdos8x16.psfu.gz
+#usr/share/kbd/consolefonts/drdos8x6.psfu.gz
+#usr/share/kbd/consolefonts/drdos8x8.psfu.gz
+#usr/share/kbd/consolefonts/gr737a-8x8.psfu.gz
+#usr/share/kbd/consolefonts/gr737a-9x14.psfu.gz
+#usr/share/kbd/consolefonts/gr737a-9x16.psfu.gz
+#usr/share/kbd/consolefonts/gr737b-8x11.psfu.gz
+#usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz
+#usr/share/kbd/consolefonts/gr737c-8x14.psfu.gz
+#usr/share/kbd/consolefonts/gr737c-8x16.psfu.gz
+#usr/share/kbd/consolefonts/gr737c-8x6.psfu.gz
+#usr/share/kbd/consolefonts/gr737c-8x7.psfu.gz
+#usr/share/kbd/consolefonts/gr737c-8x8.psfu.gz
+#usr/share/kbd/consolefonts/gr737d-8x16.psfu.gz
+#usr/share/kbd/consolefonts/gr928-8x16-thin.psfu.gz
+#usr/share/kbd/consolefonts/gr928-9x14.psfu.gz
+#usr/share/kbd/consolefonts/gr928-9x16.psfu.gz
+#usr/share/kbd/consolefonts/gr928a-8x14.psfu.gz
+#usr/share/kbd/consolefonts/gr928a-8x16.psfu.gz
+#usr/share/kbd/consolefonts/gr928b-8x14.psfu.gz
+#usr/share/kbd/consolefonts/gr928b-8x16.psfu.gz
+#usr/share/kbd/consolefonts/iso01-12x22.psfu.gz
+#usr/share/kbd/consolefonts/iso01.08.gz
+#usr/share/kbd/consolefonts/iso01.14.gz
+#usr/share/kbd/consolefonts/iso01.16.gz
+#usr/share/kbd/consolefonts/iso02-12x22.psfu.gz
+#usr/share/kbd/consolefonts/iso02.08.gz
+#usr/share/kbd/consolefonts/iso02.14.gz
+#usr/share/kbd/consolefonts/iso02.16.gz
+#usr/share/kbd/consolefonts/iso03.08.gz
+#usr/share/kbd/consolefonts/iso03.14.gz
+#usr/share/kbd/consolefonts/iso03.16.gz
+#usr/share/kbd/consolefonts/iso04.08.gz
+#usr/share/kbd/consolefonts/iso04.14.gz
+#usr/share/kbd/consolefonts/iso04.16.gz
+#usr/share/kbd/consolefonts/iso05.08.gz
+#usr/share/kbd/consolefonts/iso05.14.gz
+#usr/share/kbd/consolefonts/iso05.16.gz
+#usr/share/kbd/consolefonts/iso06.08.gz
+#usr/share/kbd/consolefonts/iso06.14.gz
+#usr/share/kbd/consolefonts/iso06.16.gz
+#usr/share/kbd/consolefonts/iso07.14.gz
+#usr/share/kbd/consolefonts/iso07.16.gz
+usr/share/kbd/consolefonts/iso07u-16.psfu.gz
+#usr/share/kbd/consolefonts/iso08.08.gz
+#usr/share/kbd/consolefonts/iso08.14.gz
+#usr/share/kbd/consolefonts/iso08.16.gz
+#usr/share/kbd/consolefonts/iso09.08.gz
+#usr/share/kbd/consolefonts/iso09.14.gz
+#usr/share/kbd/consolefonts/iso09.16.gz
+#usr/share/kbd/consolefonts/iso10.08.gz
+#usr/share/kbd/consolefonts/iso10.14.gz
+#usr/share/kbd/consolefonts/iso10.16.gz
+#usr/share/kbd/consolefonts/koi8-14.psf.gz
+#usr/share/kbd/consolefonts/koi8c-8x16.gz
+#usr/share/kbd/consolefonts/koi8r-8x14.gz
+#usr/share/kbd/consolefonts/koi8r-8x16.gz
+#usr/share/kbd/consolefonts/koi8r-8x8.gz
+#usr/share/kbd/consolefonts/koi8r.8x8.psfu.gz
+#usr/share/kbd/consolefonts/koi8u_8x14.psfu.gz
+#usr/share/kbd/consolefonts/koi8u_8x16.psfu.gz
+#usr/share/kbd/consolefonts/koi8u_8x8.psfu.gz
+#usr/share/kbd/consolefonts/lat0-08.psfu.gz
+#usr/share/kbd/consolefonts/lat0-10.psfu.gz
+#usr/share/kbd/consolefonts/lat0-12.psfu.gz
+#usr/share/kbd/consolefonts/lat0-14.psfu.gz
+usr/share/kbd/consolefonts/lat0-16.psfu.gz
+#usr/share/kbd/consolefonts/lat1-08.psfu.gz
+#usr/share/kbd/consolefonts/lat1-10.psfu.gz
+#usr/share/kbd/consolefonts/lat1-12.psfu.gz
+#usr/share/kbd/consolefonts/lat1-14.psfu.gz
+usr/share/kbd/consolefonts/lat1-16.psfu.gz
+#usr/share/kbd/consolefonts/lat2-08.psfu.gz
+#usr/share/kbd/consolefonts/lat2-10.psfu.gz
+#usr/share/kbd/consolefonts/lat2-12.psfu.gz
+#usr/share/kbd/consolefonts/lat2-14.psfu.gz
+usr/share/kbd/consolefonts/lat2-16.psfu.gz
+#usr/share/kbd/consolefonts/lat2a-16.psfu.gz
+#usr/share/kbd/consolefonts/lat4-08.psfu.gz
+#usr/share/kbd/consolefonts/lat4-10.psfu.gz
+#usr/share/kbd/consolefonts/lat4-12.psfu.gz
+#usr/share/kbd/consolefonts/lat4-14.psfu.gz
+#usr/share/kbd/consolefonts/lat4-16+.psfu.gz
+#usr/share/kbd/consolefonts/lat4-16.psfu.gz
+#usr/share/kbd/consolefonts/lat4-19.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-08.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-10.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-12.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-14.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-16+.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-16.psfu.gz
+#usr/share/kbd/consolefonts/lat4a-19.psfu.gz
+#usr/share/kbd/consolefonts/lat5-12.psfu.gz
+#usr/share/kbd/consolefonts/lat5-14.psfu.gz
+usr/share/kbd/consolefonts/lat5-16.psfu.gz
+#usr/share/kbd/consolefonts/lat7-14.psfu.gz
+#usr/share/kbd/consolefonts/lat7a-14.psfu.gz
+#usr/share/kbd/consolefonts/lat7a-16.psf.gz
+#usr/share/kbd/consolefonts/lat9-08.psf.gz
+#usr/share/kbd/consolefonts/lat9-10.psf.gz
+#usr/share/kbd/consolefonts/lat9-12.psf.gz
+#usr/share/kbd/consolefonts/lat9-14.psf.gz
+#usr/share/kbd/consolefonts/lat9-16.psf.gz
+#usr/share/kbd/consolefonts/lat9u-08.psfu.gz
+#usr/share/kbd/consolefonts/lat9u-10.psfu.gz
+#usr/share/kbd/consolefonts/lat9u-12.psfu.gz
+#usr/share/kbd/consolefonts/lat9u-14.psfu.gz
+#usr/share/kbd/consolefonts/lat9u-16.psfu.gz
+#usr/share/kbd/consolefonts/lat9v-08.psfu.gz
+#usr/share/kbd/consolefonts/lat9v-10.psfu.gz
+#usr/share/kbd/consolefonts/lat9v-12.psfu.gz
+#usr/share/kbd/consolefonts/lat9v-14.psfu.gz
+#usr/share/kbd/consolefonts/lat9v-16.psfu.gz
+#usr/share/kbd/consolefonts/lat9w-08.psfu.gz
+#usr/share/kbd/consolefonts/lat9w-10.psfu.gz
+#usr/share/kbd/consolefonts/lat9w-12.psfu.gz
+#usr/share/kbd/consolefonts/lat9w-14.psfu.gz
+#usr/share/kbd/consolefonts/lat9w-16.psfu.gz
+#usr/share/kbd/consolefonts/partialfonts
+#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-1.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-10.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-2.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-3.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-4.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-5.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-6.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-7.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-8.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.08.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.14.gz
+#usr/share/kbd/consolefonts/partialfonts/8859-9.a0-ff.16.gz
+#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.08.gz
+#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.14.gz
+#usr/share/kbd/consolefonts/partialfonts/ascii.20-7f.16.gz
+#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.08.gz
+#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.14.gz
+#usr/share/kbd/consolefonts/partialfonts/cp437.00-1f.16.gz
+#usr/share/kbd/consolefonts/partialfonts/none.00-17.08.gz
+#usr/share/kbd/consolefonts/partialfonts/none.00-17.14.gz
+#usr/share/kbd/consolefonts/partialfonts/none.00-17.16.gz
+#usr/share/kbd/consolefonts/ruscii_8x16.psfu.gz
+#usr/share/kbd/consolefonts/ruscii_8x8.psfu.gz
+#usr/share/kbd/consolefonts/sun12x22.psfu.gz
+#usr/share/kbd/consolefonts/t.fnt.gz
+#usr/share/kbd/consolefonts/t850b.fnt.gz
+#usr/share/kbd/consolefonts/tcvn8x16.psf.gz
+usr/share/kbd/consolefonts/viscii10-8x16.psfu.gz
+#usr/share/kbd/consoletrans
+#usr/share/kbd/consoletrans/8859-10_to_uni.trans
+#usr/share/kbd/consoletrans/8859-13_to_uni.trans
+#usr/share/kbd/consoletrans/8859-14_to_uni.trans
+#usr/share/kbd/consoletrans/8859-15_to_uni.trans
+#usr/share/kbd/consoletrans/8859-1_to_uni.trans
+#usr/share/kbd/consoletrans/8859-2_to_uni.trans
+#usr/share/kbd/consoletrans/8859-3_to_uni.trans
+#usr/share/kbd/consoletrans/8859-4_to_uni.trans
+#usr/share/kbd/consoletrans/8859-5_to_uni.trans
+#usr/share/kbd/consoletrans/8859-6_to_uni.trans
+#usr/share/kbd/consoletrans/8859-7_to_uni.trans
+#usr/share/kbd/consoletrans/8859-8_to_uni.trans
+#usr/share/kbd/consoletrans/8859-9_to_uni.trans
+#usr/share/kbd/consoletrans/baltic.trans
+#usr/share/kbd/consoletrans/cp1250_to_uni.trans
+#usr/share/kbd/consoletrans/cp1251_to_uni.trans
+#usr/share/kbd/consoletrans/cp437_to_iso01.trans
+#usr/share/kbd/consoletrans/cp437_to_uni.trans
+#usr/share/kbd/consoletrans/cp737_to_uni.trans
+#usr/share/kbd/consoletrans/cp775_to_uni.trans
+#usr/share/kbd/consoletrans/cp850_to_iso01.trans
+#usr/share/kbd/consoletrans/cp850_to_uni.trans
+#usr/share/kbd/consoletrans/cp852_to_uni.trans
+#usr/share/kbd/consoletrans/cp853_to_uni.trans
+#usr/share/kbd/consoletrans/cp855_to_uni.trans
+#usr/share/kbd/consoletrans/cp857_to_uni.trans
+#usr/share/kbd/consoletrans/cp860_to_uni.trans
+#usr/share/kbd/consoletrans/cp861_to_uni.trans
+#usr/share/kbd/consoletrans/cp862_to_uni.trans
+#usr/share/kbd/consoletrans/cp863_to_uni.trans
+#usr/share/kbd/consoletrans/cp864_to_uni.trans
+#usr/share/kbd/consoletrans/cp865_to_uni.trans
+#usr/share/kbd/consoletrans/cp866_to_uni.trans
+#usr/share/kbd/consoletrans/cp869_to_uni.trans
+#usr/share/kbd/consoletrans/cp874_to_uni.trans
+#usr/share/kbd/consoletrans/iso02_to_cp1250.trans
+#usr/share/kbd/consoletrans/koi2alt
+#usr/share/kbd/consoletrans/koi8-r_to_uni.trans
+#usr/share/kbd/consoletrans/koi8-u_to_uni.trans
+#usr/share/kbd/consoletrans/koi8u2ruscii
+#usr/share/kbd/consoletrans/latin2u.trans
+#usr/share/kbd/consoletrans/null
+#usr/share/kbd/consoletrans/space
+#usr/share/kbd/consoletrans/trivial
+#usr/share/kbd/consoletrans/utflist
+#usr/share/kbd/consoletrans/vga2iso
+#usr/share/kbd/consoletrans/viscii1.0_to_tcvn.trans
+#usr/share/kbd/consoletrans/viscii1.0_to_viscii1.1.trans
+#usr/share/kbd/consoletrans/zero
+#usr/share/kbd/keymaps
+#usr/share/kbd/keymaps/amiga
+#usr/share/kbd/keymaps/amiga/amiga-de.map.gz
+#usr/share/kbd/keymaps/amiga/amiga-us.map.gz
+#usr/share/kbd/keymaps/atari
+#usr/share/kbd/keymaps/atari/atari-de.map.gz
+#usr/share/kbd/keymaps/atari/atari-se.map.gz
+#usr/share/kbd/keymaps/atari/atari-uk-falcon.map.gz
+#usr/share/kbd/keymaps/atari/atari-us.map.gz
+usr/share/kbd/keymaps/i386
+#usr/share/kbd/keymaps/i386/azerty
+#usr/share/kbd/keymaps/i386/azerty/azerty.map.gz
+#usr/share/kbd/keymaps/i386/azerty/be-latin1.map.gz
+#usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz
+#usr/share/kbd/keymaps/i386/azerty/fr-latin9.map.gz
+#usr/share/kbd/keymaps/i386/azerty/fr-pc.map.gz
+#usr/share/kbd/keymaps/i386/azerty/fr.map.gz
+#usr/share/kbd/keymaps/i386/azerty/wangbe.map.gz
+#usr/share/kbd/keymaps/i386/azerty/wangbe2.map.gz
+#usr/share/kbd/keymaps/i386/dvorak
+#usr/share/kbd/keymaps/i386/dvorak/ANSI-dvorak.map.gz
+#usr/share/kbd/keymaps/i386/dvorak/dvorak-l.map.gz
+#usr/share/kbd/keymaps/i386/dvorak/dvorak-r.map.gz
+#usr/share/kbd/keymaps/i386/dvorak/dvorak.map.gz
+#usr/share/kbd/keymaps/i386/fgGIod
+#usr/share/kbd/keymaps/i386/fgGIod/tr_f-latin5.map.gz
+#usr/share/kbd/keymaps/i386/fgGIod/trf.map.gz
+#usr/share/kbd/keymaps/i386/include
+#usr/share/kbd/keymaps/i386/include/applkey.map.gz
+#usr/share/kbd/keymaps/i386/include/azerty-layout.inc
+#usr/share/kbd/keymaps/i386/include/backspace.map.gz
+#usr/share/kbd/keymaps/i386/include/ctrl.map.gz
+#usr/share/kbd/keymaps/i386/include/euro.map.gz
+#usr/share/kbd/keymaps/i386/include/euro1.map.gz
+#usr/share/kbd/keymaps/i386/include/euro2.map.gz
+#usr/share/kbd/keymaps/i386/include/keypad.map.gz
+#usr/share/kbd/keymaps/i386/include/linux-keys-bare.inc
+#usr/share/kbd/keymaps/i386/include/linux-keys-extd.inc
+#usr/share/kbd/keymaps/i386/include/linux-with-alt-and-altgr.inc
+#usr/share/kbd/keymaps/i386/include/linux-with-modeshift-altgr.inc
+#usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc
+#usr/share/kbd/keymaps/i386/include/qwerty-layout.inc
+#usr/share/kbd/keymaps/i386/include/qwertz-layout.inc
+#usr/share/kbd/keymaps/i386/include/unicode.map.gz
+#usr/share/kbd/keymaps/i386/include/windowkeys.map.gz
+#usr/share/kbd/keymaps/i386/qwerty
+#usr/share/kbd/keymaps/i386/qwerty/bg-cp1251.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/bg.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/br-abnt.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/br-abnt2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/br-latin1-abnt2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/br-latin1-us.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/by.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/cf.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/cz-cp1250.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/cz-lat2-prog.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/cz-lat2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/cz.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/defkeymap.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/defkeymap_V1.0.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/dk-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/dk.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/emacs.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/emacs2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/es-cp850.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/es.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/et-nodeadkeys.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/et.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/fi-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/fi-latin9.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/fi.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/gr-pc.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/gr.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/hu101.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/hypermap.m4
+#usr/share/kbd/keymaps/i386/qwerty/il-heb.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/il-phonetic.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/il.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/is-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/it-ibm.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/it.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/it2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/jp106.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/la-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/lt.baltic.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/lt.l4.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/lt.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/mk-cp1251.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/mk-utf.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/mk.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/mk0.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/nl.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/nl2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/no-latin1.doc
+#usr/share/kbd/keymaps/i386/qwerty/no-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/no.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/pc110.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/pl.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/pl2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/pt-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/pt-latin9.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ro_win.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru-cp1251.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru-ms.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru-yawerty.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru2.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru3.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru4.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ru_win.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/se-fi-ir209.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/se-fi-lat6.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/se-ir209.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/se-lat6.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/sk-prog-qwerty.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/sk-qwerty.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/sr-cy.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/sv-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/tr_q-latin5.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/tralt.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/trq.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ua-utf-ws.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ua-utf.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ua-ws.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/ua.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/uk.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/us-acentos.map.gz
+#usr/share/kbd/keymaps/i386/qwerty/us.map.gz
+#usr/share/kbd/keymaps/i386/qwertz
+#usr/share/kbd/keymaps/i386/qwertz/croat.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/cz-us-qwertz.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/de-latin1-nodeadkeys.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/de-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/de.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/de_CH-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/fr_CH-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/fr_CH.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/hu.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/sg-latin1-lk450.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/sg-latin1.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/sg.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/sk-prog-qwertz.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/sk-qwertz.map.gz
+#usr/share/kbd/keymaps/i386/qwertz/slovene.map.gz
+usr/share/kbd/keymaps/include
+#usr/share/kbd/keymaps/include/compose.8859_7
+#usr/share/kbd/keymaps/include/compose.8859_8
+#usr/share/kbd/keymaps/include/compose.latin
+#usr/share/kbd/keymaps/include/compose.latin1
+#usr/share/kbd/keymaps/include/compose.latin2
+#usr/share/kbd/keymaps/include/compose.latin3
+#usr/share/kbd/keymaps/include/compose.latin4
+#usr/share/kbd/keymaps/include/vim-compose.latin1
+#usr/share/kbd/keymaps/mac
+#usr/share/kbd/keymaps/mac/all
+#usr/share/kbd/keymaps/mac/all/mac-be.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-de-latin1-nodeadkeys.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-de-latin1.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-de_CH.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-dk-latin1.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-dvorak.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-es.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-fi-latin1.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-fr.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-fr_CH-latin1.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-it.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-pt-latin1.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-se.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-template.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-uk.map.gz
+#usr/share/kbd/keymaps/mac/all/mac-us.map.gz
+#usr/share/kbd/keymaps/mac/include
+#usr/share/kbd/keymaps/mac/include/mac-azerty-layout.inc
+#usr/share/kbd/keymaps/mac/include/mac-euro.map.gz
+#usr/share/kbd/keymaps/mac/include/mac-linux-keys-bare.inc
+#usr/share/kbd/keymaps/mac/include/mac-qwerty-layout.inc
+#usr/share/kbd/keymaps/mac/include/mac-qwertz-layout.inc
+#usr/share/kbd/keymaps/ppc
+#usr/share/kbd/keymaps/sun
+#usr/share/kbd/keymaps/sun/sun-pl-altgraph.map.gz
+#usr/share/kbd/keymaps/sun/sun-pl.map.gz
+#usr/share/kbd/keymaps/sun/sundvorak.map.gz
+#usr/share/kbd/keymaps/sun/sunkeymap.map.gz
+#usr/share/kbd/keymaps/sun/sunt4-es.map.gz
+#usr/share/kbd/keymaps/sun/sunt4-fi-latin1.map.gz
+#usr/share/kbd/keymaps/sun/sunt4-no-latin1.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-cz-us.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-de-latin1.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-es.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-fi-latin1.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-fr-latin1.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-ru.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-uk.map.gz
+#usr/share/kbd/keymaps/sun/sunt5-us-cz.map.gz
+#usr/share/kbd/unimaps
+#usr/share/kbd/unimaps/8859-1.a0-ff.uni
+#usr/share/kbd/unimaps/8859-10.a0-ff.uni
+#usr/share/kbd/unimaps/8859-13.a0-ff.uni
+#usr/share/kbd/unimaps/8859-14.a0-ff.uni
+#usr/share/kbd/unimaps/8859-15.a0-ff.uni
+#usr/share/kbd/unimaps/8859-2.a0-ff.uni
+#usr/share/kbd/unimaps/8859-3.a0-ff.uni
+#usr/share/kbd/unimaps/8859-4.a0-ff.uni
+#usr/share/kbd/unimaps/8859-5.a0-ff.uni
+#usr/share/kbd/unimaps/8859-6.a0-ff.uni
+#usr/share/kbd/unimaps/8859-7.a0-ff.uni
+#usr/share/kbd/unimaps/8859-8.a0-ff.uni
+#usr/share/kbd/unimaps/8859-9.a0-ff.uni
+#usr/share/kbd/unimaps/ECMA144.uni
+#usr/share/kbd/unimaps/README
+#usr/share/kbd/unimaps/armscii8.uni
+#usr/share/kbd/unimaps/ascii.20-7f.uni
+#usr/share/kbd/unimaps/cp1250.uni
+#usr/share/kbd/unimaps/cp437.00-1f.uni
+#usr/share/kbd/unimaps/cp437.uni
+#usr/share/kbd/unimaps/cp737.uni
+#usr/share/kbd/unimaps/cp737a.uni
+#usr/share/kbd/unimaps/cp737b.uni
+#usr/share/kbd/unimaps/cp737c.uni
+#usr/share/kbd/unimaps/cp850.uni
+#usr/share/kbd/unimaps/cp850a.uni
+#usr/share/kbd/unimaps/cp850b.uni
+#usr/share/kbd/unimaps/cp850z.uni
+#usr/share/kbd/unimaps/cp865.uni
+#usr/share/kbd/unimaps/cp865a.uni
+#usr/share/kbd/unimaps/cp866.uni
+#usr/share/kbd/unimaps/cp866a.uni
+#usr/share/kbd/unimaps/cybercafe.uni
+#usr/share/kbd/unimaps/cyralt.uni
+#usr/share/kbd/unimaps/def.uni
+#usr/share/kbd/unimaps/empty.uni
+#usr/share/kbd/unimaps/ethiopic.uni
+#usr/share/kbd/unimaps/iso01.uni
+#usr/share/kbd/unimaps/iso02.uni
+#usr/share/kbd/unimaps/iso03.uni
+#usr/share/kbd/unimaps/iso04.uni
+#usr/share/kbd/unimaps/iso05.uni
+#usr/share/kbd/unimaps/iso06.uni
+#usr/share/kbd/unimaps/iso07.uni
+#usr/share/kbd/unimaps/iso07u.uni
+#usr/share/kbd/unimaps/iso08.uni
+#usr/share/kbd/unimaps/iso09.uni
+#usr/share/kbd/unimaps/iso10.uni
+#usr/share/kbd/unimaps/iso15.uni
+#usr/share/kbd/unimaps/koi8r.uni
+#usr/share/kbd/unimaps/koi8u.uni
+#usr/share/kbd/unimaps/lat1.uni
+#usr/share/kbd/unimaps/lat1u.uni
+#usr/share/kbd/unimaps/lat2.uni
+#usr/share/kbd/unimaps/lat2u.uni
+#usr/share/kbd/unimaps/lat4.uni
+#usr/share/kbd/unimaps/lat4u.uni
+#usr/share/kbd/unimaps/lat7.uni
+#usr/share/kbd/unimaps/lat9u.uni
+#usr/share/kbd/unimaps/lat9v.uni
+#usr/share/kbd/unimaps/lat9w.uni
+#usr/share/kbd/unimaps/ruscii.uni
+#usr/share/kbd/unimaps/tcvn.uni
+#usr/share/kbd/unimaps/viscii.uni
+#usr/share/man/man1/chvt.1
+#usr/share/man/man1/deallocvt.1
+#usr/share/man/man1/dumpkeys.1
+#usr/share/man/man1/fgconsole.1
+#usr/share/man/man1/kbd_mode.1
+#usr/share/man/man1/loadkeys.1
+#usr/share/man/man1/openvt.1
+#usr/share/man/man1/psfaddtable.1
+#usr/share/man/man1/psfgettable.1
+#usr/share/man/man1/psfstriptable.1
+#usr/share/man/man1/psfxtable.1
+#usr/share/man/man1/setleds.1
+#usr/share/man/man1/setmetamode.1
+#usr/share/man/man1/showkey.1
+#usr/share/man/man1/unicode_start.1
+#usr/share/man/man1/unicode_stop.1
+#usr/share/man/man5/keymaps.5
+#usr/share/man/man8/getkeycodes.8
+#usr/share/man/man8/kbdrate.8
+#usr/share/man/man8/loadunimap.8
+#usr/share/man/man8/mapscrn.8
+#usr/share/man/man8/resizecons.8
+#usr/share/man/man8/setfont.8
+#usr/share/man/man8/setkeycodes.8
+#usr/share/man/man8/showconsolefont.8
+##
+## e2fsprogs-1.35
+##
+lib/libblkid.so.1
+lib/libblkid.so.1.0
+lib/libcom_err.so.2
+lib/libcom_err.so.2.1
+lib/libe2p.so.2
+lib/libe2p.so.2.3
+lib/libext2fs.so.2
+lib/libext2fs.so.2.4
+lib/libss.so.2
+lib/libss.so.2.0
+lib/libuuid.so.1
+lib/libuuid.so.1.2
+sbin/badblocks
+#sbin/blkid
+#sbin/debugfs
+#sbin/dumpe2fs
+sbin/e2fsck
+#sbin/e2image
+#sbin/e2label
+#sbin/findfs
+sbin/fsck
+sbin/fsck.ext2
+sbin/fsck.ext3
+#sbin/logsave
+sbin/mke2fs
+sbin/mkfs.ext2
+sbin/mkfs.ext3
+#sbin/resize2fs
+sbin/tune2fs
+usr/bin/chattr
+#usr/bin/compile_et
+usr/bin/lsattr
+#usr/bin/mk_cmds
+#usr/bin/uuidgen
+#usr/include/blkid
+#usr/include/blkid/blkid.h
+#usr/include/blkid/blkid_types.h
+#usr/include/e2p
+#usr/include/e2p/e2p.h
+#usr/include/et
+#usr/include/et/com_err.h
+#usr/include/ext2fs
+#usr/include/ext2fs/bitops.h
+#usr/include/ext2fs/ext2_err.h
+#usr/include/ext2fs/ext2_ext_attr.h
+#usr/include/ext2fs/ext2_fs.h
+#usr/include/ext2fs/ext2_io.h
+#usr/include/ext2fs/ext2_types.h
+#usr/include/ext2fs/ext2fs.h
+#usr/include/ss
+#usr/include/ss/ss.h
+#usr/include/ss/ss_err.h
+#usr/include/uuid
+#usr/include/uuid/uuid.h
+#usr/include/uuid/uuid_types.h
+#usr/lib/libblkid.a
+usr/lib/libblkid.so
+#usr/lib/libcom_err.a
+usr/lib/libcom_err.so
+#usr/lib/libe2p.a
+usr/lib/libe2p.so
+#usr/lib/libext2fs.a
+usr/lib/libext2fs.so
+#usr/lib/libss.a
+usr/lib/libss.so
+#usr/lib/libuuid.a
+usr/lib/libuuid.so
+usr/sbin/mklost+found
+#usr/share/et
+#usr/share/et/et_c.awk
+#usr/share/et/et_h.awk
+#usr/share/info/libext2fs.info.gz
+#usr/share/man/man1/chattr.1
+#usr/share/man/man1/compile_et.1
+#usr/share/man/man1/lsattr.1
+#usr/share/man/man1/mk_cmds.1
+#usr/share/man/man1/uuidgen.1
+#usr/share/man/man3/com_err.3
+#usr/share/man/man3/libblkid.3
+#usr/share/man/man3/libuuid.3
+#usr/share/man/man3/uuid_clear.3
+#usr/share/man/man3/uuid_compare.3
+#usr/share/man/man3/uuid_copy.3
+#usr/share/man/man3/uuid_generate.3
+#usr/share/man/man3/uuid_generate_random.3
+#usr/share/man/man3/uuid_generate_time.3
+#usr/share/man/man3/uuid_is_null.3
+#usr/share/man/man3/uuid_parse.3
+#usr/share/man/man3/uuid_time.3
+#usr/share/man/man3/uuid_unparse.3
+#usr/share/man/man8/badblocks.8
+#usr/share/man/man8/blkid.8
+#usr/share/man/man8/debugfs.8
+#usr/share/man/man8/dumpe2fs.8
+#usr/share/man/man8/e2fsck.8
+#usr/share/man/man8/e2image.8
+#usr/share/man/man8/e2label.8
+#usr/share/man/man8/findfs.8
+#usr/share/man/man8/fsck.8
+#usr/share/man/man8/fsck.ext2.8
+#usr/share/man/man8/fsck.ext3.8
+#usr/share/man/man8/logsave.8
+#usr/share/man/man8/mke2fs.8
+#usr/share/man/man8/mkfs.ext2.8
+#usr/share/man/man8/mkfs.ext3.8
+#usr/share/man/man8/mklost+found.8
+#usr/share/man/man8/resize2fs.8
+#usr/share/man/man8/tune2fs.8
+#usr/share/ss
+#usr/share/ss/ct_c.awk
+#usr/share/ss/ct_c.sed
+##
+## grep-2.5.1
+##
+bin/egrep
+#bin/fgrep
+bin/grep
+#usr/share/info/grep.info
+#usr/share/man/man1/egrep.1
+#usr/share/man/man1/fgrep.1
+#usr/share/man/man1/grep.1
+##
+## gzip-1.3.5
+##
+bin/gunzip
+bin/gzip
+bin/uncompress
+bin/zcat
+#usr/bin/gzexe
+#usr/bin/zcmp
+#usr/bin/zdiff
+#usr/bin/zegrep
+#usr/bin/zfgrep
+#usr/bin/zforce
+#usr/bin/zgrep
+#usr/bin/zless
+#usr/bin/zmore
+#usr/bin/znew
+#usr/share/info/gzip.info
+#usr/share/man/man1/gunzip.1
+#usr/share/man/man1/gzexe.1
+#usr/share/man/man1/gzip.1
+#usr/share/man/man1/zcat.1
+#usr/share/man/man1/zcmp.1
+#usr/share/man/man1/zdiff.1
+#usr/share/man/man1/zforce.1
+#usr/share/man/man1/zgrep.1
+#usr/share/man/man1/zless.1
+#usr/share/man/man1/zmore.1
+#usr/share/man/man1/znew.1
+##
+## man-1.5m2
+##
+#etc/man.conf
+#usr/bin/apropos
+#usr/bin/man
+#usr/bin/man2dvi
+#usr/bin/man2html
+#usr/bin/whatis
+#usr/sbin/makewhatis
+#usr/share/man/man1/apropos.1
+#usr/share/man/man1/man.1
+#usr/share/man/man1/man2html.1
+#usr/share/man/man1/whatis.1
+#usr/share/man/man5/man.conf.5
+#usr/share/man/man8/makewhatis.8
+##
+## make-3.80
+##
+#usr/bin/make
+#usr/share/info/make.info
+#usr/share/info/make.info-1
+#usr/share/info/make.info-10
+#usr/share/info/make.info-11
+#usr/share/info/make.info-2
+#usr/share/info/make.info-3
+#usr/share/info/make.info-4
+#usr/share/info/make.info-5
+#usr/share/info/make.info-6
+#usr/share/info/make.info-7
+#usr/share/info/make.info-8
+#usr/share/info/make.info-9
+#usr/share/man/man1/make.1
+##
+## modutils-2.4.27
+##
+sbin/depmod
+#sbin/genksyms
+sbin/insmod
+sbin/insmod.static
+#sbin/insmod_ksymoops_clean
+#sbin/kallsyms
+#sbin/kernelversion
+#sbin/ksyms
+sbin/lsmod
+sbin/modinfo
+sbin/modprobe
+sbin/rmmod
+#usr/share/man/man1/kernelversion.1
+#usr/share/man/man2/create_module.2
+#usr/share/man/man2/delete_module.2
+#usr/share/man/man2/get_kernel_syms.2
+#usr/share/man/man2/init_module.2
+#usr/share/man/man2/query_module.2
+#usr/share/man/man5/modules.conf.5
+#usr/share/man/man8/depmod.8
+#usr/share/man/man8/genksyms.8
+#usr/share/man/man8/insmod.8
+#usr/share/man/man8/kallsyms.8
+#usr/share/man/man8/ksyms.8
+#usr/share/man/man8/lsmod.8
+#usr/share/man/man8/modinfo.8
+#usr/share/man/man8/modprobe.8
+#usr/share/man/man8/rmmod.8
+##
+## patch-2.5.4
+##
+usr/bin/patch
+#usr/share/man/man1/patch.1
+##
+## procinfo-18
+##
+#usr/bin/lsdev
+#usr/bin/procinfo
+#usr/bin/socklist
+#usr/share/man/man8/lsdev.8
+#usr/share/man/man8/procinfo.8
+#usr/share/man/man8/socklist.8
+##
+## procps-3.2.5
+##
+bin/kill
+bin/ps
+lib/libproc-3.2.5.so
+sbin/sysctl
+usr/bin/free
+#usr/bin/pgrep
+#usr/bin/pkill
+#usr/bin/pmap
+#usr/bin/skill
+#usr/bin/snice
+#usr/bin/tload
+usr/bin/top
+usr/bin/vmstat
+usr/bin/w
+#usr/bin/watch
+#usr/share/man/man1/free.1
+#usr/share/man/man1/kill.1
+#usr/share/man/man1/pgrep.1
+#usr/share/man/man1/pkill.1
+#usr/share/man/man1/pmap.1
+#usr/share/man/man1/ps.1
+#usr/share/man/man1/skill.1
+#usr/share/man/man1/snice.1
+#usr/share/man/man1/tload.1
+#usr/share/man/man1/top.1
+#usr/share/man/man1/w.1
+#usr/share/man/man1/watch.1
+#usr/share/man/man5/sysctl.conf.5
+#usr/share/man/man8/sysctl.8
+#usr/share/man/man8/vmstat.8
+##
+## psmisc-21.4
+##
+bin/fuser
+bin/killall
+bin/pidof
+bin/pstree
+#usr/share/man/man1/fuser.1
+#usr/share/man/man1/killall.1
+#usr/share/man/man1/pstree.1
+##
+## shadow-4.0.4.1
+##
+bin/login
+#etc/.pwd.lock
+#etc/group-
+etc/gshadow
+etc/limits
+etc/login.access
+etc/login.defs
+#etc/passwd-
+etc/shadow
+lib/libmisc.so.0
+lib/libmisc.so.0.0.0
+lib/libshadow.so.0
+lib/libshadow.so.0.0.0
+#usr/bin/chage
+#usr/bin/chfn
+#usr/bin/chsh
+#usr/bin/expiry
+#usr/bin/faillog
+#usr/bin/gpasswd
+#usr/bin/lastlog
+#usr/bin/newgrp
+usr/bin/passwd
+#usr/bin/sg
+#usr/lib/libmisc.a
+#usr/lib/libmisc.la
+usr/lib/libmisc.so
+#usr/lib/libshadow.a
+#usr/lib/libshadow.la
+usr/lib/libshadow.so
+usr/sbin/chpasswd
+#usr/sbin/dpasswd
+usr/sbin/groupadd
+usr/sbin/groupdel
+usr/sbin/groupmod
+#usr/sbin/grpck
+usr/sbin/grpconv
+#usr/sbin/grpunconv
+#usr/sbin/logoutd
+#usr/sbin/mkpasswd
+#usr/sbin/newusers
+#usr/sbin/pwck
+usr/sbin/pwconv
+#usr/sbin/pwunconv
+usr/sbin/useradd
+usr/sbin/userdel
+usr/sbin/usermod
+#usr/sbin/vigr
+#usr/sbin/vipw
+#usr/share/man/cs
+#usr/share/man/cs/man5
+#usr/share/man/cs/man5/passwd.5
+#usr/share/man/cs/man5/shadow.5
+#usr/share/man/de
+#usr/share/man/de/man1
+#usr/share/man/de/man1/chsh.1
+#usr/share/man/de/man1/passwd.1
+#usr/share/man/fr
+#usr/share/man/fr/man1
+#usr/share/man/fr/man1/chage.1
+#usr/share/man/fr/man1/chsh.1
+#usr/share/man/fr/man1/gpasswd.1
+#usr/share/man/fr/man1/newgrp.1
+#usr/share/man/fr/man1/passwd.1
+#usr/share/man/fr/man5
+#usr/share/man/fr/man5/faillog.5
+#usr/share/man/fr/man5/passwd.5
+#usr/share/man/fr/man5/shadow.5
+#usr/share/man/fr/man8
+#usr/share/man/fr/man8/adduser.8
+#usr/share/man/fr/man8/chpasswd.8
+#usr/share/man/fr/man8/useradd.8
+#usr/share/man/fr/man8/userdel.8
+#usr/share/man/fr/man8/usermod.8
+#usr/share/man/hu
+#usr/share/man/hu/man1
+#usr/share/man/hu/man1/chsh.1
+#usr/share/man/hu/man1/gpasswd.1
+#usr/share/man/hu/man1/login.1
+#usr/share/man/hu/man1/newgrp.1
+#usr/share/man/hu/man1/passwd.1
+#usr/share/man/hu/man1/sg.1
+#usr/share/man/id
+#usr/share/man/id/man1
+#usr/share/man/id/man1/chsh.1
+#usr/share/man/id/man1/login.1
+#usr/share/man/id/man8
+#usr/share/man/id/man8/adduser.8
+#usr/share/man/id/man8/useradd.8
+#usr/share/man/it
+#usr/share/man/it/man1
+#usr/share/man/it/man1/chfn.1
+#usr/share/man/it/man1/chsh.1
+#usr/share/man/it/man1/gpasswd.1
+#usr/share/man/it/man1/groups.1
+#usr/share/man/it/man1/login.1
+#usr/share/man/it/man1/newgrp.1
+#usr/share/man/it/man1/passwd.1
+#usr/share/man/it/man5
+#usr/share/man/it/man5/passwd.5
+#usr/share/man/it/man5/shadow.5
+#usr/share/man/it/man8
+#usr/share/man/it/man8/adduser.8
+#usr/share/man/it/man8/groupadd.8
+#usr/share/man/it/man8/groupdel.8
+#usr/share/man/it/man8/groupmod.8
+#usr/share/man/it/man8/grpck.8
+#usr/share/man/it/man8/grpconv.8
+#usr/share/man/it/man8/grpunconv.8
+#usr/share/man/it/man8/lastlog.8
+#usr/share/man/it/man8/pwconv.8
+#usr/share/man/it/man8/pwunconv.8
+#usr/share/man/it/man8/useradd.8
+#usr/share/man/it/man8/userdel.8
+#usr/share/man/it/man8/usermod.8
+#usr/share/man/it/man8/vigr.8
+#usr/share/man/it/man8/vipw.8
+#usr/share/man/ja
+#usr/share/man/ja/man1
+#usr/share/man/ja/man1/chage.1
+#usr/share/man/ja/man1/chfn.1
+#usr/share/man/ja/man1/chsh.1
+#usr/share/man/ja/man1/gpasswd.1
+#usr/share/man/ja/man1/login.1
+#usr/share/man/ja/man1/newgrp.1
+#usr/share/man/ja/man1/passwd.1
+#usr/share/man/ja/man1/sg.1
+#usr/share/man/ja/man1/su.1
+#usr/share/man/ja/man5
+#usr/share/man/ja/man5/faillog.5
+#usr/share/man/ja/man5/limits.5
+#usr/share/man/ja/man5/login.access.5
+#usr/share/man/ja/man5/login.defs.5
+#usr/share/man/ja/man5/passwd.5
+#usr/share/man/ja/man5/porttime.5
+#usr/share/man/ja/man5/shadow.5
+#usr/share/man/ja/man5/suauth.5
+#usr/share/man/ja/man8
+#usr/share/man/ja/man8/adduser.8
+#usr/share/man/ja/man8/chpasswd.8
+#usr/share/man/ja/man8/faillog.8
+#usr/share/man/ja/man8/groupadd.8
+#usr/share/man/ja/man8/groupdel.8
+#usr/share/man/ja/man8/groupmod.8
+#usr/share/man/ja/man8/grpck.8
+#usr/share/man/ja/man8/grpconv.8
+#usr/share/man/ja/man8/grpunconv.8
+#usr/share/man/ja/man8/lastlog.8
+#usr/share/man/ja/man8/logoutd.8
+#usr/share/man/ja/man8/mkpasswd.8
+#usr/share/man/ja/man8/newusers.8
+#usr/share/man/ja/man8/pwck.8
+#usr/share/man/ja/man8/pwconv.8
+#usr/share/man/ja/man8/pwunconv.8
+#usr/share/man/ja/man8/useradd.8
+#usr/share/man/ja/man8/userdel.8
+#usr/share/man/ja/man8/usermod.8
+#usr/share/man/ja/man8/vigr.8
+#usr/share/man/ja/man8/vipw.8
+#usr/share/man/ko
+#usr/share/man/ko/man1
+#usr/share/man/ko/man1/chfn.1
+#usr/share/man/ko/man1/chsh.1
+#usr/share/man/ko/man1/login.1
+#usr/share/man/ko/man1/newgrp.1
+#usr/share/man/ko/man5
+#usr/share/man/ko/man5/passwd.5
+#usr/share/man/man1/chage.1
+#usr/share/man/man1/chfn.1
+#usr/share/man/man1/chsh.1
+#usr/share/man/man1/expiry.1
+#usr/share/man/man1/gpasswd.1
+#usr/share/man/man1/login.1
+#usr/share/man/man1/newgrp.1
+#usr/share/man/man1/passwd.1
+#usr/share/man/man1/sg.1
+#usr/share/man/man3/getspnam.3
+#usr/share/man/man5/faillog.5
+#usr/share/man/man5/limits.5
+#usr/share/man/man5/login.access.5
+#usr/share/man/man5/login.defs.5
+#usr/share/man/man5/porttime.5
+#usr/share/man/man5/shadow.5
+#usr/share/man/man5/suauth.5
+#usr/share/man/man8/adduser.8
+#usr/share/man/man8/chpasswd.8
+#usr/share/man/man8/faillog.8
+#usr/share/man/man8/groupadd.8
+#usr/share/man/man8/groupdel.8
+#usr/share/man/man8/groupmod.8
+#usr/share/man/man8/grpck.8
+#usr/share/man/man8/grpconv.8
+#usr/share/man/man8/grpunconv.8
+#usr/share/man/man8/lastlog.8
+#usr/share/man/man8/logoutd.8
+#usr/share/man/man8/mkpasswd.8
+#usr/share/man/man8/newusers.8
+#usr/share/man/man8/pwck.8
+#usr/share/man/man8/pwconv.8
+#usr/share/man/man8/pwunconv.8
+#usr/share/man/man8/useradd.8
+#usr/share/man/man8/userdel.8
+#usr/share/man/man8/usermod.8
+#usr/share/man/man8/vigr.8
+#usr/share/man/man8/vipw.8
+#usr/share/man/pl
+#usr/share/man/pl/man1
+#usr/share/man/pl/man1/chage.1
+#usr/share/man/pl/man1/chfn.1
+#usr/share/man/pl/man1/chsh.1
+#usr/share/man/pl/man1/expiry.1
+#usr/share/man/pl/man1/gpasswd.1
+#usr/share/man/pl/man1/login.1
+#usr/share/man/pl/man1/newgrp.1
+#usr/share/man/pl/man1/passwd.1
+#usr/share/man/pl/man1/sg.1
+#usr/share/man/pl/man1/su.1
+#usr/share/man/pl/man5
+#usr/share/man/pl/man5/d_passwd.5
+#usr/share/man/pl/man5/faillog.5
+#usr/share/man/pl/man5/limits.5
+#usr/share/man/pl/man5/login.access.5
+#usr/share/man/pl/man5/login.defs.5
+#usr/share/man/pl/man5/passwd.5
+#usr/share/man/pl/man5/porttime.5
+#usr/share/man/pl/man5/shadow.5
+#usr/share/man/pl/man5/suauth.5
+#usr/share/man/pl/man8
+#usr/share/man/pl/man8/adduser.8
+#usr/share/man/pl/man8/chpasswd.8
+#usr/share/man/pl/man8/faillog.8
+#usr/share/man/pl/man8/groupadd.8
+#usr/share/man/pl/man8/groupdel.8
+#usr/share/man/pl/man8/groupmod.8
+#usr/share/man/pl/man8/grpck.8
+#usr/share/man/pl/man8/grpconv.8
+#usr/share/man/pl/man8/grpunconv.8
+#usr/share/man/pl/man8/lastlog.8
+#usr/share/man/pl/man8/logoutd.8
+#usr/share/man/pl/man8/mkpasswd.8
+#usr/share/man/pl/man8/newusers.8
+#usr/share/man/pl/man8/pwck.8
+#usr/share/man/pl/man8/pwconv.8
+#usr/share/man/pl/man8/pwunconv.8
+#usr/share/man/pl/man8/useradd.8
+#usr/share/man/pl/man8/userdel.8
+#usr/share/man/pl/man8/usermod.8
+#usr/share/man/pl/man8/vigr.8
+#usr/share/man/pl/man8/vipw.8
+#usr/share/man/pt_BR
+#usr/share/man/pt_BR/man1
+#usr/share/man/pt_BR/man1/gpasswd.1
+#usr/share/man/pt_BR/man5
+#usr/share/man/pt_BR/man5/shadow.5
+#usr/share/man/pt_BR/man8
+#usr/share/man/pt_BR/man8/groupadd.8
+#usr/share/man/pt_BR/man8/groupdel.8
+#usr/share/man/pt_BR/man8/groupmod.8
+var/log/btmp
+var/log/lastlog
+var/log/wtmp
+var/run/utmp
+##
+## sysklogd-1.4.1
+##
+usr/sbin/klogd
+usr/sbin/syslogd
+#usr/share/man/man8/klogd.8
+#usr/share/man/man8/sysklogd.8
+#var/log
+var/log/boot.log
+var/log/dhcpcd.log
+var/log/messages
+var/empty
+##
+## sysvinit-2.86
+##
+sbin/halt
+sbin/init
+sbin/killall5
+sbin/poweroff
+sbin/reboot
+sbin/runlevel
+sbin/shutdown
+sbin/sulogin
+sbin/telinit
+#sbin/bootlogd
+usr/bin/last
+usr/bin/lastb
+usr/bin/mesg
+usr/bin/utmpdump
+usr/bin/wall
+#usr/include/initreq.h
+#usr/share/man/man1/last.1
+#usr/share/man/man1/lastb.1
+#usr/share/man/man1/mesg.1
+#usr/share/man/man1/wall.1
+#usr/share/man/man5/initscript.5
+#usr/share/man/man5/inittab.5
+#usr/share/man/man8/halt.8
+#usr/share/man/man8/init.8
+#usr/share/man/man8/killall5.8
+#usr/share/man/man8/pidof.8
+#usr/share/man/man8/poweroff.8
+#usr/share/man/man8/reboot.8
+#usr/share/man/man8/runlevel.8
+#usr/share/man/man8/shutdown.8
+#usr/share/man/man8/sulogin.8
+#usr/share/man/man8/telinit.8
+##
+## tar-1.13.25
+##
+bin/tar
+#usr/bin/rmt
+#usr/share/info/tar.info
+##
+## util-linux-2.12a
+##
+#bin/arch
+bin/dmesg
+bin/more
+bin/mount
+bin/umount
+etc/fdprm
+#sbin/agetty
+sbin/blockdev
+sbin/cfdisk
+sbin/ctrlaltdel
+#sbin/elvtune
+sbin/fdisk
+#sbin/fsck.cramfs
+#sbin/fsck.minix
+sbin/hwclock
+sbin/losetup
+#sbin/mkfs
+#sbin/mkfs.bfs
+#sbin/mkfs.cramfs
+#sbin/mkfs.minix
+sbin/mkswap
+#sbin/pivot_root
+sbin/sfdisk
+sbin/swapoff
+sbin/swapon
+#usr/bin/cal
+#usr/bin/chkdupexe
+#usr/bin/col
+#usr/bin/colcrt
+#usr/bin/colrm
+#usr/bin/column
+#usr/bin/cytune
+#usr/bin/ddate
+usr/bin/fdformat
+usr/bin/getopt
+#usr/bin/hexdump
+#usr/bin/ipcrm
+#usr/bin/ipcs
+#usr/bin/isosize
+#usr/bin/line
+usr/bin/logger
+#usr/bin/look
+#usr/bin/mcookie
+#usr/bin/namei
+usr/bin/pg
+#usr/bin/raw
+usr/bin/rename
+usr/bin/renice
+#usr/bin/rev
+#usr/bin/script
+#usr/bin/setfdprm
+#usr/bin/setsid
+#usr/bin/setterm
+#usr/bin/tailf
+#usr/bin/ul
+#usr/bin/whereis
+#usr/bin/write
+#usr/sbin/ramsize
+usr/sbin/rdev
+#usr/sbin/readprofile
+#usr/sbin/rootflags
+#usr/sbin/tunelp
+#usr/sbin/vidmode
+#usr/share/info/ipc.info
+#usr/share/locale/ca/LC_MESSAGES/util-linux.mo
+#usr/share/locale/cs/LC_MESSAGES/util-linux.mo
+#usr/share/locale/da/LC_MESSAGES/util-linux.mo
+#usr/share/locale/de/LC_MESSAGES/util-linux.mo
+#usr/share/locale/es/LC_MESSAGES/util-linux.mo
+#usr/share/locale/et
+#usr/share/locale/et/LC_MESSAGES
+#usr/share/locale/et/LC_MESSAGES/util-linux.mo
+#usr/share/locale/fi/LC_MESSAGES/util-linux.mo
+#usr/share/locale/fr/LC_MESSAGES/util-linux.mo
+#usr/share/locale/it/LC_MESSAGES/util-linux.mo
+#usr/share/locale/ja/LC_MESSAGES/util-linux.mo
+#usr/share/locale/nl/LC_MESSAGES/util-linux.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/util-linux.mo
+#usr/share/locale/sl
+#usr/share/locale/sl/LC_MESSAGES
+#usr/share/locale/sl/LC_MESSAGES/util-linux.mo
+#usr/share/locale/sv/LC_MESSAGES/util-linux.mo
+#usr/share/locale/tr/LC_MESSAGES/util-linux.mo
+#usr/share/man/man1/arch.1
+#usr/share/man/man1/cal.1
+#usr/share/man/man1/chkdupexe.1
+#usr/share/man/man1/col.1
+#usr/share/man/man1/colcrt.1
+#usr/share/man/man1/colrm.1
+#usr/share/man/man1/column.1
+#usr/share/man/man1/ddate.1
+#usr/share/man/man1/getopt.1
+#usr/share/man/man1/hexdump.1
+#usr/share/man/man1/line.1
+#usr/share/man/man1/look.1
+#usr/share/man/man1/mcookie.1
+#usr/share/man/man1/more.1
+#usr/share/man/man1/namei.1
+#usr/share/man/man1/pg.1
+#usr/share/man/man1/readprofile.1
+#usr/share/man/man1/rename.1
+#usr/share/man/man1/rev.1
+#usr/share/man/man1/script.1
+#usr/share/man/man1/setterm.1
+#usr/share/man/man1/tailf.1
+#usr/share/man/man1/ul.1
+#usr/share/man/man1/whereis.1
+#usr/share/man/man1/write.1
+#usr/share/man/man5/fstab.5
+#usr/share/man/man5/nfs.5
+#usr/share/man/man8/agetty.8
+#usr/share/man/man8/blockdev.8
+#usr/share/man/man8/cfdisk.8
+#usr/share/man/man8/ctrlaltdel.8
+#usr/share/man/man8/cytune.8
+#usr/share/man/man8/dmesg.8
+#usr/share/man/man8/elvtune.8
+#usr/share/man/man8/fdformat.8
+#usr/share/man/man8/fdisk.8
+#usr/share/man/man8/fsck.minix.8
+#usr/share/man/man8/hwclock.8
+#usr/share/man/man8/ipcrm.8
+#usr/share/man/man8/ipcs.8
+#usr/share/man/man8/isosize.8
+#usr/share/man/man8/losetup.8
+#usr/share/man/man8/mkfs.8
+#usr/share/man/man8/mkfs.bfs.8
+#usr/share/man/man8/mkfs.minix.8
+#usr/share/man/man8/mkswap.8
+#usr/share/man/man8/mount.8
+#usr/share/man/man8/pivot_root.8
+#usr/share/man/man8/ramsize.8
+#usr/share/man/man8/raw.8
+#usr/share/man/man8/rdev.8
+#usr/share/man/man8/renice.8
+#usr/share/man/man8/rootflags.8
+#usr/share/man/man8/setfdprm.8
+#usr/share/man/man8/setsid.8
+#usr/share/man/man8/sfdisk.8
+#usr/share/man/man8/sln.8
+#usr/share/man/man8/swapoff.8
+#usr/share/man/man8/swapon.8
+#usr/share/man/man8/tunelp.8
+#usr/share/man/man8/umount.8
+#usr/share/man/man8/vidmode.8
+#usr/share/misc/getopt
+#usr/share/misc/getopt/getopt-parse.bash
+#usr/share/misc/getopt/getopt-parse.tcsh
+#usr/share/misc/getopt/getopt-test.bash
+#usr/share/misc/getopt/getopt-test.tcsh
+#var/lib/hwclock
+var/lib/hwclock/adjtime
+##
+## gcc-2.95.3
+##
+#opt/gcc-2.95.3
+#opt/gcc-2.95.3/bin
+#opt/gcc-2.95.3/bin/c++
+#opt/gcc-2.95.3/bin/c++filt
+#opt/gcc-2.95.3/bin/cpp
+#opt/gcc-2.95.3/bin/g++
+#opt/gcc-2.95.3/bin/gcc
+#opt/gcc-2.95.3/bin/gcov
+#opt/gcc-2.95.3/bin/i386-pc-linux-gnu-gcc
+#opt/gcc-2.95.3/bin/protoize
+#opt/gcc-2.95.3/bin/unprotoize
+#opt/gcc-2.95.3/i386-pc-linux-gnu
+#opt/gcc-2.95.3/i386-pc-linux-gnu/include
+#opt/gcc-2.95.3/include
+#opt/gcc-2.95.3/include/g++-3
+#opt/gcc-2.95.3/include/g++-3/std
+#opt/gcc-2.95.3/include/g++-3/std/bastring.h
+#opt/gcc-2.95.3/include/g++-3/std/complext.h
+#opt/gcc-2.95.3/include/g++-3/std/dcomplex.h
+#opt/gcc-2.95.3/include/g++-3/std/fcomplex.h
+#opt/gcc-2.95.3/include/g++-3/std/gslice.h
+#opt/gcc-2.95.3/include/g++-3/std/gslice_array.h
+#opt/gcc-2.95.3/include/g++-3/std/indirect_array.h
+#opt/gcc-2.95.3/include/g++-3/std/ldcomplex.h
+#opt/gcc-2.95.3/include/g++-3/std/mask_array.h
+#opt/gcc-2.95.3/include/g++-3/std/slice.h
+#opt/gcc-2.95.3/include/g++-3/std/slice_array.h
+#opt/gcc-2.95.3/include/g++-3/std/std_valarray.h
+#opt/gcc-2.95.3/include/g++-3/std/straits.h
+#opt/gcc-2.95.3/include/g++-3/std/valarray_array.h
+#opt/gcc-2.95.3/include/g++-3/std/valarray_meta.h
+#opt/gcc-2.95.3/include/g++-3/std/bastring.cc
+#opt/gcc-2.95.3/include/g++-3/std/complext.cc
+#opt/gcc-2.95.3/include/g++-3/std/valarray_array.tcc
+#opt/gcc-2.95.3/include/g++-3/PlotFile.h
+#opt/gcc-2.95.3/include/g++-3/SFile.h
+#opt/gcc-2.95.3/include/g++-3/builtinbuf.h
+#opt/gcc-2.95.3/include/g++-3/editbuf.h
+#opt/gcc-2.95.3/include/g++-3/fstream.h
+#opt/gcc-2.95.3/include/g++-3/indstream.h
+#opt/gcc-2.95.3/include/g++-3/iomanip.h
+#opt/gcc-2.95.3/include/g++-3/iostream.h
+#opt/gcc-2.95.3/include/g++-3/istream.h
+#opt/gcc-2.95.3/include/g++-3/ostream.h
+#opt/gcc-2.95.3/include/g++-3/parsestream.h
+#opt/gcc-2.95.3/include/g++-3/pfstream.h
+#opt/gcc-2.95.3/include/g++-3/procbuf.h
+#opt/gcc-2.95.3/include/g++-3/stdiostream.h
+#opt/gcc-2.95.3/include/g++-3/stream.h
+#opt/gcc-2.95.3/include/g++-3/streambuf.h
+#opt/gcc-2.95.3/include/g++-3/strfile.h
+#opt/gcc-2.95.3/include/g++-3/strstream.h
+#opt/gcc-2.95.3/include/g++-3/cassert
+#opt/gcc-2.95.3/include/g++-3/cctype
+#opt/gcc-2.95.3/include/g++-3/cerrno
+#opt/gcc-2.95.3/include/g++-3/cfloat
+#opt/gcc-2.95.3/include/g++-3/ciso646
+#opt/gcc-2.95.3/include/g++-3/climits
+#opt/gcc-2.95.3/include/g++-3/clocale
+#opt/gcc-2.95.3/include/g++-3/cmath
+#opt/gcc-2.95.3/include/g++-3/complex
+#opt/gcc-2.95.3/include/g++-3/csetjmp
+#opt/gcc-2.95.3/include/g++-3/csignal
+#opt/gcc-2.95.3/include/g++-3/cstdarg
+#opt/gcc-2.95.3/include/g++-3/cstddef
+#opt/gcc-2.95.3/include/g++-3/cstdio
+#opt/gcc-2.95.3/include/g++-3/cstdlib
+#opt/gcc-2.95.3/include/g++-3/cstring
+#opt/gcc-2.95.3/include/g++-3/ctime
+#opt/gcc-2.95.3/include/g++-3/cwchar
+#opt/gcc-2.95.3/include/g++-3/cwctype
+#opt/gcc-2.95.3/include/g++-3/string
+#opt/gcc-2.95.3/include/g++-3/stdexcept
+#opt/gcc-2.95.3/include/g++-3/algorithm
+#opt/gcc-2.95.3/include/g++-3/deque
+#opt/gcc-2.95.3/include/g++-3/functional
+#opt/gcc-2.95.3/include/g++-3/hash_map
+#opt/gcc-2.95.3/include/g++-3/hash_set
+#opt/gcc-2.95.3/include/g++-3/iterator
+#opt/gcc-2.95.3/include/g++-3/list
+#opt/gcc-2.95.3/include/g++-3/map
+#opt/gcc-2.95.3/include/g++-3/memory
+#opt/gcc-2.95.3/include/g++-3/numeric
+#opt/gcc-2.95.3/include/g++-3/pthread_alloc
+#opt/gcc-2.95.3/include/g++-3/queue
+#opt/gcc-2.95.3/include/g++-3/rope
+#opt/gcc-2.95.3/include/g++-3/set
+#opt/gcc-2.95.3/include/g++-3/slist
+#opt/gcc-2.95.3/include/g++-3/stack
+#opt/gcc-2.95.3/include/g++-3/utility
+#opt/gcc-2.95.3/include/g++-3/vector
+#opt/gcc-2.95.3/include/g++-3/fstream
+#opt/gcc-2.95.3/include/g++-3/iomanip
+#opt/gcc-2.95.3/include/g++-3/iostream
+#opt/gcc-2.95.3/include/g++-3/strstream
+#opt/gcc-2.95.3/include/g++-3/iosfwd
+#opt/gcc-2.95.3/include/g++-3/bitset
+#opt/gcc-2.95.3/include/g++-3/valarray
+#opt/gcc-2.95.3/include/g++-3/sstream
+#opt/gcc-2.95.3/include/g++-3/complex.h
+#opt/gcc-2.95.3/include/g++-3/stl.h
+#opt/gcc-2.95.3/include/g++-3/algo.h
+#opt/gcc-2.95.3/include/g++-3/algobase.h
+#opt/gcc-2.95.3/include/g++-3/alloc.h
+#opt/gcc-2.95.3/include/g++-3/bvector.h
+#opt/gcc-2.95.3/include/g++-3/defalloc.h
+#opt/gcc-2.95.3/include/g++-3/deque.h
+#opt/gcc-2.95.3/include/g++-3/function.h
+#opt/gcc-2.95.3/include/g++-3/hash_map.h
+#opt/gcc-2.95.3/include/g++-3/hash_set.h
+#opt/gcc-2.95.3/include/g++-3/hashtable.h
+#opt/gcc-2.95.3/include/g++-3/heap.h
+#opt/gcc-2.95.3/include/g++-3/iterator.h
+#opt/gcc-2.95.3/include/g++-3/list.h
+#opt/gcc-2.95.3/include/g++-3/map.h
+#opt/gcc-2.95.3/include/g++-3/multimap.h
+#opt/gcc-2.95.3/include/g++-3/multiset.h
+#opt/gcc-2.95.3/include/g++-3/pair.h
+#opt/gcc-2.95.3/include/g++-3/pthread_alloc.h
+#opt/gcc-2.95.3/include/g++-3/rope.h
+#opt/gcc-2.95.3/include/g++-3/ropeimpl.h
+#opt/gcc-2.95.3/include/g++-3/set.h
+#opt/gcc-2.95.3/include/g++-3/slist.h
+#opt/gcc-2.95.3/include/g++-3/stack.h
+#opt/gcc-2.95.3/include/g++-3/stl_algo.h
+#opt/gcc-2.95.3/include/g++-3/stl_algobase.h
+#opt/gcc-2.95.3/include/g++-3/stl_alloc.h
+#opt/gcc-2.95.3/include/g++-3/stl_bvector.h
+#opt/gcc-2.95.3/include/g++-3/stl_config.h
+#opt/gcc-2.95.3/include/g++-3/stl_construct.h
+#opt/gcc-2.95.3/include/g++-3/stl_deque.h
+#opt/gcc-2.95.3/include/g++-3/stl_function.h
+#opt/gcc-2.95.3/include/g++-3/stl_hash_fun.h
+#opt/gcc-2.95.3/include/g++-3/stl_hash_map.h
+#opt/gcc-2.95.3/include/g++-3/stl_hash_set.h
+#opt/gcc-2.95.3/include/g++-3/stl_hashtable.h
+#opt/gcc-2.95.3/include/g++-3/stl_heap.h
+#opt/gcc-2.95.3/include/g++-3/stl_iterator.h
+#opt/gcc-2.95.3/include/g++-3/stl_list.h
+#opt/gcc-2.95.3/include/g++-3/stl_map.h
+#opt/gcc-2.95.3/include/g++-3/stl_multimap.h
+#opt/gcc-2.95.3/include/g++-3/stl_multiset.h
+#opt/gcc-2.95.3/include/g++-3/stl_numeric.h
+#opt/gcc-2.95.3/include/g++-3/stl_pair.h
+#opt/gcc-2.95.3/include/g++-3/stl_queue.h
+#opt/gcc-2.95.3/include/g++-3/stl_raw_storage_iter.h
+#opt/gcc-2.95.3/include/g++-3/stl_relops.h
+#opt/gcc-2.95.3/include/g++-3/stl_rope.h
+#opt/gcc-2.95.3/include/g++-3/stl_set.h
+#opt/gcc-2.95.3/include/g++-3/stl_slist.h
+#opt/gcc-2.95.3/include/g++-3/stl_stack.h
+#opt/gcc-2.95.3/include/g++-3/stl_tempbuf.h
+#opt/gcc-2.95.3/include/g++-3/stl_tree.h
+#opt/gcc-2.95.3/include/g++-3/stl_uninitialized.h
+#opt/gcc-2.95.3/include/g++-3/stl_vector.h
+#opt/gcc-2.95.3/include/g++-3/tempbuf.h
+#opt/gcc-2.95.3/include/g++-3/tree.h
+#opt/gcc-2.95.3/include/g++-3/type_traits.h
+#opt/gcc-2.95.3/include/g++-3/vector.h
+#opt/gcc-2.95.3/info
+#opt/gcc-2.95.3/info/cpp.info
+#opt/gcc-2.95.3/info/cpp.info-1
+#opt/gcc-2.95.3/info/cpp.info-2
+#opt/gcc-2.95.3/info/cpp.info-3
+#opt/gcc-2.95.3/info/gcc.info
+#opt/gcc-2.95.3/info/gcc.info-1
+#opt/gcc-2.95.3/info/gcc.info-10
+#opt/gcc-2.95.3/info/gcc.info-11
+#opt/gcc-2.95.3/info/gcc.info-12
+#opt/gcc-2.95.3/info/gcc.info-13
+#opt/gcc-2.95.3/info/gcc.info-14
+#opt/gcc-2.95.3/info/gcc.info-15
+#opt/gcc-2.95.3/info/gcc.info-16
+#opt/gcc-2.95.3/info/gcc.info-17
+#opt/gcc-2.95.3/info/gcc.info-18
+#opt/gcc-2.95.3/info/gcc.info-19
+#opt/gcc-2.95.3/info/gcc.info-2
+#opt/gcc-2.95.3/info/gcc.info-20
+#opt/gcc-2.95.3/info/gcc.info-21
+#opt/gcc-2.95.3/info/gcc.info-22
+#opt/gcc-2.95.3/info/gcc.info-23
+#opt/gcc-2.95.3/info/gcc.info-24
+#opt/gcc-2.95.3/info/gcc.info-25
+#opt/gcc-2.95.3/info/gcc.info-26
+#opt/gcc-2.95.3/info/gcc.info-27
+#opt/gcc-2.95.3/info/gcc.info-28
+#opt/gcc-2.95.3/info/gcc.info-29
+#opt/gcc-2.95.3/info/gcc.info-3
+#opt/gcc-2.95.3/info/gcc.info-30
+#opt/gcc-2.95.3/info/gcc.info-4
+#opt/gcc-2.95.3/info/gcc.info-5
+#opt/gcc-2.95.3/info/gcc.info-6
+#opt/gcc-2.95.3/info/gcc.info-7
+#opt/gcc-2.95.3/info/gcc.info-8
+#opt/gcc-2.95.3/info/gcc.info-9
+#opt/gcc-2.95.3/lib
+#opt/gcc-2.95.3/lib/gcc-lib
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/SYSCALLS.c.X
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cc1
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cc1plus
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/collect2
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/cpp0
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtbegin.o
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtbeginS.o
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtend.o
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/crtendS.o
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/exception
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/float.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/iso646.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/limits.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/new
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/new.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/proto.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stdarg.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stdbool.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/stddef.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/syslimits.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/typeinfo
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-alpha.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-arc.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-c4x.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-clipper.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-h8300.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-i860.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-i960.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-m32r.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-m88k.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mips.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mn10200.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-mn10300.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-pa.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-ppc.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-pyr.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-sh.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-sparc.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-spur.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/va-v850.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/include/varargs.h
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libgcc.a
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libstdc++.a
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/libstdc++.so
+#opt/gcc-2.95.3/lib/gcc-lib/i386-pc-linux-gnu/2.95.3/specs
+#opt/gcc-2.95.3/lib/libiberty.a
+#opt/gcc-2.95.3/lib/libstdc++-3-libc6.3-2-2.10.0.a
+#opt/gcc-2.95.3/lib/libstdc++-libc6.3-2.a.3
+#opt/gcc-2.95.3/lib/libstdc++-3-libc6.3-2-2.10.0.so
+#opt/gcc-2.95.3/lib/libstdc++-libc6.3-2.so.3
+#opt/gcc-2.95.3/man
+#opt/gcc-2.95.3/man/man1
+#opt/gcc-2.95.3/man/man1/cccp.1
+#opt/gcc-2.95.3/man/man1/g++.1
+#opt/gcc-2.95.3/man/man1/gcc.1
+##
+## pcmcia-cs-3.2.8
+##
+#etc/pcmcia
+#etc/pcmcia/cis
+etc/pcmcia/cis/3CCFEM556.dat
+etc/pcmcia/cis/3CXEM556.dat
+etc/pcmcia/cis/COMpad2.dat
+etc/pcmcia/cis/COMpad4.dat
+etc/pcmcia/cis/DP83903.dat
+etc/pcmcia/cis/E-CARD.dat
+etc/pcmcia/cis/LA-PCM.dat
+etc/pcmcia/cis/MT5634ZLX.dat
+etc/pcmcia/cis/NE2K.dat
+etc/pcmcia/cis/PCMLM28.dat
+etc/pcmcia/cis/PE-200.dat
+etc/pcmcia/cis/PE520.dat
+etc/pcmcia/cis/RS-COM-2P.dat
+etc/pcmcia/cis/tamarack.dat
+etc/pcmcia/config
+etc/pcmcia/config.opts
+etc/pcmcia/ftl
+etc/pcmcia/ftl.opts
+etc/pcmcia/ide
+etc/pcmcia/ide.opts
+etc/pcmcia/ieee1394
+etc/pcmcia/ieee1394.opts
+etc/pcmcia/isdnextra.conf
+etc/pcmcia/memory
+etc/pcmcia/memory.opts
+etc/pcmcia/netextra.conf
+etc/pcmcia/network
+etc/pcmcia/network.opts
+etc/pcmcia/parport
+etc/pcmcia/parport.opts
+etc/pcmcia/scsi
+etc/pcmcia/scsi.opts
+etc/pcmcia/serial
+etc/pcmcia/serial.opts
+etc/pcmcia/shared
+etc/pcmcia/wireless
+etc/pcmcia/wireless.opts
+#etc/rc.d
+etc/rc.d/rc.pcmcia
+sbin/cardctl
+sbin/cardmgr
+sbin/dump_cis
+sbin/ftl_check
+sbin/ftl_format
+sbin/ide_info
+sbin/ifport
+sbin/ifuser
+sbin/lspnp
+sbin/pack_cis
+sbin/pcinitrd
+sbin/scsi_info
+sbin/setpnp
+#usr/share/man/man4/aha152x_cs.4
+#usr/share/man/man4/airo.4
+#usr/share/man/man4/airo_cs.4
+#usr/share/man/man4/axnet_cs.4
+#usr/share/man/man4/dummy_cb.4
+#usr/share/man/man4/dummy_cs.4
+#usr/share/man/man4/fmvj18x_cs.4
+#usr/share/man/man4/ftl_cs.4
+#usr/share/man/man4/i82365.4
+#usr/share/man/man4/ibmtr_cs.4
+#usr/share/man/man4/iflash2+_mtd.4
+#usr/share/man/man4/iflash2_mtd.4
+#usr/share/man/man4/memory_cb.4
+#usr/share/man/man4/memory_cs.4
+#usr/share/man/man4/netwave_cs.4
+#usr/share/man/man4/pcmcia_core.4
+#usr/share/man/man4/pcnet_cs.4
+#usr/share/man/man4/ray_cs.4
+#usr/share/man/man4/serial_cs.4
+#usr/share/man/man4/smc91c92_cs.4
+#usr/share/man/man4/tc574_cs.4
+#usr/share/man/man4/tc575_cb.4
+#usr/share/man/man4/tc589_cs.4
+#usr/share/man/man4/tcic.4
+#usr/share/man/man4/wavelan_cs.4
+#usr/share/man/man4/wvlan_cs.4
+#usr/share/man/man4/xirc2ps_cs.4
+#usr/share/man/man5/pcmcia.5
+#usr/share/man/man5/stab.5
+#usr/share/man/man8/cardctl.8
+#usr/share/man/man8/cardmgr.8
+#usr/share/man/man8/dump_cis.8
+#usr/share/man/man8/ftl_check.8
+#usr/share/man/man8/ftl_format.8
+#usr/share/man/man8/ide_info.8
+#usr/share/man/man8/ifport.8
+#usr/share/man/man8/ifuser.8
+#usr/share/man/man8/lspnp.8
+#usr/share/man/man8/pack_cis.8
+#usr/share/man/man8/pcic_probe.8
+#usr/share/man/man8/pcinitrd.8
+#usr/share/man/man8/scsi_info.8
+#usr/share/man/man8/setpnp.8
+usr/share/pnp.ids
+var/lib/pcmcia
+##
+## Python-2.3.4
+##
+#usr/bin/idle
+#usr/bin/pydoc
+usr/bin/python
+#usr/bin/python2.3
+#usr/include/python2.3
+#usr/include/python2.3/Python.h
+#usr/include/python2.3/abstract.h
+#usr/include/python2.3/bitset.h
+#usr/include/python2.3/boolobject.h
+#usr/include/python2.3/bufferobject.h
+#usr/include/python2.3/cStringIO.h
+#usr/include/python2.3/cellobject.h
+#usr/include/python2.3/ceval.h
+#usr/include/python2.3/classobject.h
+#usr/include/python2.3/cobject.h
+#usr/include/python2.3/codecs.h
+#usr/include/python2.3/compile.h
+#usr/include/python2.3/complexobject.h
+#usr/include/python2.3/datetime.h
+#usr/include/python2.3/descrobject.h
+#usr/include/python2.3/dictobject.h
+#usr/include/python2.3/enumobject.h
+#usr/include/python2.3/errcode.h
+#usr/include/python2.3/eval.h
+#usr/include/python2.3/fileobject.h
+#usr/include/python2.3/floatobject.h
+#usr/include/python2.3/frameobject.h
+#usr/include/python2.3/funcobject.h
+#usr/include/python2.3/graminit.h
+#usr/include/python2.3/grammar.h
+#usr/include/python2.3/import.h
+#usr/include/python2.3/intobject.h
+#usr/include/python2.3/intrcheck.h
+#usr/include/python2.3/iterobject.h
+#usr/include/python2.3/listobject.h
+#usr/include/python2.3/longintrepr.h
+#usr/include/python2.3/longobject.h
+#usr/include/python2.3/marshal.h
+#usr/include/python2.3/metagrammar.h
+#usr/include/python2.3/methodobject.h
+#usr/include/python2.3/modsupport.h
+#usr/include/python2.3/moduleobject.h
+#usr/include/python2.3/node.h
+#usr/include/python2.3/object.h
+#usr/include/python2.3/objimpl.h
+#usr/include/python2.3/opcode.h
+#usr/include/python2.3/osdefs.h
+#usr/include/python2.3/parsetok.h
+#usr/include/python2.3/patchlevel.h
+#usr/include/python2.3/pgen.h
+#usr/include/python2.3/pgenheaders.h
+#usr/include/python2.3/py_curses.h
+#usr/include/python2.3/pyconfig.h
+#usr/include/python2.3/pydebug.h
+#usr/include/python2.3/pyerrors.h
+#usr/include/python2.3/pyfpe.h
+#usr/include/python2.3/pygetopt.h
+#usr/include/python2.3/pymactoolbox.h
+#usr/include/python2.3/pymem.h
+#usr/include/python2.3/pyport.h
+#usr/include/python2.3/pystate.h
+#usr/include/python2.3/pythonrun.h
+#usr/include/python2.3/pythread.h
+#usr/include/python2.3/rangeobject.h
+#usr/include/python2.3/sliceobject.h
+#usr/include/python2.3/stringobject.h
+#usr/include/python2.3/structmember.h
+#usr/include/python2.3/structseq.h
+#usr/include/python2.3/symtable.h
+#usr/include/python2.3/sysmodule.h
+#usr/include/python2.3/token.h
+#usr/include/python2.3/traceback.h
+#usr/include/python2.3/tupleobject.h
+#usr/include/python2.3/ucnhash.h
+#usr/include/python2.3/unicodeobject.h
+#usr/include/python2.3/weakrefobject.h
+#usr/lib/python2.3
+#usr/lib/python2.3/BaseHTTPServer.py
+usr/lib/python2.3/BaseHTTPServer.pyc
+#usr/lib/python2.3/BaseHTTPServer.pyo
+#usr/lib/python2.3/Bastion.py
+#usr/lib/python2.3/Bastion.pyc
+#usr/lib/python2.3/Bastion.pyo
+#usr/lib/python2.3/CGIHTTPServer.py
+usr/lib/python2.3/CGIHTTPServer.pyc
+#usr/lib/python2.3/CGIHTTPServer.pyo
+#usr/lib/python2.3/ConfigParser.py
+usr/lib/python2.3/ConfigParser.pyc
+#usr/lib/python2.3/ConfigParser.pyo
+#usr/lib/python2.3/Cookie.py
+usr/lib/python2.3/Cookie.pyc
+#usr/lib/python2.3/Cookie.pyo
+#usr/lib/python2.3/DocXMLRPCServer.py
+usr/lib/python2.3/DocXMLRPCServer.pyc
+#usr/lib/python2.3/DocXMLRPCServer.pyo
+#usr/lib/python2.3/FCNTL.py
+usr/lib/python2.3/FCNTL.pyc
+#usr/lib/python2.3/FCNTL.pyo
+#usr/lib/python2.3/HTMLParser.py
+usr/lib/python2.3/HTMLParser.pyc
+#usr/lib/python2.3/HTMLParser.pyo
+#usr/lib/python2.3/LICENSE.txt
+#usr/lib/python2.3/MimeWriter.py
+usr/lib/python2.3/MimeWriter.pyc
+#usr/lib/python2.3/MimeWriter.pyo
+#usr/lib/python2.3/Queue.py
+usr/lib/python2.3/Queue.pyc
+#usr/lib/python2.3/Queue.pyo
+#usr/lib/python2.3/SimpleHTTPServer.py
+usr/lib/python2.3/SimpleHTTPServer.pyc
+#usr/lib/python2.3/SimpleHTTPServer.pyo
+#usr/lib/python2.3/SimpleXMLRPCServer.py
+usr/lib/python2.3/SimpleXMLRPCServer.pyc
+#usr/lib/python2.3/SimpleXMLRPCServer.pyo
+#usr/lib/python2.3/SocketServer.py
+usr/lib/python2.3/SocketServer.pyc
+#usr/lib/python2.3/SocketServer.pyo
+#usr/lib/python2.3/StringIO.py
+usr/lib/python2.3/StringIO.pyc
+#usr/lib/python2.3/StringIO.pyo
+#usr/lib/python2.3/TERMIOS.py
+usr/lib/python2.3/TERMIOS.pyc
+#usr/lib/python2.3/TERMIOS.pyo
+#usr/lib/python2.3/UserDict.py
+usr/lib/python2.3/UserDict.pyc
+#usr/lib/python2.3/UserDict.pyo
+#usr/lib/python2.3/UserList.py
+usr/lib/python2.3/UserList.pyc
+#usr/lib/python2.3/UserList.pyo
+#usr/lib/python2.3/UserString.py
+usr/lib/python2.3/UserString.pyc
+#usr/lib/python2.3/UserString.pyo
+#usr/lib/python2.3/__future__.py
+usr/lib/python2.3/__future__.pyc
+#usr/lib/python2.3/__future__.pyo
+#usr/lib/python2.3/__phello__.foo.py
+#usr/lib/python2.3/__phello__.foo.pyc
+#usr/lib/python2.3/__phello__.foo.pyo
+#usr/lib/python2.3/_strptime.py
+usr/lib/python2.3/_strptime.pyc
+#usr/lib/python2.3/_strptime.pyo
+#usr/lib/python2.3/aifc.py
+#usr/lib/python2.3/aifc.pyc
+#usr/lib/python2.3/aifc.pyo
+#usr/lib/python2.3/anydbm.py
+usr/lib/python2.3/anydbm.pyc
+#usr/lib/python2.3/anydbm.pyo
+#usr/lib/python2.3/asynchat.py
+#usr/lib/python2.3/asynchat.pyc
+#usr/lib/python2.3/asynchat.pyo
+#usr/lib/python2.3/asyncore.py
+usr/lib/python2.3/asyncore.pyc
+#usr/lib/python2.3/asyncore.pyo
+#usr/lib/python2.3/atexit.py
+usr/lib/python2.3/atexit.pyc
+#usr/lib/python2.3/atexit.pyo
+#usr/lib/python2.3/audiodev.py
+#usr/lib/python2.3/audiodev.pyc
+#usr/lib/python2.3/audiodev.pyo
+#usr/lib/python2.3/base64.py
+usr/lib/python2.3/base64.pyc
+#usr/lib/python2.3/base64.pyo
+#usr/lib/python2.3/bdb.py
+#usr/lib/python2.3/bdb.pyc
+#usr/lib/python2.3/bdb.pyo
+#usr/lib/python2.3/binhex.py
+usr/lib/python2.3/binhex.pyc
+#usr/lib/python2.3/binhex.pyo
+#usr/lib/python2.3/bisect.py
+#usr/lib/python2.3/bisect.pyc
+#usr/lib/python2.3/bisect.pyo
+#usr/lib/python2.3/bsddb
+#usr/lib/python2.3/bsddb/__init__.py
+usr/lib/python2.3/bsddb/__init__.pyc
+#usr/lib/python2.3/bsddb/__init__.pyo
+#usr/lib/python2.3/bsddb/db.py
+usr/lib/python2.3/bsddb/db.pyc
+#usr/lib/python2.3/bsddb/db.pyo
+#usr/lib/python2.3/bsddb/dbobj.py
+usr/lib/python2.3/bsddb/dbobj.pyc
+#usr/lib/python2.3/bsddb/dbobj.pyo
+#usr/lib/python2.3/bsddb/dbrecio.py
+usr/lib/python2.3/bsddb/dbrecio.pyc
+#usr/lib/python2.3/bsddb/dbrecio.pyo
+#usr/lib/python2.3/bsddb/dbshelve.py
+usr/lib/python2.3/bsddb/dbshelve.pyc
+#usr/lib/python2.3/bsddb/dbshelve.pyo
+#usr/lib/python2.3/bsddb/dbtables.py
+usr/lib/python2.3/bsddb/dbtables.pyc
+#usr/lib/python2.3/bsddb/dbtables.pyo
+#usr/lib/python2.3/bsddb/dbutils.py
+usr/lib/python2.3/bsddb/dbutils.pyc
+#usr/lib/python2.3/bsddb/dbutils.pyo
+#usr/lib/python2.3/bsddb/test
+#usr/lib/python2.3/bsddb/test/__init__.py
+#usr/lib/python2.3/bsddb/test/__init__.pyc
+#usr/lib/python2.3/bsddb/test/__init__.pyo
+#usr/lib/python2.3/bsddb/test/test_all.py
+#usr/lib/python2.3/bsddb/test/test_all.pyc
+#usr/lib/python2.3/bsddb/test/test_all.pyo
+#usr/lib/python2.3/bsddb/test/test_associate.py
+#usr/lib/python2.3/bsddb/test/test_associate.pyc
+#usr/lib/python2.3/bsddb/test/test_associate.pyo
+#usr/lib/python2.3/bsddb/test/test_basics.py
+#usr/lib/python2.3/bsddb/test/test_basics.pyc
+#usr/lib/python2.3/bsddb/test/test_basics.pyo
+#usr/lib/python2.3/bsddb/test/test_compat.py
+#usr/lib/python2.3/bsddb/test/test_compat.pyc
+#usr/lib/python2.3/bsddb/test/test_compat.pyo
+#usr/lib/python2.3/bsddb/test/test_dbobj.py
+#usr/lib/python2.3/bsddb/test/test_dbobj.pyc
+#usr/lib/python2.3/bsddb/test/test_dbobj.pyo
+#usr/lib/python2.3/bsddb/test/test_dbshelve.py
+#usr/lib/python2.3/bsddb/test/test_dbshelve.pyc
+#usr/lib/python2.3/bsddb/test/test_dbshelve.pyo
+#usr/lib/python2.3/bsddb/test/test_dbtables.py
+#usr/lib/python2.3/bsddb/test/test_dbtables.pyc
+#usr/lib/python2.3/bsddb/test/test_dbtables.pyo
+#usr/lib/python2.3/bsddb/test/test_env_close.py
+#usr/lib/python2.3/bsddb/test/test_env_close.pyc
+#usr/lib/python2.3/bsddb/test/test_env_close.pyo
+#usr/lib/python2.3/bsddb/test/test_get_none.py
+#usr/lib/python2.3/bsddb/test/test_get_none.pyc
+#usr/lib/python2.3/bsddb/test/test_get_none.pyo
+#usr/lib/python2.3/bsddb/test/test_join.py
+#usr/lib/python2.3/bsddb/test/test_join.pyc
+#usr/lib/python2.3/bsddb/test/test_join.pyo
+#usr/lib/python2.3/bsddb/test/test_lock.py
+#usr/lib/python2.3/bsddb/test/test_lock.pyc
+#usr/lib/python2.3/bsddb/test/test_lock.pyo
+#usr/lib/python2.3/bsddb/test/test_misc.py
+#usr/lib/python2.3/bsddb/test/test_misc.pyc
+#usr/lib/python2.3/bsddb/test/test_misc.pyo
+#usr/lib/python2.3/bsddb/test/test_queue.py
+#usr/lib/python2.3/bsddb/test/test_queue.pyc
+#usr/lib/python2.3/bsddb/test/test_queue.pyo
+#usr/lib/python2.3/bsddb/test/test_recno.py
+#usr/lib/python2.3/bsddb/test/test_recno.pyc
+#usr/lib/python2.3/bsddb/test/test_recno.pyo
+#usr/lib/python2.3/bsddb/test/test_thread.py
+#usr/lib/python2.3/bsddb/test/test_thread.pyc
+#usr/lib/python2.3/bsddb/test/test_thread.pyo
+#usr/lib/python2.3/calendar.py
+usr/lib/python2.3/calendar.pyc
+#usr/lib/python2.3/calendar.pyo
+#usr/lib/python2.3/cgi.py
+usr/lib/python2.3/cgi.pyc
+#usr/lib/python2.3/cgi.pyo
+#usr/lib/python2.3/cgitb.py
+usr/lib/python2.3/cgitb.pyc
+#usr/lib/python2.3/cgitb.pyo
+#usr/lib/python2.3/chunk.py
+usr/lib/python2.3/chunk.pyc
+#usr/lib/python2.3/chunk.pyo
+#usr/lib/python2.3/cmd.py
+usr/lib/python2.3/cmd.pyc
+#usr/lib/python2.3/cmd.pyo
+#usr/lib/python2.3/code.py
+usr/lib/python2.3/code.pyc
+#usr/lib/python2.3/code.pyo
+#usr/lib/python2.3/codecs.py
+usr/lib/python2.3/codecs.pyc
+#usr/lib/python2.3/codecs.pyo
+#usr/lib/python2.3/codeop.py
+usr/lib/python2.3/codeop.pyc
+#usr/lib/python2.3/codeop.pyo
+#usr/lib/python2.3/colorsys.py
+usr/lib/python2.3/colorsys.pyc
+#usr/lib/python2.3/colorsys.pyo
+#usr/lib/python2.3/commands.py
+usr/lib/python2.3/commands.pyc
+#usr/lib/python2.3/commands.pyo
+#usr/lib/python2.3/compileall.py
+usr/lib/python2.3/compileall.pyc
+#usr/lib/python2.3/compileall.pyo
+#usr/lib/python2.3/compiler
+#usr/lib/python2.3/compiler/__init__.py
+usr/lib/python2.3/compiler/__init__.pyc
+#usr/lib/python2.3/compiler/__init__.pyo
+#usr/lib/python2.3/compiler/ast.py
+usr/lib/python2.3/compiler/ast.pyc
+#usr/lib/python2.3/compiler/ast.pyo
+#usr/lib/python2.3/compiler/consts.py
+usr/lib/python2.3/compiler/consts.pyc
+#usr/lib/python2.3/compiler/consts.pyo
+#usr/lib/python2.3/compiler/future.py
+usr/lib/python2.3/compiler/future.pyc
+#usr/lib/python2.3/compiler/future.pyo
+#usr/lib/python2.3/compiler/misc.py
+usr/lib/python2.3/compiler/misc.pyc
+#usr/lib/python2.3/compiler/misc.pyo
+#usr/lib/python2.3/compiler/pyassem.py
+usr/lib/python2.3/compiler/pyassem.pyc
+#usr/lib/python2.3/compiler/pyassem.pyo
+#usr/lib/python2.3/compiler/pycodegen.py
+usr/lib/python2.3/compiler/pycodegen.pyc
+#usr/lib/python2.3/compiler/pycodegen.pyo
+#usr/lib/python2.3/compiler/symbols.py
+usr/lib/python2.3/compiler/symbols.pyc
+#usr/lib/python2.3/compiler/symbols.pyo
+#usr/lib/python2.3/compiler/syntax.py
+usr/lib/python2.3/compiler/syntax.pyc
+#usr/lib/python2.3/compiler/syntax.pyo
+#usr/lib/python2.3/compiler/transformer.py
+usr/lib/python2.3/compiler/transformer.pyc
+#usr/lib/python2.3/compiler/transformer.pyo
+#usr/lib/python2.3/compiler/visitor.py
+usr/lib/python2.3/compiler/visitor.pyc
+#usr/lib/python2.3/compiler/visitor.pyo
+#usr/lib/python2.3/config
+#usr/lib/python2.3/config/Makefile
+#usr/lib/python2.3/config/Setup
+#usr/lib/python2.3/config/Setup.config
+#usr/lib/python2.3/config/Setup.local
+#usr/lib/python2.3/config/config.c
+#usr/lib/python2.3/config/config.c.in
+#usr/lib/python2.3/config/install-sh
+#usr/lib/python2.3/config/libpython2.3.a
+#usr/lib/python2.3/config/makesetup
+#usr/lib/python2.3/config/python.o
+#usr/lib/python2.3/copy.py
+usr/lib/python2.3/copy.pyc
+#usr/lib/python2.3/copy.pyo
+#usr/lib/python2.3/copy_reg.py
+usr/lib/python2.3/copy_reg.pyc
+#usr/lib/python2.3/copy_reg.pyo
+#usr/lib/python2.3/csv.py
+usr/lib/python2.3/csv.pyc
+#usr/lib/python2.3/csv.pyo
+#usr/lib/python2.3/curses
+#usr/lib/python2.3/curses/__init__.py
+usr/lib/python2.3/curses/__init__.pyc
+#usr/lib/python2.3/curses/__init__.pyo
+#usr/lib/python2.3/curses/ascii.py
+usr/lib/python2.3/curses/ascii.pyc
+#usr/lib/python2.3/curses/ascii.pyo
+#usr/lib/python2.3/curses/has_key.py
+usr/lib/python2.3/curses/has_key.pyc
+#usr/lib/python2.3/curses/has_key.pyo
+#usr/lib/python2.3/curses/panel.py
+usr/lib/python2.3/curses/panel.pyc
+#usr/lib/python2.3/curses/panel.pyo
+#usr/lib/python2.3/curses/textpad.py
+usr/lib/python2.3/curses/textpad.pyc
+#usr/lib/python2.3/curses/textpad.pyo
+#usr/lib/python2.3/curses/wrapper.py
+usr/lib/python2.3/curses/wrapper.pyc
+#usr/lib/python2.3/curses/wrapper.pyo
+#usr/lib/python2.3/dbhash.py
+usr/lib/python2.3/dbhash.pyc
+#usr/lib/python2.3/dbhash.pyo
+#usr/lib/python2.3/difflib.py
+usr/lib/python2.3/difflib.pyc
+#usr/lib/python2.3/difflib.pyo
+#usr/lib/python2.3/dircache.py
+usr/lib/python2.3/dircache.pyc
+#usr/lib/python2.3/dircache.pyo
+#usr/lib/python2.3/dis.py
+usr/lib/python2.3/dis.pyc
+#usr/lib/python2.3/dis.pyo
+#usr/lib/python2.3/distutils
+#usr/lib/python2.3/distutils/README
+#usr/lib/python2.3/distutils/__init__.py
+#usr/lib/python2.3/distutils/__init__.pyc
+#usr/lib/python2.3/distutils/__init__.pyo
+#usr/lib/python2.3/distutils/archive_util.py
+#usr/lib/python2.3/distutils/archive_util.pyc
+#usr/lib/python2.3/distutils/archive_util.pyo
+#usr/lib/python2.3/distutils/bcppcompiler.py
+#usr/lib/python2.3/distutils/bcppcompiler.pyc
+#usr/lib/python2.3/distutils/bcppcompiler.pyo
+#usr/lib/python2.3/distutils/ccompiler.py
+#usr/lib/python2.3/distutils/ccompiler.pyc
+#usr/lib/python2.3/distutils/ccompiler.pyo
+#usr/lib/python2.3/distutils/cmd.py
+#usr/lib/python2.3/distutils/cmd.pyc
+#usr/lib/python2.3/distutils/cmd.pyo
+#usr/lib/python2.3/distutils/command
+#usr/lib/python2.3/distutils/command/__init__.py
+#usr/lib/python2.3/distutils/command/__init__.pyc
+#usr/lib/python2.3/distutils/command/__init__.pyo
+#usr/lib/python2.3/distutils/command/bdist.py
+#usr/lib/python2.3/distutils/command/bdist.pyc
+#usr/lib/python2.3/distutils/command/bdist.pyo
+#usr/lib/python2.3/distutils/command/bdist_dumb.py
+#usr/lib/python2.3/distutils/command/bdist_dumb.pyc
+#usr/lib/python2.3/distutils/command/bdist_dumb.pyo
+#usr/lib/python2.3/distutils/command/bdist_rpm.py
+#usr/lib/python2.3/distutils/command/bdist_rpm.pyc
+#usr/lib/python2.3/distutils/command/bdist_rpm.pyo
+#usr/lib/python2.3/distutils/command/bdist_wininst.py
+#usr/lib/python2.3/distutils/command/bdist_wininst.pyc
+#usr/lib/python2.3/distutils/command/bdist_wininst.pyo
+#usr/lib/python2.3/distutils/command/build.py
+#usr/lib/python2.3/distutils/command/build.pyc
+#usr/lib/python2.3/distutils/command/build.pyo
+#usr/lib/python2.3/distutils/command/build_clib.py
+#usr/lib/python2.3/distutils/command/build_clib.pyc
+#usr/lib/python2.3/distutils/command/build_clib.pyo
+#usr/lib/python2.3/distutils/command/build_ext.py
+#usr/lib/python2.3/distutils/command/build_ext.pyc
+#usr/lib/python2.3/distutils/command/build_ext.pyo
+#usr/lib/python2.3/distutils/command/build_py.py
+#usr/lib/python2.3/distutils/command/build_py.pyc
+#usr/lib/python2.3/distutils/command/build_py.pyo
+#usr/lib/python2.3/distutils/command/build_scripts.py
+#usr/lib/python2.3/distutils/command/build_scripts.pyc
+#usr/lib/python2.3/distutils/command/build_scripts.pyo
+#usr/lib/python2.3/distutils/command/clean.py
+#usr/lib/python2.3/distutils/command/clean.pyc
+#usr/lib/python2.3/distutils/command/clean.pyo
+#usr/lib/python2.3/distutils/command/command_template
+#usr/lib/python2.3/distutils/command/config.py
+#usr/lib/python2.3/distutils/command/config.pyc
+#usr/lib/python2.3/distutils/command/config.pyo
+#usr/lib/python2.3/distutils/command/install.py
+#usr/lib/python2.3/distutils/command/install.pyc
+#usr/lib/python2.3/distutils/command/install.pyo
+#usr/lib/python2.3/distutils/command/install_data.py
+#usr/lib/python2.3/distutils/command/install_data.pyc
+#usr/lib/python2.3/distutils/command/install_data.pyo
+#usr/lib/python2.3/distutils/command/install_headers.py
+#usr/lib/python2.3/distutils/command/install_headers.pyc
+#usr/lib/python2.3/distutils/command/install_headers.pyo
+#usr/lib/python2.3/distutils/command/install_lib.py
+#usr/lib/python2.3/distutils/command/install_lib.pyc
+#usr/lib/python2.3/distutils/command/install_lib.pyo
+#usr/lib/python2.3/distutils/command/install_scripts.py
+#usr/lib/python2.3/distutils/command/install_scripts.pyc
+#usr/lib/python2.3/distutils/command/install_scripts.pyo
+#usr/lib/python2.3/distutils/command/register.py
+#usr/lib/python2.3/distutils/command/register.pyc
+#usr/lib/python2.3/distutils/command/register.pyo
+#usr/lib/python2.3/distutils/command/sdist.py
+#usr/lib/python2.3/distutils/command/sdist.pyc
+#usr/lib/python2.3/distutils/command/sdist.pyo
+#usr/lib/python2.3/distutils/command/wininst.exe
+#usr/lib/python2.3/distutils/core.py
+#usr/lib/python2.3/distutils/core.pyc
+#usr/lib/python2.3/distutils/core.pyo
+#usr/lib/python2.3/distutils/cygwinccompiler.py
+#usr/lib/python2.3/distutils/cygwinccompiler.pyc
+#usr/lib/python2.3/distutils/cygwinccompiler.pyo
+#usr/lib/python2.3/distutils/debug.py
+#usr/lib/python2.3/distutils/debug.pyc
+#usr/lib/python2.3/distutils/debug.pyo
+#usr/lib/python2.3/distutils/dep_util.py
+#usr/lib/python2.3/distutils/dep_util.pyc
+#usr/lib/python2.3/distutils/dep_util.pyo
+#usr/lib/python2.3/distutils/dir_util.py
+#usr/lib/python2.3/distutils/dir_util.pyc
+#usr/lib/python2.3/distutils/dir_util.pyo
+#usr/lib/python2.3/distutils/dist.py
+#usr/lib/python2.3/distutils/dist.pyc
+#usr/lib/python2.3/distutils/dist.pyo
+#usr/lib/python2.3/distutils/emxccompiler.py
+#usr/lib/python2.3/distutils/emxccompiler.pyc
+#usr/lib/python2.3/distutils/emxccompiler.pyo
+#usr/lib/python2.3/distutils/errors.py
+#usr/lib/python2.3/distutils/errors.pyc
+#usr/lib/python2.3/distutils/errors.pyo
+#usr/lib/python2.3/distutils/extension.py
+#usr/lib/python2.3/distutils/extension.pyc
+#usr/lib/python2.3/distutils/extension.pyo
+#usr/lib/python2.3/distutils/fancy_getopt.py
+#usr/lib/python2.3/distutils/fancy_getopt.pyc
+#usr/lib/python2.3/distutils/fancy_getopt.pyo
+#usr/lib/python2.3/distutils/file_util.py
+#usr/lib/python2.3/distutils/file_util.pyc
+#usr/lib/python2.3/distutils/file_util.pyo
+#usr/lib/python2.3/distutils/filelist.py
+#usr/lib/python2.3/distutils/filelist.pyc
+#usr/lib/python2.3/distutils/filelist.pyo
+#usr/lib/python2.3/distutils/log.py
+#usr/lib/python2.3/distutils/log.pyc
+#usr/lib/python2.3/distutils/log.pyo
+#usr/lib/python2.3/distutils/msvccompiler.py
+#usr/lib/python2.3/distutils/msvccompiler.pyc
+#usr/lib/python2.3/distutils/msvccompiler.pyo
+#usr/lib/python2.3/distutils/mwerkscompiler.py
+#usr/lib/python2.3/distutils/mwerkscompiler.pyc
+#usr/lib/python2.3/distutils/mwerkscompiler.pyo
+#usr/lib/python2.3/distutils/spawn.py
+#usr/lib/python2.3/distutils/spawn.pyc
+#usr/lib/python2.3/distutils/spawn.pyo
+#usr/lib/python2.3/distutils/sysconfig.py
+#usr/lib/python2.3/distutils/sysconfig.pyc
+#usr/lib/python2.3/distutils/sysconfig.pyo
+#usr/lib/python2.3/distutils/text_file.py
+#usr/lib/python2.3/distutils/text_file.pyc
+#usr/lib/python2.3/distutils/text_file.pyo
+#usr/lib/python2.3/distutils/unixccompiler.py
+#usr/lib/python2.3/distutils/unixccompiler.pyc
+#usr/lib/python2.3/distutils/unixccompiler.pyo
+#usr/lib/python2.3/distutils/util.py
+#usr/lib/python2.3/distutils/util.pyc
+#usr/lib/python2.3/distutils/util.pyo
+#usr/lib/python2.3/distutils/version.py
+#usr/lib/python2.3/distutils/version.pyc
+#usr/lib/python2.3/distutils/version.pyo
+#usr/lib/python2.3/doctest.py
+usr/lib/python2.3/doctest.pyc
+#usr/lib/python2.3/doctest.pyo
+#usr/lib/python2.3/dumbdbm.py
+usr/lib/python2.3/dumbdbm.pyc
+#usr/lib/python2.3/dumbdbm.pyo
+#usr/lib/python2.3/dummy_thread.py
+usr/lib/python2.3/dummy_thread.pyc
+#usr/lib/python2.3/dummy_thread.pyo
+#usr/lib/python2.3/dummy_threading.py
+usr/lib/python2.3/dummy_threading.pyc
+#usr/lib/python2.3/dummy_threading.pyo
+#usr/lib/python2.3/email
+#usr/lib/python2.3/email/Charset.py
+usr/lib/python2.3/email/Charset.pyc
+#usr/lib/python2.3/email/Charset.pyo
+#usr/lib/python2.3/email/Encoders.py
+usr/lib/python2.3/email/Encoders.pyc
+#usr/lib/python2.3/email/Encoders.pyo
+#usr/lib/python2.3/email/Errors.py
+usr/lib/python2.3/email/Errors.pyc
+#usr/lib/python2.3/email/Errors.pyo
+#usr/lib/python2.3/email/Generator.py
+usr/lib/python2.3/email/Generator.pyc
+#usr/lib/python2.3/email/Generator.pyo
+#usr/lib/python2.3/email/Header.py
+usr/lib/python2.3/email/Header.pyc
+#usr/lib/python2.3/email/Header.pyo
+#usr/lib/python2.3/email/Iterators.py
+usr/lib/python2.3/email/Iterators.pyc
+#usr/lib/python2.3/email/Iterators.pyo
+#usr/lib/python2.3/email/MIMEAudio.py
+usr/lib/python2.3/email/MIMEAudio.pyc
+#usr/lib/python2.3/email/MIMEAudio.pyo
+#usr/lib/python2.3/email/MIMEBase.py
+usr/lib/python2.3/email/MIMEBase.pyc
+#usr/lib/python2.3/email/MIMEBase.pyo
+#usr/lib/python2.3/email/MIMEImage.py
+usr/lib/python2.3/email/MIMEImage.pyc
+#usr/lib/python2.3/email/MIMEImage.pyo
+#usr/lib/python2.3/email/MIMEMessage.py
+usr/lib/python2.3/email/MIMEMessage.pyc
+#usr/lib/python2.3/email/MIMEMessage.pyo
+#usr/lib/python2.3/email/MIMEMultipart.py
+usr/lib/python2.3/email/MIMEMultipart.pyc
+#usr/lib/python2.3/email/MIMEMultipart.pyo
+#usr/lib/python2.3/email/MIMENonMultipart.py
+usr/lib/python2.3/email/MIMENonMultipart.pyc
+#usr/lib/python2.3/email/MIMENonMultipart.pyo
+#usr/lib/python2.3/email/MIMEText.py
+usr/lib/python2.3/email/MIMEText.pyc
+#usr/lib/python2.3/email/MIMEText.pyo
+#usr/lib/python2.3/email/Message.py
+usr/lib/python2.3/email/Message.pyc
+#usr/lib/python2.3/email/Message.pyo
+#usr/lib/python2.3/email/Parser.py
+usr/lib/python2.3/email/Parser.pyc
+#usr/lib/python2.3/email/Parser.pyo
+#usr/lib/python2.3/email/Utils.py
+usr/lib/python2.3/email/Utils.pyc
+#usr/lib/python2.3/email/Utils.pyo
+#usr/lib/python2.3/email/__init__.py
+usr/lib/python2.3/email/__init__.pyc
+#usr/lib/python2.3/email/__init__.pyo
+#usr/lib/python2.3/email/_compat21.py
+usr/lib/python2.3/email/_compat21.pyc
+#usr/lib/python2.3/email/_compat21.pyo
+#usr/lib/python2.3/email/_compat22.py
+usr/lib/python2.3/email/_compat22.pyc
+#usr/lib/python2.3/email/_compat22.pyo
+#usr/lib/python2.3/email/_parseaddr.py
+usr/lib/python2.3/email/_parseaddr.pyc
+#usr/lib/python2.3/email/_parseaddr.pyo
+#usr/lib/python2.3/email/base64MIME.py
+usr/lib/python2.3/email/base64MIME.pyc
+#usr/lib/python2.3/email/base64MIME.pyo
+#usr/lib/python2.3/email/quopriMIME.py
+usr/lib/python2.3/email/quopriMIME.pyc
+#usr/lib/python2.3/email/quopriMIME.pyo
+#usr/lib/python2.3/email/test
+#usr/lib/python2.3/email/test/__init__.py
+#usr/lib/python2.3/email/test/__init__.pyc
+#usr/lib/python2.3/email/test/__init__.pyo
+#usr/lib/python2.3/email/test/data
+#usr/lib/python2.3/email/test/data/PyBanner048.gif
+#usr/lib/python2.3/email/test/data/audiotest.au
+#usr/lib/python2.3/email/test/data/msg_01.txt
+#usr/lib/python2.3/email/test/data/msg_02.txt
+#usr/lib/python2.3/email/test/data/msg_03.txt
+#usr/lib/python2.3/email/test/data/msg_04.txt
+#usr/lib/python2.3/email/test/data/msg_05.txt
+#usr/lib/python2.3/email/test/data/msg_06.txt
+#usr/lib/python2.3/email/test/data/msg_07.txt
+#usr/lib/python2.3/email/test/data/msg_08.txt
+#usr/lib/python2.3/email/test/data/msg_09.txt
+#usr/lib/python2.3/email/test/data/msg_10.txt
+#usr/lib/python2.3/email/test/data/msg_11.txt
+#usr/lib/python2.3/email/test/data/msg_12.txt
+#usr/lib/python2.3/email/test/data/msg_13.txt
+#usr/lib/python2.3/email/test/data/msg_14.txt
+#usr/lib/python2.3/email/test/data/msg_15.txt
+#usr/lib/python2.3/email/test/data/msg_16.txt
+#usr/lib/python2.3/email/test/data/msg_17.txt
+#usr/lib/python2.3/email/test/data/msg_18.txt
+#usr/lib/python2.3/email/test/data/msg_19.txt
+#usr/lib/python2.3/email/test/data/msg_20.txt
+#usr/lib/python2.3/email/test/data/msg_21.txt
+#usr/lib/python2.3/email/test/data/msg_22.txt
+#usr/lib/python2.3/email/test/data/msg_23.txt
+#usr/lib/python2.3/email/test/data/msg_24.txt
+#usr/lib/python2.3/email/test/data/msg_25.txt
+#usr/lib/python2.3/email/test/data/msg_26.txt
+#usr/lib/python2.3/email/test/data/msg_27.txt
+#usr/lib/python2.3/email/test/data/msg_28.txt
+#usr/lib/python2.3/email/test/data/msg_29.txt
+#usr/lib/python2.3/email/test/data/msg_30.txt
+#usr/lib/python2.3/email/test/data/msg_31.txt
+#usr/lib/python2.3/email/test/data/msg_32.txt
+#usr/lib/python2.3/email/test/data/msg_33.txt
+#usr/lib/python2.3/email/test/data/msg_34.txt
+#usr/lib/python2.3/email/test/data/msg_35.txt
+#usr/lib/python2.3/email/test/test_email.py
+#usr/lib/python2.3/email/test/test_email.pyc
+#usr/lib/python2.3/email/test/test_email.pyo
+#usr/lib/python2.3/email/test/test_email_codecs.py
+#usr/lib/python2.3/email/test/test_email_codecs.pyc
+#usr/lib/python2.3/email/test/test_email_codecs.pyo
+#usr/lib/python2.3/email/test/test_email_torture.py
+#usr/lib/python2.3/email/test/test_email_torture.pyc
+#usr/lib/python2.3/email/test/test_email_torture.pyo
+#usr/lib/python2.3/encodings
+#usr/lib/python2.3/encodings/__init__.py
+usr/lib/python2.3/encodings/__init__.pyc
+#usr/lib/python2.3/encodings/__init__.pyo
+#usr/lib/python2.3/encodings/aliases.py
+usr/lib/python2.3/encodings/aliases.pyc
+#usr/lib/python2.3/encodings/aliases.pyo
+#usr/lib/python2.3/encodings/ascii.py
+usr/lib/python2.3/encodings/ascii.pyc
+#usr/lib/python2.3/encodings/ascii.pyo
+#usr/lib/python2.3/encodings/base64_codec.py
+usr/lib/python2.3/encodings/base64_codec.pyc
+#usr/lib/python2.3/encodings/base64_codec.pyo
+#usr/lib/python2.3/encodings/charmap.py
+usr/lib/python2.3/encodings/charmap.pyc
+#usr/lib/python2.3/encodings/charmap.pyo
+#usr/lib/python2.3/encodings/cp037.py
+#usr/lib/python2.3/encodings/cp037.pyc
+#usr/lib/python2.3/encodings/cp037.pyo
+#usr/lib/python2.3/encodings/cp1006.py
+#usr/lib/python2.3/encodings/cp1006.pyc
+#usr/lib/python2.3/encodings/cp1006.pyo
+#usr/lib/python2.3/encodings/cp1026.py
+#usr/lib/python2.3/encodings/cp1026.pyc
+#usr/lib/python2.3/encodings/cp1026.pyo
+#usr/lib/python2.3/encodings/cp1140.py
+#usr/lib/python2.3/encodings/cp1140.pyc
+#usr/lib/python2.3/encodings/cp1140.pyo
+#usr/lib/python2.3/encodings/cp1250.py
+#usr/lib/python2.3/encodings/cp1250.pyc
+#usr/lib/python2.3/encodings/cp1250.pyo
+#usr/lib/python2.3/encodings/cp1251.py
+#usr/lib/python2.3/encodings/cp1251.pyc
+#usr/lib/python2.3/encodings/cp1251.pyo
+#usr/lib/python2.3/encodings/cp1252.py
+#usr/lib/python2.3/encodings/cp1252.pyc
+#usr/lib/python2.3/encodings/cp1252.pyo
+#usr/lib/python2.3/encodings/cp1253.py
+#usr/lib/python2.3/encodings/cp1253.pyc
+#usr/lib/python2.3/encodings/cp1253.pyo
+#usr/lib/python2.3/encodings/cp1254.py
+#usr/lib/python2.3/encodings/cp1254.pyc
+#usr/lib/python2.3/encodings/cp1254.pyo
+#usr/lib/python2.3/encodings/cp1255.py
+#usr/lib/python2.3/encodings/cp1255.pyc
+#usr/lib/python2.3/encodings/cp1255.pyo
+#usr/lib/python2.3/encodings/cp1256.py
+#usr/lib/python2.3/encodings/cp1256.pyc
+#usr/lib/python2.3/encodings/cp1256.pyo
+#usr/lib/python2.3/encodings/cp1257.py
+#usr/lib/python2.3/encodings/cp1257.pyc
+#usr/lib/python2.3/encodings/cp1257.pyo
+#usr/lib/python2.3/encodings/cp1258.py
+#usr/lib/python2.3/encodings/cp1258.pyc
+#usr/lib/python2.3/encodings/cp1258.pyo
+#usr/lib/python2.3/encodings/cp424.py
+#usr/lib/python2.3/encodings/cp424.pyc
+#usr/lib/python2.3/encodings/cp424.pyo
+#usr/lib/python2.3/encodings/cp437.py
+#usr/lib/python2.3/encodings/cp437.pyc
+#usr/lib/python2.3/encodings/cp437.pyo
+#usr/lib/python2.3/encodings/cp500.py
+#usr/lib/python2.3/encodings/cp500.pyc
+#usr/lib/python2.3/encodings/cp500.pyo
+#usr/lib/python2.3/encodings/cp737.py
+#usr/lib/python2.3/encodings/cp737.pyc
+#usr/lib/python2.3/encodings/cp737.pyo
+#usr/lib/python2.3/encodings/cp775.py
+#usr/lib/python2.3/encodings/cp775.pyc
+#usr/lib/python2.3/encodings/cp775.pyo
+#usr/lib/python2.3/encodings/cp850.py
+#usr/lib/python2.3/encodings/cp850.pyc
+#usr/lib/python2.3/encodings/cp850.pyo
+#usr/lib/python2.3/encodings/cp852.py
+#usr/lib/python2.3/encodings/cp852.pyc
+#usr/lib/python2.3/encodings/cp852.pyo
+#usr/lib/python2.3/encodings/cp855.py
+#usr/lib/python2.3/encodings/cp855.pyc
+#usr/lib/python2.3/encodings/cp855.pyo
+#usr/lib/python2.3/encodings/cp856.py
+#usr/lib/python2.3/encodings/cp856.pyc
+#usr/lib/python2.3/encodings/cp856.pyo
+#usr/lib/python2.3/encodings/cp857.py
+#usr/lib/python2.3/encodings/cp857.pyc
+#usr/lib/python2.3/encodings/cp857.pyo
+#usr/lib/python2.3/encodings/cp860.py
+#usr/lib/python2.3/encodings/cp860.pyc
+#usr/lib/python2.3/encodings/cp860.pyo
+#usr/lib/python2.3/encodings/cp861.py
+#usr/lib/python2.3/encodings/cp861.pyc
+#usr/lib/python2.3/encodings/cp861.pyo
+#usr/lib/python2.3/encodings/cp862.py
+#usr/lib/python2.3/encodings/cp862.pyc
+#usr/lib/python2.3/encodings/cp862.pyo
+#usr/lib/python2.3/encodings/cp863.py
+#usr/lib/python2.3/encodings/cp863.pyc
+#usr/lib/python2.3/encodings/cp863.pyo
+#usr/lib/python2.3/encodings/cp864.py
+#usr/lib/python2.3/encodings/cp864.pyc
+#usr/lib/python2.3/encodings/cp864.pyo
+#usr/lib/python2.3/encodings/cp865.py
+#usr/lib/python2.3/encodings/cp865.pyc
+#usr/lib/python2.3/encodings/cp865.pyo
+#usr/lib/python2.3/encodings/cp866.py
+#usr/lib/python2.3/encodings/cp866.pyc
+#usr/lib/python2.3/encodings/cp866.pyo
+#usr/lib/python2.3/encodings/cp869.py
+#usr/lib/python2.3/encodings/cp869.pyc
+#usr/lib/python2.3/encodings/cp869.pyo
+#usr/lib/python2.3/encodings/cp874.py
+#usr/lib/python2.3/encodings/cp874.pyc
+#usr/lib/python2.3/encodings/cp874.pyo
+#usr/lib/python2.3/encodings/cp875.py
+#usr/lib/python2.3/encodings/cp875.pyc
+#usr/lib/python2.3/encodings/cp875.pyo
+#usr/lib/python2.3/encodings/hex_codec.py
+usr/lib/python2.3/encodings/hex_codec.pyc
+#usr/lib/python2.3/encodings/hex_codec.pyo
+#usr/lib/python2.3/encodings/idna.py
+#usr/lib/python2.3/encodings/idna.pyc
+#usr/lib/python2.3/encodings/idna.pyo
+#usr/lib/python2.3/encodings/iso8859_1.py
+usr/lib/python2.3/encodings/iso8859_1.pyc
+#usr/lib/python2.3/encodings/iso8859_1.pyo
+#usr/lib/python2.3/encodings/iso8859_10.py
+usr/lib/python2.3/encodings/iso8859_10.pyc
+#usr/lib/python2.3/encodings/iso8859_10.pyo
+#usr/lib/python2.3/encodings/iso8859_13.py
+usr/lib/python2.3/encodings/iso8859_13.pyc
+#usr/lib/python2.3/encodings/iso8859_13.pyo
+#usr/lib/python2.3/encodings/iso8859_14.py
+usr/lib/python2.3/encodings/iso8859_14.pyc
+#usr/lib/python2.3/encodings/iso8859_14.pyo
+#usr/lib/python2.3/encodings/iso8859_15.py
+usr/lib/python2.3/encodings/iso8859_15.pyc
+#usr/lib/python2.3/encodings/iso8859_15.pyo
+#usr/lib/python2.3/encodings/iso8859_2.py
+usr/lib/python2.3/encodings/iso8859_2.pyc
+#usr/lib/python2.3/encodings/iso8859_2.pyo
+#usr/lib/python2.3/encodings/iso8859_3.py
+usr/lib/python2.3/encodings/iso8859_3.pyc
+#usr/lib/python2.3/encodings/iso8859_3.pyo
+#usr/lib/python2.3/encodings/iso8859_4.py
+usr/lib/python2.3/encodings/iso8859_4.pyc
+#usr/lib/python2.3/encodings/iso8859_4.pyo
+#usr/lib/python2.3/encodings/iso8859_5.py
+usr/lib/python2.3/encodings/iso8859_5.pyc
+#usr/lib/python2.3/encodings/iso8859_5.pyo
+#usr/lib/python2.3/encodings/iso8859_6.py
+usr/lib/python2.3/encodings/iso8859_6.pyc
+#usr/lib/python2.3/encodings/iso8859_6.pyo
+#usr/lib/python2.3/encodings/iso8859_7.py
+usr/lib/python2.3/encodings/iso8859_7.pyc
+#usr/lib/python2.3/encodings/iso8859_7.pyo
+#usr/lib/python2.3/encodings/iso8859_8.py
+usr/lib/python2.3/encodings/iso8859_8.pyc
+#usr/lib/python2.3/encodings/iso8859_8.pyo
+#usr/lib/python2.3/encodings/iso8859_9.py
+usr/lib/python2.3/encodings/iso8859_9.pyc
+#usr/lib/python2.3/encodings/iso8859_9.pyo
+#usr/lib/python2.3/encodings/koi8_r.py
+usr/lib/python2.3/encodings/koi8_r.pyc
+#usr/lib/python2.3/encodings/koi8_r.pyo
+#usr/lib/python2.3/encodings/koi8_u.py
+usr/lib/python2.3/encodings/koi8_u.pyc
+#usr/lib/python2.3/encodings/koi8_u.pyo
+#usr/lib/python2.3/encodings/latin_1.py
+#usr/lib/python2.3/encodings/latin_1.pyc
+#usr/lib/python2.3/encodings/latin_1.pyo
+#usr/lib/python2.3/encodings/mac_cyrillic.py
+#usr/lib/python2.3/encodings/mac_cyrillic.pyc
+#usr/lib/python2.3/encodings/mac_cyrillic.pyo
+#usr/lib/python2.3/encodings/mac_greek.py
+#usr/lib/python2.3/encodings/mac_greek.pyc
+#usr/lib/python2.3/encodings/mac_greek.pyo
+#usr/lib/python2.3/encodings/mac_iceland.py
+#usr/lib/python2.3/encodings/mac_iceland.pyc
+#usr/lib/python2.3/encodings/mac_iceland.pyo
+#usr/lib/python2.3/encodings/mac_latin2.py
+#usr/lib/python2.3/encodings/mac_latin2.pyc
+#usr/lib/python2.3/encodings/mac_latin2.pyo
+#usr/lib/python2.3/encodings/mac_roman.py
+#usr/lib/python2.3/encodings/mac_roman.pyc
+#usr/lib/python2.3/encodings/mac_roman.pyo
+#usr/lib/python2.3/encodings/mac_turkish.py
+#usr/lib/python2.3/encodings/mac_turkish.pyc
+#usr/lib/python2.3/encodings/mac_turkish.pyo
+#usr/lib/python2.3/encodings/mbcs.py
+#usr/lib/python2.3/encodings/mbcs.pyc
+#usr/lib/python2.3/encodings/mbcs.pyo
+#usr/lib/python2.3/encodings/palmos.py
+#usr/lib/python2.3/encodings/palmos.pyc
+#usr/lib/python2.3/encodings/palmos.pyo
+#usr/lib/python2.3/encodings/punycode.py
+#usr/lib/python2.3/encodings/punycode.pyc
+#usr/lib/python2.3/encodings/punycode.pyo
+#usr/lib/python2.3/encodings/quopri_codec.py
+#usr/lib/python2.3/encodings/quopri_codec.pyc
+#usr/lib/python2.3/encodings/quopri_codec.pyo
+#usr/lib/python2.3/encodings/raw_unicode_escape.py
+usr/lib/python2.3/encodings/raw_unicode_escape.pyc
+#usr/lib/python2.3/encodings/raw_unicode_escape.pyo
+#usr/lib/python2.3/encodings/rot_13.py
+#usr/lib/python2.3/encodings/rot_13.pyc
+#usr/lib/python2.3/encodings/rot_13.pyo
+#usr/lib/python2.3/encodings/string_escape.py
+usr/lib/python2.3/encodings/string_escape.pyc
+#usr/lib/python2.3/encodings/string_escape.pyo
+#usr/lib/python2.3/encodings/undefined.py
+usr/lib/python2.3/encodings/undefined.pyc
+#usr/lib/python2.3/encodings/undefined.pyo
+#usr/lib/python2.3/encodings/unicode_escape.py
+usr/lib/python2.3/encodings/unicode_escape.pyc
+#usr/lib/python2.3/encodings/unicode_escape.pyo
+#usr/lib/python2.3/encodings/unicode_internal.py
+usr/lib/python2.3/encodings/unicode_internal.pyc
+#usr/lib/python2.3/encodings/unicode_internal.pyo
+#usr/lib/python2.3/encodings/utf_16.py
+usr/lib/python2.3/encodings/utf_16.pyc
+#usr/lib/python2.3/encodings/utf_16.pyo
+#usr/lib/python2.3/encodings/utf_16_be.py
+usr/lib/python2.3/encodings/utf_16_be.pyc
+#usr/lib/python2.3/encodings/utf_16_be.pyo
+#usr/lib/python2.3/encodings/utf_16_le.py
+usr/lib/python2.3/encodings/utf_16_le.pyc
+#usr/lib/python2.3/encodings/utf_16_le.pyo
+#usr/lib/python2.3/encodings/utf_7.py
+usr/lib/python2.3/encodings/utf_7.pyc
+#usr/lib/python2.3/encodings/utf_7.pyo
+#usr/lib/python2.3/encodings/utf_8.py
+usr/lib/python2.3/encodings/utf_8.pyc
+#usr/lib/python2.3/encodings/utf_8.pyo
+#usr/lib/python2.3/encodings/uu_codec.py
+usr/lib/python2.3/encodings/uu_codec.pyc
+#usr/lib/python2.3/encodings/uu_codec.pyo
+#usr/lib/python2.3/encodings/zlib_codec.py
+usr/lib/python2.3/encodings/zlib_codec.pyc
+#usr/lib/python2.3/encodings/zlib_codec.pyo
+#usr/lib/python2.3/filecmp.py
+usr/lib/python2.3/filecmp.pyc
+#usr/lib/python2.3/filecmp.pyo
+#usr/lib/python2.3/fileinput.py
+usr/lib/python2.3/fileinput.pyc
+#usr/lib/python2.3/fileinput.pyo
+#usr/lib/python2.3/fnmatch.py
+usr/lib/python2.3/fnmatch.pyc
+#usr/lib/python2.3/fnmatch.pyo
+#usr/lib/python2.3/formatter.py
+usr/lib/python2.3/formatter.pyc
+#usr/lib/python2.3/formatter.pyo
+#usr/lib/python2.3/fpformat.py
+usr/lib/python2.3/fpformat.pyc
+#usr/lib/python2.3/fpformat.pyo
+#usr/lib/python2.3/ftplib.py
+#usr/lib/python2.3/ftplib.pyc
+#usr/lib/python2.3/ftplib.pyo
+#usr/lib/python2.3/getopt.py
+usr/lib/python2.3/getopt.pyc
+#usr/lib/python2.3/getopt.pyo
+#usr/lib/python2.3/getpass.py
+usr/lib/python2.3/getpass.pyc
+#usr/lib/python2.3/getpass.pyo
+#usr/lib/python2.3/gettext.py
+usr/lib/python2.3/gettext.pyc
+#usr/lib/python2.3/gettext.pyo
+#usr/lib/python2.3/glob.py
+usr/lib/python2.3/glob.pyc
+#usr/lib/python2.3/glob.pyo
+#usr/lib/python2.3/gopherlib.py
+#usr/lib/python2.3/gopherlib.pyc
+#usr/lib/python2.3/gopherlib.pyo
+#usr/lib/python2.3/gzip.py
+usr/lib/python2.3/gzip.pyc
+#usr/lib/python2.3/gzip.pyo
+#usr/lib/python2.3/heapq.py
+usr/lib/python2.3/heapq.pyc
+#usr/lib/python2.3/heapq.pyo
+#usr/lib/python2.3/hmac.py
+usr/lib/python2.3/hmac.pyc
+#usr/lib/python2.3/hmac.pyo
+#usr/lib/python2.3/hotshot
+#usr/lib/python2.3/hotshot/__init__.py
+#usr/lib/python2.3/hotshot/__init__.pyc
+#usr/lib/python2.3/hotshot/__init__.pyo
+#usr/lib/python2.3/hotshot/log.py
+#usr/lib/python2.3/hotshot/log.pyc
+#usr/lib/python2.3/hotshot/log.pyo
+#usr/lib/python2.3/hotshot/stats.py
+#usr/lib/python2.3/hotshot/stats.pyc
+#usr/lib/python2.3/hotshot/stats.pyo
+#usr/lib/python2.3/hotshot/stones.py
+#usr/lib/python2.3/hotshot/stones.pyc
+#usr/lib/python2.3/hotshot/stones.pyo
+#usr/lib/python2.3/htmlentitydefs.py
+#usr/lib/python2.3/htmlentitydefs.pyc
+#usr/lib/python2.3/htmlentitydefs.pyo
+#usr/lib/python2.3/htmllib.py
+#usr/lib/python2.3/htmllib.pyc
+#usr/lib/python2.3/htmllib.pyo
+#usr/lib/python2.3/httplib.py
+#usr/lib/python2.3/httplib.pyc
+#usr/lib/python2.3/httplib.pyo
+#usr/lib/python2.3/idlelib
+#usr/lib/python2.3/idlelib/AutoExpand.py
+#usr/lib/python2.3/idlelib/AutoExpand.pyc
+#usr/lib/python2.3/idlelib/AutoExpand.pyo
+#usr/lib/python2.3/idlelib/Bindings.py
+#usr/lib/python2.3/idlelib/Bindings.pyc
+#usr/lib/python2.3/idlelib/Bindings.pyo
+#usr/lib/python2.3/idlelib/CREDITS.txt
+#usr/lib/python2.3/idlelib/CallTipWindow.py
+#usr/lib/python2.3/idlelib/CallTipWindow.pyc
+#usr/lib/python2.3/idlelib/CallTipWindow.pyo
+#usr/lib/python2.3/idlelib/CallTips.py
+#usr/lib/python2.3/idlelib/CallTips.pyc
+#usr/lib/python2.3/idlelib/CallTips.pyo
+#usr/lib/python2.3/idlelib/ChangeLog
+#usr/lib/python2.3/idlelib/ClassBrowser.py
+#usr/lib/python2.3/idlelib/ClassBrowser.pyc
+#usr/lib/python2.3/idlelib/ClassBrowser.pyo
+#usr/lib/python2.3/idlelib/ColorDelegator.py
+#usr/lib/python2.3/idlelib/ColorDelegator.pyc
+#usr/lib/python2.3/idlelib/ColorDelegator.pyo
+#usr/lib/python2.3/idlelib/Debugger.py
+#usr/lib/python2.3/idlelib/Debugger.pyc
+#usr/lib/python2.3/idlelib/Debugger.pyo
+#usr/lib/python2.3/idlelib/Delegator.py
+#usr/lib/python2.3/idlelib/Delegator.pyc
+#usr/lib/python2.3/idlelib/Delegator.pyo
+#usr/lib/python2.3/idlelib/EditorWindow.py
+#usr/lib/python2.3/idlelib/EditorWindow.pyc
+#usr/lib/python2.3/idlelib/EditorWindow.pyo
+#usr/lib/python2.3/idlelib/FileList.py
+#usr/lib/python2.3/idlelib/FileList.pyc
+#usr/lib/python2.3/idlelib/FileList.pyo
+#usr/lib/python2.3/idlelib/FormatParagraph.py
+#usr/lib/python2.3/idlelib/FormatParagraph.pyc
+#usr/lib/python2.3/idlelib/FormatParagraph.pyo
+#usr/lib/python2.3/idlelib/GrepDialog.py
+#usr/lib/python2.3/idlelib/GrepDialog.pyc
+#usr/lib/python2.3/idlelib/GrepDialog.pyo
+#usr/lib/python2.3/idlelib/HISTORY.txt
+#usr/lib/python2.3/idlelib/IOBinding.py
+#usr/lib/python2.3/idlelib/IOBinding.pyc
+#usr/lib/python2.3/idlelib/IOBinding.pyo
+#usr/lib/python2.3/idlelib/Icons
+#usr/lib/python2.3/idlelib/Icons/folder.gif
+#usr/lib/python2.3/idlelib/Icons/idle.icns
+#usr/lib/python2.3/idlelib/Icons/minusnode.gif
+#usr/lib/python2.3/idlelib/Icons/openfolder.gif
+#usr/lib/python2.3/idlelib/Icons/plusnode.gif
+#usr/lib/python2.3/idlelib/Icons/python.gif
+#usr/lib/python2.3/idlelib/Icons/tk.gif
+#usr/lib/python2.3/idlelib/IdleHistory.py
+#usr/lib/python2.3/idlelib/IdleHistory.pyc
+#usr/lib/python2.3/idlelib/IdleHistory.pyo
+#usr/lib/python2.3/idlelib/MultiStatusBar.py
+#usr/lib/python2.3/idlelib/MultiStatusBar.pyc
+#usr/lib/python2.3/idlelib/MultiStatusBar.pyo
+#usr/lib/python2.3/idlelib/NEWS.txt
+#usr/lib/python2.3/idlelib/ObjectBrowser.py
+#usr/lib/python2.3/idlelib/ObjectBrowser.pyc
+#usr/lib/python2.3/idlelib/ObjectBrowser.pyo
+#usr/lib/python2.3/idlelib/OutputWindow.py
+#usr/lib/python2.3/idlelib/OutputWindow.pyc
+#usr/lib/python2.3/idlelib/OutputWindow.pyo
+#usr/lib/python2.3/idlelib/ParenMatch.py
+#usr/lib/python2.3/idlelib/ParenMatch.pyc
+#usr/lib/python2.3/idlelib/ParenMatch.pyo
+#usr/lib/python2.3/idlelib/PathBrowser.py
+#usr/lib/python2.3/idlelib/PathBrowser.pyc
+#usr/lib/python2.3/idlelib/PathBrowser.pyo
+#usr/lib/python2.3/idlelib/Percolator.py
+#usr/lib/python2.3/idlelib/Percolator.pyc
+#usr/lib/python2.3/idlelib/Percolator.pyo
+#usr/lib/python2.3/idlelib/PyParse.py
+#usr/lib/python2.3/idlelib/PyParse.pyc
+#usr/lib/python2.3/idlelib/PyParse.pyo
+#usr/lib/python2.3/idlelib/PyShell.py
+#usr/lib/python2.3/idlelib/PyShell.pyc
+#usr/lib/python2.3/idlelib/PyShell.pyo
+#usr/lib/python2.3/idlelib/README.txt
+#usr/lib/python2.3/idlelib/RemoteDebugger.py
+#usr/lib/python2.3/idlelib/RemoteDebugger.pyc
+#usr/lib/python2.3/idlelib/RemoteDebugger.pyo
+#usr/lib/python2.3/idlelib/RemoteObjectBrowser.py
+#usr/lib/python2.3/idlelib/RemoteObjectBrowser.pyc
+#usr/lib/python2.3/idlelib/RemoteObjectBrowser.pyo
+#usr/lib/python2.3/idlelib/ReplaceDialog.py
+#usr/lib/python2.3/idlelib/ReplaceDialog.pyc
+#usr/lib/python2.3/idlelib/ReplaceDialog.pyo
+#usr/lib/python2.3/idlelib/ScriptBinding.py
+#usr/lib/python2.3/idlelib/ScriptBinding.pyc
+#usr/lib/python2.3/idlelib/ScriptBinding.pyo
+#usr/lib/python2.3/idlelib/ScrolledList.py
+#usr/lib/python2.3/idlelib/ScrolledList.pyc
+#usr/lib/python2.3/idlelib/ScrolledList.pyo
+#usr/lib/python2.3/idlelib/SearchDialog.py
+#usr/lib/python2.3/idlelib/SearchDialog.pyc
+#usr/lib/python2.3/idlelib/SearchDialog.pyo
+#usr/lib/python2.3/idlelib/SearchDialogBase.py
+#usr/lib/python2.3/idlelib/SearchDialogBase.pyc
+#usr/lib/python2.3/idlelib/SearchDialogBase.pyo
+#usr/lib/python2.3/idlelib/SearchEngine.py
+#usr/lib/python2.3/idlelib/SearchEngine.pyc
+#usr/lib/python2.3/idlelib/SearchEngine.pyo
+#usr/lib/python2.3/idlelib/StackViewer.py
+#usr/lib/python2.3/idlelib/StackViewer.pyc
+#usr/lib/python2.3/idlelib/StackViewer.pyo
+#usr/lib/python2.3/idlelib/TODO.txt
+#usr/lib/python2.3/idlelib/ToolTip.py
+#usr/lib/python2.3/idlelib/ToolTip.pyc
+#usr/lib/python2.3/idlelib/ToolTip.pyo
+#usr/lib/python2.3/idlelib/TreeWidget.py
+#usr/lib/python2.3/idlelib/TreeWidget.pyc
+#usr/lib/python2.3/idlelib/TreeWidget.pyo
+#usr/lib/python2.3/idlelib/UndoDelegator.py
+#usr/lib/python2.3/idlelib/UndoDelegator.pyc
+#usr/lib/python2.3/idlelib/UndoDelegator.pyo
+#usr/lib/python2.3/idlelib/WidgetRedirector.py
+#usr/lib/python2.3/idlelib/WidgetRedirector.pyc
+#usr/lib/python2.3/idlelib/WidgetRedirector.pyo
+#usr/lib/python2.3/idlelib/WindowList.py
+#usr/lib/python2.3/idlelib/WindowList.pyc
+#usr/lib/python2.3/idlelib/WindowList.pyo
+#usr/lib/python2.3/idlelib/ZoomHeight.py
+#usr/lib/python2.3/idlelib/ZoomHeight.pyc
+#usr/lib/python2.3/idlelib/ZoomHeight.pyo
+#usr/lib/python2.3/idlelib/__init__.py
+#usr/lib/python2.3/idlelib/__init__.pyc
+#usr/lib/python2.3/idlelib/__init__.pyo
+#usr/lib/python2.3/idlelib/aboutDialog.py
+#usr/lib/python2.3/idlelib/aboutDialog.pyc
+#usr/lib/python2.3/idlelib/aboutDialog.pyo
+#usr/lib/python2.3/idlelib/buildapp.py
+#usr/lib/python2.3/idlelib/buildapp.pyc
+#usr/lib/python2.3/idlelib/buildapp.pyo
+#usr/lib/python2.3/idlelib/config-extensions.def
+#usr/lib/python2.3/idlelib/config-highlight.def
+#usr/lib/python2.3/idlelib/config-keys.def
+#usr/lib/python2.3/idlelib/config-main.def
+#usr/lib/python2.3/idlelib/configDialog.py
+#usr/lib/python2.3/idlelib/configDialog.pyc
+#usr/lib/python2.3/idlelib/configDialog.pyo
+#usr/lib/python2.3/idlelib/configHandler.py
+#usr/lib/python2.3/idlelib/configHandler.pyc
+#usr/lib/python2.3/idlelib/configHandler.pyo
+#usr/lib/python2.3/idlelib/configHelpSourceEdit.py
+#usr/lib/python2.3/idlelib/configHelpSourceEdit.pyc
+#usr/lib/python2.3/idlelib/configHelpSourceEdit.pyo
+#usr/lib/python2.3/idlelib/configSectionNameDialog.py
+#usr/lib/python2.3/idlelib/configSectionNameDialog.pyc
+#usr/lib/python2.3/idlelib/configSectionNameDialog.pyo
+#usr/lib/python2.3/idlelib/dynOptionMenuWidget.py
+#usr/lib/python2.3/idlelib/dynOptionMenuWidget.pyc
+#usr/lib/python2.3/idlelib/dynOptionMenuWidget.pyo
+#usr/lib/python2.3/idlelib/extend.txt
+#usr/lib/python2.3/idlelib/help.txt
+#usr/lib/python2.3/idlelib/idle
+#usr/lib/python2.3/idlelib/idle.bat
+#usr/lib/python2.3/idlelib/idle.py
+#usr/lib/python2.3/idlelib/idle.pyc
+#usr/lib/python2.3/idlelib/idle.pyo
+#usr/lib/python2.3/idlelib/idle.pyw
+#usr/lib/python2.3/idlelib/idlever.py
+#usr/lib/python2.3/idlelib/idlever.pyc
+#usr/lib/python2.3/idlelib/idlever.pyo
+#usr/lib/python2.3/idlelib/keybindingDialog.py
+#usr/lib/python2.3/idlelib/keybindingDialog.pyc
+#usr/lib/python2.3/idlelib/keybindingDialog.pyo
+#usr/lib/python2.3/idlelib/rpc.py
+#usr/lib/python2.3/idlelib/rpc.pyc
+#usr/lib/python2.3/idlelib/rpc.pyo
+#usr/lib/python2.3/idlelib/run.py
+#usr/lib/python2.3/idlelib/run.pyc
+#usr/lib/python2.3/idlelib/run.pyo
+#usr/lib/python2.3/idlelib/tabpage.py
+#usr/lib/python2.3/idlelib/tabpage.pyc
+#usr/lib/python2.3/idlelib/tabpage.pyo
+#usr/lib/python2.3/idlelib/testcode.py
+#usr/lib/python2.3/idlelib/testcode.pyc
+#usr/lib/python2.3/idlelib/testcode.pyo
+#usr/lib/python2.3/idlelib/textView.py
+#usr/lib/python2.3/idlelib/textView.pyc
+#usr/lib/python2.3/idlelib/textView.pyo
+#usr/lib/python2.3/ihooks.py
+usr/lib/python2.3/ihooks.pyc
+#usr/lib/python2.3/ihooks.pyo
+#usr/lib/python2.3/imaplib.py
+#usr/lib/python2.3/imaplib.pyc
+#usr/lib/python2.3/imaplib.pyo
+#usr/lib/python2.3/imghdr.py
+usr/lib/python2.3/imghdr.pyc
+#usr/lib/python2.3/imghdr.pyo
+#usr/lib/python2.3/imputil.py
+usr/lib/python2.3/imputil.pyc
+#usr/lib/python2.3/imputil.pyo
+#usr/lib/python2.3/inspect.py
+usr/lib/python2.3/inspect.pyc
+#usr/lib/python2.3/inspect.pyo
+#usr/lib/python2.3/keyword.py
+usr/lib/python2.3/keyword.pyc
+#usr/lib/python2.3/keyword.pyo
+#usr/lib/python2.3/lib-dynload
+usr/lib/python2.3/lib-dynload/_csv.so
+usr/lib/python2.3/lib-dynload/_curses.so
+usr/lib/python2.3/lib-dynload/_curses_panel.so
+#usr/lib/python2.3/lib-dynload/_hotshot.so
+usr/lib/python2.3/lib-dynload/_locale.so
+usr/lib/python2.3/lib-dynload/_random.so
+usr/lib/python2.3/lib-dynload/_socket.so
+usr/lib/python2.3/lib-dynload/_ssl.so
+#usr/lib/python2.3/lib-dynload/_testcapi.so
+usr/lib/python2.3/lib-dynload/_weakref.so
+usr/lib/python2.3/lib-dynload/array.so
+#usr/lib/python2.3/lib-dynload/audioop.so
+usr/lib/python2.3/lib-dynload/binascii.so
+usr/lib/python2.3/lib-dynload/bz2.so
+usr/lib/python2.3/lib-dynload/cPickle.so
+usr/lib/python2.3/lib-dynload/cStringIO.so
+usr/lib/python2.3/lib-dynload/cmath.so
+usr/lib/python2.3/lib-dynload/crypt.so
+usr/lib/python2.3/lib-dynload/datetime.so
+usr/lib/python2.3/lib-dynload/dl.so
+usr/lib/python2.3/lib-dynload/fcntl.so
+usr/lib/python2.3/lib-dynload/gdbm.so
+usr/lib/python2.3/lib-dynload/grp.so
+usr/lib/python2.3/lib-dynload/imageop.so
+usr/lib/python2.3/lib-dynload/itertools.so
+#usr/lib/python2.3/lib-dynload/linuxaudiodev.so
+usr/lib/python2.3/lib-dynload/math.so
+usr/lib/python2.3/lib-dynload/md5.so
+usr/lib/python2.3/lib-dynload/mmap.so
+usr/lib/python2.3/lib-dynload/mpz.so
+#usr/lib/python2.3/lib-dynload/nis.so
+usr/lib/python2.3/lib-dynload/operator.so
+#usr/lib/python2.3/lib-dynload/ossaudiodev.so
+usr/lib/python2.3/lib-dynload/parser.so
+usr/lib/python2.3/lib-dynload/pcre.so
+usr/lib/python2.3/lib-dynload/pwd.so
+usr/lib/python2.3/lib-dynload/pyexpat.so
+usr/lib/python2.3/lib-dynload/regex.so
+usr/lib/python2.3/lib-dynload/resource.so
+usr/lib/python2.3/lib-dynload/rgbimg.so
+usr/lib/python2.3/lib-dynload/rotor.so
+usr/lib/python2.3/lib-dynload/select.so
+usr/lib/python2.3/lib-dynload/sha.so
+usr/lib/python2.3/lib-dynload/strop.so
+usr/lib/python2.3/lib-dynload/struct.so
+usr/lib/python2.3/lib-dynload/syslog.so
+usr/lib/python2.3/lib-dynload/termios.so
+usr/lib/python2.3/lib-dynload/time.so
+usr/lib/python2.3/lib-dynload/timing.so
+usr/lib/python2.3/lib-dynload/unicodedata.so
+usr/lib/python2.3/lib-dynload/xreadlines.so
+usr/lib/python2.3/lib-dynload/zlib.so
+#usr/lib/python2.3/lib-old
+#usr/lib/python2.3/lib-old/Para.py
+#usr/lib/python2.3/lib-old/Para.pyc
+#usr/lib/python2.3/lib-old/Para.pyo
+#usr/lib/python2.3/lib-old/addpack.py
+#usr/lib/python2.3/lib-old/addpack.pyc
+#usr/lib/python2.3/lib-old/addpack.pyo
+#usr/lib/python2.3/lib-old/cmp.py
+#usr/lib/python2.3/lib-old/cmp.pyc
+#usr/lib/python2.3/lib-old/cmp.pyo
+#usr/lib/python2.3/lib-old/cmpcache.py
+#usr/lib/python2.3/lib-old/cmpcache.pyc
+#usr/lib/python2.3/lib-old/cmpcache.pyo
+#usr/lib/python2.3/lib-old/codehack.py
+#usr/lib/python2.3/lib-old/codehack.pyc
+#usr/lib/python2.3/lib-old/codehack.pyo
+#usr/lib/python2.3/lib-old/dircmp.py
+#usr/lib/python2.3/lib-old/dircmp.pyc
+#usr/lib/python2.3/lib-old/dircmp.pyo
+#usr/lib/python2.3/lib-old/dump.py
+#usr/lib/python2.3/lib-old/dump.pyc
+#usr/lib/python2.3/lib-old/dump.pyo
+#usr/lib/python2.3/lib-old/find.py
+#usr/lib/python2.3/lib-old/find.pyc
+#usr/lib/python2.3/lib-old/find.pyo
+#usr/lib/python2.3/lib-old/fmt.py
+#usr/lib/python2.3/lib-old/fmt.pyc
+#usr/lib/python2.3/lib-old/fmt.pyo
+#usr/lib/python2.3/lib-old/grep.py
+#usr/lib/python2.3/lib-old/grep.pyc
+#usr/lib/python2.3/lib-old/grep.pyo
+#usr/lib/python2.3/lib-old/lockfile.py
+#usr/lib/python2.3/lib-old/lockfile.pyc
+#usr/lib/python2.3/lib-old/lockfile.pyo
+#usr/lib/python2.3/lib-old/newdir.py
+#usr/lib/python2.3/lib-old/newdir.pyc
+#usr/lib/python2.3/lib-old/newdir.pyo
+#usr/lib/python2.3/lib-old/ni.py
+#usr/lib/python2.3/lib-old/ni.pyc
+#usr/lib/python2.3/lib-old/ni.pyo
+#usr/lib/python2.3/lib-old/packmail.py
+#usr/lib/python2.3/lib-old/packmail.pyc
+#usr/lib/python2.3/lib-old/packmail.pyo
+#usr/lib/python2.3/lib-old/poly.py
+#usr/lib/python2.3/lib-old/poly.pyc
+#usr/lib/python2.3/lib-old/poly.pyo
+#usr/lib/python2.3/lib-old/rand.py
+#usr/lib/python2.3/lib-old/rand.pyc
+#usr/lib/python2.3/lib-old/rand.pyo
+#usr/lib/python2.3/lib-old/tb.py
+#usr/lib/python2.3/lib-old/tb.pyc
+#usr/lib/python2.3/lib-old/tb.pyo
+#usr/lib/python2.3/lib-old/util.py
+#usr/lib/python2.3/lib-old/util.pyc
+#usr/lib/python2.3/lib-old/util.pyo
+#usr/lib/python2.3/lib-old/whatsound.py
+#usr/lib/python2.3/lib-old/whatsound.pyc
+#usr/lib/python2.3/lib-old/whatsound.pyo
+#usr/lib/python2.3/lib-old/zmod.py
+#usr/lib/python2.3/lib-old/zmod.pyc
+#usr/lib/python2.3/lib-old/zmod.pyo
+#usr/lib/python2.3/lib-tk
+#usr/lib/python2.3/lib-tk/Canvas.py
+#usr/lib/python2.3/lib-tk/Canvas.pyc
+#usr/lib/python2.3/lib-tk/Canvas.pyo
+#usr/lib/python2.3/lib-tk/Dialog.py
+#usr/lib/python2.3/lib-tk/Dialog.pyc
+#usr/lib/python2.3/lib-tk/Dialog.pyo
+#usr/lib/python2.3/lib-tk/FileDialog.py
+#usr/lib/python2.3/lib-tk/FileDialog.pyc
+#usr/lib/python2.3/lib-tk/FileDialog.pyo
+#usr/lib/python2.3/lib-tk/FixTk.py
+#usr/lib/python2.3/lib-tk/FixTk.pyc
+#usr/lib/python2.3/lib-tk/FixTk.pyo
+#usr/lib/python2.3/lib-tk/ScrolledText.py
+#usr/lib/python2.3/lib-tk/ScrolledText.pyc
+#usr/lib/python2.3/lib-tk/ScrolledText.pyo
+#usr/lib/python2.3/lib-tk/SimpleDialog.py
+#usr/lib/python2.3/lib-tk/SimpleDialog.pyc
+#usr/lib/python2.3/lib-tk/SimpleDialog.pyo
+#usr/lib/python2.3/lib-tk/Tix.py
+#usr/lib/python2.3/lib-tk/Tix.pyc
+#usr/lib/python2.3/lib-tk/Tix.pyo
+#usr/lib/python2.3/lib-tk/Tkconstants.py
+#usr/lib/python2.3/lib-tk/Tkconstants.pyc
+#usr/lib/python2.3/lib-tk/Tkconstants.pyo
+#usr/lib/python2.3/lib-tk/Tkdnd.py
+#usr/lib/python2.3/lib-tk/Tkdnd.pyc
+#usr/lib/python2.3/lib-tk/Tkdnd.pyo
+#usr/lib/python2.3/lib-tk/Tkinter.py
+#usr/lib/python2.3/lib-tk/Tkinter.pyc
+#usr/lib/python2.3/lib-tk/Tkinter.pyo
+#usr/lib/python2.3/lib-tk/tkColorChooser.py
+#usr/lib/python2.3/lib-tk/tkColorChooser.pyc
+#usr/lib/python2.3/lib-tk/tkColorChooser.pyo
+#usr/lib/python2.3/lib-tk/tkCommonDialog.py
+#usr/lib/python2.3/lib-tk/tkCommonDialog.pyc
+#usr/lib/python2.3/lib-tk/tkCommonDialog.pyo
+#usr/lib/python2.3/lib-tk/tkFileDialog.py
+#usr/lib/python2.3/lib-tk/tkFileDialog.pyc
+#usr/lib/python2.3/lib-tk/tkFileDialog.pyo
+#usr/lib/python2.3/lib-tk/tkFont.py
+#usr/lib/python2.3/lib-tk/tkFont.pyc
+#usr/lib/python2.3/lib-tk/tkFont.pyo
+#usr/lib/python2.3/lib-tk/tkMessageBox.py
+#usr/lib/python2.3/lib-tk/tkMessageBox.pyc
+#usr/lib/python2.3/lib-tk/tkMessageBox.pyo
+#usr/lib/python2.3/lib-tk/tkSimpleDialog.py
+#usr/lib/python2.3/lib-tk/tkSimpleDialog.pyc
+#usr/lib/python2.3/lib-tk/tkSimpleDialog.pyo
+#usr/lib/python2.3/lib-tk/turtle.py
+#usr/lib/python2.3/lib-tk/turtle.pyc
+#usr/lib/python2.3/lib-tk/turtle.pyo
+#usr/lib/python2.3/linecache.py
+usr/lib/python2.3/linecache.pyc
+#usr/lib/python2.3/linecache.pyo
+#usr/lib/python2.3/locale.py
+usr/lib/python2.3/locale.pyc
+#usr/lib/python2.3/locale.pyo
+#usr/lib/python2.3/logging
+#usr/lib/python2.3/logging/__init__.py
+usr/lib/python2.3/logging/__init__.pyc
+#usr/lib/python2.3/logging/__init__.pyo
+#usr/lib/python2.3/logging/config.py
+usr/lib/python2.3/logging/config.pyc
+#usr/lib/python2.3/logging/config.pyo
+#usr/lib/python2.3/logging/handlers.py
+usr/lib/python2.3/logging/handlers.pyc
+#usr/lib/python2.3/logging/handlers.pyo
+#usr/lib/python2.3/macpath.py
+#usr/lib/python2.3/macpath.pyc
+#usr/lib/python2.3/macpath.pyo
+#usr/lib/python2.3/macurl2path.py
+#usr/lib/python2.3/macurl2path.pyc
+#usr/lib/python2.3/macurl2path.pyo
+#usr/lib/python2.3/mailbox.py
+#usr/lib/python2.3/mailbox.pyc
+#usr/lib/python2.3/mailbox.pyo
+#usr/lib/python2.3/mailcap.py
+#usr/lib/python2.3/mailcap.pyc
+#usr/lib/python2.3/mailcap.pyo
+#usr/lib/python2.3/markupbase.py
+#usr/lib/python2.3/markupbase.pyc
+#usr/lib/python2.3/markupbase.pyo
+#usr/lib/python2.3/mhlib.py
+#usr/lib/python2.3/mhlib.pyc
+#usr/lib/python2.3/mhlib.pyo
+#usr/lib/python2.3/mimetools.py
+usr/lib/python2.3/mimetools.pyc
+#usr/lib/python2.3/mimetools.pyo
+#usr/lib/python2.3/mimetypes.py
+usr/lib/python2.3/mimetypes.pyc
+#usr/lib/python2.3/mimetypes.pyo
+#usr/lib/python2.3/mimify.py
+usr/lib/python2.3/mimify.pyc
+#usr/lib/python2.3/mimify.pyo
+#usr/lib/python2.3/modulefinder.py
+usr/lib/python2.3/modulefinder.pyc
+#usr/lib/python2.3/modulefinder.pyo
+#usr/lib/python2.3/multifile.py
+usr/lib/python2.3/multifile.pyc
+#usr/lib/python2.3/multifile.pyo
+#usr/lib/python2.3/mutex.py
+usr/lib/python2.3/mutex.pyc
+#usr/lib/python2.3/mutex.pyo
+#usr/lib/python2.3/netrc.py
+usr/lib/python2.3/netrc.pyc
+#usr/lib/python2.3/netrc.pyo
+#usr/lib/python2.3/new.py
+usr/lib/python2.3/new.pyc
+#usr/lib/python2.3/new.pyo
+#usr/lib/python2.3/nntplib.py
+#usr/lib/python2.3/nntplib.pyc
+#usr/lib/python2.3/nntplib.pyo
+#usr/lib/python2.3/ntpath.py
+usr/lib/python2.3/ntpath.pyc
+#usr/lib/python2.3/ntpath.pyo
+#usr/lib/python2.3/nturl2path.py
+usr/lib/python2.3/nturl2path.pyc
+#usr/lib/python2.3/nturl2path.pyo
+#usr/lib/python2.3/opcode.py
+usr/lib/python2.3/opcode.pyc
+#usr/lib/python2.3/opcode.pyo
+#usr/lib/python2.3/optparse.py
+usr/lib/python2.3/optparse.pyc
+#usr/lib/python2.3/optparse.pyo
+#usr/lib/python2.3/os.py
+usr/lib/python2.3/os.pyc
+#usr/lib/python2.3/os.pyo
+#usr/lib/python2.3/os2emxpath.py
+usr/lib/python2.3/os2emxpath.pyc
+#usr/lib/python2.3/os2emxpath.pyo
+#usr/lib/python2.3/pdb.doc
+#usr/lib/python2.3/pdb.py
+usr/lib/python2.3/pdb.pyc
+#usr/lib/python2.3/pdb.pyo
+#usr/lib/python2.3/pickle.py
+usr/lib/python2.3/pickle.pyc
+#usr/lib/python2.3/pickle.pyo
+#usr/lib/python2.3/pickletools.py
+usr/lib/python2.3/pickletools.pyc
+#usr/lib/python2.3/pickletools.pyo
+#usr/lib/python2.3/pipes.py
+usr/lib/python2.3/pipes.pyc
+#usr/lib/python2.3/pipes.pyo
+#usr/lib/python2.3/pkgutil.py
+usr/lib/python2.3/pkgutil.pyc
+#usr/lib/python2.3/pkgutil.pyo
+#usr/lib/python2.3/plat-linux2
+#usr/lib/python2.3/plat-linux2/CDROM.py
+usr/lib/python2.3/plat-linux2/CDROM.pyc
+#usr/lib/python2.3/plat-linux2/CDROM.pyo
+#usr/lib/python2.3/plat-linux2/DLFCN.py
+usr/lib/python2.3/plat-linux2/DLFCN.pyc
+#usr/lib/python2.3/plat-linux2/DLFCN.pyo
+#usr/lib/python2.3/plat-linux2/IN.py
+usr/lib/python2.3/plat-linux2/IN.pyc
+#usr/lib/python2.3/plat-linux2/IN.pyo
+#usr/lib/python2.3/plat-linux2/TYPES.py
+usr/lib/python2.3/plat-linux2/TYPES.pyc
+#usr/lib/python2.3/plat-linux2/TYPES.pyo
+#usr/lib/python2.3/plat-linux2/regen
+#usr/lib/python2.3/platform.py
+usr/lib/python2.3/platform.pyc
+#usr/lib/python2.3/platform.pyo
+#usr/lib/python2.3/popen2.py
+usr/lib/python2.3/popen2.pyc
+#usr/lib/python2.3/popen2.pyo
+#usr/lib/python2.3/poplib.py
+#usr/lib/python2.3/poplib.pyc
+#usr/lib/python2.3/poplib.pyo
+#usr/lib/python2.3/posixfile.py
+usr/lib/python2.3/posixfile.pyc
+#usr/lib/python2.3/posixfile.pyo
+#usr/lib/python2.3/posixpath.py
+usr/lib/python2.3/posixpath.pyc
+#usr/lib/python2.3/posixpath.pyo
+#usr/lib/python2.3/pprint.py
+usr/lib/python2.3/pprint.pyc
+#usr/lib/python2.3/pprint.pyo
+#usr/lib/python2.3/pre.py
+usr/lib/python2.3/pre.pyc
+#usr/lib/python2.3/pre.pyo
+#usr/lib/python2.3/profile.doc
+#usr/lib/python2.3/profile.py
+#usr/lib/python2.3/profile.pyc
+#usr/lib/python2.3/profile.pyo
+#usr/lib/python2.3/pstats.py
+usr/lib/python2.3/pstats.pyc
+#usr/lib/python2.3/pstats.pyo
+#usr/lib/python2.3/pty.py
+usr/lib/python2.3/pty.pyc
+#usr/lib/python2.3/pty.pyo
+#usr/lib/python2.3/py_compile.py
+usr/lib/python2.3/py_compile.pyc
+#usr/lib/python2.3/py_compile.pyo
+#usr/lib/python2.3/pyclbr.py
+usr/lib/python2.3/pyclbr.pyc
+#usr/lib/python2.3/pyclbr.pyo
+#usr/lib/python2.3/pydoc.py
+usr/lib/python2.3/pydoc.pyc
+#usr/lib/python2.3/pydoc.pyo
+#usr/lib/python2.3/quopri.py
+#usr/lib/python2.3/quopri.pyc
+#usr/lib/python2.3/quopri.pyo
+#usr/lib/python2.3/random.py
+usr/lib/python2.3/random.pyc
+#usr/lib/python2.3/random.pyo
+#usr/lib/python2.3/re.py
+usr/lib/python2.3/re.pyc
+#usr/lib/python2.3/re.pyo
+#usr/lib/python2.3/reconvert.py
+usr/lib/python2.3/reconvert.pyc
+#usr/lib/python2.3/reconvert.pyo
+#usr/lib/python2.3/regex_syntax.py
+usr/lib/python2.3/regex_syntax.pyc
+#usr/lib/python2.3/regex_syntax.pyo
+#usr/lib/python2.3/regsub.py
+usr/lib/python2.3/regsub.pyc
+#usr/lib/python2.3/regsub.pyo
+#usr/lib/python2.3/repr.py
+usr/lib/python2.3/repr.pyc
+#usr/lib/python2.3/repr.pyo
+#usr/lib/python2.3/rexec.py
+usr/lib/python2.3/rexec.pyc
+#usr/lib/python2.3/rexec.pyo
+#usr/lib/python2.3/rfc822.py
+usr/lib/python2.3/rfc822.pyc
+#usr/lib/python2.3/rfc822.pyo
+#usr/lib/python2.3/rlcompleter.py
+usr/lib/python2.3/rlcompleter.pyc
+#usr/lib/python2.3/rlcompleter.pyo
+#usr/lib/python2.3/robotparser.py
+#usr/lib/python2.3/robotparser.pyc
+#usr/lib/python2.3/robotparser.pyo
+#usr/lib/python2.3/sched.py
+usr/lib/python2.3/sched.pyc
+#usr/lib/python2.3/sched.pyo
+#usr/lib/python2.3/sets.py
+usr/lib/python2.3/sets.pyc
+#usr/lib/python2.3/sets.pyo
+#usr/lib/python2.3/sgmllib.py
+usr/lib/python2.3/sgmllib.pyc
+#usr/lib/python2.3/sgmllib.pyo
+#usr/lib/python2.3/shelve.py
+usr/lib/python2.3/shelve.pyc
+#usr/lib/python2.3/shelve.pyo
+#usr/lib/python2.3/shlex.py
+usr/lib/python2.3/shlex.pyc
+#usr/lib/python2.3/shlex.pyo
+#usr/lib/python2.3/shutil.py
+usr/lib/python2.3/shutil.pyc
+#usr/lib/python2.3/shutil.pyo
+#usr/lib/python2.3/site-packages
+#usr/lib/python2.3/site-packages/README
+#usr/lib/python2.3/site.py
+usr/lib/python2.3/site.pyc
+#usr/lib/python2.3/site.pyo
+#usr/lib/python2.3/smtpd.py
+#usr/lib/python2.3/smtpd.pyc
+#usr/lib/python2.3/smtpd.pyo
+#usr/lib/python2.3/smtplib.py
+#usr/lib/python2.3/smtplib.pyc
+#usr/lib/python2.3/smtplib.pyo
+#usr/lib/python2.3/sndhdr.py
+#usr/lib/python2.3/sndhdr.pyc
+#usr/lib/python2.3/sndhdr.pyo
+#usr/lib/python2.3/socket.py
+usr/lib/python2.3/socket.pyc
+#usr/lib/python2.3/socket.pyo
+#usr/lib/python2.3/sre.py
+usr/lib/python2.3/sre.pyc
+#usr/lib/python2.3/sre.pyo
+#usr/lib/python2.3/sre_compile.py
+usr/lib/python2.3/sre_compile.pyc
+#usr/lib/python2.3/sre_compile.pyo
+#usr/lib/python2.3/sre_constants.py
+usr/lib/python2.3/sre_constants.pyc
+#usr/lib/python2.3/sre_constants.pyo
+#usr/lib/python2.3/sre_parse.py
+usr/lib/python2.3/sre_parse.pyc
+#usr/lib/python2.3/sre_parse.pyo
+#usr/lib/python2.3/stat.py
+usr/lib/python2.3/stat.pyc
+#usr/lib/python2.3/stat.pyo
+#usr/lib/python2.3/statcache.py
+usr/lib/python2.3/statcache.pyc
+#usr/lib/python2.3/statcache.pyo
+#usr/lib/python2.3/statvfs.py
+usr/lib/python2.3/statvfs.pyc
+#usr/lib/python2.3/statvfs.pyo
+#usr/lib/python2.3/string.py
+usr/lib/python2.3/string.pyc
+#usr/lib/python2.3/string.pyo
+#usr/lib/python2.3/stringold.py
+usr/lib/python2.3/stringold.pyc
+#usr/lib/python2.3/stringold.pyo
+#usr/lib/python2.3/stringprep.py
+usr/lib/python2.3/stringprep.pyc
+#usr/lib/python2.3/stringprep.pyo
+#usr/lib/python2.3/sunau.py
+#usr/lib/python2.3/sunau.pyc
+#usr/lib/python2.3/sunau.pyo
+#usr/lib/python2.3/sunaudio.py
+#usr/lib/python2.3/sunaudio.pyc
+#usr/lib/python2.3/sunaudio.pyo
+#usr/lib/python2.3/symbol.py
+usr/lib/python2.3/symbol.pyc
+#usr/lib/python2.3/symbol.pyo
+#usr/lib/python2.3/symtable.py
+usr/lib/python2.3/symtable.pyc
+#usr/lib/python2.3/symtable.pyo
+#usr/lib/python2.3/tabnanny.py
+usr/lib/python2.3/tabnanny.pyc
+#usr/lib/python2.3/tabnanny.pyo
+#usr/lib/python2.3/tarfile.py
+usr/lib/python2.3/tarfile.pyc
+#usr/lib/python2.3/tarfile.pyo
+#usr/lib/python2.3/telnetlib.py
+#usr/lib/python2.3/telnetlib.pyc
+#usr/lib/python2.3/telnetlib.pyo
+#usr/lib/python2.3/tempfile.py
+usr/lib/python2.3/tempfile.pyc
+#usr/lib/python2.3/tempfile.pyo
+#usr/lib/python2.3/test
+#usr/lib/python2.3/test/185test.db
+#usr/lib/python2.3/test/README
+#usr/lib/python2.3/test/__init__.py
+#usr/lib/python2.3/test/__init__.pyc
+#usr/lib/python2.3/test/__init__.pyo
+#usr/lib/python2.3/test/audiotest.au
+#usr/lib/python2.3/test/autotest.py
+#usr/lib/python2.3/test/autotest.pyc
+#usr/lib/python2.3/test/autotest.pyo
+#usr/lib/python2.3/test/badsyntax_future3.py
+#usr/lib/python2.3/test/badsyntax_future4.py
+#usr/lib/python2.3/test/badsyntax_future5.py
+#usr/lib/python2.3/test/badsyntax_future6.py
+#usr/lib/python2.3/test/badsyntax_future7.py
+#usr/lib/python2.3/test/badsyntax_nocaret.py
+#usr/lib/python2.3/test/double_const.py
+#usr/lib/python2.3/test/double_const.pyc
+#usr/lib/python2.3/test/double_const.pyo
+#usr/lib/python2.3/test/greyrgb.uue
+#usr/lib/python2.3/test/output
+#usr/lib/python2.3/test/output/test_MimeWriter
+#usr/lib/python2.3/test/output/test_asynchat
+#usr/lib/python2.3/test/output/test_augassign
+#usr/lib/python2.3/test/output/test_binascii
+#usr/lib/python2.3/test/output/test_cgi
+#usr/lib/python2.3/test/output/test_class
+#usr/lib/python2.3/test/output/test_coercion
+#usr/lib/python2.3/test/output/test_compare
+#usr/lib/python2.3/test/output/test_cookie
+#usr/lib/python2.3/test/output/test_exceptions
+#usr/lib/python2.3/test/output/test_extcall
+#usr/lib/python2.3/test/output/test_frozen
+#usr/lib/python2.3/test/output/test_future
+#usr/lib/python2.3/test/output/test_global
+#usr/lib/python2.3/test/output/test_grammar
+#usr/lib/python2.3/test/output/test_httplib
+#usr/lib/python2.3/test/output/test_linuxaudiodev
+#usr/lib/python2.3/test/output/test_logging
+#usr/lib/python2.3/test/output/test_longexp
+#usr/lib/python2.3/test/output/test_math
+#usr/lib/python2.3/test/output/test_md5
+#usr/lib/python2.3/test/output/test_mmap
+#usr/lib/python2.3/test/output/test_new
+#usr/lib/python2.3/test/output/test_nis
+#usr/lib/python2.3/test/output/test_opcodes
+#usr/lib/python2.3/test/output/test_openpty
+#usr/lib/python2.3/test/output/test_operations
+#usr/lib/python2.3/test/output/test_ossaudiodev
+#usr/lib/python2.3/test/output/test_pep277
+#usr/lib/python2.3/test/output/test_pkg
+#usr/lib/python2.3/test/output/test_poll
+#usr/lib/python2.3/test/output/test_popen
+#usr/lib/python2.3/test/output/test_popen2
+#usr/lib/python2.3/test/output/test_profile
+#usr/lib/python2.3/test/output/test_pty
+#usr/lib/python2.3/test/output/test_pyexpat
+#usr/lib/python2.3/test/output/test_regex
+#usr/lib/python2.3/test/output/test_resource
+#usr/lib/python2.3/test/output/test_rgbimg
+#usr/lib/python2.3/test/output/test_rotor
+#usr/lib/python2.3/test/output/test_scope
+#usr/lib/python2.3/test/output/test_signal
+#usr/lib/python2.3/test/output/test_thread
+#usr/lib/python2.3/test/output/test_threadedtempfile
+#usr/lib/python2.3/test/output/test_tokenize
+#usr/lib/python2.3/test/output/test_types
+#usr/lib/python2.3/test/output/test_unicode_file
+#usr/lib/python2.3/test/output/test_winreg
+#usr/lib/python2.3/test/output/test_xreadline
+#usr/lib/python2.3/test/output/xmltests
+#usr/lib/python2.3/test/pickletester.py
+#usr/lib/python2.3/test/pickletester.pyc
+#usr/lib/python2.3/test/pickletester.pyo
+#usr/lib/python2.3/test/pydocfodder.py
+#usr/lib/python2.3/test/pydocfodder.pyc
+#usr/lib/python2.3/test/pydocfodder.pyo
+#usr/lib/python2.3/test/pystone.py
+#usr/lib/python2.3/test/pystone.pyc
+#usr/lib/python2.3/test/pystone.pyo
+#usr/lib/python2.3/test/re_tests.py
+#usr/lib/python2.3/test/re_tests.pyc
+#usr/lib/python2.3/test/re_tests.pyo
+#usr/lib/python2.3/test/regex_tests.py
+#usr/lib/python2.3/test/regex_tests.pyc
+#usr/lib/python2.3/test/regex_tests.pyo
+#usr/lib/python2.3/test/regrtest.py
+#usr/lib/python2.3/test/regrtest.pyc
+#usr/lib/python2.3/test/regrtest.pyo
+#usr/lib/python2.3/test/reperf.py
+#usr/lib/python2.3/test/reperf.pyc
+#usr/lib/python2.3/test/reperf.pyo
+#usr/lib/python2.3/test/sortperf.py
+#usr/lib/python2.3/test/sortperf.pyc
+#usr/lib/python2.3/test/sortperf.pyo
+#usr/lib/python2.3/test/string_tests.py
+#usr/lib/python2.3/test/string_tests.pyc
+#usr/lib/python2.3/test/string_tests.pyo
+#usr/lib/python2.3/test/test.xml
+#usr/lib/python2.3/test/test.xml.out
+#usr/lib/python2.3/test/test_MimeWriter.py
+#usr/lib/python2.3/test/test_MimeWriter.pyc
+#usr/lib/python2.3/test/test_MimeWriter.pyo
+#usr/lib/python2.3/test/test_StringIO.py
+#usr/lib/python2.3/test/test_StringIO.pyc
+#usr/lib/python2.3/test/test_StringIO.pyo
+#usr/lib/python2.3/test/test___all__.py
+#usr/lib/python2.3/test/test___all__.pyc
+#usr/lib/python2.3/test/test___all__.pyo
+#usr/lib/python2.3/test/test___future__.py
+#usr/lib/python2.3/test/test___future__.pyc
+#usr/lib/python2.3/test/test___future__.pyo
+#usr/lib/python2.3/test/test_aepack.py
+#usr/lib/python2.3/test/test_aepack.pyc
+#usr/lib/python2.3/test/test_aepack.pyo
+#usr/lib/python2.3/test/test_al.py
+#usr/lib/python2.3/test/test_al.pyc
+#usr/lib/python2.3/test/test_al.pyo
+#usr/lib/python2.3/test/test_anydbm.py
+#usr/lib/python2.3/test/test_anydbm.pyc
+#usr/lib/python2.3/test/test_anydbm.pyo
+#usr/lib/python2.3/test/test_array.py
+#usr/lib/python2.3/test/test_array.pyc
+#usr/lib/python2.3/test/test_array.pyo
+#usr/lib/python2.3/test/test_asynchat.py
+#usr/lib/python2.3/test/test_asynchat.pyc
+#usr/lib/python2.3/test/test_asynchat.pyo
+#usr/lib/python2.3/test/test_atexit.py
+#usr/lib/python2.3/test/test_atexit.pyc
+#usr/lib/python2.3/test/test_atexit.pyo
+#usr/lib/python2.3/test/test_audioop.py
+#usr/lib/python2.3/test/test_audioop.pyc
+#usr/lib/python2.3/test/test_audioop.pyo
+#usr/lib/python2.3/test/test_augassign.py
+#usr/lib/python2.3/test/test_augassign.pyc
+#usr/lib/python2.3/test/test_augassign.pyo
+#usr/lib/python2.3/test/test_base64.py
+#usr/lib/python2.3/test/test_base64.pyc
+#usr/lib/python2.3/test/test_base64.pyo
+#usr/lib/python2.3/test/test_bastion.py
+#usr/lib/python2.3/test/test_bastion.pyc
+#usr/lib/python2.3/test/test_bastion.pyo
+#usr/lib/python2.3/test/test_binascii.py
+#usr/lib/python2.3/test/test_binascii.pyc
+#usr/lib/python2.3/test/test_binascii.pyo
+#usr/lib/python2.3/test/test_binhex.py
+#usr/lib/python2.3/test/test_binhex.pyc
+#usr/lib/python2.3/test/test_binhex.pyo
+#usr/lib/python2.3/test/test_binop.py
+#usr/lib/python2.3/test/test_binop.pyc
+#usr/lib/python2.3/test/test_binop.pyo
+#usr/lib/python2.3/test/test_bisect.py
+#usr/lib/python2.3/test/test_bisect.pyc
+#usr/lib/python2.3/test/test_bisect.pyo
+#usr/lib/python2.3/test/test_bool.py
+#usr/lib/python2.3/test/test_bool.pyc
+#usr/lib/python2.3/test/test_bool.pyo
+#usr/lib/python2.3/test/test_bsddb.py
+#usr/lib/python2.3/test/test_bsddb.pyc
+#usr/lib/python2.3/test/test_bsddb.pyo
+#usr/lib/python2.3/test/test_bsddb185.py
+#usr/lib/python2.3/test/test_bsddb185.pyc
+#usr/lib/python2.3/test/test_bsddb185.pyo
+#usr/lib/python2.3/test/test_bsddb3.py
+#usr/lib/python2.3/test/test_bsddb3.pyc
+#usr/lib/python2.3/test/test_bsddb3.pyo
+#usr/lib/python2.3/test/test_bufio.py
+#usr/lib/python2.3/test/test_bufio.pyc
+#usr/lib/python2.3/test/test_bufio.pyo
+#usr/lib/python2.3/test/test_builtin.py
+#usr/lib/python2.3/test/test_builtin.pyc
+#usr/lib/python2.3/test/test_builtin.pyo
+#usr/lib/python2.3/test/test_bz2.py
+#usr/lib/python2.3/test/test_bz2.pyc
+#usr/lib/python2.3/test/test_bz2.pyo
+#usr/lib/python2.3/test/test_calendar.py
+#usr/lib/python2.3/test/test_calendar.pyc
+#usr/lib/python2.3/test/test_calendar.pyo
+#usr/lib/python2.3/test/test_call.py
+#usr/lib/python2.3/test/test_call.pyc
+#usr/lib/python2.3/test/test_call.pyo
+#usr/lib/python2.3/test/test_capi.py
+#usr/lib/python2.3/test/test_capi.pyc
+#usr/lib/python2.3/test/test_capi.pyo
+#usr/lib/python2.3/test/test_cd.py
+#usr/lib/python2.3/test/test_cd.pyc
+#usr/lib/python2.3/test/test_cd.pyo
+#usr/lib/python2.3/test/test_cfgparser.py
+#usr/lib/python2.3/test/test_cfgparser.pyc
+#usr/lib/python2.3/test/test_cfgparser.pyo
+#usr/lib/python2.3/test/test_cgi.py
+#usr/lib/python2.3/test/test_cgi.pyc
+#usr/lib/python2.3/test/test_cgi.pyo
+#usr/lib/python2.3/test/test_charmapcodec.py
+#usr/lib/python2.3/test/test_charmapcodec.pyc
+#usr/lib/python2.3/test/test_charmapcodec.pyo
+#usr/lib/python2.3/test/test_cl.py
+#usr/lib/python2.3/test/test_cl.pyc
+#usr/lib/python2.3/test/test_cl.pyo
+#usr/lib/python2.3/test/test_class.py
+#usr/lib/python2.3/test/test_class.pyc
+#usr/lib/python2.3/test/test_class.pyo
+#usr/lib/python2.3/test/test_cmath.py
+#usr/lib/python2.3/test/test_cmath.pyc
+#usr/lib/python2.3/test/test_cmath.pyo
+#usr/lib/python2.3/test/test_codeccallbacks.py
+#usr/lib/python2.3/test/test_codeccallbacks.pyc
+#usr/lib/python2.3/test/test_codeccallbacks.pyo
+#usr/lib/python2.3/test/test_codecs.py
+#usr/lib/python2.3/test/test_codecs.pyc
+#usr/lib/python2.3/test/test_codecs.pyo
+#usr/lib/python2.3/test/test_codeop.py
+#usr/lib/python2.3/test/test_codeop.pyc
+#usr/lib/python2.3/test/test_codeop.pyo
+#usr/lib/python2.3/test/test_coercion.py
+#usr/lib/python2.3/test/test_coercion.pyc
+#usr/lib/python2.3/test/test_coercion.pyo
+#usr/lib/python2.3/test/test_commands.py
+#usr/lib/python2.3/test/test_commands.pyc
+#usr/lib/python2.3/test/test_commands.pyo
+#usr/lib/python2.3/test/test_compare.py
+#usr/lib/python2.3/test/test_compare.pyc
+#usr/lib/python2.3/test/test_compare.pyo
+#usr/lib/python2.3/test/test_compile.py
+#usr/lib/python2.3/test/test_compile.pyc
+#usr/lib/python2.3/test/test_compile.pyo
+#usr/lib/python2.3/test/test_complex.py
+#usr/lib/python2.3/test/test_complex.pyc
+#usr/lib/python2.3/test/test_complex.pyo
+#usr/lib/python2.3/test/test_contains.py
+#usr/lib/python2.3/test/test_contains.pyc
+#usr/lib/python2.3/test/test_contains.pyo
+#usr/lib/python2.3/test/test_cookie.py
+#usr/lib/python2.3/test/test_cookie.pyc
+#usr/lib/python2.3/test/test_cookie.pyo
+#usr/lib/python2.3/test/test_copy.py
+#usr/lib/python2.3/test/test_copy.pyc
+#usr/lib/python2.3/test/test_copy.pyo
+#usr/lib/python2.3/test/test_copy_reg.py
+#usr/lib/python2.3/test/test_copy_reg.pyc
+#usr/lib/python2.3/test/test_copy_reg.pyo
+#usr/lib/python2.3/test/test_cpickle.py
+#usr/lib/python2.3/test/test_cpickle.pyc
+#usr/lib/python2.3/test/test_cpickle.pyo
+#usr/lib/python2.3/test/test_crypt.py
+#usr/lib/python2.3/test/test_crypt.pyc
+#usr/lib/python2.3/test/test_crypt.pyo
+#usr/lib/python2.3/test/test_csv.py
+#usr/lib/python2.3/test/test_csv.pyc
+#usr/lib/python2.3/test/test_csv.pyo
+#usr/lib/python2.3/test/test_curses.py
+#usr/lib/python2.3/test/test_curses.pyc
+#usr/lib/python2.3/test/test_curses.pyo
+#usr/lib/python2.3/test/test_datetime.py
+#usr/lib/python2.3/test/test_datetime.pyc
+#usr/lib/python2.3/test/test_datetime.pyo
+#usr/lib/python2.3/test/test_dbm.py
+#usr/lib/python2.3/test/test_dbm.pyc
+#usr/lib/python2.3/test/test_dbm.pyo
+#usr/lib/python2.3/test/test_descr.py
+#usr/lib/python2.3/test/test_descr.pyc
+#usr/lib/python2.3/test/test_descr.pyo
+#usr/lib/python2.3/test/test_descrtut.py
+#usr/lib/python2.3/test/test_descrtut.pyc
+#usr/lib/python2.3/test/test_descrtut.pyo
+#usr/lib/python2.3/test/test_difflib.py
+#usr/lib/python2.3/test/test_difflib.pyc
+#usr/lib/python2.3/test/test_difflib.pyo
+#usr/lib/python2.3/test/test_dircache.py
+#usr/lib/python2.3/test/test_dircache.pyc
+#usr/lib/python2.3/test/test_dircache.pyo
+#usr/lib/python2.3/test/test_dis.py
+#usr/lib/python2.3/test/test_dis.pyc
+#usr/lib/python2.3/test/test_dis.pyo
+#usr/lib/python2.3/test/test_dl.py
+#usr/lib/python2.3/test/test_dl.pyc
+#usr/lib/python2.3/test/test_dl.pyo
+#usr/lib/python2.3/test/test_doctest.py
+#usr/lib/python2.3/test/test_doctest.pyc
+#usr/lib/python2.3/test/test_doctest.pyo
+#usr/lib/python2.3/test/test_doctest2.py
+#usr/lib/python2.3/test/test_doctest2.pyc
+#usr/lib/python2.3/test/test_doctest2.pyo
+#usr/lib/python2.3/test/test_dumbdbm.py
+#usr/lib/python2.3/test/test_dumbdbm.pyc
+#usr/lib/python2.3/test/test_dumbdbm.pyo
+#usr/lib/python2.3/test/test_dummy_thread.py
+#usr/lib/python2.3/test/test_dummy_thread.pyc
+#usr/lib/python2.3/test/test_dummy_thread.pyo
+#usr/lib/python2.3/test/test_dummy_threading.py
+#usr/lib/python2.3/test/test_dummy_threading.pyc
+#usr/lib/python2.3/test/test_dummy_threading.pyo
+#usr/lib/python2.3/test/test_email.py
+#usr/lib/python2.3/test/test_email.pyc
+#usr/lib/python2.3/test/test_email.pyo
+#usr/lib/python2.3/test/test_email_codecs.py
+#usr/lib/python2.3/test/test_email_codecs.pyc
+#usr/lib/python2.3/test/test_email_codecs.pyo
+#usr/lib/python2.3/test/test_enumerate.py
+#usr/lib/python2.3/test/test_enumerate.pyc
+#usr/lib/python2.3/test/test_enumerate.pyo
+#usr/lib/python2.3/test/test_eof.py
+#usr/lib/python2.3/test/test_eof.pyc
+#usr/lib/python2.3/test/test_eof.pyo
+#usr/lib/python2.3/test/test_errno.py
+#usr/lib/python2.3/test/test_errno.pyc
+#usr/lib/python2.3/test/test_errno.pyo
+#usr/lib/python2.3/test/test_exceptions.py
+#usr/lib/python2.3/test/test_exceptions.pyc
+#usr/lib/python2.3/test/test_exceptions.pyo
+#usr/lib/python2.3/test/test_extcall.py
+#usr/lib/python2.3/test/test_extcall.pyc
+#usr/lib/python2.3/test/test_extcall.pyo
+#usr/lib/python2.3/test/test_fcntl.py
+#usr/lib/python2.3/test/test_fcntl.pyc
+#usr/lib/python2.3/test/test_fcntl.pyo
+#usr/lib/python2.3/test/test_file.py
+#usr/lib/python2.3/test/test_file.pyc
+#usr/lib/python2.3/test/test_file.pyo
+#usr/lib/python2.3/test/test_filecmp.py
+#usr/lib/python2.3/test/test_filecmp.pyc
+#usr/lib/python2.3/test/test_filecmp.pyo
+#usr/lib/python2.3/test/test_fileinput.py
+#usr/lib/python2.3/test/test_fileinput.pyc
+#usr/lib/python2.3/test/test_fileinput.pyo
+#usr/lib/python2.3/test/test_fnmatch.py
+#usr/lib/python2.3/test/test_fnmatch.pyc
+#usr/lib/python2.3/test/test_fnmatch.pyo
+#usr/lib/python2.3/test/test_fork1.py
+#usr/lib/python2.3/test/test_fork1.pyc
+#usr/lib/python2.3/test/test_fork1.pyo
+#usr/lib/python2.3/test/test_format.py
+#usr/lib/python2.3/test/test_format.pyc
+#usr/lib/python2.3/test/test_format.pyo
+#usr/lib/python2.3/test/test_fpformat.py
+#usr/lib/python2.3/test/test_fpformat.pyc
+#usr/lib/python2.3/test/test_fpformat.pyo
+#usr/lib/python2.3/test/test_frozen.py
+#usr/lib/python2.3/test/test_frozen.pyc
+#usr/lib/python2.3/test/test_frozen.pyo
+#usr/lib/python2.3/test/test_funcattrs.py
+#usr/lib/python2.3/test/test_funcattrs.pyc
+#usr/lib/python2.3/test/test_funcattrs.pyo
+#usr/lib/python2.3/test/test_future.py
+#usr/lib/python2.3/test/test_future.pyc
+#usr/lib/python2.3/test/test_future.pyo
+#usr/lib/python2.3/test/test_future1.py
+#usr/lib/python2.3/test/test_future1.pyc
+#usr/lib/python2.3/test/test_future1.pyo
+#usr/lib/python2.3/test/test_future2.py
+#usr/lib/python2.3/test/test_future2.pyc
+#usr/lib/python2.3/test/test_future2.pyo
+#usr/lib/python2.3/test/test_future3.py
+#usr/lib/python2.3/test/test_future3.pyc
+#usr/lib/python2.3/test/test_future3.pyo
+#usr/lib/python2.3/test/test_gc.py
+#usr/lib/python2.3/test/test_gc.pyc
+#usr/lib/python2.3/test/test_gc.pyo
+#usr/lib/python2.3/test/test_gdbm.py
+#usr/lib/python2.3/test/test_gdbm.pyc
+#usr/lib/python2.3/test/test_gdbm.pyo
+#usr/lib/python2.3/test/test_generators.py
+#usr/lib/python2.3/test/test_generators.pyc
+#usr/lib/python2.3/test/test_generators.pyo
+#usr/lib/python2.3/test/test_getargs.py
+#usr/lib/python2.3/test/test_getargs.pyc
+#usr/lib/python2.3/test/test_getargs.pyo
+#usr/lib/python2.3/test/test_getargs2.py
+#usr/lib/python2.3/test/test_getargs2.pyc
+#usr/lib/python2.3/test/test_getargs2.pyo
+#usr/lib/python2.3/test/test_getopt.py
+#usr/lib/python2.3/test/test_getopt.pyc
+#usr/lib/python2.3/test/test_getopt.pyo
+#usr/lib/python2.3/test/test_gettext.py
+#usr/lib/python2.3/test/test_gettext.pyc
+#usr/lib/python2.3/test/test_gettext.pyo
+#usr/lib/python2.3/test/test_gl.py
+#usr/lib/python2.3/test/test_gl.pyc
+#usr/lib/python2.3/test/test_gl.pyo
+#usr/lib/python2.3/test/test_glob.py
+#usr/lib/python2.3/test/test_glob.pyc
+#usr/lib/python2.3/test/test_glob.pyo
+#usr/lib/python2.3/test/test_global.py
+#usr/lib/python2.3/test/test_global.pyc
+#usr/lib/python2.3/test/test_global.pyo
+#usr/lib/python2.3/test/test_grammar.py
+#usr/lib/python2.3/test/test_grammar.pyc
+#usr/lib/python2.3/test/test_grammar.pyo
+#usr/lib/python2.3/test/test_grp.py
+#usr/lib/python2.3/test/test_grp.pyc
+#usr/lib/python2.3/test/test_grp.pyo
+#usr/lib/python2.3/test/test_gzip.py
+#usr/lib/python2.3/test/test_gzip.pyc
+#usr/lib/python2.3/test/test_gzip.pyo
+#usr/lib/python2.3/test/test_hash.py
+#usr/lib/python2.3/test/test_hash.pyc
+#usr/lib/python2.3/test/test_hash.pyo
+#usr/lib/python2.3/test/test_heapq.py
+#usr/lib/python2.3/test/test_heapq.pyc
+#usr/lib/python2.3/test/test_heapq.pyo
+#usr/lib/python2.3/test/test_hexoct.py
+#usr/lib/python2.3/test/test_hexoct.pyc
+#usr/lib/python2.3/test/test_hexoct.pyo
+#usr/lib/python2.3/test/test_hmac.py
+#usr/lib/python2.3/test/test_hmac.pyc
+#usr/lib/python2.3/test/test_hmac.pyo
+#usr/lib/python2.3/test/test_hotshot.py
+#usr/lib/python2.3/test/test_hotshot.pyc
+#usr/lib/python2.3/test/test_hotshot.pyo
+#usr/lib/python2.3/test/test_htmllib.py
+#usr/lib/python2.3/test/test_htmllib.pyc
+#usr/lib/python2.3/test/test_htmllib.pyo
+#usr/lib/python2.3/test/test_htmlparser.py
+#usr/lib/python2.3/test/test_htmlparser.pyc
+#usr/lib/python2.3/test/test_htmlparser.pyo
+#usr/lib/python2.3/test/test_httplib.py
+#usr/lib/python2.3/test/test_httplib.pyc
+#usr/lib/python2.3/test/test_httplib.pyo
+#usr/lib/python2.3/test/test_imageop.py
+#usr/lib/python2.3/test/test_imageop.pyc
+#usr/lib/python2.3/test/test_imageop.pyo
+#usr/lib/python2.3/test/test_imaplib.py
+#usr/lib/python2.3/test/test_imaplib.pyc
+#usr/lib/python2.3/test/test_imaplib.pyo
+#usr/lib/python2.3/test/test_imgfile.py
+#usr/lib/python2.3/test/test_imgfile.pyc
+#usr/lib/python2.3/test/test_imgfile.pyo
+#usr/lib/python2.3/test/test_imp.py
+#usr/lib/python2.3/test/test_imp.pyc
+#usr/lib/python2.3/test/test_imp.pyo
+#usr/lib/python2.3/test/test_import.py
+#usr/lib/python2.3/test/test_import.pyc
+#usr/lib/python2.3/test/test_import.pyo
+#usr/lib/python2.3/test/test_importhooks.py
+#usr/lib/python2.3/test/test_importhooks.pyc
+#usr/lib/python2.3/test/test_importhooks.pyo
+#usr/lib/python2.3/test/test_inspect.py
+#usr/lib/python2.3/test/test_inspect.pyc
+#usr/lib/python2.3/test/test_inspect.pyo
+#usr/lib/python2.3/test/test_ioctl.py
+#usr/lib/python2.3/test/test_ioctl.pyc
+#usr/lib/python2.3/test/test_ioctl.pyo
+#usr/lib/python2.3/test/test_isinstance.py
+#usr/lib/python2.3/test/test_isinstance.pyc
+#usr/lib/python2.3/test/test_isinstance.pyo
+#usr/lib/python2.3/test/test_iter.py
+#usr/lib/python2.3/test/test_iter.pyc
+#usr/lib/python2.3/test/test_iter.pyo
+#usr/lib/python2.3/test/test_itertools.py
+#usr/lib/python2.3/test/test_itertools.pyc
+#usr/lib/python2.3/test/test_itertools.pyo
+#usr/lib/python2.3/test/test_largefile.py
+#usr/lib/python2.3/test/test_largefile.pyc
+#usr/lib/python2.3/test/test_largefile.pyo
+#usr/lib/python2.3/test/test_linuxaudiodev.py
+#usr/lib/python2.3/test/test_linuxaudiodev.pyc
+#usr/lib/python2.3/test/test_linuxaudiodev.pyo
+#usr/lib/python2.3/test/test_locale.py
+#usr/lib/python2.3/test/test_locale.pyc
+#usr/lib/python2.3/test/test_locale.pyo
+#usr/lib/python2.3/test/test_logging.py
+#usr/lib/python2.3/test/test_logging.pyc
+#usr/lib/python2.3/test/test_logging.pyo
+#usr/lib/python2.3/test/test_long.py
+#usr/lib/python2.3/test/test_long.pyc
+#usr/lib/python2.3/test/test_long.pyo
+#usr/lib/python2.3/test/test_long_future.py
+#usr/lib/python2.3/test/test_long_future.pyc
+#usr/lib/python2.3/test/test_long_future.pyo
+#usr/lib/python2.3/test/test_longexp.py
+#usr/lib/python2.3/test/test_longexp.pyc
+#usr/lib/python2.3/test/test_longexp.pyo
+#usr/lib/python2.3/test/test_macfs.py
+#usr/lib/python2.3/test/test_macfs.pyc
+#usr/lib/python2.3/test/test_macfs.pyo
+#usr/lib/python2.3/test/test_macostools.py
+#usr/lib/python2.3/test/test_macostools.pyc
+#usr/lib/python2.3/test/test_macostools.pyo
+#usr/lib/python2.3/test/test_macpath.py
+#usr/lib/python2.3/test/test_macpath.pyc
+#usr/lib/python2.3/test/test_macpath.pyo
+#usr/lib/python2.3/test/test_mailbox.py
+#usr/lib/python2.3/test/test_mailbox.pyc
+#usr/lib/python2.3/test/test_mailbox.pyo
+#usr/lib/python2.3/test/test_marshal.py
+#usr/lib/python2.3/test/test_marshal.pyc
+#usr/lib/python2.3/test/test_marshal.pyo
+#usr/lib/python2.3/test/test_math.py
+#usr/lib/python2.3/test/test_math.pyc
+#usr/lib/python2.3/test/test_math.pyo
+#usr/lib/python2.3/test/test_md5.py
+#usr/lib/python2.3/test/test_md5.pyc
+#usr/lib/python2.3/test/test_md5.pyo
+#usr/lib/python2.3/test/test_mhlib.py
+#usr/lib/python2.3/test/test_mhlib.pyc
+#usr/lib/python2.3/test/test_mhlib.pyo
+#usr/lib/python2.3/test/test_mimetools.py
+#usr/lib/python2.3/test/test_mimetools.pyc
+#usr/lib/python2.3/test/test_mimetools.pyo
+#usr/lib/python2.3/test/test_mimetypes.py
+#usr/lib/python2.3/test/test_mimetypes.pyc
+#usr/lib/python2.3/test/test_mimetypes.pyo
+#usr/lib/python2.3/test/test_minidom.py
+#usr/lib/python2.3/test/test_minidom.pyc
+#usr/lib/python2.3/test/test_minidom.pyo
+#usr/lib/python2.3/test/test_mmap.py
+#usr/lib/python2.3/test/test_mmap.pyc
+#usr/lib/python2.3/test/test_mmap.pyo
+#usr/lib/python2.3/test/test_module.py
+#usr/lib/python2.3/test/test_module.pyc
+#usr/lib/python2.3/test/test_module.pyo
+#usr/lib/python2.3/test/test_mpz.py
+#usr/lib/python2.3/test/test_mpz.pyc
+#usr/lib/python2.3/test/test_mpz.pyo
+#usr/lib/python2.3/test/test_multifile.py
+#usr/lib/python2.3/test/test_multifile.pyc
+#usr/lib/python2.3/test/test_multifile.pyo
+#usr/lib/python2.3/test/test_mutants.py
+#usr/lib/python2.3/test/test_mutants.pyc
+#usr/lib/python2.3/test/test_mutants.pyo
+#usr/lib/python2.3/test/test_netrc.py
+#usr/lib/python2.3/test/test_netrc.pyc
+#usr/lib/python2.3/test/test_netrc.pyo
+#usr/lib/python2.3/test/test_new.py
+#usr/lib/python2.3/test/test_new.pyc
+#usr/lib/python2.3/test/test_new.pyo
+#usr/lib/python2.3/test/test_nis.py
+#usr/lib/python2.3/test/test_nis.pyc
+#usr/lib/python2.3/test/test_nis.pyo
+#usr/lib/python2.3/test/test_normalization.py
+#usr/lib/python2.3/test/test_normalization.pyc
+#usr/lib/python2.3/test/test_normalization.pyo
+#usr/lib/python2.3/test/test_ntpath.py
+#usr/lib/python2.3/test/test_ntpath.pyc
+#usr/lib/python2.3/test/test_ntpath.pyo
+#usr/lib/python2.3/test/test_opcodes.py
+#usr/lib/python2.3/test/test_opcodes.pyc
+#usr/lib/python2.3/test/test_opcodes.pyo
+#usr/lib/python2.3/test/test_openpty.py
+#usr/lib/python2.3/test/test_openpty.pyc
+#usr/lib/python2.3/test/test_openpty.pyo
+#usr/lib/python2.3/test/test_operations.py
+#usr/lib/python2.3/test/test_operations.pyc
+#usr/lib/python2.3/test/test_operations.pyo
+#usr/lib/python2.3/test/test_operator.py
+#usr/lib/python2.3/test/test_operator.pyc
+#usr/lib/python2.3/test/test_operator.pyo
+#usr/lib/python2.3/test/test_optparse.py
+#usr/lib/python2.3/test/test_optparse.pyc
+#usr/lib/python2.3/test/test_optparse.pyo
+#usr/lib/python2.3/test/test_os.py
+#usr/lib/python2.3/test/test_os.pyc
+#usr/lib/python2.3/test/test_os.pyo
+#usr/lib/python2.3/test/test_ossaudiodev.py
+#usr/lib/python2.3/test/test_ossaudiodev.pyc
+#usr/lib/python2.3/test/test_ossaudiodev.pyo
+#usr/lib/python2.3/test/test_parser.py
+#usr/lib/python2.3/test/test_parser.pyc
+#usr/lib/python2.3/test/test_parser.pyo
+#usr/lib/python2.3/test/test_pep247.py
+#usr/lib/python2.3/test/test_pep247.pyc
+#usr/lib/python2.3/test/test_pep247.pyo
+#usr/lib/python2.3/test/test_pep263.py
+#usr/lib/python2.3/test/test_pep263.pyc
+#usr/lib/python2.3/test/test_pep263.pyo
+#usr/lib/python2.3/test/test_pep277.py
+#usr/lib/python2.3/test/test_pep277.pyc
+#usr/lib/python2.3/test/test_pep277.pyo
+#usr/lib/python2.3/test/test_pickle.py
+#usr/lib/python2.3/test/test_pickle.pyc
+#usr/lib/python2.3/test/test_pickle.pyo
+#usr/lib/python2.3/test/test_pickletools.py
+#usr/lib/python2.3/test/test_pickletools.pyc
+#usr/lib/python2.3/test/test_pickletools.pyo
+#usr/lib/python2.3/test/test_pkg.py
+#usr/lib/python2.3/test/test_pkg.pyc
+#usr/lib/python2.3/test/test_pkg.pyo
+#usr/lib/python2.3/test/test_pkgimport.py
+#usr/lib/python2.3/test/test_pkgimport.pyc
+#usr/lib/python2.3/test/test_pkgimport.pyo
+#usr/lib/python2.3/test/test_plistlib.py
+#usr/lib/python2.3/test/test_plistlib.pyc
+#usr/lib/python2.3/test/test_plistlib.pyo
+#usr/lib/python2.3/test/test_poll.py
+#usr/lib/python2.3/test/test_poll.pyc
+#usr/lib/python2.3/test/test_poll.pyo
+#usr/lib/python2.3/test/test_popen.py
+#usr/lib/python2.3/test/test_popen.pyc
+#usr/lib/python2.3/test/test_popen.pyo
+#usr/lib/python2.3/test/test_popen2.py
+#usr/lib/python2.3/test/test_popen2.pyc
+#usr/lib/python2.3/test/test_popen2.pyo
+#usr/lib/python2.3/test/test_posix.py
+#usr/lib/python2.3/test/test_posix.pyc
+#usr/lib/python2.3/test/test_posix.pyo
+#usr/lib/python2.3/test/test_posixpath.py
+#usr/lib/python2.3/test/test_posixpath.pyc
+#usr/lib/python2.3/test/test_posixpath.pyo
+#usr/lib/python2.3/test/test_pow.py
+#usr/lib/python2.3/test/test_pow.pyc
+#usr/lib/python2.3/test/test_pow.pyo
+#usr/lib/python2.3/test/test_pprint.py
+#usr/lib/python2.3/test/test_pprint.pyc
+#usr/lib/python2.3/test/test_pprint.pyo
+#usr/lib/python2.3/test/test_profile.py
+#usr/lib/python2.3/test/test_profile.pyc
+#usr/lib/python2.3/test/test_profile.pyo
+#usr/lib/python2.3/test/test_profilehooks.py
+#usr/lib/python2.3/test/test_profilehooks.pyc
+#usr/lib/python2.3/test/test_profilehooks.pyo
+#usr/lib/python2.3/test/test_pty.py
+#usr/lib/python2.3/test/test_pty.pyc
+#usr/lib/python2.3/test/test_pty.pyo
+#usr/lib/python2.3/test/test_pwd.py
+#usr/lib/python2.3/test/test_pwd.pyc
+#usr/lib/python2.3/test/test_pwd.pyo
+#usr/lib/python2.3/test/test_pyclbr.py
+#usr/lib/python2.3/test/test_pyclbr.pyc
+#usr/lib/python2.3/test/test_pyclbr.pyo
+#usr/lib/python2.3/test/test_pyexpat.py
+#usr/lib/python2.3/test/test_pyexpat.pyc
+#usr/lib/python2.3/test/test_pyexpat.pyo
+#usr/lib/python2.3/test/test_queue.py
+#usr/lib/python2.3/test/test_queue.pyc
+#usr/lib/python2.3/test/test_queue.pyo
+#usr/lib/python2.3/test/test_quopri.py
+#usr/lib/python2.3/test/test_quopri.pyc
+#usr/lib/python2.3/test/test_quopri.pyo
+#usr/lib/python2.3/test/test_random.py
+#usr/lib/python2.3/test/test_random.pyc
+#usr/lib/python2.3/test/test_random.pyo
+#usr/lib/python2.3/test/test_re.py
+#usr/lib/python2.3/test/test_re.pyc
+#usr/lib/python2.3/test/test_re.pyo
+#usr/lib/python2.3/test/test_regex.py
+#usr/lib/python2.3/test/test_regex.pyc
+#usr/lib/python2.3/test/test_regex.pyo
+#usr/lib/python2.3/test/test_repr.py
+#usr/lib/python2.3/test/test_repr.pyc
+#usr/lib/python2.3/test/test_repr.pyo
+#usr/lib/python2.3/test/test_resource.py
+#usr/lib/python2.3/test/test_resource.pyc
+#usr/lib/python2.3/test/test_resource.pyo
+#usr/lib/python2.3/test/test_rfc822.py
+#usr/lib/python2.3/test/test_rfc822.pyc
+#usr/lib/python2.3/test/test_rfc822.pyo
+#usr/lib/python2.3/test/test_rgbimg.py
+#usr/lib/python2.3/test/test_rgbimg.pyc
+#usr/lib/python2.3/test/test_rgbimg.pyo
+#usr/lib/python2.3/test/test_richcmp.py
+#usr/lib/python2.3/test/test_richcmp.pyc
+#usr/lib/python2.3/test/test_richcmp.pyo
+#usr/lib/python2.3/test/test_robotparser.py
+#usr/lib/python2.3/test/test_robotparser.pyc
+#usr/lib/python2.3/test/test_robotparser.pyo
+#usr/lib/python2.3/test/test_rotor.py
+#usr/lib/python2.3/test/test_rotor.pyc
+#usr/lib/python2.3/test/test_rotor.pyo
+#usr/lib/python2.3/test/test_sax.py
+#usr/lib/python2.3/test/test_sax.pyc
+#usr/lib/python2.3/test/test_sax.pyo
+#usr/lib/python2.3/test/test_scope.py
+#usr/lib/python2.3/test/test_scope.pyc
+#usr/lib/python2.3/test/test_scope.pyo
+#usr/lib/python2.3/test/test_scriptpackages.py
+#usr/lib/python2.3/test/test_scriptpackages.pyc
+#usr/lib/python2.3/test/test_scriptpackages.pyo
+#usr/lib/python2.3/test/test_select.py
+#usr/lib/python2.3/test/test_select.pyc
+#usr/lib/python2.3/test/test_select.pyo
+#usr/lib/python2.3/test/test_sets.py
+#usr/lib/python2.3/test/test_sets.pyc
+#usr/lib/python2.3/test/test_sets.pyo
+#usr/lib/python2.3/test/test_sgmllib.py
+#usr/lib/python2.3/test/test_sgmllib.pyc
+#usr/lib/python2.3/test/test_sgmllib.pyo
+#usr/lib/python2.3/test/test_sha.py
+#usr/lib/python2.3/test/test_sha.pyc
+#usr/lib/python2.3/test/test_sha.pyo
+#usr/lib/python2.3/test/test_shelve.py
+#usr/lib/python2.3/test/test_shelve.pyc
+#usr/lib/python2.3/test/test_shelve.pyo
+#usr/lib/python2.3/test/test_shlex.py
+#usr/lib/python2.3/test/test_shlex.pyc
+#usr/lib/python2.3/test/test_shlex.pyo
+#usr/lib/python2.3/test/test_shutil.py
+#usr/lib/python2.3/test/test_shutil.pyc
+#usr/lib/python2.3/test/test_shutil.pyo
+#usr/lib/python2.3/test/test_signal.py
+#usr/lib/python2.3/test/test_signal.pyc
+#usr/lib/python2.3/test/test_signal.pyo
+#usr/lib/python2.3/test/test_slice.py
+#usr/lib/python2.3/test/test_slice.pyc
+#usr/lib/python2.3/test/test_slice.pyo
+#usr/lib/python2.3/test/test_socket.py
+#usr/lib/python2.3/test/test_socket.pyc
+#usr/lib/python2.3/test/test_socket.pyo
+#usr/lib/python2.3/test/test_socket_ssl.py
+#usr/lib/python2.3/test/test_socket_ssl.pyc
+#usr/lib/python2.3/test/test_socket_ssl.pyo
+#usr/lib/python2.3/test/test_socketserver.py
+#usr/lib/python2.3/test/test_socketserver.pyc
+#usr/lib/python2.3/test/test_socketserver.pyo
+#usr/lib/python2.3/test/test_softspace.py
+#usr/lib/python2.3/test/test_softspace.pyc
+#usr/lib/python2.3/test/test_softspace.pyo
+#usr/lib/python2.3/test/test_sort.py
+#usr/lib/python2.3/test/test_sort.pyc
+#usr/lib/python2.3/test/test_sort.pyo
+#usr/lib/python2.3/test/test_str.py
+#usr/lib/python2.3/test/test_str.pyc
+#usr/lib/python2.3/test/test_str.pyo
+#usr/lib/python2.3/test/test_strftime.py
+#usr/lib/python2.3/test/test_strftime.pyc
+#usr/lib/python2.3/test/test_strftime.pyo
+#usr/lib/python2.3/test/test_string.py
+#usr/lib/python2.3/test/test_string.pyc
+#usr/lib/python2.3/test/test_string.pyo
+#usr/lib/python2.3/test/test_stringprep.py
+#usr/lib/python2.3/test/test_stringprep.pyc
+#usr/lib/python2.3/test/test_stringprep.pyo
+#usr/lib/python2.3/test/test_strop.py
+#usr/lib/python2.3/test/test_strop.pyc
+#usr/lib/python2.3/test/test_strop.pyo
+#usr/lib/python2.3/test/test_strptime.py
+#usr/lib/python2.3/test/test_strptime.pyc
+#usr/lib/python2.3/test/test_strptime.pyo
+#usr/lib/python2.3/test/test_struct.py
+#usr/lib/python2.3/test/test_struct.pyc
+#usr/lib/python2.3/test/test_struct.pyo
+#usr/lib/python2.3/test/test_structseq.py
+#usr/lib/python2.3/test/test_structseq.pyc
+#usr/lib/python2.3/test/test_structseq.pyo
+#usr/lib/python2.3/test/test_sunaudiodev.py
+#usr/lib/python2.3/test/test_sunaudiodev.pyc
+#usr/lib/python2.3/test/test_sunaudiodev.pyo
+#usr/lib/python2.3/test/test_sundry.py
+#usr/lib/python2.3/test/test_sundry.pyc
+#usr/lib/python2.3/test/test_sundry.pyo
+#usr/lib/python2.3/test/test_support.py
+#usr/lib/python2.3/test/test_support.pyc
+#usr/lib/python2.3/test/test_support.pyo
+#usr/lib/python2.3/test/test_symtable.py
+#usr/lib/python2.3/test/test_symtable.pyc
+#usr/lib/python2.3/test/test_symtable.pyo
+#usr/lib/python2.3/test/test_syntax.py
+#usr/lib/python2.3/test/test_syntax.pyc
+#usr/lib/python2.3/test/test_syntax.pyo
+#usr/lib/python2.3/test/test_sys.py
+#usr/lib/python2.3/test/test_sys.pyc
+#usr/lib/python2.3/test/test_sys.pyo
+#usr/lib/python2.3/test/test_tarfile.py
+#usr/lib/python2.3/test/test_tarfile.pyc
+#usr/lib/python2.3/test/test_tarfile.pyo
+#usr/lib/python2.3/test/test_tempfile.py
+#usr/lib/python2.3/test/test_tempfile.pyc
+#usr/lib/python2.3/test/test_tempfile.pyo
+#usr/lib/python2.3/test/test_textwrap.py
+#usr/lib/python2.3/test/test_textwrap.pyc
+#usr/lib/python2.3/test/test_textwrap.pyo
+#usr/lib/python2.3/test/test_thread.py
+#usr/lib/python2.3/test/test_thread.pyc
+#usr/lib/python2.3/test/test_thread.pyo
+#usr/lib/python2.3/test/test_threaded_import.py
+#usr/lib/python2.3/test/test_threaded_import.pyc
+#usr/lib/python2.3/test/test_threaded_import.pyo
+#usr/lib/python2.3/test/test_threadedtempfile.py
+#usr/lib/python2.3/test/test_threadedtempfile.pyc
+#usr/lib/python2.3/test/test_threadedtempfile.pyo
+#usr/lib/python2.3/test/test_threading.py
+#usr/lib/python2.3/test/test_threading.pyc
+#usr/lib/python2.3/test/test_threading.pyo
+#usr/lib/python2.3/test/test_time.py
+#usr/lib/python2.3/test/test_time.pyc
+#usr/lib/python2.3/test/test_time.pyo
+#usr/lib/python2.3/test/test_timeout.py
+#usr/lib/python2.3/test/test_timeout.pyc
+#usr/lib/python2.3/test/test_timeout.pyo
+#usr/lib/python2.3/test/test_timing.py
+#usr/lib/python2.3/test/test_timing.pyc
+#usr/lib/python2.3/test/test_timing.pyo
+#usr/lib/python2.3/test/test_tokenize.py
+#usr/lib/python2.3/test/test_tokenize.pyc
+#usr/lib/python2.3/test/test_tokenize.pyo
+#usr/lib/python2.3/test/test_trace.py
+#usr/lib/python2.3/test/test_trace.pyc
+#usr/lib/python2.3/test/test_trace.pyo
+#usr/lib/python2.3/test/test_traceback.py
+#usr/lib/python2.3/test/test_traceback.pyc
+#usr/lib/python2.3/test/test_traceback.pyo
+#usr/lib/python2.3/test/test_types.py
+#usr/lib/python2.3/test/test_types.pyc
+#usr/lib/python2.3/test/test_types.pyo
+#usr/lib/python2.3/test/test_ucn.py
+#usr/lib/python2.3/test/test_ucn.pyc
+#usr/lib/python2.3/test/test_ucn.pyo
+#usr/lib/python2.3/test/test_unary.py
+#usr/lib/python2.3/test/test_unary.pyc
+#usr/lib/python2.3/test/test_unary.pyo
+#usr/lib/python2.3/test/test_unicode.py
+#usr/lib/python2.3/test/test_unicode.pyc
+#usr/lib/python2.3/test/test_unicode.pyo
+#usr/lib/python2.3/test/test_unicode_file.py
+#usr/lib/python2.3/test/test_unicode_file.pyc
+#usr/lib/python2.3/test/test_unicode_file.pyo
+#usr/lib/python2.3/test/test_unicodedata.py
+#usr/lib/python2.3/test/test_unicodedata.pyc
+#usr/lib/python2.3/test/test_unicodedata.pyo
+#usr/lib/python2.3/test/test_univnewlines.py
+#usr/lib/python2.3/test/test_univnewlines.pyc
+#usr/lib/python2.3/test/test_univnewlines.pyo
+#usr/lib/python2.3/test/test_unpack.py
+#usr/lib/python2.3/test/test_unpack.pyc
+#usr/lib/python2.3/test/test_unpack.pyo
+#usr/lib/python2.3/test/test_urllib.py
+#usr/lib/python2.3/test/test_urllib.pyc
+#usr/lib/python2.3/test/test_urllib.pyo
+#usr/lib/python2.3/test/test_urllib2.py
+#usr/lib/python2.3/test/test_urllib2.pyc
+#usr/lib/python2.3/test/test_urllib2.pyo
+#usr/lib/python2.3/test/test_urllibnet.py
+#usr/lib/python2.3/test/test_urllibnet.pyc
+#usr/lib/python2.3/test/test_urllibnet.pyo
+#usr/lib/python2.3/test/test_urlparse.py
+#usr/lib/python2.3/test/test_urlparse.pyc
+#usr/lib/python2.3/test/test_urlparse.pyo
+#usr/lib/python2.3/test/test_userdict.py
+#usr/lib/python2.3/test/test_userdict.pyc
+#usr/lib/python2.3/test/test_userdict.pyo
+#usr/lib/python2.3/test/test_userlist.py
+#usr/lib/python2.3/test/test_userlist.pyc
+#usr/lib/python2.3/test/test_userlist.pyo
+#usr/lib/python2.3/test/test_userstring.py
+#usr/lib/python2.3/test/test_userstring.pyc
+#usr/lib/python2.3/test/test_userstring.pyo
+#usr/lib/python2.3/test/test_uu.py
+#usr/lib/python2.3/test/test_uu.pyc
+#usr/lib/python2.3/test/test_uu.pyo
+#usr/lib/python2.3/test/test_warnings.py
+#usr/lib/python2.3/test/test_warnings.pyc
+#usr/lib/python2.3/test/test_warnings.pyo
+#usr/lib/python2.3/test/test_wave.py
+#usr/lib/python2.3/test/test_wave.pyc
+#usr/lib/python2.3/test/test_wave.pyo
+#usr/lib/python2.3/test/test_weakref.py
+#usr/lib/python2.3/test/test_weakref.pyc
+#usr/lib/python2.3/test/test_weakref.pyo
+#usr/lib/python2.3/test/test_whichdb.py
+#usr/lib/python2.3/test/test_whichdb.pyc
+#usr/lib/python2.3/test/test_whichdb.pyo
+#usr/lib/python2.3/test/test_winreg.py
+#usr/lib/python2.3/test/test_winreg.pyc
+#usr/lib/python2.3/test/test_winreg.pyo
+#usr/lib/python2.3/test/test_winsound.py
+#usr/lib/python2.3/test/test_winsound.pyc
+#usr/lib/python2.3/test/test_winsound.pyo
+#usr/lib/python2.3/test/test_xmllib.py
+#usr/lib/python2.3/test/test_xmllib.pyc
+#usr/lib/python2.3/test/test_xmllib.pyo
+#usr/lib/python2.3/test/test_xmlrpc.py
+#usr/lib/python2.3/test/test_xmlrpc.pyc
+#usr/lib/python2.3/test/test_xmlrpc.pyo
+#usr/lib/python2.3/test/test_xpickle.py
+#usr/lib/python2.3/test/test_xpickle.pyc
+#usr/lib/python2.3/test/test_xpickle.pyo
+#usr/lib/python2.3/test/test_xreadline.py
+#usr/lib/python2.3/test/test_xreadline.pyc
+#usr/lib/python2.3/test/test_xreadline.pyo
+#usr/lib/python2.3/test/test_zipfile.py
+#usr/lib/python2.3/test/test_zipfile.pyc
+#usr/lib/python2.3/test/test_zipfile.pyo
+#usr/lib/python2.3/test/test_zipimport.py
+#usr/lib/python2.3/test/test_zipimport.pyc
+#usr/lib/python2.3/test/test_zipimport.pyo
+#usr/lib/python2.3/test/test_zlib.py
+#usr/lib/python2.3/test/test_zlib.pyc
+#usr/lib/python2.3/test/test_zlib.pyo
+#usr/lib/python2.3/test/testall.py
+#usr/lib/python2.3/test/testall.pyc
+#usr/lib/python2.3/test/testall.pyo
+#usr/lib/python2.3/test/testcodec.py
+#usr/lib/python2.3/test/testcodec.pyc
+#usr/lib/python2.3/test/testcodec.pyo
+#usr/lib/python2.3/test/testimg.uue
+#usr/lib/python2.3/test/testimgr.uue
+#usr/lib/python2.3/test/testrgb.uue
+#usr/lib/python2.3/test/testtar.tar
+#usr/lib/python2.3/test/tf_inherit_check.py
+#usr/lib/python2.3/test/tf_inherit_check.pyc
+#usr/lib/python2.3/test/tf_inherit_check.pyo
+#usr/lib/python2.3/test/tokenize_tests.txt
+#usr/lib/python2.3/test/xmltests.py
+#usr/lib/python2.3/test/xmltests.pyc
+#usr/lib/python2.3/test/xmltests.pyo
+#usr/lib/python2.3/textwrap.py
+usr/lib/python2.3/textwrap.pyc
+#usr/lib/python2.3/textwrap.pyo
+#usr/lib/python2.3/this.py
+usr/lib/python2.3/this.pyc
+#usr/lib/python2.3/this.pyo
+#usr/lib/python2.3/threading.py
+usr/lib/python2.3/threading.pyc
+#usr/lib/python2.3/threading.pyo
+#usr/lib/python2.3/timeit.py
+usr/lib/python2.3/timeit.pyc
+#usr/lib/python2.3/timeit.pyo
+#usr/lib/python2.3/toaiff.py
+#usr/lib/python2.3/toaiff.pyc
+#usr/lib/python2.3/toaiff.pyo
+#usr/lib/python2.3/token.py
+usr/lib/python2.3/token.pyc
+#usr/lib/python2.3/token.pyo
+#usr/lib/python2.3/tokenize.py
+usr/lib/python2.3/tokenize.pyc
+#usr/lib/python2.3/tokenize.pyo
+#usr/lib/python2.3/trace.py
+usr/lib/python2.3/trace.pyc
+#usr/lib/python2.3/trace.pyo
+#usr/lib/python2.3/traceback.py
+usr/lib/python2.3/traceback.pyc
+#usr/lib/python2.3/traceback.pyo
+#usr/lib/python2.3/tty.py
+usr/lib/python2.3/tty.pyc
+#usr/lib/python2.3/tty.pyo
+#usr/lib/python2.3/types.py
+usr/lib/python2.3/types.pyc
+#usr/lib/python2.3/types.pyo
+#usr/lib/python2.3/tzparse.py
+usr/lib/python2.3/tzparse.pyc
+#usr/lib/python2.3/tzparse.pyo
+#usr/lib/python2.3/unittest.py
+usr/lib/python2.3/unittest.pyc
+#usr/lib/python2.3/unittest.pyo
+#usr/lib/python2.3/urllib.py
+usr/lib/python2.3/urllib.pyc
+#usr/lib/python2.3/urllib.pyo
+#usr/lib/python2.3/urllib2.py
+usr/lib/python2.3/urllib2.pyc
+#usr/lib/python2.3/urllib2.pyo
+#usr/lib/python2.3/urlparse.py
+usr/lib/python2.3/urlparse.pyc
+#usr/lib/python2.3/urlparse.pyo
+#usr/lib/python2.3/user.py
+usr/lib/python2.3/user.pyc
+#usr/lib/python2.3/user.pyo
+#usr/lib/python2.3/uu.py
+usr/lib/python2.3/uu.pyc
+#usr/lib/python2.3/uu.pyo
+#usr/lib/python2.3/warnings.py
+usr/lib/python2.3/warnings.pyc
+#usr/lib/python2.3/warnings.pyo
+#usr/lib/python2.3/wave.py
+#usr/lib/python2.3/wave.pyc
+#usr/lib/python2.3/wave.pyo
+#usr/lib/python2.3/weakref.py
+usr/lib/python2.3/weakref.pyc
+#usr/lib/python2.3/weakref.pyo
+#usr/lib/python2.3/webbrowser.py
+#usr/lib/python2.3/webbrowser.pyc
+#usr/lib/python2.3/webbrowser.pyo
+#usr/lib/python2.3/whichdb.py
+usr/lib/python2.3/whichdb.pyc
+#usr/lib/python2.3/whichdb.pyo
+#usr/lib/python2.3/whrandom.py
+usr/lib/python2.3/whrandom.pyc
+#usr/lib/python2.3/whrandom.pyo
+#usr/lib/python2.3/xdrlib.py
+usr/lib/python2.3/xdrlib.pyc
+#usr/lib/python2.3/xdrlib.pyo
+#usr/lib/python2.3/xml
+#usr/lib/python2.3/xml/__init__.py
+usr/lib/python2.3/xml/__init__.pyc
+#usr/lib/python2.3/xml/__init__.pyo
+#usr/lib/python2.3/xml/dom
+#usr/lib/python2.3/xml/dom/NodeFilter.py
+usr/lib/python2.3/xml/dom/NodeFilter.pyc
+#usr/lib/python2.3/xml/dom/NodeFilter.pyo
+#usr/lib/python2.3/xml/dom/__init__.py
+usr/lib/python2.3/xml/dom/__init__.pyc
+#usr/lib/python2.3/xml/dom/__init__.pyo
+#usr/lib/python2.3/xml/dom/domreg.py
+usr/lib/python2.3/xml/dom/domreg.pyc
+#usr/lib/python2.3/xml/dom/domreg.pyo
+#usr/lib/python2.3/xml/dom/expatbuilder.py
+usr/lib/python2.3/xml/dom/expatbuilder.pyc
+#usr/lib/python2.3/xml/dom/expatbuilder.pyo
+#usr/lib/python2.3/xml/dom/minicompat.py
+usr/lib/python2.3/xml/dom/minicompat.pyc
+#usr/lib/python2.3/xml/dom/minicompat.pyo
+#usr/lib/python2.3/xml/dom/minidom.py
+usr/lib/python2.3/xml/dom/minidom.pyc
+#usr/lib/python2.3/xml/dom/minidom.pyo
+#usr/lib/python2.3/xml/dom/pulldom.py
+usr/lib/python2.3/xml/dom/pulldom.pyc
+#usr/lib/python2.3/xml/dom/pulldom.pyo
+#usr/lib/python2.3/xml/dom/xmlbuilder.py
+usr/lib/python2.3/xml/dom/xmlbuilder.pyc
+#usr/lib/python2.3/xml/dom/xmlbuilder.pyo
+#usr/lib/python2.3/xml/parsers
+#usr/lib/python2.3/xml/parsers/__init__.py
+usr/lib/python2.3/xml/parsers/__init__.pyc
+#usr/lib/python2.3/xml/parsers/__init__.pyo
+#usr/lib/python2.3/xml/parsers/expat.py
+usr/lib/python2.3/xml/parsers/expat.pyc
+#usr/lib/python2.3/xml/parsers/expat.pyo
+#usr/lib/python2.3/xml/sax
+#usr/lib/python2.3/xml/sax/__init__.py
+usr/lib/python2.3/xml/sax/__init__.pyc
+#usr/lib/python2.3/xml/sax/__init__.pyo
+#usr/lib/python2.3/xml/sax/_exceptions.py
+usr/lib/python2.3/xml/sax/_exceptions.pyc
+#usr/lib/python2.3/xml/sax/_exceptions.pyo
+#usr/lib/python2.3/xml/sax/expatreader.py
+usr/lib/python2.3/xml/sax/expatreader.pyc
+#usr/lib/python2.3/xml/sax/expatreader.pyo
+#usr/lib/python2.3/xml/sax/handler.py
+usr/lib/python2.3/xml/sax/handler.pyc
+#usr/lib/python2.3/xml/sax/handler.pyo
+#usr/lib/python2.3/xml/sax/saxutils.py
+usr/lib/python2.3/xml/sax/saxutils.pyc
+#usr/lib/python2.3/xml/sax/saxutils.pyo
+#usr/lib/python2.3/xml/sax/xmlreader.py
+usr/lib/python2.3/xml/sax/xmlreader.pyc
+#usr/lib/python2.3/xml/sax/xmlreader.pyo
+#usr/lib/python2.3/xmllib.py
+usr/lib/python2.3/xmllib.pyc
+#usr/lib/python2.3/xmllib.pyo
+#usr/lib/python2.3/xmlrpclib.py
+usr/lib/python2.3/xmlrpclib.pyc
+#usr/lib/python2.3/xmlrpclib.pyo
+#usr/lib/python2.3/zipfile.py
+usr/lib/python2.3/zipfile.pyc
+#usr/lib/python2.3/zipfile.pyo
+#usr/share/man/man1/python.1
+##
+## expat-1.95.7
+##
+#usr/bin/xmlwf
+#usr/include/expat.h
+#usr/lib/libexpat.a
+#usr/lib/libexpat.la
+usr/lib/libexpat.so
+usr/lib/libexpat.so.0
+usr/lib/libexpat.so.0.5.0
+#usr/share/man/man1/xmlwf.1
+##
+## gdbm-1.8.3
+##
+#usr/include/gdbm.h
+#usr/lib/libgdbm.a
+#usr/lib/libgdbm.la
+usr/lib/libgdbm.so
+usr/lib/libgdbm.so.3
+usr/lib/libgdbm.so.3.0.0
+#usr/share/info/gdbm.info
+#usr/share/man/man3/gdbm.3
+##
+## gmp-4.1.2
+##
+#usr/include/gmp.h
+#usr/lib/libgmp.a
+#usr/lib/libgmp.la
+usr/lib/libgmp.so
+usr/lib/libgmp.so.3
+usr/lib/libgmp.so.3.3.2
+#usr/share/info/gmp.info
+#usr/share/info/gmp.info-1
+#usr/share/info/gmp.info-2
+#usr/share/info/gmp.info-3
+#usr/share/info/gmp.info-4
+#usr/share/info/gmp.info-5
+#usr/share/info/gmp.info-6
+#usr/share/info/gmp.info-7
+#usr/share/info/gmp.info-8
+#usr/share/info/gmp.info-9
+##
+## libnet-1.1.2.1
+##
+#usr/include/libnet
+#usr/include/libnet/libnet-asn1.h
+#usr/include/libnet/libnet-functions.h
+#usr/include/libnet/libnet-headers.h
+#usr/include/libnet/libnet-macros.h
+#usr/include/libnet/libnet-structures.h
+#usr/include/libnet/libnet-types.h
+#usr/include/libnet.h
+#usr/lib/libnet.a
+##
+## libpcap-0.8.3
+##
+#usr/include/net/bpf.h
+#usr/include/pcap-namedb.h
+#usr/include/pcap.h
+#usr/lib/libpcap.a
+usr/lib/libpcap.so.0.8.3
+usr/lib/libpcap.so
+usr/lib/libpcap.so.0
+usr/lib/libpcap.so.0.8
+#usr/share/man/man3/pcap.3
+##
+## libpng-1.2.8
+##
+#usr/bin/libpng-config
+#usr/bin/libpng12-config
+#usr/include/libpng
+#usr/include/libpng12
+#usr/include/libpng12/png.h
+#usr/include/libpng12/pngconf.h
+#usr/include/png.h
+#usr/include/pngconf.h
+#usr/lib/libpng.a
+usr/lib/libpng.so
+usr/lib/libpng.so.3
+usr/lib/libpng.so.3.1.2.8
+#usr/lib/libpng12.a
+#usr/lib/libpng12.so
+#usr/lib/libpng12.so.0
+#usr/lib/libpng12.so.0.1.2.8
+#usr/lib/pkgconfig
+#usr/lib/pkgconfig/libpng.pc
+#usr/lib/pkgconfig/libpng12.pc
+#usr/share/man/man3/libpng.3
+#usr/share/man/man3/libpngpf.3
+#usr/share/man/man5/png.5
+##
+## libsafe-2.0-16
+##
+etc/ld.so.preload
+lib/libsafe.so.2.0.16
+lib/libsafe.so.2
+#usr/share/man/man8/libsafe.8
+##
+## gd-2.0.20
+##
+#usr/bin/annotate
+#usr/bin/bdftogd
+#usr/bin/gd2copypal
+#usr/bin/gd2topng
+#usr/bin/gdlib-config
+#usr/bin/gdparttopng
+#usr/bin/gdtojpeg
+#usr/bin/gdtopng
+#usr/bin/pngtogd
+#usr/bin/pngtogd2
+#usr/bin/webpng
+#usr/include/gd.h
+#usr/include/gdfx.h
+#usr/include/gd_io.h
+#usr/include/gdcache.h
+#usr/include/gdfontg.h
+#usr/include/gdfontl.h
+#usr/include/gdfontmb.h
+#usr/include/gdfonts.h
+#usr/include/gdfontt.h
+#usr/lib/libgd.a
+#usr/lib/libgd.la
+usr/lib/libgd.so
+usr/lib/libgd.so.2
+usr/lib/libgd.so.2.0.0
+##
+## popt-1.7
+##
+#usr/include/popt.h
+#usr/lib/libpopt.a
+#usr/lib/libpopt.la
+usr/lib/libpopt.so
+usr/lib/libpopt.so.0
+usr/lib/libpopt.so.0.0.0
+#usr/share/man/man3/popt.3
+##
+## slang-1.4.5-mini
+##
+#usr/include/slang
+#usr/include/slang/slang.h
+#usr/include/slang/slcurses.h
+#usr/lib/libslang.a
+##
+## newt-utf8_0.50.17
+##
+#usr/include/newt.h
+usr/lib/libnewt-utf8.so.0.50.17
+usr/lib/libnewt.so
+usr/lib/libnewt.so.0.50
+usr/lib/python2.3/site-packages/_snackmodule.so
+#usr/lib/python2.3/site-packages/snack.py
+usr/lib/python2.3/site-packages/snack.pyc
+##
+## libcap-1.10
+##
+#usr/include/sys/capability.h
+#usr/share/man/man3/cap_init.3
+#usr/share/man/man3/cap_free.3
+#usr/share/man/man3/cap_dup.3
+#usr/share/man/man3/cap_clear.3
+#usr/share/man/man3/cap_get_flag.3
+#usr/share/man/man3/cap_set_flag.3
+#usr/share/man/man3/cap_get_proc.3
+#usr/share/man/man3/cap_set_proc.3
+#usr/share/man/man3/cap_copy_ext.3
+#usr/share/man/man3/cap_size.3
+#usr/share/man/man3/cap_copy_int.3
+#usr/share/man/man3/cap_from_text.3
+#usr/share/man/man3/cap_to_text.3
+#usr/share/man/man3/_cap_names.3
+#usr/share/man/man3/capsetp.3
+#usr/share/man/man3/capgetp.3
+lib/libcap.so.1.10
+lib/libcap.so.1
+lib/libcap.so
+sbin/getpcaps
+sbin/setpcaps
+sbin/execcap
+sbin/sucap
+##
+## libusb-0.1.7
+##
+#usr/bin/libusb-config
+#usr/include/usb.h
+usr/lib/libusb-0.1.so.4
+usr/lib/libusb-0.1.so.4.3.0
+#usr/lib/libusb.a
+#usr/lib/libusb.la
+usr/lib/libusb.so
+##
+## linux-atm-2.4.1
+##
+#etc/atmsigd.conf
+#etc/hosts.atm
+usr/bin/aread
+usr/bin/atmdiag
+#usr/bin/atmdump
+#usr/bin/awrite
+#usr/bin/saaldump
+#usr/bin/sonetdiag
+#usr/bin/ttcp_atm
+#usr/include/atm.h
+#usr/include/atmarp.h
+#usr/include/atmarpd.h
+#usr/include/atmd.h
+#usr/include/atmsap.h
+#usr/lib/libatm.a
+#usr/lib/libatm.la
+usr/lib/libatm.so
+usr/lib/libatm.so.1
+usr/lib/libatm.so.1.0.0
+#usr/sbin/atmaddr
+usr/sbin/atmarp
+usr/sbin/atmarpd
+usr/sbin/atmloop
+usr/sbin/atmsigd
+usr/sbin/atmtcp
+#usr/sbin/bus
+#usr/sbin/enitune
+#usr/sbin/esi
+#usr/sbin/ilmid
+#usr/sbin/lecs
+#usr/sbin/les
+#usr/sbin/mpcd
+#usr/sbin/zeppelin
+#usr/sbin/zntune
+#usr/share/man/man4/atmsigd.conf.4
+#usr/share/man/man7/qos.7
+#usr/share/man/man7/sap.7
+#usr/share/man/man8/atmaddr.8
+#usr/share/man/man8/atmarp.8
+#usr/share/man/man8/atmarpd.8
+#usr/share/man/man8/atmdiag.8
+#usr/share/man/man8/atmdump.8
+#usr/share/man/man8/atmloop.8
+#usr/share/man/man8/atmsigd.8
+#usr/share/man/man8/atmtcp.8
+#usr/share/man/man8/bus.8
+#usr/share/man/man8/esi.8
+#usr/share/man/man8/lecs.8
+#usr/share/man/man8/les.8
+#usr/share/man/man8/mpcd.8
+#usr/share/man/man8/zeppelin.8
+##
+## openssl-0.9.7i
+##
+#etc/ssl
+#etc/ssl/certs
+#etc/ssl/misc
+#etc/ssl/misc/CA.pl
+#etc/ssl/misc/CA.sh
+#etc/ssl/misc/c_hash
+#etc/ssl/misc/c_info
+#etc/ssl/misc/c_issuer
+#etc/ssl/misc/c_name
+etc/ssl/openssl.cnf
+#etc/ssl/private
+#usr/bin/c_rehash
+usr/bin/openssl
+#usr/bin/openssl_fips_fingerprint
+#usr/include/openssl
+#usr/include/openssl/aes.h
+#usr/include/openssl/asn1.h
+#usr/include/openssl/asn1_mac.h
+#usr/include/openssl/asn1t.h
+#usr/include/openssl/bio.h
+#usr/include/openssl/blowfish.h
+#usr/include/openssl/bn.h
+#usr/include/openssl/buffer.h
+#usr/include/openssl/cast.h
+#usr/include/openssl/comp.h
+#usr/include/openssl/conf.h
+#usr/include/openssl/conf_api.h
+#usr/include/openssl/crypto.h
+#usr/include/openssl/des.h
+#usr/include/openssl/des_old.h
+#usr/include/openssl/dh.h
+#usr/include/openssl/dsa.h
+#usr/include/openssl/dso.h
+#usr/include/openssl/e_os2.h
+#usr/include/openssl/ebcdic.h
+#usr/include/openssl/engine.h
+#usr/include/openssl/err.h
+#usr/include/openssl/evp.h
+#usr/include/openssl/fips.h
+#usr/include/openssl/fips_rand.h
+#usr/include/openssl/fips_sha.h
+#usr/include/openssl/hmac.h
+#usr/include/openssl/krb5_asn.h
+#usr/include/openssl/kssl.h
+#usr/include/openssl/lhash.h
+#usr/include/openssl/md2.h
+#usr/include/openssl/md4.h
+#usr/include/openssl/md5.h
+#usr/include/openssl/obj_mac.h
+#usr/include/openssl/objects.h
+#usr/include/openssl/ocsp.h
+#usr/include/openssl/opensslconf.h
+#usr/include/openssl/opensslv.h
+#usr/include/openssl/ossl_typ.h
+#usr/include/openssl/pem.h
+#usr/include/openssl/pem2.h
+#usr/include/openssl/pkcs12.h
+#usr/include/openssl/pkcs7.h
+#usr/include/openssl/rand.h
+#usr/include/openssl/rc2.h
+#usr/include/openssl/rc4.h
+#usr/include/openssl/ripemd.h
+#usr/include/openssl/rsa.h
+#usr/include/openssl/safestack.h
+#usr/include/openssl/sha.h
+#usr/include/openssl/ssl.h
+#usr/include/openssl/ssl2.h
+#usr/include/openssl/ssl23.h
+#usr/include/openssl/ssl3.h
+#usr/include/openssl/stack.h
+#usr/include/openssl/symhacks.h
+#usr/include/openssl/tls1.h
+#usr/include/openssl/tmdiff.h
+#usr/include/openssl/txt_db.h
+#usr/include/openssl/ui.h
+#usr/include/openssl/ui_compat.h
+#usr/include/openssl/x509.h
+#usr/include/openssl/x509_vfy.h
+#usr/include/openssl/x509v3.h
+#usr/lib/libcrypto.a
+#usr/lib/libcrypto.a.sha1
+usr/lib/libcrypto.so
+usr/lib/libcrypto.so.0
+usr/lib/libcrypto.so.0.9.7
+#usr/lib/libcrypto.so.0.9.7.sha1
+#usr/lib/libssl.a
+usr/lib/libssl.so
+usr/lib/libssl.so.0
+usr/lib/libssl.so.0.9.7
+#usr/lib/pkgconfig
+#usr/lib/pkgconfig/openssl.pc
+#usr/share/man/man1/CA.pl.1
+#usr/share/man/man1/asn1parse.1
+#usr/share/man/man1/ca.1
+#usr/share/man/man1/ciphers.1
+#usr/share/man/man1/crl.1
+#usr/share/man/man1/crl2pkcs7.1
+#usr/share/man/man1/dgst.1
+#usr/share/man/man1/dhparam.1
+#usr/share/man/man1/dsa.1
+#usr/share/man/man1/dsaparam.1
+#usr/share/man/man1/enc.1
+#usr/share/man/man1/errstr.1
+#usr/share/man/man1/gendsa.1
+#usr/share/man/man1/genrsa.1
+#usr/share/man/man1/md2.1
+#usr/share/man/man1/md4.1
+#usr/share/man/man1/md5.1
+#usr/share/man/man1/mdc2.1
+#usr/share/man/man1/nseq.1
+#usr/share/man/man1/ocsp.1
+#usr/share/man/man1/openssl.1
+#usr/share/man/man1/pkcs12.1
+#usr/share/man/man1/pkcs7.1
+#usr/share/man/man1/pkcs8.1
+#usr/share/man/man1/rand.1
+#usr/share/man/man1/req.1
+#usr/share/man/man1/ripemd160.1
+#usr/share/man/man1/rsa.1
+#usr/share/man/man1/rsautl.1
+#usr/share/man/man1/s_client.1
+#usr/share/man/man1/s_server.1
+#usr/share/man/man1/s_time.1
+#usr/share/man/man1/sess_id.1
+#usr/share/man/man1/sha.1
+#usr/share/man/man1/sha1.1
+#usr/share/man/man1/smime.1
+#usr/share/man/man1/speed.1
+#usr/share/man/man1/spkac.1
+#usr/share/man/man1/verify.1
+#usr/share/man/man1/version.1
+#usr/share/man/man1/x509.1
+#usr/share/man/man3/ASN1_OBJECT_free.3
+#usr/share/man/man3/ASN1_OBJECT_new.3
+#usr/share/man/man3/ASN1_STRING_cmp.3
+#usr/share/man/man3/ASN1_STRING_data.3
+#usr/share/man/man3/ASN1_STRING_dup.3
+#usr/share/man/man3/ASN1_STRING_free.3
+#usr/share/man/man3/ASN1_STRING_length.3
+#usr/share/man/man3/ASN1_STRING_length_set.3
+#usr/share/man/man3/ASN1_STRING_new.3
+#usr/share/man/man3/ASN1_STRING_print_ex.3
+#usr/share/man/man3/ASN1_STRING_print_ex_fp.3
+#usr/share/man/man3/ASN1_STRING_set.3
+#usr/share/man/man3/ASN1_STRING_type.3
+#usr/share/man/man3/ASN1_STRING_type_new.3
+#usr/share/man/man3/BF_cbc_encrypt.3
+#usr/share/man/man3/BF_cfb64_encrypt.3
+#usr/share/man/man3/BF_decrypt.3
+#usr/share/man/man3/BF_ecb_encrypt.3
+#usr/share/man/man3/BF_encrypt.3
+#usr/share/man/man3/BF_ofb64_encrypt.3
+#usr/share/man/man3/BF_options.3
+#usr/share/man/man3/BF_set_key.3
+#usr/share/man/man3/BIO_append_filename.3
+#usr/share/man/man3/BIO_callback_ctrl.3
+#usr/share/man/man3/BIO_ctrl.3
+#usr/share/man/man3/BIO_ctrl_get_read_request.3
+#usr/share/man/man3/BIO_ctrl_get_write_guarantee.3
+#usr/share/man/man3/BIO_ctrl_pending.3
+#usr/share/man/man3/BIO_ctrl_reset_read_request.3
+#usr/share/man/man3/BIO_ctrl_wpending.3
+#usr/share/man/man3/BIO_debug_callback.3
+#usr/share/man/man3/BIO_destroy_bio_pair.3
+#usr/share/man/man3/BIO_do_accept.3
+#usr/share/man/man3/BIO_do_connect.3
+#usr/share/man/man3/BIO_eof.3
+#usr/share/man/man3/BIO_f_base64.3
+#usr/share/man/man3/BIO_f_buffer.3
+#usr/share/man/man3/BIO_f_cipher.3
+#usr/share/man/man3/BIO_f_md.3
+#usr/share/man/man3/BIO_f_null.3
+#usr/share/man/man3/BIO_f_ssl.3
+#usr/share/man/man3/BIO_find_type.3
+#usr/share/man/man3/BIO_flush.3
+#usr/share/man/man3/BIO_free.3
+#usr/share/man/man3/BIO_free_all.3
+#usr/share/man/man3/BIO_get_accept_port.3
+#usr/share/man/man3/BIO_get_bind_mode.3
+#usr/share/man/man3/BIO_get_callback.3
+#usr/share/man/man3/BIO_get_callback_arg.3
+#usr/share/man/man3/BIO_get_cipher_ctx.3
+#usr/share/man/man3/BIO_get_cipher_status.3
+#usr/share/man/man3/BIO_get_close.3
+#usr/share/man/man3/BIO_get_conn_hostname.3
+#usr/share/man/man3/BIO_get_conn_int_port.3
+#usr/share/man/man3/BIO_get_conn_ip.3
+#usr/share/man/man3/BIO_get_conn_port.3
+#usr/share/man/man3/BIO_get_fd.3
+#usr/share/man/man3/BIO_get_fp.3
+#usr/share/man/man3/BIO_get_info_callback.3
+#usr/share/man/man3/BIO_get_md.3
+#usr/share/man/man3/BIO_get_md_ctx.3
+#usr/share/man/man3/BIO_get_mem_data.3
+#usr/share/man/man3/BIO_get_mem_ptr.3
+#usr/share/man/man3/BIO_get_num_renegotiates.3
+#usr/share/man/man3/BIO_get_read_request.3
+#usr/share/man/man3/BIO_get_retry_BIO.3
+#usr/share/man/man3/BIO_get_retry_reason.3
+#usr/share/man/man3/BIO_get_ssl.3
+#usr/share/man/man3/BIO_get_write_buf_size.3
+#usr/share/man/man3/BIO_get_write_guarantee.3
+#usr/share/man/man3/BIO_gets.3
+#usr/share/man/man3/BIO_int_ctrl.3
+#usr/share/man/man3/BIO_make_bio_pair.3
+#usr/share/man/man3/BIO_new.3
+#usr/share/man/man3/BIO_new_bio_pair.3
+#usr/share/man/man3/BIO_new_buffer_ssl_connect.3
+#usr/share/man/man3/BIO_new_fd.3
+#usr/share/man/man3/BIO_new_file.3
+#usr/share/man/man3/BIO_new_fp.3
+#usr/share/man/man3/BIO_new_mem_buf.3
+#usr/share/man/man3/BIO_new_socket.3
+#usr/share/man/man3/BIO_new_ssl.3
+#usr/share/man/man3/BIO_new_ssl_connect.3
+#usr/share/man/man3/BIO_next.3
+#usr/share/man/man3/BIO_pending.3
+#usr/share/man/man3/BIO_pop.3
+#usr/share/man/man3/BIO_ptr_ctrl.3
+#usr/share/man/man3/BIO_push.3
+#usr/share/man/man3/BIO_puts.3
+#usr/share/man/man3/BIO_read.3
+#usr/share/man/man3/BIO_read_filename.3
+#usr/share/man/man3/BIO_reset.3
+#usr/share/man/man3/BIO_retry_type.3
+#usr/share/man/man3/BIO_rw_filename.3
+#usr/share/man/man3/BIO_s_accept.3
+#usr/share/man/man3/BIO_s_bio.3
+#usr/share/man/man3/BIO_s_connect.3
+#usr/share/man/man3/BIO_s_fd.3
+#usr/share/man/man3/BIO_s_file.3
+#usr/share/man/man3/BIO_s_mem.3
+#usr/share/man/man3/BIO_s_null.3
+#usr/share/man/man3/BIO_s_socket.3
+#usr/share/man/man3/BIO_seek.3
+#usr/share/man/man3/BIO_set.3
+#usr/share/man/man3/BIO_set_accept_bios.3
+#usr/share/man/man3/BIO_set_accept_port.3
+#usr/share/man/man3/BIO_set_bind_mode.3
+#usr/share/man/man3/BIO_set_callback.3
+#usr/share/man/man3/BIO_set_callback_arg.3
+#usr/share/man/man3/BIO_set_cipher.3
+#usr/share/man/man3/BIO_set_close.3
+#usr/share/man/man3/BIO_set_conn_hostname.3
+#usr/share/man/man3/BIO_set_conn_int_port.3
+#usr/share/man/man3/BIO_set_conn_ip.3
+#usr/share/man/man3/BIO_set_conn_port.3
+#usr/share/man/man3/BIO_set_fd.3
+#usr/share/man/man3/BIO_set_fp.3
+#usr/share/man/man3/BIO_set_info_callback.3
+#usr/share/man/man3/BIO_set_md.3
+#usr/share/man/man3/BIO_set_mem_buf.3
+#usr/share/man/man3/BIO_set_mem_eof_return.3
+#usr/share/man/man3/BIO_set_nbio.3
+#usr/share/man/man3/BIO_set_nbio_accept.3
+#usr/share/man/man3/BIO_set_ssl.3
+#usr/share/man/man3/BIO_set_ssl_mode.3
+#usr/share/man/man3/BIO_set_ssl_renegotiate_bytes.3
+#usr/share/man/man3/BIO_set_ssl_renegotiate_timeout.3
+#usr/share/man/man3/BIO_set_write_buf_size.3
+#usr/share/man/man3/BIO_should_io_special.3
+#usr/share/man/man3/BIO_should_read.3
+#usr/share/man/man3/BIO_should_retry.3
+#usr/share/man/man3/BIO_should_write.3
+#usr/share/man/man3/BIO_shutdown_wr.3
+#usr/share/man/man3/BIO_ssl_copy_session_id.3
+#usr/share/man/man3/BIO_ssl_shutdown.3
+#usr/share/man/man3/BIO_tell.3
+#usr/share/man/man3/BIO_vfree.3
+#usr/share/man/man3/BIO_wpending.3
+#usr/share/man/man3/BIO_write.3
+#usr/share/man/man3/BIO_write_filename.3
+#usr/share/man/man3/BN_CTX_end.3
+#usr/share/man/man3/BN_CTX_free.3
+#usr/share/man/man3/BN_CTX_get.3
+#usr/share/man/man3/BN_CTX_init.3
+#usr/share/man/man3/BN_CTX_new.3
+#usr/share/man/man3/BN_CTX_start.3
+#usr/share/man/man3/BN_MONT_CTX_copy.3
+#usr/share/man/man3/BN_MONT_CTX_free.3
+#usr/share/man/man3/BN_MONT_CTX_init.3
+#usr/share/man/man3/BN_MONT_CTX_new.3
+#usr/share/man/man3/BN_MONT_CTX_set.3
+#usr/share/man/man3/BN_RECP_CTX_free.3
+#usr/share/man/man3/BN_RECP_CTX_init.3
+#usr/share/man/man3/BN_RECP_CTX_new.3
+#usr/share/man/man3/BN_RECP_CTX_set.3
+#usr/share/man/man3/BN_add.3
+#usr/share/man/man3/BN_add_word.3
+#usr/share/man/man3/BN_bin2bn.3
+#usr/share/man/man3/BN_bn2bin.3
+#usr/share/man/man3/BN_bn2dec.3
+#usr/share/man/man3/BN_bn2hex.3
+#usr/share/man/man3/BN_bn2mpi.3
+#usr/share/man/man3/BN_clear.3
+#usr/share/man/man3/BN_clear_bit.3
+#usr/share/man/man3/BN_clear_free.3
+#usr/share/man/man3/BN_cmp.3
+#usr/share/man/man3/BN_copy.3
+#usr/share/man/man3/BN_dec2bn.3
+#usr/share/man/man3/BN_div.3
+#usr/share/man/man3/BN_div_recp.3
+#usr/share/man/man3/BN_div_word.3
+#usr/share/man/man3/BN_dup.3
+#usr/share/man/man3/BN_exp.3
+#usr/share/man/man3/BN_free.3
+#usr/share/man/man3/BN_from_montgomery.3
+#usr/share/man/man3/BN_gcd.3
+#usr/share/man/man3/BN_generate_prime.3
+#usr/share/man/man3/BN_get_word.3
+#usr/share/man/man3/BN_hex2bn.3
+#usr/share/man/man3/BN_init.3
+#usr/share/man/man3/BN_is_bit_set.3
+#usr/share/man/man3/BN_is_odd.3
+#usr/share/man/man3/BN_is_one.3
+#usr/share/man/man3/BN_is_prime.3
+#usr/share/man/man3/BN_is_prime_fasttest.3
+#usr/share/man/man3/BN_is_word.3
+#usr/share/man/man3/BN_is_zero.3
+#usr/share/man/man3/BN_lshift.3
+#usr/share/man/man3/BN_lshift1.3
+#usr/share/man/man3/BN_mask_bits.3
+#usr/share/man/man3/BN_mod.3
+#usr/share/man/man3/BN_mod_add.3
+#usr/share/man/man3/BN_mod_exp.3
+#usr/share/man/man3/BN_mod_inverse.3
+#usr/share/man/man3/BN_mod_mul.3
+#usr/share/man/man3/BN_mod_mul_montgomery.3
+#usr/share/man/man3/BN_mod_mul_reciprocal.3
+#usr/share/man/man3/BN_mod_sqr.3
+#usr/share/man/man3/BN_mod_sub.3
+#usr/share/man/man3/BN_mod_word.3
+#usr/share/man/man3/BN_mpi2bn.3
+#usr/share/man/man3/BN_mul.3
+#usr/share/man/man3/BN_mul_word.3
+#usr/share/man/man3/BN_new.3
+#usr/share/man/man3/BN_nnmod.3
+#usr/share/man/man3/BN_num_bits.3
+#usr/share/man/man3/BN_num_bits_word.3
+#usr/share/man/man3/BN_num_bytes.3
+#usr/share/man/man3/BN_one.3
+#usr/share/man/man3/BN_print.3
+#usr/share/man/man3/BN_print_fp.3
+#usr/share/man/man3/BN_pseudo_rand.3
+#usr/share/man/man3/BN_rand.3
+#usr/share/man/man3/BN_rshift.3
+#usr/share/man/man3/BN_rshift1.3
+#usr/share/man/man3/BN_set_bit.3
+#usr/share/man/man3/BN_set_word.3
+#usr/share/man/man3/BN_sqr.3
+#usr/share/man/man3/BN_sub.3
+#usr/share/man/man3/BN_sub_word.3
+#usr/share/man/man3/BN_swap.3
+#usr/share/man/man3/BN_to_montgomery.3
+#usr/share/man/man3/BN_ucmp.3
+#usr/share/man/man3/BN_value_one.3
+#usr/share/man/man3/BN_zero.3
+#usr/share/man/man3/BUF_MEM_free.3
+#usr/share/man/man3/BUF_MEM_grow.3
+#usr/share/man/man3/BUF_MEM_new.3
+#usr/share/man/man3/BUF_strdup.3
+#usr/share/man/man3/CONF_modules_free.3
+#usr/share/man/man3/CONF_modules_load.3
+#usr/share/man/man3/CONF_modules_load_file.3
+#usr/share/man/man3/CONF_modules_unload.3
+#usr/share/man/man3/CRYPTO_destroy_dynlockid.3
+#usr/share/man/man3/CRYPTO_get_ex_data.3
+#usr/share/man/man3/CRYPTO_get_new_dynlockid.3
+#usr/share/man/man3/CRYPTO_lock.3
+#usr/share/man/man3/CRYPTO_num_locks.3
+#usr/share/man/man3/CRYPTO_set_dynlock_create_callback.3
+#usr/share/man/man3/CRYPTO_set_dynlock_destroy_callback.3
+#usr/share/man/man3/CRYPTO_set_dynlock_lock_callback.3
+#usr/share/man/man3/CRYPTO_set_ex_data.3
+#usr/share/man/man3/CRYPTO_set_id_callback.3
+#usr/share/man/man3/CRYPTO_set_locking_callback.3
+#usr/share/man/man3/DES_cbc_cksum.3
+#usr/share/man/man3/DES_cfb64_encrypt.3
+#usr/share/man/man3/DES_cfb_encrypt.3
+#usr/share/man/man3/DES_crypt.3
+#usr/share/man/man3/DES_ecb2_encrypt.3
+#usr/share/man/man3/DES_ecb3_encrypt.3
+#usr/share/man/man3/DES_ecb_encrypt.3
+#usr/share/man/man3/DES_ede2_cbc_encrypt.3
+#usr/share/man/man3/DES_ede2_cfb64_encrypt.3
+#usr/share/man/man3/DES_ede2_ofb64_encrypt.3
+#usr/share/man/man3/DES_ede3_cbc_encrypt.3
+#usr/share/man/man3/DES_ede3_cbcm_encrypt.3
+#usr/share/man/man3/DES_ede3_cfb64_encrypt.3
+#usr/share/man/man3/DES_ede3_ofb64_encrypt.3
+#usr/share/man/man3/DES_enc_read.3
+#usr/share/man/man3/DES_enc_write.3
+#usr/share/man/man3/DES_fcrypt.3
+#usr/share/man/man3/DES_is_weak_key.3
+#usr/share/man/man3/DES_key_sched.3
+#usr/share/man/man3/DES_ncbc_encrypt.3
+#usr/share/man/man3/DES_ofb64_encrypt.3
+#usr/share/man/man3/DES_ofb_encrypt.3
+#usr/share/man/man3/DES_pcbc_encrypt.3
+#usr/share/man/man3/DES_quad_cksum.3
+#usr/share/man/man3/DES_random_key.3
+#usr/share/man/man3/DES_set_key.3
+#usr/share/man/man3/DES_set_key_checked.3
+#usr/share/man/man3/DES_set_key_unchecked.3
+#usr/share/man/man3/DES_set_odd_parity.3
+#usr/share/man/man3/DES_string_to_2keys.3
+#usr/share/man/man3/DES_string_to_key.3
+#usr/share/man/man3/DES_xcbc_encrypt.3
+#usr/share/man/man3/DH_OpenSSL.3
+#usr/share/man/man3/DH_check.3
+#usr/share/man/man3/DH_compute_key.3
+#usr/share/man/man3/DH_free.3
+#usr/share/man/man3/DH_generate_key.3
+#usr/share/man/man3/DH_generate_parameters.3
+#usr/share/man/man3/DH_get_default_method.3
+#usr/share/man/man3/DH_get_ex_data.3
+#usr/share/man/man3/DH_get_ex_new_index.3
+#usr/share/man/man3/DH_new.3
+#usr/share/man/man3/DH_new_method.3
+#usr/share/man/man3/DH_set_default_method.3
+#usr/share/man/man3/DH_set_ex_data.3
+#usr/share/man/man3/DH_set_method.3
+#usr/share/man/man3/DH_size.3
+#usr/share/man/man3/DHparams_print.3
+#usr/share/man/man3/DHparams_print_fp.3
+#usr/share/man/man3/DSA_OpenSSL.3
+#usr/share/man/man3/DSA_SIG_free.3
+#usr/share/man/man3/DSA_SIG_new.3
+#usr/share/man/man3/DSA_do_sign.3
+#usr/share/man/man3/DSA_do_verify.3
+#usr/share/man/man3/DSA_dup_DH.3
+#usr/share/man/man3/DSA_free.3
+#usr/share/man/man3/DSA_generate_key.3
+#usr/share/man/man3/DSA_generate_parameters.3
+#usr/share/man/man3/DSA_get_default_method.3
+#usr/share/man/man3/DSA_get_ex_data.3
+#usr/share/man/man3/DSA_get_ex_new_index.3
+#usr/share/man/man3/DSA_new.3
+#usr/share/man/man3/DSA_new_method.3
+#usr/share/man/man3/DSA_print.3
+#usr/share/man/man3/DSA_print_fp.3
+#usr/share/man/man3/DSA_set_default_method.3
+#usr/share/man/man3/DSA_set_ex_data.3
+#usr/share/man/man3/DSA_set_method.3
+#usr/share/man/man3/DSA_sign.3
+#usr/share/man/man3/DSA_sign_setup.3
+#usr/share/man/man3/DSA_size.3
+#usr/share/man/man3/DSA_verify.3
+#usr/share/man/man3/DSAparams_print.3
+#usr/share/man/man3/DSAparams_print_fp.3
+#usr/share/man/man3/ERR_GET_FUNC.3
+#usr/share/man/man3/ERR_GET_LIB.3
+#usr/share/man/man3/ERR_GET_REASON.3
+#usr/share/man/man3/ERR_PACK.3
+#usr/share/man/man3/ERR_add_error_data.3
+#usr/share/man/man3/ERR_clear_error.3
+#usr/share/man/man3/ERR_error_string.3
+#usr/share/man/man3/ERR_error_string_n.3
+#usr/share/man/man3/ERR_free_strings.3
+#usr/share/man/man3/ERR_func_error_string.3
+#usr/share/man/man3/ERR_get_error.3
+#usr/share/man/man3/ERR_get_error_line.3
+#usr/share/man/man3/ERR_get_error_line_data.3
+#usr/share/man/man3/ERR_get_next_error_library.3
+#usr/share/man/man3/ERR_lib_error_string.3
+#usr/share/man/man3/ERR_load_UI_strings.3
+#usr/share/man/man3/ERR_load_crypto_strings.3
+#usr/share/man/man3/ERR_load_strings.3
+#usr/share/man/man3/ERR_peek_error.3
+#usr/share/man/man3/ERR_peek_error_line.3
+#usr/share/man/man3/ERR_peek_error_line_data.3
+#usr/share/man/man3/ERR_peek_last_error.3
+#usr/share/man/man3/ERR_peek_last_error_line.3
+#usr/share/man/man3/ERR_peek_last_error_line_data.3
+#usr/share/man/man3/ERR_print_errors.3
+#usr/share/man/man3/ERR_print_errors_fp.3
+#usr/share/man/man3/ERR_put_error.3
+#usr/share/man/man3/ERR_reason_error_string.3
+#usr/share/man/man3/ERR_remove_state.3
+#usr/share/man/man3/EVP_BytesToKey.3
+#usr/share/man/man3/EVP_CIPHER_CTX_block_size.3
+#usr/share/man/man3/EVP_CIPHER_CTX_cipher.3
+#usr/share/man/man3/EVP_CIPHER_CTX_cleanup.3
+#usr/share/man/man3/EVP_CIPHER_CTX_ctrl.3
+#usr/share/man/man3/EVP_CIPHER_CTX_flags.3
+#usr/share/man/man3/EVP_CIPHER_CTX_get_app_data.3
+#usr/share/man/man3/EVP_CIPHER_CTX_init.3
+#usr/share/man/man3/EVP_CIPHER_CTX_iv_length.3
+#usr/share/man/man3/EVP_CIPHER_CTX_key_length.3
+#usr/share/man/man3/EVP_CIPHER_CTX_mode.3
+#usr/share/man/man3/EVP_CIPHER_CTX_nid.3
+#usr/share/man/man3/EVP_CIPHER_CTX_set_app_data.3
+#usr/share/man/man3/EVP_CIPHER_CTX_set_key_length.3
+#usr/share/man/man3/EVP_CIPHER_CTX_set_padding.3
+#usr/share/man/man3/EVP_CIPHER_CTX_type.3
+#usr/share/man/man3/EVP_CIPHER_asn1_to_param.3
+#usr/share/man/man3/EVP_CIPHER_block_size.3
+#usr/share/man/man3/EVP_CIPHER_flags.3
+#usr/share/man/man3/EVP_CIPHER_iv_length.3
+#usr/share/man/man3/EVP_CIPHER_key_length.3
+#usr/share/man/man3/EVP_CIPHER_mode.3
+#usr/share/man/man3/EVP_CIPHER_nid.3
+#usr/share/man/man3/EVP_CIPHER_param_to_asn1.3
+#usr/share/man/man3/EVP_CIPHER_type.3
+#usr/share/man/man3/EVP_CipherFinal.3
+#usr/share/man/man3/EVP_CipherFinal_ex.3
+#usr/share/man/man3/EVP_CipherInit.3
+#usr/share/man/man3/EVP_CipherInit_ex.3
+#usr/share/man/man3/EVP_CipherUpdate.3
+#usr/share/man/man3/EVP_DecryptFinal.3
+#usr/share/man/man3/EVP_DecryptFinal_ex.3
+#usr/share/man/man3/EVP_DecryptInit.3
+#usr/share/man/man3/EVP_DecryptInit_ex.3
+#usr/share/man/man3/EVP_DecryptUpdate.3
+#usr/share/man/man3/EVP_DigestFinal_ex.3
+#usr/share/man/man3/EVP_DigestInit.3
+#usr/share/man/man3/EVP_DigestInit_ex.3
+#usr/share/man/man3/EVP_DigestUpdate.3
+#usr/share/man/man3/EVP_EncryptFinal.3
+#usr/share/man/man3/EVP_EncryptFinal_ex.3
+#usr/share/man/man3/EVP_EncryptInit.3
+#usr/share/man/man3/EVP_EncryptInit_ex.3
+#usr/share/man/man3/EVP_EncryptUpdate.3
+#usr/share/man/man3/EVP_MAX_MD_SIZE.3
+#usr/share/man/man3/EVP_MD_CTX_block_size.3
+#usr/share/man/man3/EVP_MD_CTX_cleanup.3
+#usr/share/man/man3/EVP_MD_CTX_copy.3
+#usr/share/man/man3/EVP_MD_CTX_copy_ex.3
+#usr/share/man/man3/EVP_MD_CTX_create.3
+#usr/share/man/man3/EVP_MD_CTX_destroy.3
+#usr/share/man/man3/EVP_MD_CTX_init.3
+#usr/share/man/man3/EVP_MD_CTX_md.3
+#usr/share/man/man3/EVP_MD_CTX_size.3
+#usr/share/man/man3/EVP_MD_CTX_type.3
+#usr/share/man/man3/EVP_MD_block_size.3
+#usr/share/man/man3/EVP_MD_pkey_type.3
+#usr/share/man/man3/EVP_MD_size.3
+#usr/share/man/man3/EVP_MD_type.3
+#usr/share/man/man3/EVP_OpenFinal.3
+#usr/share/man/man3/EVP_OpenInit.3
+#usr/share/man/man3/EVP_OpenUpdate.3
+#usr/share/man/man3/EVP_PKEY_assign_DH.3
+#usr/share/man/man3/EVP_PKEY_assign_DSA.3
+#usr/share/man/man3/EVP_PKEY_assign_EC_KEY.3
+#usr/share/man/man3/EVP_PKEY_assign_RSA.3
+#usr/share/man/man3/EVP_PKEY_free.3
+#usr/share/man/man3/EVP_PKEY_get1_DH.3
+#usr/share/man/man3/EVP_PKEY_get1_DSA.3
+#usr/share/man/man3/EVP_PKEY_get1_EC_KEY.3
+#usr/share/man/man3/EVP_PKEY_get1_RSA.3
+#usr/share/man/man3/EVP_PKEY_new.3
+#usr/share/man/man3/EVP_PKEY_set1_DH.3
+#usr/share/man/man3/EVP_PKEY_set1_DSA.3
+#usr/share/man/man3/EVP_PKEY_set1_EC_KEY.3
+#usr/share/man/man3/EVP_PKEY_set1_RSA.3
+#usr/share/man/man3/EVP_PKEY_type.3
+#usr/share/man/man3/EVP_SealFinal.3
+#usr/share/man/man3/EVP_SealInit.3
+#usr/share/man/man3/EVP_SealUpdate.3
+#usr/share/man/man3/EVP_SignFinal.3
+#usr/share/man/man3/EVP_SignInit.3
+#usr/share/man/man3/EVP_SignUpdate.3
+#usr/share/man/man3/EVP_VerifyFinal.3
+#usr/share/man/man3/EVP_VerifyInit.3
+#usr/share/man/man3/EVP_VerifyUpdate.3
+#usr/share/man/man3/EVP_dss.3
+#usr/share/man/man3/EVP_dss1.3
+#usr/share/man/man3/EVP_get_cipherbyname.3
+#usr/share/man/man3/EVP_get_cipherbynid.3
+#usr/share/man/man3/EVP_get_cipherbyobj.3
+#usr/share/man/man3/EVP_get_digestbyname.3
+#usr/share/man/man3/EVP_get_digestbynid.3
+#usr/share/man/man3/EVP_get_digestbyobj.3
+#usr/share/man/man3/EVP_md2.3
+#usr/share/man/man3/EVP_md5.3
+#usr/share/man/man3/EVP_md_null.3
+#usr/share/man/man3/EVP_mdc2.3
+#usr/share/man/man3/EVP_ripemd160.3
+#usr/share/man/man3/EVP_sha.3
+#usr/share/man/man3/EVP_sha1.3
+#usr/share/man/man3/HMAC.3
+#usr/share/man/man3/HMAC_Final.3
+#usr/share/man/man3/HMAC_Init.3
+#usr/share/man/man3/HMAC_Update.3
+#usr/share/man/man3/HMAC_cleanup.3
+#usr/share/man/man3/MD2.3
+#usr/share/man/man3/MD2_Final.3
+#usr/share/man/man3/MD2_Init.3
+#usr/share/man/man3/MD2_Update.3
+#usr/share/man/man3/MD4.3
+#usr/share/man/man3/MD4_Final.3
+#usr/share/man/man3/MD4_Init.3
+#usr/share/man/man3/MD4_Update.3
+#usr/share/man/man3/MD5.3
+#usr/share/man/man3/MD5_Final.3
+#usr/share/man/man3/MD5_Init.3
+#usr/share/man/man3/MD5_Update.3
+#usr/share/man/man3/MDC2.3
+#usr/share/man/man3/MDC2_Final.3
+#usr/share/man/man3/MDC2_Init.3
+#usr/share/man/man3/MDC2_Update.3
+#usr/share/man/man3/OBJ_cleanup.3
+#usr/share/man/man3/OBJ_cmp.3
+#usr/share/man/man3/OBJ_create.3
+#usr/share/man/man3/OBJ_dup.3
+#usr/share/man/man3/OBJ_ln2nid.3
+#usr/share/man/man3/OBJ_nid2ln.3
+#usr/share/man/man3/OBJ_nid2obj.3
+#usr/share/man/man3/OBJ_nid2sn.3
+#usr/share/man/man3/OBJ_obj2nid.3
+#usr/share/man/man3/OBJ_obj2txt.3
+#usr/share/man/man3/OBJ_sn2nid.3
+#usr/share/man/man3/OBJ_txt2nid.3
+#usr/share/man/man3/OBJ_txt2obj.3
+#usr/share/man/man3/OPENSSL_VERSION_NUMBER.3
+#usr/share/man/man3/OPENSSL_config.3
+#usr/share/man/man3/OPENSSL_load_builtin_modules.3
+#usr/share/man/man3/OPENSSL_no_config.3
+#usr/share/man/man3/OpenSSL_add_all_algorithms.3
+#usr/share/man/man3/OpenSSL_add_all_ciphers.3
+#usr/share/man/man3/OpenSSL_add_all_digests.3
+#usr/share/man/man3/OpenSSL_add_ssl_algorithms.3
+#usr/share/man/man3/PEM.3
+#usr/share/man/man3/PKCS12_create.3
+#usr/share/man/man3/PKCS12_parse.3
+#usr/share/man/man3/PKCS7_decrypt.3
+#usr/share/man/man3/PKCS7_encrypt.3
+#usr/share/man/man3/PKCS7_sign.3
+#usr/share/man/man3/PKCS7_verify.3
+#usr/share/man/man3/RAND_SSLeay.3
+#usr/share/man/man3/RAND_add.3
+#usr/share/man/man3/RAND_bytes.3
+#usr/share/man/man3/RAND_cleanup.3
+#usr/share/man/man3/RAND_egd.3
+#usr/share/man/man3/RAND_event.3
+#usr/share/man/man3/RAND_file_name.3
+#usr/share/man/man3/RAND_get_rand_method.3
+#usr/share/man/man3/RAND_load_file.3
+#usr/share/man/man3/RAND_pseudo_bytes.3
+#usr/share/man/man3/RAND_screen.3
+#usr/share/man/man3/RAND_seed.3
+#usr/share/man/man3/RAND_set_rand_method.3
+#usr/share/man/man3/RAND_status.3
+#usr/share/man/man3/RAND_write_file.3
+#usr/share/man/man3/RC4.3
+#usr/share/man/man3/RC4_set_key.3
+#usr/share/man/man3/RIPEMD160.3
+#usr/share/man/man3/RIPEMD160_Final.3
+#usr/share/man/man3/RIPEMD160_Init.3
+#usr/share/man/man3/RIPEMD160_Update.3
+#usr/share/man/man3/RSA_PKCS1_SSLeay.3
+#usr/share/man/man3/RSA_blinding_off.3
+#usr/share/man/man3/RSA_blinding_on.3
+#usr/share/man/man3/RSA_check_key.3
+#usr/share/man/man3/RSA_flags.3
+#usr/share/man/man3/RSA_free.3
+#usr/share/man/man3/RSA_generate_key.3
+#usr/share/man/man3/RSA_get_default_method.3
+#usr/share/man/man3/RSA_get_ex_data.3
+#usr/share/man/man3/RSA_get_ex_new_index.3
+#usr/share/man/man3/RSA_get_method.3
+#usr/share/man/man3/RSA_new.3
+#usr/share/man/man3/RSA_new_method.3
+#usr/share/man/man3/RSA_null_method.3
+#usr/share/man/man3/RSA_padding_add_PKCS1_OAEP.3
+#usr/share/man/man3/RSA_padding_add_PKCS1_type_1.3
+#usr/share/man/man3/RSA_padding_add_PKCS1_type_2.3
+#usr/share/man/man3/RSA_padding_add_SSLv23.3
+#usr/share/man/man3/RSA_padding_add_none.3
+#usr/share/man/man3/RSA_padding_check_PKCS1_OAEP.3
+#usr/share/man/man3/RSA_padding_check_PKCS1_type_1.3
+#usr/share/man/man3/RSA_padding_check_PKCS1_type_2.3
+#usr/share/man/man3/RSA_padding_check_SSLv23.3
+#usr/share/man/man3/RSA_padding_check_none.3
+#usr/share/man/man3/RSA_print.3
+#usr/share/man/man3/RSA_print_fp.3
+#usr/share/man/man3/RSA_private_decrypt.3
+#usr/share/man/man3/RSA_private_encrypt.3
+#usr/share/man/man3/RSA_public_decrypt.3
+#usr/share/man/man3/RSA_public_encrypt.3
+#usr/share/man/man3/RSA_set_default_method.3
+#usr/share/man/man3/RSA_set_ex_data.3
+#usr/share/man/man3/RSA_set_method.3
+#usr/share/man/man3/RSA_sign.3
+#usr/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3
+#usr/share/man/man3/RSA_size.3
+#usr/share/man/man3/RSA_verify.3
+#usr/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3
+#usr/share/man/man3/SHA1.3
+#usr/share/man/man3/SHA1_Final.3
+#usr/share/man/man3/SHA1_Init.3
+#usr/share/man/man3/SHA1_Update.3
+#usr/share/man/man3/SMIME_read_PKCS7.3
+#usr/share/man/man3/SMIME_write_PKCS7.3
+#usr/share/man/man3/SSL.3
+#usr/share/man/man3/SSL_CIPHER_description.3
+#usr/share/man/man3/SSL_CIPHER_get_bits.3
+#usr/share/man/man3/SSL_CIPHER_get_name.3
+#usr/share/man/man3/SSL_CIPHER_get_version.3
+#usr/share/man/man3/SSL_COMP_add_compression_method.3
+#usr/share/man/man3/SSL_CTX_add_client_CA.3
+#usr/share/man/man3/SSL_CTX_add_extra_chain_cert.3
+#usr/share/man/man3/SSL_CTX_add_session.3
+#usr/share/man/man3/SSL_CTX_callback_ctrl.3
+#usr/share/man/man3/SSL_CTX_check_private_key.3
+#usr/share/man/man3/SSL_CTX_ctrl.3
+#usr/share/man/man3/SSL_CTX_flush_sessions.3
+#usr/share/man/man3/SSL_CTX_free.3
+#usr/share/man/man3/SSL_CTX_get_cert_store.3
+#usr/share/man/man3/SSL_CTX_get_client_CA_list.3
+#usr/share/man/man3/SSL_CTX_get_client_cert_cb.3
+#usr/share/man/man3/SSL_CTX_get_ex_data.3
+#usr/share/man/man3/SSL_CTX_get_ex_new_index.3
+#usr/share/man/man3/SSL_CTX_get_info_callback.3
+#usr/share/man/man3/SSL_CTX_get_max_cert_list.3
+#usr/share/man/man3/SSL_CTX_get_mode.3
+#usr/share/man/man3/SSL_CTX_get_options.3
+#usr/share/man/man3/SSL_CTX_get_quiet_shutdown.3
+#usr/share/man/man3/SSL_CTX_get_session_cache_mode.3
+#usr/share/man/man3/SSL_CTX_get_timeout.3
+#usr/share/man/man3/SSL_CTX_get_verify_callback.3
+#usr/share/man/man3/SSL_CTX_get_verify_depth.3
+#usr/share/man/man3/SSL_CTX_get_verify_mode.3
+#usr/share/man/man3/SSL_CTX_load_verify_locations.3
+#usr/share/man/man3/SSL_CTX_need_tmp_rsa.3
+#usr/share/man/man3/SSL_CTX_new.3
+#usr/share/man/man3/SSL_CTX_remove_session.3
+#usr/share/man/man3/SSL_CTX_sess_accept.3
+#usr/share/man/man3/SSL_CTX_sess_accept_good.3
+#usr/share/man/man3/SSL_CTX_sess_accept_renegotiate.3
+#usr/share/man/man3/SSL_CTX_sess_cache_full.3
+#usr/share/man/man3/SSL_CTX_sess_cb_hits.3
+#usr/share/man/man3/SSL_CTX_sess_connect.3
+#usr/share/man/man3/SSL_CTX_sess_connect_good.3
+#usr/share/man/man3/SSL_CTX_sess_connect_renegotiate.3
+#usr/share/man/man3/SSL_CTX_sess_get_cache_size.3
+#usr/share/man/man3/SSL_CTX_sess_get_get_cb.3
+#usr/share/man/man3/SSL_CTX_sess_get_new_cb.3
+#usr/share/man/man3/SSL_CTX_sess_get_remove_cb.3
+#usr/share/man/man3/SSL_CTX_sess_hits.3
+#usr/share/man/man3/SSL_CTX_sess_misses.3
+#usr/share/man/man3/SSL_CTX_sess_number.3
+#usr/share/man/man3/SSL_CTX_sess_set_cache_size.3
+#usr/share/man/man3/SSL_CTX_sess_set_get_cb.3
+#usr/share/man/man3/SSL_CTX_sess_set_new_cb.3
+#usr/share/man/man3/SSL_CTX_sess_set_remove_cb.3
+#usr/share/man/man3/SSL_CTX_sess_timeouts.3
+#usr/share/man/man3/SSL_CTX_sessions.3
+#usr/share/man/man3/SSL_CTX_set_cert_store.3
+#usr/share/man/man3/SSL_CTX_set_cert_verify_callback.3
+#usr/share/man/man3/SSL_CTX_set_cipher_list.3
+#usr/share/man/man3/SSL_CTX_set_client_CA_list.3
+#usr/share/man/man3/SSL_CTX_set_client_cert_cb.3
+#usr/share/man/man3/SSL_CTX_set_default_passwd_cb.3
+#usr/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3
+#usr/share/man/man3/SSL_CTX_set_ex_data.3
+#usr/share/man/man3/SSL_CTX_set_generate_session_id.3
+#usr/share/man/man3/SSL_CTX_set_info_callback.3
+#usr/share/man/man3/SSL_CTX_set_max_cert_list.3
+#usr/share/man/man3/SSL_CTX_set_mode.3
+#usr/share/man/man3/SSL_CTX_set_msg_callback.3
+#usr/share/man/man3/SSL_CTX_set_msg_callback_arg.3
+#usr/share/man/man3/SSL_CTX_set_options.3
+#usr/share/man/man3/SSL_CTX_set_quiet_shutdown.3
+#usr/share/man/man3/SSL_CTX_set_session_cache_mode.3
+#usr/share/man/man3/SSL_CTX_set_session_id_context.3
+#usr/share/man/man3/SSL_CTX_set_ssl_version.3
+#usr/share/man/man3/SSL_CTX_set_timeout.3
+#usr/share/man/man3/SSL_CTX_set_tmp_dh.3
+#usr/share/man/man3/SSL_CTX_set_tmp_dh_callback.3
+#usr/share/man/man3/SSL_CTX_set_tmp_rsa.3
+#usr/share/man/man3/SSL_CTX_set_tmp_rsa_callback.3
+#usr/share/man/man3/SSL_CTX_set_verify.3
+#usr/share/man/man3/SSL_CTX_set_verify_depth.3
+#usr/share/man/man3/SSL_CTX_use_PrivateKey.3
+#usr/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3
+#usr/share/man/man3/SSL_CTX_use_PrivateKey_file.3
+#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey.3
+#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3
+#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3
+#usr/share/man/man3/SSL_CTX_use_certificate.3
+#usr/share/man/man3/SSL_CTX_use_certificate_ASN1.3
+#usr/share/man/man3/SSL_CTX_use_certificate_chain_file.3
+#usr/share/man/man3/SSL_CTX_use_certificate_file.3
+#usr/share/man/man3/SSL_SESSION_free.3
+#usr/share/man/man3/SSL_SESSION_get_ex_data.3
+#usr/share/man/man3/SSL_SESSION_get_ex_new_index.3
+#usr/share/man/man3/SSL_SESSION_get_time.3
+#usr/share/man/man3/SSL_SESSION_get_timeout.3
+#usr/share/man/man3/SSL_SESSION_set_ex_data.3
+#usr/share/man/man3/SSL_SESSION_set_time.3
+#usr/share/man/man3/SSL_accept.3
+#usr/share/man/man3/SSL_add_client_CA.3
+#usr/share/man/man3/SSL_add_session.3
+#usr/share/man/man3/SSL_alert_desc_string.3
+#usr/share/man/man3/SSL_alert_desc_string_long.3
+#usr/share/man/man3/SSL_alert_type_string.3
+#usr/share/man/man3/SSL_alert_type_string_long.3
+#usr/share/man/man3/SSL_callback_ctrl.3
+#usr/share/man/man3/SSL_check_private_key.3
+#usr/share/man/man3/SSL_clear.3
+#usr/share/man/man3/SSL_connect.3
+#usr/share/man/man3/SSL_ctrl.3
+#usr/share/man/man3/SSL_do_handshake.3
+#usr/share/man/man3/SSL_flush_sessions.3
+#usr/share/man/man3/SSL_free.3
+#usr/share/man/man3/SSL_get_SSL_CTX.3
+#usr/share/man/man3/SSL_get_accept_state.3
+#usr/share/man/man3/SSL_get_cipher.3
+#usr/share/man/man3/SSL_get_cipher_bits.3
+#usr/share/man/man3/SSL_get_cipher_list.3
+#usr/share/man/man3/SSL_get_cipher_name.3
+#usr/share/man/man3/SSL_get_cipher_version.3
+#usr/share/man/man3/SSL_get_ciphers.3
+#usr/share/man/man3/SSL_get_client_CA_list.3
+#usr/share/man/man3/SSL_get_current_cipher.3
+#usr/share/man/man3/SSL_get_default_timeout.3
+#usr/share/man/man3/SSL_get_error.3
+#usr/share/man/man3/SSL_get_ex_data.3
+#usr/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3
+#usr/share/man/man3/SSL_get_ex_new_index.3
+#usr/share/man/man3/SSL_get_fd.3
+#usr/share/man/man3/SSL_get_info_callback.3
+#usr/share/man/man3/SSL_get_max_cert_list.3
+#usr/share/man/man3/SSL_get_mode.3
+#usr/share/man/man3/SSL_get_msg_callback_arg.3
+#usr/share/man/man3/SSL_get_options.3
+#usr/share/man/man3/SSL_get_peer_cert_chain.3
+#usr/share/man/man3/SSL_get_peer_certificate.3
+#usr/share/man/man3/SSL_get_quiet_shutdown.3
+#usr/share/man/man3/SSL_get_rbio.3
+#usr/share/man/man3/SSL_get_session.3
+#usr/share/man/man3/SSL_get_shutdown.3
+#usr/share/man/man3/SSL_get_ssl_method.3
+#usr/share/man/man3/SSL_get_verify_callback.3
+#usr/share/man/man3/SSL_get_verify_depth.3
+#usr/share/man/man3/SSL_get_verify_mode.3
+#usr/share/man/man3/SSL_get_verify_result.3
+#usr/share/man/man3/SSL_get_version.3
+#usr/share/man/man3/SSL_has_matching_session_id.3
+#usr/share/man/man3/SSL_library_init.3
+#usr/share/man/man3/SSL_load_client_CA_file.3
+#usr/share/man/man3/SSL_load_error_strings.3
+#usr/share/man/man3/SSL_need_tmp_rsa.3
+#usr/share/man/man3/SSL_new.3
+#usr/share/man/man3/SSL_pending.3
+#usr/share/man/man3/SSL_read.3
+#usr/share/man/man3/SSL_remove_session.3
+#usr/share/man/man3/SSL_rstate_string.3
+#usr/share/man/man3/SSL_rstate_string_long.3
+#usr/share/man/man3/SSL_session_reused.3
+#usr/share/man/man3/SSL_set_bio.3
+#usr/share/man/man3/SSL_set_cipher_list.3
+#usr/share/man/man3/SSL_set_client_CA_list.3
+#usr/share/man/man3/SSL_set_connect_state.3
+#usr/share/man/man3/SSL_set_ex_data.3
+#usr/share/man/man3/SSL_set_fd.3
+#usr/share/man/man3/SSL_set_generate_session_id.3
+#usr/share/man/man3/SSL_set_info_callback.3
+#usr/share/man/man3/SSL_set_max_cert_list.3
+#usr/share/man/man3/SSL_set_mode.3
+#usr/share/man/man3/SSL_set_msg_callback.3
+#usr/share/man/man3/SSL_set_options.3
+#usr/share/man/man3/SSL_set_quiet_shutdown.3
+#usr/share/man/man3/SSL_set_session.3
+#usr/share/man/man3/SSL_set_session_id_context.3
+#usr/share/man/man3/SSL_set_shutdown.3
+#usr/share/man/man3/SSL_set_ssl_method.3
+#usr/share/man/man3/SSL_set_tmp_dh.3
+#usr/share/man/man3/SSL_set_tmp_dh_callback.3
+#usr/share/man/man3/SSL_set_tmp_rsa.3
+#usr/share/man/man3/SSL_set_tmp_rsa_callback.3
+#usr/share/man/man3/SSL_set_verify.3
+#usr/share/man/man3/SSL_set_verify_depth.3
+#usr/share/man/man3/SSL_set_verify_result.3
+#usr/share/man/man3/SSL_shutdown.3
+#usr/share/man/man3/SSL_state_string.3
+#usr/share/man/man3/SSL_state_string_long.3
+#usr/share/man/man3/SSL_use_PrivateKey.3
+#usr/share/man/man3/SSL_use_PrivateKey_ASN1.3
+#usr/share/man/man3/SSL_use_PrivateKey_file.3
+#usr/share/man/man3/SSL_use_RSAPrivateKey.3
+#usr/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3
+#usr/share/man/man3/SSL_use_RSAPrivateKey_file.3
+#usr/share/man/man3/SSL_use_certificate.3
+#usr/share/man/man3/SSL_use_certificate_ASN1.3
+#usr/share/man/man3/SSL_use_certificate_file.3
+#usr/share/man/man3/SSL_want.3
+#usr/share/man/man3/SSL_want_nothing.3
+#usr/share/man/man3/SSL_want_read.3
+#usr/share/man/man3/SSL_want_write.3
+#usr/share/man/man3/SSL_want_x509_lookup.3
+#usr/share/man/man3/SSL_write.3
+#usr/share/man/man3/SSLeay.3
+#usr/share/man/man3/SSLeay_add_ssl_algorithms.3
+#usr/share/man/man3/SSLeay_version.3
+#usr/share/man/man3/UI_OpenSSL.3
+#usr/share/man/man3/UI_add_error_string.3
+#usr/share/man/man3/UI_add_info_string.3
+#usr/share/man/man3/UI_add_input_boolean.3
+#usr/share/man/man3/UI_add_input_string.3
+#usr/share/man/man3/UI_add_user_data.3
+#usr/share/man/man3/UI_add_verify_string.3
+#usr/share/man/man3/UI_construct_prompt.3
+#usr/share/man/man3/UI_ctrl.3
+#usr/share/man/man3/UI_dup_error_string.3
+#usr/share/man/man3/UI_dup_info_string.3
+#usr/share/man/man3/UI_dup_input_boolean.3
+#usr/share/man/man3/UI_dup_input_string.3
+#usr/share/man/man3/UI_dup_verify_string.3
+#usr/share/man/man3/UI_free.3
+#usr/share/man/man3/UI_get0_result.3
+#usr/share/man/man3/UI_get0_user_data.3
+#usr/share/man/man3/UI_get_default_method.3
+#usr/share/man/man3/UI_get_method.3
+#usr/share/man/man3/UI_new.3
+#usr/share/man/man3/UI_new_method.3
+#usr/share/man/man3/UI_process.3
+#usr/share/man/man3/UI_set_default_method.3
+#usr/share/man/man3/UI_set_method.3
+#usr/share/man/man3/X509_NAME_ENTRY_create_by_NID.3
+#usr/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3
+#usr/share/man/man3/X509_NAME_ENTRY_create_by_txt.3
+#usr/share/man/man3/X509_NAME_ENTRY_get_data.3
+#usr/share/man/man3/X509_NAME_ENTRY_get_object.3
+#usr/share/man/man3/X509_NAME_ENTRY_set_data.3
+#usr/share/man/man3/X509_NAME_ENTRY_set_object.3
+#usr/share/man/man3/X509_NAME_add_entry.3
+#usr/share/man/man3/X509_NAME_add_entry_by_NID.3
+#usr/share/man/man3/X509_NAME_add_entry_by_OBJ.3
+#usr/share/man/man3/X509_NAME_add_entry_by_txt.3
+#usr/share/man/man3/X509_NAME_delete_entry.3
+#usr/share/man/man3/X509_NAME_entry_count.3
+#usr/share/man/man3/X509_NAME_get_entry.3
+#usr/share/man/man3/X509_NAME_get_index_by_NID.3
+#usr/share/man/man3/X509_NAME_get_index_by_OBJ.3
+#usr/share/man/man3/X509_NAME_get_text_by_NID.3
+#usr/share/man/man3/X509_NAME_get_text_by_OBJ.3
+#usr/share/man/man3/X509_NAME_oneline.3
+#usr/share/man/man3/X509_NAME_print.3
+#usr/share/man/man3/X509_NAME_print_ex.3
+#usr/share/man/man3/X509_NAME_print_ex_fp.3
+#usr/share/man/man3/X509_free.3
+#usr/share/man/man3/X509_new.3
+#usr/share/man/man3/bio.3
+#usr/share/man/man3/blowfish.3
+#usr/share/man/man3/bn.3
+#usr/share/man/man3/bn_add_words.3
+#usr/share/man/man3/bn_check_top.3
+#usr/share/man/man3/bn_cmp_words.3
+#usr/share/man/man3/bn_div_words.3
+#usr/share/man/man3/bn_dump.3
+#usr/share/man/man3/bn_expand.3
+#usr/share/man/man3/bn_expand2.3
+#usr/share/man/man3/bn_fix_top.3
+#usr/share/man/man3/bn_internal.3
+#usr/share/man/man3/bn_mul_add_words.3
+#usr/share/man/man3/bn_mul_comba4.3
+#usr/share/man/man3/bn_mul_comba8.3
+#usr/share/man/man3/bn_mul_high.3
+#usr/share/man/man3/bn_mul_low_normal.3
+#usr/share/man/man3/bn_mul_low_recursive.3
+#usr/share/man/man3/bn_mul_normal.3
+#usr/share/man/man3/bn_mul_part_recursive.3
+#usr/share/man/man3/bn_mul_recursive.3
+#usr/share/man/man3/bn_mul_words.3
+#usr/share/man/man3/bn_print.3
+#usr/share/man/man3/bn_set_high.3
+#usr/share/man/man3/bn_set_low.3
+#usr/share/man/man3/bn_set_max.3
+#usr/share/man/man3/bn_sqr_comba4.3
+#usr/share/man/man3/bn_sqr_comba8.3
+#usr/share/man/man3/bn_sqr_normal.3
+#usr/share/man/man3/bn_sqr_recursive.3
+#usr/share/man/man3/bn_sqr_words.3
+#usr/share/man/man3/bn_sub_words.3
+#usr/share/man/man3/bn_wexpand.3
+#usr/share/man/man3/buffer.3
+#usr/share/man/man3/crypto.3
+#usr/share/man/man3/d2i_509_CRL_fp.3
+#usr/share/man/man3/d2i_ASN1_OBJECT.3
+#usr/share/man/man3/d2i_DHparams.3
+#usr/share/man/man3/d2i_DSAPrivateKey.3
+#usr/share/man/man3/d2i_DSAPublicKey.3
+#usr/share/man/man3/d2i_DSA_PUBKEY.3
+#usr/share/man/man3/d2i_DSA_SIG.3
+#usr/share/man/man3/d2i_Netscape_RSA.3
+#usr/share/man/man3/d2i_PKCS8PrivateKey.3
+#usr/share/man/man3/d2i_PKCS8PrivateKey_bio.3
+#usr/share/man/man3/d2i_PKCS8PrivateKey_fp.3
+#usr/share/man/man3/d2i_RSAPrivateKey.3
+#usr/share/man/man3/d2i_RSAPublicKey.3
+#usr/share/man/man3/d2i_RSA_PUBKEY.3
+#usr/share/man/man3/d2i_SSL_SESSION.3
+#usr/share/man/man3/d2i_X509.3
+#usr/share/man/man3/d2i_X509_ALGOR.3
+#usr/share/man/man3/d2i_X509_CRL.3
+#usr/share/man/man3/d2i_X509_CRL_bio.3
+#usr/share/man/man3/d2i_X509_NAME.3
+#usr/share/man/man3/d2i_X509_REQ.3
+#usr/share/man/man3/d2i_X509_REQ_bio.3
+#usr/share/man/man3/d2i_X509_REQ_fp.3
+#usr/share/man/man3/d2i_X509_SIG.3
+#usr/share/man/man3/d2i_X509_bio.3
+#usr/share/man/man3/d2i_X509_fp.3
+#usr/share/man/man3/des.3
+#usr/share/man/man3/des_read_2passwords.3
+#usr/share/man/man3/des_read_password.3
+#usr/share/man/man3/des_read_pw.3
+#usr/share/man/man3/des_read_pw_string.3
+#usr/share/man/man3/dh.3
+#usr/share/man/man3/dsa.3
+#usr/share/man/man3/engine.3
+#usr/share/man/man3/evp.3
+#usr/share/man/man3/hmac.3
+#usr/share/man/man3/i2d_ASN1_OBJECT.3
+#usr/share/man/man3/i2d_DHparams.3
+#usr/share/man/man3/i2d_DSAPrivateKey.3
+#usr/share/man/man3/i2d_DSAPublicKey.3
+#usr/share/man/man3/i2d_DSA_PUBKEY.3
+#usr/share/man/man3/i2d_DSA_SIG.3
+#usr/share/man/man3/i2d_Netscape_RSA.3
+#usr/share/man/man3/i2d_PKCS8PrivateKey_bio.3
+#usr/share/man/man3/i2d_PKCS8PrivateKey_fp.3
+#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3
+#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3
+#usr/share/man/man3/i2d_RSAPrivateKey.3
+#usr/share/man/man3/i2d_RSAPublicKey.3
+#usr/share/man/man3/i2d_RSA_PUBKEY.3
+#usr/share/man/man3/i2d_SSL_SESSION.3
+#usr/share/man/man3/i2d_X509.3
+#usr/share/man/man3/i2d_X509_ALGOR.3
+#usr/share/man/man3/i2d_X509_CRL.3
+#usr/share/man/man3/i2d_X509_CRL_bio.3
+#usr/share/man/man3/i2d_X509_CRL_fp.3
+#usr/share/man/man3/i2d_X509_NAME.3
+#usr/share/man/man3/i2d_X509_REQ.3
+#usr/share/man/man3/i2d_X509_REQ_bio.3
+#usr/share/man/man3/i2d_X509_REQ_fp.3
+#usr/share/man/man3/i2d_X509_SIG.3
+#usr/share/man/man3/i2d_X509_bio.3
+#usr/share/man/man3/i2d_X509_fp.3
+#usr/share/man/man3/lh_delete.3
+#usr/share/man/man3/lh_doall.3
+#usr/share/man/man3/lh_doall_arg.3
+#usr/share/man/man3/lh_error.3
+#usr/share/man/man3/lh_free.3
+#usr/share/man/man3/lh_insert.3
+#usr/share/man/man3/lh_new.3
+#usr/share/man/man3/lh_node_stats.3
+#usr/share/man/man3/lh_node_stats_bio.3
+#usr/share/man/man3/lh_node_usage_stats.3
+#usr/share/man/man3/lh_node_usage_stats_bio.3
+#usr/share/man/man3/lh_retrieve.3
+#usr/share/man/man3/lh_stats.3
+#usr/share/man/man3/lh_stats_bio.3
+#usr/share/man/man3/lhash.3
+#usr/share/man/man3/md5.3
+#usr/share/man/man3/mdc2.3
+#usr/share/man/man3/pem.3
+#usr/share/man/man3/rc4.3
+#usr/share/man/man3/ripemd.3
+#usr/share/man/man3/rsa.3
+#usr/share/man/man3/sha.3
+#usr/share/man/man3/ssl.3
+#usr/share/man/man3/ui.3
+#usr/share/man/man3/ui_compat.3
+#usr/share/man/man5/config.5
+#usr/share/man/man7/Modes_of_DES.7
+#usr/share/man/man7/des_modes.7
+##
+## pciutils-2.1.11
+##
+#usr/include/pci
+#usr/include/pci/config.h
+#usr/include/pci/header.h
+#usr/include/pci/pci.h
+#usr/lib/libpci.a
+usr/sbin/lspci
+usr/sbin/setpci
+#usr/sbin/update-pciids
+#usr/share/man/man8/lspci.8
+#usr/share/man/man8/setpci.8
+#usr/share/man/man8/update-pciids.8
+#usr/share/pci.ids
+##
+## pcre-4.5
+##
+#usr/bin/pcregrep
+#usr/bin/pcretest
+#usr/bin/pcre-config
+#usr/include/pcre.h
+#usr/include/pcreposix.h
+usr/lib/libpcre.so.0.0.1
+usr/lib/libpcre.so.0
+usr/lib/libpcre.so
+#usr/lib/libpcre.la
+#usr/lib/libpcreposix.so.0.0.0
+#usr/lib/libpcreposix.so.0
+#usr/lib/libpcreposix.so
+#usr/lib/libpcreposix.la
+#usr/share/man/man1/pcregrep.1
+#usr/share/man/man1/pcretest.1
+#usr/share/man/man3/pcre.3
+#usr/share/man/man3/pcreapi.3
+#usr/share/man/man3/pcrebuild.3
+#usr/share/man/man3/pcrecallout.3
+#usr/share/man/man3/pcrecompat.3
+#usr/share/man/man3/pcrepattern.3
+#usr/share/man/man3/pcreperform.3
+#usr/share/man/man3/pcreposix.3
+#usr/share/man/man3/pcresample.3
+#usr/share/man/man3/pcre_compile.3
+#usr/share/man/man3/pcre_config.3
+#usr/share/man/man3/pcre_copy_named_substring.3
+#usr/share/man/man3/pcre_copy_substring.3
+#usr/share/man/man3/pcre_exec.3
+#usr/share/man/man3/pcre_free_substring.3
+#usr/share/man/man3/pcre_free_substring_list.3
+#usr/share/man/man3/pcre_fullinfo.3
+#usr/share/man/man3/pcre_get_named_substring.3
+#usr/share/man/man3/pcre_get_stringnumber.3
+#usr/share/man/man3/pcre_get_substring.3
+#usr/share/man/man3/pcre_get_substring_list.3
+#usr/share/man/man3/pcre_info.3
+#usr/share/man/man3/pcre_maketables.3
+#usr/share/man/man3/pcre_study.3
+#usr/share/man/man3/pcre_version.3
+##
+## 3cp4218-2003-10-22
+##
+usr/sbin/3cextract
+usr/sbin/3cload
+usr/sbin/3cioctl
+usr/sbin/ez-usb.bin
+usr/sbin/3cinit.bin
+usr/sbin/3cmain.bin
+#usr/share/locale/es/LC_MESSAGES/3cioctl.mo
+#usr/share/locale/es/LC_MESSAGES/3cload.mo
+#lib/modules/2.4.31/kernel/drivers/usb/3cp4218.o.gz
+##
+## 3cp4218-2003-10-22-smp
+##
+#usr/sbin/3cextract
+#usr/sbin/3cload
+#usr/sbin/3cioctl
+#usr/sbin/ez-usb.bin
+#usr/sbin/3cinit.bin
+#usr/sbin/3cmain.bin
+#usr/share/locale/es/LC_MESSAGES/3cioctl.mo
+#usr/share/locale/es/LC_MESSAGES/3cload.mo
+#lib/modules/2.4.31-smp/kernel/drivers/usb/3cp4218.o.gz
+##
+## amedyn-2004-08-04
+##
+usr/bin/br2684ctl
+usr/sbin/amload
+usr/sbin/amioctl
+usr/sbin/fw-usb.bin
+usr/sbin/Fw-usb_A.bin
+#lib/modules/2.4.31/kernel/drivers/usb/amedyn.o.gz
+##
+## amedyn-2004-08-04-smp
+##
+#usr/sbin/amload
+#usr/sbin/amioctl
+#usr/sbin/fw-usb.bin
+#usr/sbin/Fw-usb_A.bin
+#lib/modules/2.4.31-smp/kernel/drivers/usb/amedyn.o.gz
+##
+## apache_1.3.34 mod_ssl-2.8.25-1.3.34 mm-1.4.0
+##
+#etc/httpd
+#etc/httpd/conf
+#etc/httpd/conf/access.conf
+#etc/httpd/conf/access.conf.default
+etc/httpd/conf/hostname.conf
+etc/httpd/conf/httpd.conf
+#etc/httpd/conf/httpd.conf.default
+#etc/httpd/conf/magic
+#etc/httpd/conf/magic.default
+#etc/httpd/conf/mime.types
+#etc/httpd/conf/mime.types.default
+#etc/httpd/conf/srm.conf
+#etc/httpd/conf/srm.conf.default
+#etc/httpd/conf/ssl.crl
+#etc/httpd/conf/ssl.crl/Makefile
+#etc/httpd/conf/ssl.crl/README.CRL
+#etc/httpd/conf/ssl.crt
+#etc/httpd/conf/ssl.crt/0cf14d7d.0
+#etc/httpd/conf/ssl.crt/5d8360e1.0
+#etc/httpd/conf/ssl.crt/82ab5372.0
+#etc/httpd/conf/ssl.crt/Makefile
+#etc/httpd/conf/ssl.crt/README.CRT
+#etc/httpd/conf/ssl.crt/ca-bundle.crt
+#etc/httpd/conf/ssl.crt/e52d41d0.0
+#etc/httpd/conf/ssl.crt/server.crt
+#etc/httpd/conf/ssl.crt/snakeoil-ca-dsa.crt
+#etc/httpd/conf/ssl.crt/snakeoil-ca-rsa.crt
+#etc/httpd/conf/ssl.crt/snakeoil-dsa.crt
+#etc/httpd/conf/ssl.crt/snakeoil-rsa.crt
+#etc/httpd/conf/ssl.csr
+#etc/httpd/conf/ssl.csr/README.CSR
+#etc/httpd/conf/ssl.csr/server.csr
+#etc/httpd/conf/ssl.key
+#etc/httpd/conf/ssl.key/README.KEY
+#etc/httpd/conf/ssl.key/server.key
+#etc/httpd/conf/ssl.key/snakeoil-ca-dsa.key
+#etc/httpd/conf/ssl.key/snakeoil-ca-rsa.key
+#etc/httpd/conf/ssl.key/snakeoil-dsa.key
+#etc/httpd/conf/ssl.key/snakeoil-rsa.key
+#etc/httpd/conf/ssl.prm
+#etc/httpd/conf/ssl.prm/README.PRM
+#etc/httpd/conf/ssl.prm/snakeoil-ca-dsa.prm
+#etc/httpd/conf/ssl.prm/snakeoil-dsa.prm
+#home/httpd
+#home/httpd/cgi-bin
+home/httpd/cgi-bin/aliases.cgi
+home/httpd/cgi-bin/backup.cgi
+#home/httpd/cgi-bin/base.cgi
+home/httpd/cgi-bin/changepw.cgi
+home/httpd/cgi-bin/connections.cgi
+home/httpd/cgi-bin/credits.cgi
+home/httpd/cgi-bin/ddns.cgi
+home/httpd/cgi-bin/dhcp.cgi
+home/httpd/cgi-bin/dial.cgi
+home/httpd/cgi-bin/dmzholes.cgi
+home/httpd/cgi-bin/graphs.cgi
+home/httpd/cgi-bin/gui.cgi
+home/httpd/cgi-bin/hosts.cgi
+home/httpd/cgi-bin/ids.cgi
+home/httpd/cgi-bin/index.cgi
+home/httpd/cgi-bin/ipinfo.cgi
+#home/httpd/cgi-bin/logs.cgi
+home/httpd/cgi-bin/logs.cgi/config.dat
+home/httpd/cgi-bin/logs.cgi/firewalllog.dat
+home/httpd/cgi-bin/logs.cgi/ids.dat
+home/httpd/cgi-bin/logs.cgi/log.dat
+home/httpd/cgi-bin/logs.cgi/proxylog.dat
+home/httpd/cgi-bin/logs.cgi/summary.dat
+home/httpd/cgi-bin/modem.cgi
+home/httpd/cgi-bin/netstatus.cgi
+#home/httpd/cgi-bin/networks.cgi
+home/httpd/cgi-bin/optionsfw.cgi
+home/httpd/cgi-bin/portfw.cgi
+home/httpd/cgi-bin/pppsetup.cgi
+#home/httpd/cgi-bin/printenv
+home/httpd/cgi-bin/proxy.cgi
+home/httpd/cgi-bin/proxygraphs.cgi
+home/httpd/cgi-bin/remote.cgi
+#home/httpd/cgi-bin/services.cgi
+home/httpd/cgi-bin/shaping.cgi
+home/httpd/cgi-bin/shutdown.cgi
+home/httpd/cgi-bin/status.cgi
+#home/httpd/cgi-bin/test-cgi
+home/httpd/cgi-bin/time.cgi
+home/httpd/cgi-bin/updates.cgi
+home/httpd/cgi-bin/upload.cgi
+home/httpd/cgi-bin/vpnmain.cgi
+home/httpd/cgi-bin/wireless.cgi
+home/httpd/cgi-bin/xtaccess.cgi
+#home/httpd/htdocs
+#home/httpd/htdocs/apache_pb.gif
+#home/httpd/htdocs/index.html.ca
+#home/httpd/htdocs/index.html.cz
+#home/httpd/htdocs/index.html.de
+#home/httpd/htdocs/index.html.dk
+#home/httpd/htdocs/index.html.ee
+#home/httpd/htdocs/index.html.el
+#home/httpd/htdocs/index.html.en
+#home/httpd/htdocs/index.html.es
+#home/httpd/htdocs/index.html.fr
+#home/httpd/htdocs/index.html.he.iso8859-8
+#home/httpd/htdocs/index.html.hu
+#home/httpd/htdocs/index.html.it
+#home/httpd/htdocs/index.html.ja.jis
+#home/httpd/htdocs/index.html.kr.iso-kr
+#home/httpd/htdocs/index.html.lb.utf8
+#home/httpd/htdocs/index.html.nl
+#home/httpd/htdocs/index.html.nn
+#home/httpd/htdocs/index.html.no
+#home/httpd/htdocs/index.html.po.iso-pl
+#home/httpd/htdocs/index.html.pt
+#home/httpd/htdocs/index.html.pt-br
+#home/httpd/htdocs/index.html.ru.cp-1251
+#home/httpd/htdocs/index.html.ru.cp866
+#home/httpd/htdocs/index.html.ru.iso-ru
+#home/httpd/htdocs/index.html.ru.koi8-r
+#home/httpd/htdocs/index.html.ru.ucs2
+#home/httpd/htdocs/index.html.ru.ucs4
+#home/httpd/htdocs/index.html.ru.utf8
+#home/httpd/htdocs/index.html.se
+#home/httpd/htdocs/index.html.zh-tw.big5
+#home/httpd/htdocs/manual
+#home/httpd/htdocs/manual/LICENSE
+#home/httpd/htdocs/manual/bind.html.en
+#home/httpd/htdocs/manual/bind.html.fr
+#home/httpd/htdocs/manual/bind.html.html
+#home/httpd/htdocs/manual/bind.html.ja.jis
+#home/httpd/htdocs/manual/configuring.html.en
+#home/httpd/htdocs/manual/configuring.html.fr
+#home/httpd/htdocs/manual/configuring.html.html
+#home/httpd/htdocs/manual/configuring.html.ja.jis
+#home/httpd/htdocs/manual/content-negotiation.html.en
+#home/httpd/htdocs/manual/content-negotiation.html.html
+#home/httpd/htdocs/manual/content-negotiation.html.ja.jis
+#home/httpd/htdocs/manual/custom-error.html.en
+#home/httpd/htdocs/manual/custom-error.html.fr
+#home/httpd/htdocs/manual/custom-error.html.html
+#home/httpd/htdocs/manual/custom-error.html.ja.jis
+#home/httpd/htdocs/manual/cygwin.html
+#home/httpd/htdocs/manual/dns-caveats.html.en
+#home/httpd/htdocs/manual/dns-caveats.html.fr
+#home/httpd/htdocs/manual/dns-caveats.html.html
+#home/httpd/htdocs/manual/dns-caveats.html.ja.jis
+#home/httpd/htdocs/manual/dso.html
+#home/httpd/htdocs/manual/ebcdic.html
+#home/httpd/htdocs/manual/env.html.en
+#home/httpd/htdocs/manual/env.html.html
+#home/httpd/htdocs/manual/env.html.ja.jis
+#home/httpd/htdocs/manual/footer.html
+#home/httpd/htdocs/manual/handler.html.en
+#home/httpd/htdocs/manual/handler.html.html
+#home/httpd/htdocs/manual/handler.html.ja.jis
+#home/httpd/htdocs/manual/header.html
+#home/httpd/htdocs/manual/howto
+#home/httpd/htdocs/manual/howto/auth.html
+#home/httpd/htdocs/manual/howto/cgi.html.en
+#home/httpd/htdocs/manual/howto/cgi.html.html
+#home/httpd/htdocs/manual/howto/cgi.html.ja.jis
+#home/httpd/htdocs/manual/howto/footer.html
+#home/httpd/htdocs/manual/howto/header.html
+#home/httpd/htdocs/manual/howto/htaccess.html
+#home/httpd/htdocs/manual/howto/ssi.html.en
+#home/httpd/htdocs/manual/howto/ssi.html.html
+#home/httpd/htdocs/manual/howto/ssi.html.ja.jis
+#home/httpd/htdocs/manual/images
+#home/httpd/htdocs/manual/images/apache_header.gif
+#home/httpd/htdocs/manual/images/apache_pb.gif
+#home/httpd/htdocs/manual/images/custom_errordocs.gif
+#home/httpd/htdocs/manual/images/feather.jpg
+#home/httpd/htdocs/manual/images/home.gif
+#home/httpd/htdocs/manual/images/index.gif
+#home/httpd/htdocs/manual/images/mod_rewrite_fig1.fig
+#home/httpd/htdocs/manual/images/mod_rewrite_fig1.gif
+#home/httpd/htdocs/manual/images/mod_rewrite_fig2.fig
+#home/httpd/htdocs/manual/images/mod_rewrite_fig2.gif
+#home/httpd/htdocs/manual/images/mod_ssl_sb.gif
+#home/httpd/htdocs/manual/images/openssl_ics.gif
+#home/httpd/htdocs/manual/images/pixel.gif
+#home/httpd/htdocs/manual/images/sub.gif
+#home/httpd/htdocs/manual/index.html.en
+#home/httpd/htdocs/manual/index.html.fr
+#home/httpd/htdocs/manual/index.html.html
+#home/httpd/htdocs/manual/index.html.ja.jis
+#home/httpd/htdocs/manual/install-tpf.html
+#home/httpd/htdocs/manual/install-ztpf.html
+#home/httpd/htdocs/manual/install.html.en
+#home/httpd/htdocs/manual/install.html.es
+#home/httpd/htdocs/manual/install.html.fr
+#home/httpd/htdocs/manual/install.html.html
+#home/httpd/htdocs/manual/install.html.ja.jis
+#home/httpd/htdocs/manual/invoking.html.en
+#home/httpd/htdocs/manual/invoking.html.fr
+#home/httpd/htdocs/manual/invoking.html.html
+#home/httpd/htdocs/manual/invoking.html.ja.jis
+#home/httpd/htdocs/manual/keepalive.html.en
+#home/httpd/htdocs/manual/keepalive.html.html
+#home/httpd/htdocs/manual/keepalive.html.ja.jis
+#home/httpd/htdocs/manual/location.html.en
+#home/httpd/htdocs/manual/location.html.html
+#home/httpd/htdocs/manual/location.html.ja.jis
+#home/httpd/htdocs/manual/logs.html
+#home/httpd/htdocs/manual/man-template.html
+#home/httpd/htdocs/manual/misc
+#home/httpd/htdocs/manual/misc/API.html
+#home/httpd/htdocs/manual/misc/FAQ.html
+#home/httpd/htdocs/manual/misc/HTTP_Features.tsv
+#home/httpd/htdocs/manual/misc/client_block_api.html
+#home/httpd/htdocs/manual/misc/compat_notes.html
+#home/httpd/htdocs/manual/misc/custom_errordocs.html
+#home/httpd/htdocs/manual/misc/descriptors.html
+#home/httpd/htdocs/manual/misc/fin_wait_2.html
+#home/httpd/htdocs/manual/misc/footer.html
+#home/httpd/htdocs/manual/misc/header.html
+#home/httpd/htdocs/manual/misc/howto.html
+#home/httpd/htdocs/manual/misc/index.html
+#home/httpd/htdocs/manual/misc/known_client_problems.html
+#home/httpd/htdocs/manual/misc/nopgp.html
+#home/httpd/htdocs/manual/misc/perf-bsd44.html
+#home/httpd/htdocs/manual/misc/perf-dec.html
+#home/httpd/htdocs/manual/misc/perf-hp.html
+#home/httpd/htdocs/manual/misc/perf-tuning.html
+#home/httpd/htdocs/manual/misc/perf.html
+#home/httpd/htdocs/manual/misc/rewriteguide.html
+#home/httpd/htdocs/manual/misc/security_tips.html
+#home/httpd/htdocs/manual/misc/tutorials.html
+#home/httpd/htdocs/manual/misc/vif-info.html
+#home/httpd/htdocs/manual/misc/windoz_keepalive.html
+#home/httpd/htdocs/manual/mod
+#home/httpd/htdocs/manual/mod/core.html.en
+#home/httpd/htdocs/manual/mod/core.html.fr
+#home/httpd/htdocs/manual/mod/core.html.html
+#home/httpd/htdocs/manual/mod/core.html.ja.jis
+#home/httpd/htdocs/manual/mod/directive-dict.html.en
+#home/httpd/htdocs/manual/mod/directive-dict.html.fr
+#home/httpd/htdocs/manual/mod/directive-dict.html.html
+#home/httpd/htdocs/manual/mod/directive-dict.html.ja.jis
+#home/httpd/htdocs/manual/mod/directives.html.de
+#home/httpd/htdocs/manual/mod/directives.html.en
+#home/httpd/htdocs/manual/mod/directives.html.fr
+#home/httpd/htdocs/manual/mod/directives.html.html
+#home/httpd/htdocs/manual/mod/directives.html.ja.jis
+#home/httpd/htdocs/manual/mod/footer.html
+#home/httpd/htdocs/manual/mod/header.html
+#home/httpd/htdocs/manual/mod/index-bytype.html.en
+#home/httpd/htdocs/manual/mod/index-bytype.html.fr
+#home/httpd/htdocs/manual/mod/index-bytype.html.html
+#home/httpd/htdocs/manual/mod/index-bytype.html.ja.jis
+#home/httpd/htdocs/manual/mod/index.html.en
+#home/httpd/htdocs/manual/mod/index.html.fr
+#home/httpd/htdocs/manual/mod/index.html.html
+#home/httpd/htdocs/manual/mod/index.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_access.html.en
+#home/httpd/htdocs/manual/mod/mod_access.html.html
+#home/httpd/htdocs/manual/mod/mod_access.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_actions.html.en
+#home/httpd/htdocs/manual/mod/mod_actions.html.html
+#home/httpd/htdocs/manual/mod/mod_actions.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_alias.html.en
+#home/httpd/htdocs/manual/mod/mod_alias.html.html
+#home/httpd/htdocs/manual/mod/mod_alias.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_asis.html.en
+#home/httpd/htdocs/manual/mod/mod_asis.html.html
+#home/httpd/htdocs/manual/mod/mod_asis.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_auth.html.en
+#home/httpd/htdocs/manual/mod/mod_auth.html.html
+#home/httpd/htdocs/manual/mod/mod_auth.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_auth_anon.html
+#home/httpd/htdocs/manual/mod/mod_auth_db.html
+#home/httpd/htdocs/manual/mod/mod_auth_dbm.html
+#home/httpd/htdocs/manual/mod/mod_auth_digest.html
+#home/httpd/htdocs/manual/mod/mod_autoindex.html.en
+#home/httpd/htdocs/manual/mod/mod_autoindex.html.html
+#home/httpd/htdocs/manual/mod/mod_autoindex.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_browser.html
+#home/httpd/htdocs/manual/mod/mod_cern_meta.html
+#home/httpd/htdocs/manual/mod/mod_cgi.html.en
+#home/httpd/htdocs/manual/mod/mod_cgi.html.html
+#home/httpd/htdocs/manual/mod/mod_cgi.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_cookies.html
+#home/httpd/htdocs/manual/mod/mod_define.html
+#home/httpd/htdocs/manual/mod/mod_digest.html
+#home/httpd/htdocs/manual/mod/mod_dir.html.en
+#home/httpd/htdocs/manual/mod/mod_dir.html.html
+#home/httpd/htdocs/manual/mod/mod_dir.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_dld.html
+#home/httpd/htdocs/manual/mod/mod_env.html.en
+#home/httpd/htdocs/manual/mod/mod_env.html.html
+#home/httpd/htdocs/manual/mod/mod_env.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_example.html
+#home/httpd/htdocs/manual/mod/mod_expires.html
+#home/httpd/htdocs/manual/mod/mod_headers.html
+#home/httpd/htdocs/manual/mod/mod_imap.html
+#home/httpd/htdocs/manual/mod/mod_include.html
+#home/httpd/htdocs/manual/mod/mod_info.html.en
+#home/httpd/htdocs/manual/mod/mod_info.html.html
+#home/httpd/htdocs/manual/mod/mod_info.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_isapi.html
+#home/httpd/htdocs/manual/mod/mod_log_agent.html
+#home/httpd/htdocs/manual/mod/mod_log_common.html
+#home/httpd/htdocs/manual/mod/mod_log_config.html.en
+#home/httpd/htdocs/manual/mod/mod_log_config.html.html
+#home/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_log_forensic.html.en
+#home/httpd/htdocs/manual/mod/mod_log_forensic.html.html
+#home/httpd/htdocs/manual/mod/mod_log_referer.html
+#home/httpd/htdocs/manual/mod/mod_mime.html.en
+#home/httpd/htdocs/manual/mod/mod_mime.html.html
+#home/httpd/htdocs/manual/mod/mod_mime.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_mime_magic.html
+#home/httpd/htdocs/manual/mod/mod_mmap_static.html
+#home/httpd/htdocs/manual/mod/mod_negotiation.html.en
+#home/httpd/htdocs/manual/mod/mod_negotiation.html.html
+#home/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_proxy.html
+#home/httpd/htdocs/manual/mod/mod_rewrite.html.en
+#home/httpd/htdocs/manual/mod/mod_rewrite.html.html
+#home/httpd/htdocs/manual/mod/mod_rewrite.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_setenvif.html.en
+#home/httpd/htdocs/manual/mod/mod_setenvif.html.html
+#home/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_so.html.en
+#home/httpd/htdocs/manual/mod/mod_so.html.html
+#home/httpd/htdocs/manual/mod/mod_so.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_speling.html.en
+#home/httpd/htdocs/manual/mod/mod_speling.html.html
+#home/httpd/htdocs/manual/mod/mod_speling.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_ssl
+#home/httpd/htdocs/manual/mod/mod_ssl/index.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_compat.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover_logo.jpg
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_cover_title.jpg
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_faq.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_glossary.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_glossary.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_howto.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig1.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig2.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_intro_fig3.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_overview_fig1.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.gfont000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.html
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_reference.wml
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-chapter.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-1.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-2.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-3.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-4.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-5.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-6.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.head-num-7.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.imgdot-1x1-000000.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.imgdot-1x1-transp.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.inc
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-next-n.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-next-s.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-prev-n.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.navbut-prev-s.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-abstract.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-compat.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-faq.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-gloss.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-howto.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-intro.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-over.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-preface.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-ref.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-toc.gif
+#home/httpd/htdocs/manual/mod/mod_ssl/ssl_template.title-tutor.gif
+#home/httpd/htdocs/manual/mod/mod_status.html
+#home/httpd/htdocs/manual/mod/mod_unique_id.html.en
+#home/httpd/htdocs/manual/mod/mod_unique_id.html.html
+#home/httpd/htdocs/manual/mod/mod_unique_id.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_userdir.html.en
+#home/httpd/htdocs/manual/mod/mod_userdir.html.html
+#home/httpd/htdocs/manual/mod/mod_userdir.html.ja.jis
+#home/httpd/htdocs/manual/mod/mod_usertrack.html
+#home/httpd/htdocs/manual/mod/mod_vhost_alias.html
+#home/httpd/htdocs/manual/mod/module-dict.html.en
+#home/httpd/htdocs/manual/mod/module-dict.html.html
+#home/httpd/htdocs/manual/mod/module-dict.html.ja.jis
+#home/httpd/htdocs/manual/mpeix.html
+#home/httpd/htdocs/manual/multilogs.html
+#home/httpd/htdocs/manual/netware.html
+#home/httpd/htdocs/manual/new_features_1_0.html
+#home/httpd/htdocs/manual/new_features_1_1.html
+#home/httpd/htdocs/manual/new_features_1_2.html
+#home/httpd/htdocs/manual/new_features_1_3.html.en
+#home/httpd/htdocs/manual/new_features_1_3.html.html
+#home/httpd/htdocs/manual/new_features_1_3.html.ja.jis
+#home/httpd/htdocs/manual/process-model.html.en
+#home/httpd/htdocs/manual/process-model.html.html
+#home/httpd/htdocs/manual/process-model.html.ja.jis
+#home/httpd/htdocs/manual/programs
+#home/httpd/htdocs/manual/programs/ab.html
+#home/httpd/htdocs/manual/programs/apachectl.html.en
+#home/httpd/htdocs/manual/programs/apachectl.html.html
+#home/httpd/htdocs/manual/programs/apachectl.html.ja.jis
+#home/httpd/htdocs/manual/programs/apxs.html
+#home/httpd/htdocs/manual/programs/dbmmanage.html
+#home/httpd/htdocs/manual/programs/footer.html
+#home/httpd/htdocs/manual/programs/header.html
+#home/httpd/htdocs/manual/programs/htdigest.html
+#home/httpd/htdocs/manual/programs/htpasswd.html.en
+#home/httpd/htdocs/manual/programs/htpasswd.html.html
+#home/httpd/htdocs/manual/programs/htpasswd.html.ja.jis
+#home/httpd/htdocs/manual/programs/httpd.html.en
+#home/httpd/htdocs/manual/programs/httpd.html.html
+#home/httpd/htdocs/manual/programs/httpd.html.ja.jis
+#home/httpd/htdocs/manual/programs/index.html.en
+#home/httpd/htdocs/manual/programs/index.html.html
+#home/httpd/htdocs/manual/programs/index.html.ja.jis
+#home/httpd/htdocs/manual/programs/logresolve.html
+#home/httpd/htdocs/manual/programs/other.html
+#home/httpd/htdocs/manual/programs/rotatelogs.html
+#home/httpd/htdocs/manual/programs/suexec.html.en
+#home/httpd/htdocs/manual/programs/suexec.html.html
+#home/httpd/htdocs/manual/programs/suexec.html.ja.jis
+#home/httpd/htdocs/manual/readme-tpf.html
+#home/httpd/htdocs/manual/sections.html.en
+#home/httpd/htdocs/manual/sections.html.html
+#home/httpd/htdocs/manual/sections.html.ja.jis
+#home/httpd/htdocs/manual/server-wide.html.en
+#home/httpd/htdocs/manual/server-wide.html.fr
+#home/httpd/htdocs/manual/server-wide.html.html
+#home/httpd/htdocs/manual/server-wide.html.ja.jis
+#home/httpd/htdocs/manual/sitemap.html
+#home/httpd/htdocs/manual/sourcereorg.html
+#home/httpd/htdocs/manual/stopping.html.en
+#home/httpd/htdocs/manual/stopping.html.fr
+#home/httpd/htdocs/manual/stopping.html.html
+#home/httpd/htdocs/manual/suexec.html.en
+#home/httpd/htdocs/manual/suexec.html.html
+#home/httpd/htdocs/manual/suexec.html.ja.jis
+#home/httpd/htdocs/manual/suexec_1_2.html
+#home/httpd/htdocs/manual/unixware.html
+#home/httpd/htdocs/manual/upgrading_to_1_3.html
+#home/httpd/htdocs/manual/urlmapping.html
+#home/httpd/htdocs/manual/vhosts
+#home/httpd/htdocs/manual/vhosts/details.html
+#home/httpd/htdocs/manual/vhosts/details_1_2.html
+#home/httpd/htdocs/manual/vhosts/examples.html
+#home/httpd/htdocs/manual/vhosts/fd-limits.html.en
+#home/httpd/htdocs/manual/vhosts/fd-limits.html.html
+#home/httpd/htdocs/manual/vhosts/fd-limits.html.ja.jis
+#home/httpd/htdocs/manual/vhosts/footer.html
+#home/httpd/htdocs/manual/vhosts/header.html
+#home/httpd/htdocs/manual/vhosts/host.html
+#home/httpd/htdocs/manual/vhosts/index.html.en
+#home/httpd/htdocs/manual/vhosts/index.html.html
+#home/httpd/htdocs/manual/vhosts/index.html.ja.jis
+#home/httpd/htdocs/manual/vhosts/ip-based.html
+#home/httpd/htdocs/manual/vhosts/mass.html
+#home/httpd/htdocs/manual/vhosts/name-based.html.en
+#home/httpd/htdocs/manual/vhosts/name-based.html.html
+#home/httpd/htdocs/manual/vhosts/name-based.html.ja.jis
+#home/httpd/htdocs/manual/vhosts/vhosts-in-depth.html
+#home/httpd/htdocs/manual/vhosts/virtual-host.html
+#home/httpd/htdocs/manual/win_compiling.html.en
+#home/httpd/htdocs/manual/win_compiling.html.html
+#home/httpd/htdocs/manual/win_compiling.html.ja.jis
+#home/httpd/htdocs/manual/win_service.html.en
+#home/httpd/htdocs/manual/win_service.html.html
+#home/httpd/htdocs/manual/win_service.html.ja.jis
+#home/httpd/htdocs/manual/windows.html.en
+#home/httpd/htdocs/manual/windows.html.html
+#home/httpd/htdocs/manual/windows.html.ja.jis
+home/httpd/html
+#home/httpd/html/backup
+#home/httpd/html/blob.gif
+#home/httpd/html/favicon.ico
+#home/httpd/html/images
+#home/httpd/html/images/add.gif
+#home/httpd/html/images/addblue.gif
+#home/httpd/html/images/bounceback.png
+#home/httpd/html/images/boxbottom1.png
+#home/httpd/html/images/boxbottom2.png
+#home/httpd/html/images/boxbottom3.png
+#home/httpd/html/images/boxleft.png
+#home/httpd/html/images/boxright.png
+#home/httpd/html/images/boxtop1.png
+#home/httpd/html/images/boxtop2.png
+#home/httpd/html/images/boxtop3.png
+#home/httpd/html/images/clock.gif
+#home/httpd/html/images/delete.gif
+#home/httpd/html/images/download.png
+#home/httpd/html/images/edit.gif
+#home/httpd/html/images/floppy.gif
+#home/httpd/html/images/forward.gif
+#home/httpd/html/images/header.png
+#home/httpd/html/images/info.gif
+#home/httpd/html/images/null.gif
+#home/httpd/html/images/off.gif
+#home/httpd/html/images/on.gif
+#home/httpd/html/images/reload.gif
+#home/httpd/html/images/sflogo.png
+#home/httpd/html/images/web-support.png
+#home/httpd/html/include
+#home/httpd/html/include/domMenu.js
+#home/httpd/html/include/ipcop.css
+#home/httpd/html/index.cgi
+#home/httpd/html/ipcop_big.gif
+#home/httpd/icons
+#home/httpd/icons/README
+#home/httpd/icons/a.gif
+#home/httpd/icons/a.png
+#home/httpd/icons/alert.black.gif
+#home/httpd/icons/alert.black.png
+#home/httpd/icons/alert.red.gif
+#home/httpd/icons/alert.red.png
+#home/httpd/icons/apache_pb.gif
+#home/httpd/icons/apache_pb.png
+#home/httpd/icons/back.gif
+#home/httpd/icons/back.png
+#home/httpd/icons/ball.gray.gif
+#home/httpd/icons/ball.gray.png
+#home/httpd/icons/ball.red.gif
+#home/httpd/icons/ball.red.png
+#home/httpd/icons/binary.gif
+#home/httpd/icons/binary.png
+#home/httpd/icons/binhex.gif
+#home/httpd/icons/binhex.png
+#home/httpd/icons/blank.gif
+#home/httpd/icons/blank.png
+#home/httpd/icons/bomb.gif
+#home/httpd/icons/bomb.png
+#home/httpd/icons/box1.gif
+#home/httpd/icons/box1.png
+#home/httpd/icons/box2.gif
+#home/httpd/icons/box2.png
+#home/httpd/icons/broken.gif
+#home/httpd/icons/broken.png
+#home/httpd/icons/burst.gif
+#home/httpd/icons/burst.png
+#home/httpd/icons/c.gif
+#home/httpd/icons/c.png
+#home/httpd/icons/comp.blue.gif
+#home/httpd/icons/comp.blue.png
+#home/httpd/icons/comp.gray.gif
+#home/httpd/icons/comp.gray.png
+#home/httpd/icons/compressed.gif
+#home/httpd/icons/compressed.png
+#home/httpd/icons/continued.gif
+#home/httpd/icons/continued.png
+#home/httpd/icons/dir.gif
+#home/httpd/icons/dir.png
+#home/httpd/icons/diskimg.gif
+#home/httpd/icons/diskimg.png
+#home/httpd/icons/down.gif
+#home/httpd/icons/down.png
+#home/httpd/icons/dvi.gif
+#home/httpd/icons/dvi.png
+#home/httpd/icons/f.gif
+#home/httpd/icons/f.png
+#home/httpd/icons/folder.gif
+#home/httpd/icons/folder.open.gif
+#home/httpd/icons/folder.open.png
+#home/httpd/icons/folder.png
+#home/httpd/icons/folder.sec.gif
+#home/httpd/icons/folder.sec.png
+#home/httpd/icons/forward.gif
+#home/httpd/icons/forward.png
+#home/httpd/icons/generic.gif
+#home/httpd/icons/generic.png
+#home/httpd/icons/generic.red.gif
+#home/httpd/icons/generic.red.png
+#home/httpd/icons/generic.sec.gif
+#home/httpd/icons/generic.sec.png
+#home/httpd/icons/hand.right.gif
+#home/httpd/icons/hand.right.png
+#home/httpd/icons/hand.up.gif
+#home/httpd/icons/hand.up.png
+#home/httpd/icons/icon.sheet.gif
+#home/httpd/icons/icon.sheet.png
+#home/httpd/icons/image1.gif
+#home/httpd/icons/image1.png
+#home/httpd/icons/image2.gif
+#home/httpd/icons/image2.png
+#home/httpd/icons/image3.gif
+#home/httpd/icons/image3.png
+#home/httpd/icons/index.gif
+#home/httpd/icons/index.png
+#home/httpd/icons/layout.gif
+#home/httpd/icons/layout.png
+#home/httpd/icons/left.gif
+#home/httpd/icons/left.png
+#home/httpd/icons/link.gif
+#home/httpd/icons/link.png
+#home/httpd/icons/movie.gif
+#home/httpd/icons/movie.png
+#home/httpd/icons/p.gif
+#home/httpd/icons/p.png
+#home/httpd/icons/patch.gif
+#home/httpd/icons/patch.png
+#home/httpd/icons/pdf.gif
+#home/httpd/icons/pdf.png
+#home/httpd/icons/pie0.gif
+#home/httpd/icons/pie0.png
+#home/httpd/icons/pie1.gif
+#home/httpd/icons/pie1.png
+#home/httpd/icons/pie2.gif
+#home/httpd/icons/pie2.png
+#home/httpd/icons/pie3.gif
+#home/httpd/icons/pie3.png
+#home/httpd/icons/pie4.gif
+#home/httpd/icons/pie4.png
+#home/httpd/icons/pie5.gif
+#home/httpd/icons/pie5.png
+#home/httpd/icons/pie6.gif
+#home/httpd/icons/pie6.png
+#home/httpd/icons/pie7.gif
+#home/httpd/icons/pie7.png
+#home/httpd/icons/pie8.gif
+#home/httpd/icons/pie8.png
+#home/httpd/icons/portal.gif
+#home/httpd/icons/portal.png
+#home/httpd/icons/ps.gif
+#home/httpd/icons/ps.png
+#home/httpd/icons/quill.gif
+#home/httpd/icons/quill.png
+#home/httpd/icons/right.gif
+#home/httpd/icons/right.png
+#home/httpd/icons/screw1.gif
+#home/httpd/icons/screw1.png
+#home/httpd/icons/screw2.gif
+#home/httpd/icons/screw2.png
+#home/httpd/icons/script.gif
+#home/httpd/icons/script.png
+#home/httpd/icons/small
+#home/httpd/icons/small/README.txt
+#home/httpd/icons/small/back.gif
+#home/httpd/icons/small/back.png
+#home/httpd/icons/small/binary.gif
+#home/httpd/icons/small/binary.png
+#home/httpd/icons/small/binhex.gif
+#home/httpd/icons/small/binhex.png
+#home/httpd/icons/small/blank.gif
+#home/httpd/icons/small/blank.png
+#home/httpd/icons/small/broken.gif
+#home/httpd/icons/small/broken.png
+#home/httpd/icons/small/burst.gif
+#home/httpd/icons/small/burst.png
+#home/httpd/icons/small/comp1.gif
+#home/httpd/icons/small/comp1.png
+#home/httpd/icons/small/comp2.gif
+#home/httpd/icons/small/comp2.png
+#home/httpd/icons/small/compressed.gif
+#home/httpd/icons/small/compressed.png
+#home/httpd/icons/small/continued.gif
+#home/httpd/icons/small/continued.png
+#home/httpd/icons/small/dir.gif
+#home/httpd/icons/small/dir.png
+#home/httpd/icons/small/dir2.gif
+#home/httpd/icons/small/dir2.png
+#home/httpd/icons/small/doc.gif
+#home/httpd/icons/small/doc.png
+#home/httpd/icons/small/forward.gif
+#home/httpd/icons/small/forward.png
+#home/httpd/icons/small/generic.gif
+#home/httpd/icons/small/generic.png
+#home/httpd/icons/small/generic2.gif
+#home/httpd/icons/small/generic2.png
+#home/httpd/icons/small/generic3.gif
+#home/httpd/icons/small/generic3.png
+#home/httpd/icons/small/image.gif
+#home/httpd/icons/small/image.png
+#home/httpd/icons/small/image2.gif
+#home/httpd/icons/small/image2.png
+#home/httpd/icons/small/index.gif
+#home/httpd/icons/small/index.png
+#home/httpd/icons/small/key.gif
+#home/httpd/icons/small/key.png
+#home/httpd/icons/small/movie.gif
+#home/httpd/icons/small/movie.png
+#home/httpd/icons/small/patch.gif
+#home/httpd/icons/small/patch.png
+#home/httpd/icons/small/ps.gif
+#home/httpd/icons/small/ps.png
+#home/httpd/icons/small/rainbow.gif
+#home/httpd/icons/small/rainbow.png
+#home/httpd/icons/small/sound.gif
+#home/httpd/icons/small/sound.png
+#home/httpd/icons/small/sound2.gif
+#home/httpd/icons/small/sound2.png
+#home/httpd/icons/small/tar.gif
+#home/httpd/icons/small/tar.png
+#home/httpd/icons/small/text.gif
+#home/httpd/icons/small/text.png
+#home/httpd/icons/small/transfer.gif
+#home/httpd/icons/small/transfer.png
+#home/httpd/icons/small/unknown.gif
+#home/httpd/icons/small/unknown.png
+#home/httpd/icons/small/uu.gif
+#home/httpd/icons/small/uu.png
+#home/httpd/icons/sound1.gif
+#home/httpd/icons/sound1.png
+#home/httpd/icons/sound2.gif
+#home/httpd/icons/sound2.png
+#home/httpd/icons/sphere1.gif
+#home/httpd/icons/sphere1.png
+#home/httpd/icons/sphere2.gif
+#home/httpd/icons/sphere2.png
+#home/httpd/icons/tar.gif
+#home/httpd/icons/tar.png
+#home/httpd/icons/tex.gif
+#home/httpd/icons/tex.png
+#home/httpd/icons/text.gif
+#home/httpd/icons/text.png
+#home/httpd/icons/transfer.gif
+#home/httpd/icons/transfer.png
+#home/httpd/icons/unknown.gif
+#home/httpd/icons/unknown.png
+#home/httpd/icons/up.gif
+#home/httpd/icons/up.png
+#home/httpd/icons/uu.gif
+#home/httpd/icons/uu.png
+#home/httpd/icons/uuencoded.gif
+#home/httpd/icons/uuencoded.png
+#home/httpd/icons/world1.gif
+#home/httpd/icons/world1.png
+#home/httpd/icons/world2.gif
+#home/httpd/icons/world2.png
+#usr/bin/ab
+#usr/bin/apachectl
+#usr/bin/apxs
+#usr/bin/checkgid
+#usr/bin/dbmmanage
+#usr/bin/htdigest
+usr/bin/htpasswd
+#usr/bin/logresolve
+#usr/bin/rotatelogs
+#usr/include/apache
+#usr/include/apache/ap.h
+#usr/include/apache/ap_alloc.h
+#usr/include/apache/ap_compat.h
+#usr/include/apache/ap_config.h
+#usr/include/apache/ap_config_auto.h
+#usr/include/apache/ap_ctx.h
+#usr/include/apache/ap_ctype.h
+#usr/include/apache/ap_ebcdic.h
+#usr/include/apache/ap_hook.h
+#usr/include/apache/ap_md5.h
+#usr/include/apache/ap_mm.h
+#usr/include/apache/ap_mmn.h
+#usr/include/apache/ap_sha1.h
+#usr/include/apache/buff.h
+#usr/include/apache/compat.h
+#usr/include/apache/conf.h
+#usr/include/apache/explain.h
+#usr/include/apache/fnmatch.h
+#usr/include/apache/hsregex.h
+#usr/include/apache/http_conf_globals.h
+#usr/include/apache/http_config.h
+#usr/include/apache/http_core.h
+#usr/include/apache/http_log.h
+#usr/include/apache/http_main.h
+#usr/include/apache/http_protocol.h
+#usr/include/apache/http_request.h
+#usr/include/apache/http_vhost.h
+#usr/include/apache/httpd.h
+#usr/include/apache/multithread.h
+#usr/include/apache/os-inline.c
+#usr/include/apache/os.h
+#usr/include/apache/rfc1413.h
+#usr/include/apache/scoreboard.h
+#usr/include/apache/util_date.h
+#usr/include/apache/util_md5.h
+#usr/include/apache/util_script.h
+#usr/include/apache/util_uri.h
+#usr/include/apache/xml
+#usr/include/apache/xml/asciitab.h
+#usr/include/apache/xml/hashtable.h
+#usr/include/apache/xml/iasciitab.h
+#usr/include/apache/xml/latin1tab.h
+#usr/include/apache/xml/nametab.h
+#usr/include/apache/xml/utf8tab.h
+#usr/include/apache/xml/xmldef.h
+#usr/include/apache/xml/xmlparse.h
+#usr/include/apache/xml/xmlrole.h
+#usr/include/apache/xml/xmltok.h
+#usr/include/apache/xml/xmltok_impl.h
+#usr/libexec
+usr/sbin/httpd
+#usr/share/man/man1/dbmmanage.1
+#usr/share/man/man1/htdigest.1
+#usr/share/man/man1/htpasswd.1
+#usr/share/man/man8/ab.8
+#usr/share/man/man8/apachectl.8
+#usr/share/man/man8/apxs.8
+#usr/share/man/man8/httpd.8
+#usr/share/man/man8/logresolve.8
+#usr/share/man/man8/rotatelogs.8
+var/log/httpd
+#var/proxy
+##
+## arping-2.0.5
+##
+usr/sbin/arping
+##
+## beep-1.2.2
+##
+usr/bin/beep
+##
+## bind-9.2.5
+##
+usr/bin/host
+usr/bin/nsupdate
+##
+## capi4k-utils-2004-10-06
+##
+#etc/ppp/peers/isdn
+#etc/ppp/peers/isdn/arcor
+#etc/ppp/peers/isdn/otelo
+#etc/ppp/peers/isdn/talkline
+#etc/ppp/peers/isdn/avm
+#etc/ppp/peers/isdn/avm-ml
+#etc/ppp/peers/isdn/leased
+#etc/drdsl
+#etc/drdsl/adsl.conf
+#usr/include/capi20.h
+#usr/include/capiutils.h
+#usr/include/capicmd.h
+usr/lib/pppd/2.4.2/capiplugin.so
+usr/lib/pppd/2.4.2/userpass.so
+#usr/lib/libcapi20dyn.a
+usr/lib/libcapi20.so.2.0.9
+usr/lib/libcapi20.so.2
+usr/lib/libcapi20.so
+#usr/lib/libcapi20.la
+#usr/lib/libcapi20.a
+usr/sbin/capiinit
+#usr/share/man/man8/avmcapictrl.8
+#usr/share/man/man8/capiplugin.8
+#sbin/avmcapictrl
+##
+## cdrtools-2.01
+##
+#usr/bin/cdda2wav
+#usr/bin/cdrecord
+#usr/bin/devdump
+#usr/bin/isodebug
+#usr/bin/isodump
+#usr/bin/isoinfo
+#usr/bin/isovfy
+#usr/bin/mkhybrid
+#usr/bin/mkisofs
+#usr/bin/readcd
+#usr/bin/scgcheck
+#usr/bin/skel
+#usr/include/align.h
+#usr/include/avoffset.h
+#usr/lib/libdeflt.a
+#usr/lib/libedc_ecc.a
+#usr/lib/libfile.a
+#usr/lib/libhfs.a
+#usr/lib/libparanoia.a
+#usr/lib/librscg.a
+#usr/lib/libscg.a
+#usr/lib/libschily.a
+#usr/lib/libunls.a
+#usr/sbin/rscsi
+#usr/share/man/man1/cdda2ogg.1
+#usr/share/man/man1/cdda2wav.1
+#usr/share/man/man1/cdrecord.1
+#usr/share/man/man1/readcd.1
+#usr/share/man/man1/scgcheck.1
+#usr/share/man/man5/makefiles.5
+#usr/share/man/man5/makerules.5
+#usr/share/man/man8/isoinfo.8
+#usr/share/man/man8/mkhybrid.8
+#usr/share/man/man8/mkisofs.8
+##
+## CnxADSL-TgrATMcln-20041004
+##
+lib/modules/2.4.31/misc/CnxADSL.o.gz
+usr/sbin/cnxadslconfig
+usr/sbin/cnxadslstatus
+#usr/sbin/cnxadslautolog
+#etc/Conexant
+etc/Conexant/CnxTgF.hex
+etc/Conexant/CnxYkF.hex
+etc/Conexant/cnxadsl.conf
+etc/Conexant/cnxadslload
+etc/Conexant/cnxadslctl.conf
+##
+## CnxADSL-TgrATMcln-20041004-smp
+##
+lib/modules/2.4.31-smp/misc/CnxADSL.o.gz
+##
+## configroot
+##
+var/ipfire
+#var/ipcop/alcatelusb
+#var/ipcop/auth
+#var/ipcop/auth/users
+#var/ipcop/backup
+#var/ipcop/backup/exclude.hardware
+#var/ipcop/backup/exclude.system
+#var/ipcop/backup/exclude.user
+#var/ipcop/backup/include.system
+#var/ipcop/backup/include.user
+#var/ipcop/backup/sets
+#var/ipcop/ca
+#var/ipcop/certs
+#var/ipcop/certs/index.txt
+#var/ipcop/certs/serial
+#var/ipcop/cnx_pci
+#var/ipcop/countries.pl
+#var/ipcop/crls
+#var/ipcop/ddns
+#var/ipcop/ddns/config
+#var/ipcop/ddns/ipcache
+#var/ipcop/ddns/noipsettings
+#var/ipcop/ddns/settings
+#var/ipcop/dhcp
+#var/ipcop/dhcp/advoptions
+#var/ipcop/dhcp/advoptions-list
+#var/ipcop/dhcp/fixleases
+#var/ipcop/dhcp/settings
+#var/ipcop/dhcpc
+#var/ipcop/dhcpc/dhcpcd.exe
+#var/ipcop/dmzholes
+#var/ipcop/dmzholes/config
+#var/ipcop/eagle-usb
+#var/ipcop/eciadsl
+#var/ipcop/ethernet
+#var/ipcop/ethernet/aliases
+#var/ipcop/ethernet/settings
+#var/ipcop/general-functions.pl
+#var/ipcop/header.pl
+#var/ipcop/isdn
+#var/ipcop/isdn/settings
+#var/ipcop/key
+#var/ipcop/key/ipcop.gpg
+#var/ipcop/lang.pl
+#var/ipcop/langs
+#var/ipcop/langs/bz.pl
+#var/ipcop/langs/cs.pl
+#var/ipcop/langs/da.pl
+#var/ipcop/langs/de.pl
+#var/ipcop/langs/el.pl
+#var/ipcop/langs/en.pl
+#var/ipcop/langs/es.pl
+#var/ipcop/langs/fi.pl
+#var/ipcop/langs/fr.pl
+#var/ipcop/langs/hu.pl
+#var/ipcop/langs/it.pl
+#var/ipcop/langs/la.pl
+#var/ipcop/langs/list
+#var/ipcop/langs/lt.pl
+#var/ipcop/langs/nl.pl
+#var/ipcop/langs/no.pl
+#var/ipcop/langs/pl.pl
+#var/ipcop/langs/pt.pl
+#var/ipcop/langs/ro.pl
+#var/ipcop/langs/ru.pl
+#var/ipcop/langs/so.pl
+#var/ipcop/langs/sv.pl
+#var/ipcop/langs/th.pl
+#var/ipcop/langs/tr.pl
+#var/ipcop/langs/vi.pl
+#var/ipcop/langs/zh.pl
+#var/ipcop/logging
+#var/ipcop/logging/settings
+#var/ipcop/main
+#var/ipcop/main/hosts
+#var/ipcop/main/settings
+#var/ipcop/modem
+#var/ipcop/modem/defaults
+#var/ipcop/modem/settings
+#var/ipcop/patches
+#var/ipcop/patches/available
+#var/ipcop/patches/installed
+#var/ipcop/portfw
+#var/ipcop/portfw/config
+#var/ipcop/ppp
+#var/ipcop/ppp/fake-resolv.conf
+#var/ipcop/ppp/settings
+#var/ipcop/ppp/settings-1
+#var/ipcop/ppp/settings-2
+#var/ipcop/ppp/settings-3
+#var/ipcop/ppp/settings-4
+#var/ipcop/ppp/settings-5
+#var/ipcop/proxy
+#var/ipcop/proxy/acl-1.4
+#var/ipcop/proxy/settings
+#var/ipcop/red
+#var/ipcop/remote
+#var/ipcop/remote/settings
+#var/ipcop/shaping
+#var/ipcop/shaping/config
+#var/ipcop/shaping/settings
+#var/ipcop/snort
+#var/ipcop/snort/settings
+#var/ipcop/time
+#var/ipcop/time/settings
+#var/ipcop/vpn
+#var/ipcop/vpn/caconfig
+#var/ipcop/vpn/config
+#var/ipcop/vpn/ipsec.conf
+#var/ipcop/vpn/ipsec.secrets
+#var/ipcop/vpn/settings
+#var/ipcop/wireless
+#var/ipcop/wireless/config
+#var/ipcop/wireless/settings
+#var/ipcop/xtaccess
+#var/ipcop/xtaccess/config
+##
+## cxacru-2003-10-05
+##
+#lib/modules/2.4.31/kernel/drivers/usb/cxacru.o.gz
+usr/sbin/cxfirm1.bin
+usr/sbin/cxfirm2.bin
+usr/sbin/cxfirm3.bin
+usr/sbin/cxfirm4.bin
+usr/sbin/cxfirm5.bin
+usr/sbin/cxioctl
+usr/sbin/cxload
+##
+## cxacru-2003-10-05-smp
+##
+#lib/modules/2.4.31-smp/kernel/drivers/usb/cxacru.o.gz
+#usr/sbin/cxfirm1.bin
+#usr/sbin/cxfirm2.bin
+#usr/sbin/cxfirm3.bin
+#usr/sbin/cxfirm4.bin
+#usr/sbin/cxfirm5.bin
+#usr/sbin/cxioctl
+#usr/sbin/cxload
+##
+## dhcp-3.0.2
+##
+etc/dhcpd.conf
+#sbin/dhclient
+#sbin/dhclient-script
+#usr/bin/omshell
+#usr/local/include/dhcpctl.h
+#usr/local/include/isc-dhcp
+#usr/local/include/isc-dhcp/boolean.h
+#usr/local/include/isc-dhcp/dst.h
+#usr/local/include/isc-dhcp/int.h
+#usr/local/include/isc-dhcp/lang.h
+#usr/local/include/isc-dhcp/list.h
+#usr/local/include/isc-dhcp/result.h
+#usr/local/include/isc-dhcp/types.h
+#usr/local/include/omapip
+#usr/local/include/omapip/alloc.h
+#usr/local/include/omapip/buffer.h
+#usr/local/include/omapip/omapip.h
+#usr/local/lib/libdhcpctl.a
+#usr/local/lib/libomapi.a
+usr/sbin/dhcpd
+#usr/sbin/dhcrelay
+#usr/share/man/man1/omshell.1
+#usr/share/man/man3/dhcpctl.3
+#usr/share/man/man3/omapi.3
+#usr/share/man/man3/omshell.3
+#usr/share/man/man5/dhclient.conf.5
+#usr/share/man/man5/dhclient.leases.5
+#usr/share/man/man5/dhcp-eval.5
+#usr/share/man/man5/dhcp-options.5
+#usr/share/man/man5/dhcpd.conf.5
+#usr/share/man/man5/dhcpd.leases.5
+#usr/share/man/man8/dhclient-script.8
+#usr/share/man/man8/dhclient.8
+#usr/share/man/man8/dhcpd.8
+#usr/share/man/man8/dhcrelay.8
+#var/state
+#var/state/dhcp
+var/state/dhcp/dhcpd.leases
+##
+## dhcpcd-1.3.22-pl4
+##
+#etc/dhcpc
+usr/sbin/dhcpcd
+#usr/share/man/man8/dhcpcd.8
+##
+## dnsmasq-2.22
+##
+usr/sbin/dnsmasq
+#usr/share/man/man8/dnsmasq.8
+##
+## dosfstools-2.11
+##
+#sbin/dosfsck
+#sbin/fsck.msdos
+#sbin/fsck.vfat
+#sbin/mkdosfs
+#sbin/mkfs.msdos
+#sbin/mkfs.vfat
+#usr/share/man/man8/dosfsck.8
+#usr/share/man/man8/fsck.msdos.8
+#usr/share/man/man8/fsck.vfat.8
+#usr/share/man/man8/mkdosfs.8
+#usr/share/man/man8/mkfs.msdos.8
+#usr/share/man/man8/mkfs.vfat.8
+##
+## eagle-usb-2.3.2
+##
+#etc/eagle-usb
+etc/eagle-usb/CMVeiWO.txt
+etc/eagle-usb/CMVepES.txt
+etc/eagle-usb/CMVepES03.txt
+etc/eagle-usb/CMVepFR.txt
+etc/eagle-usb/CMVepFR04.txt
+etc/eagle-usb/CMVepFR10.txt
+etc/eagle-usb/CMVepIT.txt
+etc/eagle-usb/CMVepWO.txt
+#etc/eagle-usb/eagle-usb.conf.template
+#lib/modules/2.4.31/misc
+lib/modules/2.4.31/misc/eagle-usb.o.gz
+usr/sbin/eaglectrl
+usr/sbin/eaglestat
+usr/sbin/pppoa
+#usr/share/eagle-usb
+#usr/share/eagle-usb/dsp
+usr/share/eagle-usb/dsp/dsp_code_isdn.bin
+usr/share/eagle-usb/dsp/dsp_code_pots.bin
+##
+## eagle-usb-2.3.2-smp
+##
+#lib/modules/2.4.31-smp/misc
+lib/modules/2.4.31-smp/misc/eagle-usb.o.gz
+##
+## eciadsl-usermode-0.11
+##
+#etc/eciadsl
+etc/eciadsl/eciadsl.conf
+etc/eciadsl/firmware00.bin
+etc/eciadsl/modems.db
+usr/sbin/eciadsl-firmware
+usr/sbin/eciadsl-pppoeci
+usr/sbin/eciadsl-synch
+##
+## ethtool-3
+##
+usr/sbin/ethtool
+#usr/share/man/man8/ethtool.8
+##
+## ez-ipupdate-3.0.11b8
+##
+usr/bin/ez-ipupdate
+##
+## fcdsl-suse8.1-03.11.02
+##
+#etc/fcdsl/fcdsl.conf
+#usr/lib/isdn/fdslbase.bin
+#lib/modules/2.4.31/misc/fcdsl.o.gz
+##
+## fcdsl2-suse8.1-03.11.03
+##
+#etc/fcdsl/fcdsl2.conf
+#usr/lib/isdn/fds2base.bin
+#lib/modules/2.4.31/misc/fcdsl2.o.gz
+##
+## fcdslsl-suse8.1-03.11.02
+##
+#etc/fcdsl/fcdslsl.conf
+#usr/lib/isdn/fdssbase.bin
+#lib/modules/2.4.31/misc/fcdslsl.o.gz
+##
+## fcdslusb-suse8.1-03.11.02
+##
+#etc/fcdsl/fcdslusb.conf
+#usr/lib/isdn/fdsubase.frm
+#lib/modules/2.4.31/misc/fcdslusb.o.gz
+##
+## fcdslslusb-suse8.1-03.11.04
+##
+#etc/fcdsl/fcdslslusb.conf
+#usr/lib/isdn/fdlubase.frm
+#lib/modules/2.4.31/misc/fcdslslusb.o.gz
+##
+## fcdsl-suse8.1-03.11.02-smp
+##
+#lib/modules/2.4.31-smp/misc/fcdsl.o.gz
+##
+## fcdsl2-suse8.1-03.11.03-smp
+##
+#lib/modules/2.4.31-smp/misc/fcdsl2.o.gz
+##
+## fcdslsl-suse8.1-03.11.02-smp
+##
+#lib/modules/2.4.31-smp/misc/fcdslsl.o.gz
+##
+## fcdslusb-suse8.1-03.11.02-smp
+##
+#lib/modules/2.4.31-smp/misc/fcdslusb.o.gz
+##
+## fcdslslusb-suse8.1-03.11.04-smp
+##
+#lib/modules/2.4.31-smp/misc/fcdslslusb.o.gz
+##
+## fcron-2.0.2
+##
+etc/fcron.allow
+etc/fcron.conf
+etc/fcron.deny
+usr/bin/fcronsighup
+usr/bin/fcrontab
+usr/sbin/fcron
+#usr/share/doc/fcron-2.0.1
+#usr/share/doc/fcron-2.0.1/fcron.conf.5.html
+#usr/share/doc/fcron-2.0.1/LICENSE
+#usr/share/doc/fcron-2.0.1/README
+#usr/share/doc/fcron-2.0.1/fcron.8.html
+#usr/share/doc/fcron-2.0.1/CHANGES
+#usr/share/doc/fcron-2.0.1/fcrontab.1.html
+#usr/share/doc/fcron-2.0.1/fcrontab.5.html
+#usr/share/man/man1/fcrontab.1
+#usr/share/man/man3/bitstring.3
+#usr/share/man/man5/fcrontab.5
+#usr/share/man/man5/fcron.conf.5
+#usr/share/man/man8/fcron.8
+var/spool/cron/root.orig
+var/spool/cron/new.root
+##
+## GD-2.12
+##
+#usr/lib/perl5/5.8.5/i386-linux/perllocal.pod
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/GD
+usr/lib/perl5/site_perl/5.8.5/i386-linux/GD.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/GD/Polyline.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/.packlist
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/GD.bs
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/GD.so
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/GD/autosplit.ix
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/qd.pl
+#usr/share/man/man3/GD.3
+#usr/share/man/man3/GD::Polyline.3
+##
+## gnupg-1.4.2
+##
+#root/.gnupg
+root/.gnupg/gpg.conf
+root/.gnupg/pubring.gpg
+#root/.gnupg/pubring.gpg~
+root/.gnupg/secring.gpg
+root/.gnupg/trustdb.gpg
+usr/bin/gpg
+#usr/bin/gpgsplit
+#usr/bin/gpgv
+#usr/libexec/gnupg
+#usr/share/gnupg
+#usr/share/gnupg/FAQ
+#usr/share/gnupg/faq.html
+#usr/share/gnupg/options.skel
+#usr/share/info/gpg.info
+#usr/share/info/gpgv.info
+#usr/share/man/man1/gpg.1
+#usr/share/man/man1/gpgv.1
+#usr/share/man/man7/gnupg.7
+##
+## hdparm-6.3
+##
+sbin/hdparm
+#usr/share/man/man8/hdparm.8
+##
+## ibod
+##
+etc/ppp/ibod.cf
+usr/sbin/ibod
+##
+## initscripts
+##
+#etc/rc.d
+#etc/rc.d/helper
+etc/rc.d/helper/getdnsfromdhcpc.pl
+etc/rc.d/helper/writeipac.pl
+etc/rc.d/rc.3cp4218usbadsl
+etc/rc.d/rc.alcatelusb
+etc/rc.d/rc.alcatelusbk
+etc/rc.d/rc.amedynusbadsl
+etc/rc.d/rc.bewanadsl
+etc/rc.d/rc.conexantusbadsl
+etc/rc.d/rc.conexantpciadsl
+etc/rc.d/rc.connectioncheck
+etc/rc.d/rc.eagleusbadsl
+etc/rc.d/rc.eciadsl
+etc/rc.d/rc.firewall
+etc/rc.d/rc.firewall.local
+etc/rc.d/rc.flash.down
+etc/rc.d/rc.flash.up
+etc/rc.d/rc.fritzdsl
+etc/rc.d/rc.halt
+etc/rc.d/rc.isdn
+etc/rc.d/rc.local
+etc/rc.d/rc.netaddress.down
+etc/rc.d/rc.netaddress.up
+etc/rc.d/rc.network
+etc/rc.d/rc.pulsardsl
+etc/rc.d/rc.red
+etc/rc.d/rc.sysinit
+etc/rc.d/rc.updatered
+##
+## iptables-1.3.4
+##
+lib/iptables
+#lib/iptables/libipt_CLASSIFY.so
+#lib/iptables/libipt_CONNMARK.so
+#lib/iptables/libipt_DNAT.so
+#lib/iptables/libipt_DSCP.so
+#lib/iptables/libipt_ECN.so
+#lib/iptables/libipt_IPV4OPTSSTRIP.so
+#lib/iptables/libipt_LOG.so
+#lib/iptables/libipt_MARK.so
+#lib/iptables/libipt_MASQUERADE.so
+#lib/iptables/libipt_MIRROR.so
+#lib/iptables/libipt_NETLINK.so
+#lib/iptables/libipt_NETMAP.so
+#lib/iptables/libipt_NFQUEUE.so
+#lib/iptables/libipt_NOTRACK.so
+#lib/iptables/libipt_POOL.so
+#lib/iptables/libipt_REDIRECT.so
+#lib/iptables/libipt_REJECT.so
+#lib/iptables/libipt_SAME.so
+#lib/iptables/libipt_SET.so
+#lib/iptables/libipt_SNAT.so
+#lib/iptables/libipt_TARPIT.so
+#lib/iptables/libipt_TCPMSS.so
+#lib/iptables/libipt_TOS.so
+#lib/iptables/libipt_TRACE.so
+#lib/iptables/libipt_TTL.so
+#lib/iptables/libipt_ULOG.so
+#lib/iptables/libipt_addrtype.so
+#lib/iptables/libipt_ah.so
+#lib/iptables/libipt_comment.so
+#lib/iptables/libipt_connlimit.so
+#lib/iptables/libipt_connmark.so
+#lib/iptables/libipt_conntrack.so
+#lib/iptables/libipt_dscp.so
+#lib/iptables/libipt_dstlimit.so
+#lib/iptables/libipt_ecn.so
+#lib/iptables/libipt_esp.so
+#lib/iptables/libipt_fuzzy.so
+#lib/iptables/libipt_hashlimit.so
+#lib/iptables/libipt_helper.so
+#lib/iptables/libipt_icmp.so
+#lib/iptables/libipt_iprange.so
+#lib/iptables/libipt_ipv4options.so
+#lib/iptables/libipt_length.so
+#lib/iptables/libipt_limit.so
+#lib/iptables/libipt_mac.so
+#lib/iptables/libipt_mark.so
+#lib/iptables/libipt_mport.so
+#lib/iptables/libipt_multiport.so
+#lib/iptables/libipt_nth.so
+#lib/iptables/libipt_osf.so
+#lib/iptables/libipt_owner.so
+#lib/iptables/libipt_physdev.so
+#lib/iptables/libipt_pkttype.so
+#lib/iptables/libipt_pool.so
+#lib/iptables/libipt_psd.so
+#lib/iptables/libipt_quota.so
+#lib/iptables/libipt_random.so
+#lib/iptables/libipt_realm.so
+#lib/iptables/libipt_recent.so
+#lib/iptables/libipt_rpc.so
+#lib/iptables/libipt_sctp.so
+#lib/iptables/libipt_set.so
+#lib/iptables/libipt_standard.so
+#lib/iptables/libipt_state.so
+#lib/iptables/libipt_string.so
+#lib/iptables/libipt_tcp.so
+#lib/iptables/libipt_tcpmss.so
+#lib/iptables/libipt_time.so
+#lib/iptables/libipt_tos.so
+#lib/iptables/libipt_ttl.so
+#lib/iptables/libipt_u32.so
+#lib/iptables/libipt_udp.so
+#lib/iptables/libipt_unclean.so
+sbin/iptables
+#sbin/iptables-restore
+#sbin/iptables-save
+#usr/share/man/man8/iptables-restore.8
+#usr/share/man/man8/iptables-save.8
+#usr/share/man/man8/iptables.8
+##
+## ipac-ng-1.31
+##
+bin/mail
+#etc/ipac-ng
+etc/ipac-ng/ipac.conf
+etc/ipac-ng/rules.conf
+usr/sbin/fetchipac
+#usr/sbin/ipac-convert
+usr/sbin/ipacsum
+#usr/share/man/man8/fetchipac.8
+#usr/share/man/man8/ipac-convert.8
+#usr/share/man/man8/ipacsum.8
+var/log/ip-acct
+##
+## ipaddr-1.2
+##
+#usr/lib/python2.3/ipaddr.py
+usr/lib/python2.3/ipaddr.pyc
+##
+## iproute2-2.4.7-now-ss010824
+##
+sbin/ip
+sbin/rtmon
+sbin/tc
+##
+## isapnptools-1.26
+##
+#usr/include/isapnp
+#usr/include/isapnp/callbacks.h
+#usr/include/isapnp/errcodes.h
+#usr/include/isapnp/errenum.h
+#usr/include/isapnp/iopl.h
+#usr/include/isapnp/mysnprtf.h
+#usr/include/isapnp/pnp-access.h
+#usr/include/isapnp/pnp.h
+#usr/include/isapnp/realtime.h
+#usr/include/isapnp/release.h
+#usr/include/isapnp/res-access.h
+#usr/include/isapnp/resource.h
+#usr/lib/libisapnp.a
+usr/sbin/isapnp
+#usr/sbin/pnpdump
+#usr/share/man/man5/isapnp.conf.5
+#usr/share/man/man8/isapnp.8
+#usr/share/man/man8/pnpdump.8
+##
+## isdn4k-utils.v3.2p1
+##
+#usr/lib/isdn/ISAR.BIN
+#usr/lib/isdn/dnload.bin
+#usr/lib/isdn/ds4bri.bit
+#usr/lib/isdn/dspdload.bin
+#usr/lib/isdn/loadpg.bin
+#usr/lib/isdn/pc_1t_ca.bin
+#usr/lib/isdn/pc_eu_ca.bin
+#usr/lib/isdn/prload.bin
+#usr/lib/isdn/te_dmlt.pm
+#usr/lib/isdn/te_etsi.p
+#usr/lib/isdn/te_etsi.qm0
+#usr/lib/isdn/te_etsi.qm1
+#usr/lib/isdn/te_etsi.qm2
+#usr/lib/isdn/te_etsi.qm3
+#usr/lib/isdn/te_etsi.sm
+#usr/lib/isdn/te_etsi.sq
+#usr/lib/isdn/te_etsi.sx
+#usr/lib/isdn/te_etsi.sy
+#usr/sbin/divaload
+#usr/sbin/divalog
+#usr/sbin/divalogd
+#usr/sbin/eiconctrl
+#usr/sbin/hisaxctrl
+#usr/sbin/icnctrl
+usr/sbin/ipppd
+usr/sbin/isdnctrl
+#usr/sbin/pcbitctl
+#usr/share/man/man4/isdn_audio.4
+#usr/share/man/man4/isdnctrl.4
+#usr/share/man/man4/isdninfo.4
+#usr/share/man/man4/ttyI.4
+#usr/share/man/man7/isdn_cause.7
+#usr/share/man/man8/.isdnctrl_conf.8
+#usr/share/man/man8/eiconctrl.8
+#usr/share/man/man8/hisaxctrl.8
+#usr/share/man/man8/icnctrl.8
+#usr/share/man/man8/ipppd.8
+#usr/share/man/man8/isdnctrl.8
+#usr/share/man/man8/pcbitctl.8
+##
+## kudzu-0.99.50
+##
+#etc/rc.d/init.d
+#etc/rc.d/init.d/kudzu
+#etc/sysconfig
+#etc/sysconfig/kudzu
+etc/updfstab.conf
+etc/updfstab.conf.default
+#usr/include/kudzu
+#usr/include/kudzu/ddc.h
+#usr/include/kudzu/device.h
+#usr/include/kudzu/ide.h
+#usr/include/kudzu/isapnp.h
+#usr/include/kudzu/keyboard.h
+#usr/include/kudzu/kudzu.h
+#usr/include/kudzu/misc.h
+#usr/include/kudzu/modules.h
+#usr/include/kudzu/parallel.h
+#usr/include/kudzu/pci.h
+#usr/include/kudzu/psaux.h
+#usr/include/kudzu/sbus.h
+#usr/include/kudzu/scsi.h
+#usr/include/kudzu/serial.h
+#usr/include/kudzu/usb.h
+#usr/lib/libkudzu.a
+#usr/lib/libkudzu_loader.a
+usr/lib/python2.3/site-packages/_kudzumodule.so
+#usr/lib/python2.3/site-packages/kudzu.py
+usr/lib/python2.3/site-packages/kudzu.pyc
+#usr/sbin/kudzu
+#usr/sbin/module_upgrade
+usr/sbin/updfstab
+#usr/share/locale/bs
+#usr/share/locale/bs/LC_MESSAGES
+#usr/share/locale/bs/LC_MESSAGES/kudzu.mo
+#usr/share/locale/cs/LC_MESSAGES/kudzu.mo
+#usr/share/locale/da/LC_MESSAGES/kudzu.mo
+#usr/share/locale/de/LC_MESSAGES/kudzu.mo
+#usr/share/locale/es/LC_MESSAGES/kudzu.mo
+#usr/share/locale/eu_ES
+#usr/share/locale/eu_ES/LC_MESSAGES
+#usr/share/locale/eu_ES/LC_MESSAGES/kudzu.mo
+#usr/share/locale/fi/LC_MESSAGES/kudzu.mo
+#usr/share/locale/fr/LC_MESSAGES/kudzu.mo
+#usr/share/locale/gl/LC_MESSAGES/kudzu.mo
+#usr/share/locale/hu/LC_MESSAGES/kudzu.mo
+#usr/share/locale/id
+#usr/share/locale/id/LC_MESSAGES
+#usr/share/locale/id/LC_MESSAGES/kudzu.mo
+#usr/share/locale/is
+#usr/share/locale/is/LC_MESSAGES
+#usr/share/locale/is/LC_MESSAGES/kudzu.mo
+#usr/share/locale/it/LC_MESSAGES/kudzu.mo
+#usr/share/locale/ja/LC_MESSAGES/kudzu.mo
+#usr/share/locale/ko/LC_MESSAGES/kudzu.mo
+#usr/share/locale/nn
+#usr/share/locale/nn/LC_MESSAGES
+#usr/share/locale/nn/LC_MESSAGES/kudzu.mo
+#usr/share/locale/no/LC_MESSAGES/kudzu.mo
+#usr/share/locale/pl/LC_MESSAGES/kudzu.mo
+#usr/share/locale/pt
+#usr/share/locale/pt/LC_MESSAGES
+#usr/share/locale/pt/LC_MESSAGES/kudzu.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/kudzu.mo
+#usr/share/locale/ro
+#usr/share/locale/ro/LC_MESSAGES
+#usr/share/locale/ro/LC_MESSAGES/kudzu.mo
+#usr/share/locale/ru
+#usr/share/locale/ru/LC_MESSAGES
+#usr/share/locale/ru/LC_MESSAGES/kudzu.mo
+#usr/share/locale/sk/LC_MESSAGES/kudzu.mo
+#usr/share/locale/sl/LC_MESSAGES/kudzu.mo
+#usr/share/locale/sr
+#usr/share/locale/sr/LC_MESSAGES
+#usr/share/locale/sr/LC_MESSAGES/kudzu.mo
+#usr/share/locale/sv/LC_MESSAGES/kudzu.mo
+#usr/share/locale/tr/LC_MESSAGES/kudzu.mo
+#usr/share/locale/uk
+#usr/share/locale/uk/LC_MESSAGES
+#usr/share/locale/uk/LC_MESSAGES/kudzu.mo
+#usr/share/locale/wa
+#usr/share/locale/wa/LC_MESSAGES
+#usr/share/locale/wa/LC_MESSAGES/kudzu.mo
+#usr/share/locale/zh
+#usr/share/locale/zh/LC_MESSAGES
+#usr/share/locale/zh/LC_MESSAGES/kudzu.mo
+#usr/share/locale/zh_CN.GB2312
+#usr/share/locale/zh_CN.GB2312/LC_MESSAGES
+#usr/share/locale/zh_CN.GB2312/LC_MESSAGES/kudzu.mo
+#usr/share/locale/zh_TW.Big5
+#usr/share/locale/zh_TW.Big5/LC_MESSAGES
+#usr/share/locale/zh_TW.Big5/LC_MESSAGES/kudzu.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/kudzu.mo
+#usr/share/man/man8/kudzu.8
+#usr/share/man/man8/module_upgrade.8
+#usr/share/man/man8/updfstab.8
+##
+## logrotate-3.7
+##
+usr/sbin/logrotate
+#usr/share/man/man8/logrotate.8
+var/lib/logrotate.status
+##
+## logwatch-6.1.2
+##
+#etc/log.d
+#etc/log.d/conf
+etc/log.d/conf/ignore.conf
+#etc/log.d/conf/logfiles
+etc/log.d/conf/logfiles/http.conf
+etc/log.d/conf/logfiles/messages.conf
+etc/log.d/conf/logfiles/secure.conf
+etc/log.d/conf/logwatch.conf
+#etc/log.d/conf/services
+etc/log.d/conf/services/dhcpd.conf
+etc/log.d/conf/services/http.conf
+etc/log.d/conf/services/init.conf
+etc/log.d/conf/services/kernel.conf
+etc/log.d/conf/services/modprobe.conf
+#etc/log.d/conf/services/openvpn.conf
+#etc/log.d/conf/services/pam_unix.conf
+etc/log.d/conf/services/pluto.conf
+etc/log.d/conf/services/raid.conf
+etc/log.d/conf/services/scsi.conf
+etc/log.d/conf/services/secure.conf
+etc/log.d/conf/services/sshd.conf
+#etc/log.d/conf/services/sshd2.conf
+etc/log.d/conf/services/syslogd.conf
+etc/log.d/conf/services/xntpd.conf
+etc/log.d/conf/services/zz-disk_space.conf
+#etc/log.d/conf/services/zz-network.conf
+#etc/log.d/lib
+etc/log.d/lib/Logwatch.pm
+#etc/log.d/scripts
+etc/log.d/scripts/logwatch.pl
+#etc/log.d/scripts/services
+etc/log.d/scripts/services/dhcpd
+etc/log.d/scripts/services/http
+etc/log.d/scripts/services/init
+etc/log.d/scripts/services/kernel
+etc/log.d/scripts/services/modprobe
+#etc/log.d/scripts/services/openvpn
+#etc/log.d/scripts/services/pam_unix
+etc/log.d/scripts/services/pluto
+etc/log.d/scripts/services/raid
+etc/log.d/scripts/services/scsi
+etc/log.d/scripts/services/secure
+etc/log.d/scripts/services/sshd
+#etc/log.d/scripts/services/sshd2
+etc/log.d/scripts/services/syslogd
+etc/log.d/scripts/services/xntpd
+etc/log.d/scripts/services/zz-disk_space
+#etc/log.d/scripts/services/zz-network
+#etc/log.d/scripts/shared
+etc/log.d/scripts/shared/applyhttpdate
+etc/log.d/scripts/shared/applystddate
+etc/log.d/scripts/shared/applyusdate
+etc/log.d/scripts/shared/expandrepeats
+etc/log.d/scripts/shared/hosthash
+etc/log.d/scripts/shared/hostlist
+etc/log.d/scripts/shared/multiservice
+etc/log.d/scripts/shared/onlycontains
+etc/log.d/scripts/shared/onlyhost
+etc/log.d/scripts/shared/onlyservice
+etc/log.d/scripts/shared/remove
+etc/log.d/scripts/shared/removeheaders
+etc/log.d/scripts/shared/removeservice
+#usr/share/man/man8/logwatch.8
+var/log/logwatch
+##
+## mingetty-1.06
+##
+#usr/share/man/man8/mingetty.8
+sbin/mingetty
+##
+## misc-progs
+##
+usr/local/bin/installfcdsl
+usr/local/bin/installpackage
+usr/local/bin/iowrap
+usr/local/bin/ipcopbackup
+usr/local/bin/ipcopbkcfg
+usr/local/bin/ipcopreboot
+usr/local/bin/ipcoprscfg
+usr/local/bin/ipsecctrl
+usr/local/bin/logwatch
+usr/local/bin/rebuildhosts
+usr/local/bin/restartdhcp
+usr/local/bin/restartntpd
+usr/local/bin/restartshaping
+usr/local/bin/restartsnort
+usr/local/bin/restartsquid
+usr/local/bin/restartssh
+usr/local/bin/restartsyslogd
+usr/local/bin/restartwireless
+usr/local/bin/setaliases
+usr/local/bin/setdate
+usr/local/bin/setdmzholes
+usr/local/bin/setfilters
+usr/local/bin/setportfw
+usr/local/bin/setxtaccess
+##
+## mtools-3.9.9
+##
+#usr/bin/lz
+#usr/bin/mattrib
+#usr/bin/mbadblocks
+#usr/bin/mcat
+#usr/bin/mcd
+#usr/bin/mcheck
+#usr/bin/mcomp
+#usr/bin/mcopy
+#usr/bin/mdel
+#usr/bin/mdeltree
+#usr/bin/mdir
+#usr/bin/mdu
+#usr/bin/mformat
+#usr/bin/minfo
+#usr/bin/mkmanifest
+#usr/bin/mlabel
+#usr/bin/mmd
+#usr/bin/mmount
+#usr/bin/mmove
+#usr/bin/mpartition
+#usr/bin/mrd
+#usr/bin/mren
+#usr/bin/mshowfat
+#usr/bin/mtools
+#usr/bin/mtoolstest
+#usr/bin/mtype
+#usr/bin/mxtar
+#usr/bin/mzip
+#usr/bin/tgz
+#usr/bin/uz
+#usr/share/info/mtools.info
+#usr/share/man/man1/floppyd.1
+#usr/share/man/man1/floppyd_installtest.1
+#usr/share/man/man1/mattrib.1
+#usr/share/man/man1/mbadblocks.1
+#usr/share/man/man1/mcat.1
+#usr/share/man/man1/mcd.1
+#usr/share/man/man1/mcopy.1
+#usr/share/man/man1/mdel.1
+#usr/share/man/man1/mdeltree.1
+#usr/share/man/man1/mdir.1
+#usr/share/man/man1/mdu.1
+#usr/share/man/man1/mformat.1
+#usr/share/man/man1/minfo.1
+#usr/share/man/man1/mkmanifest.1
+#usr/share/man/man1/mlabel.1
+#usr/share/man/man1/mmd.1
+#usr/share/man/man1/mmount.1
+#usr/share/man/man1/mmove.1
+#usr/share/man/man1/mpartition.1
+#usr/share/man/man1/mrd.1
+#usr/share/man/man1/mren.1
+#usr/share/man/man1/mshowfat.1
+#usr/share/man/man1/mtools.1
+#usr/share/man/man1/mtoolstest.1
+#usr/share/man/man1/mtype.1
+#usr/share/man/man1/mzip.1
+#usr/share/man/man5/mtools.5
+##
+## nano-1.2.2
+##
+usr/bin/nano
+usr/bin/pico
+#usr/share/info/nano.info
+#usr/share/man/man1/nano.1
+#usr/share/man/man5/nanorc.5
+##
+## nash
+##
+sbin/mkinitrd
+sbin/nash
+##
+## nasm-0.98.36
+##
+#usr/bin/nasm
+#usr/bin/ndisasm
+#usr/share/man/man1/nasm.1
+#usr/share/man/man1/ndisasm.1
+##
+## Net-DNS-0.47
+##
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/A.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/EID.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NIMLOC.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MB.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MG.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MR.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MX.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NS.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/PX.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/RP.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/RT.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/LOC.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/MINFO.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/HINFO.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/OPT.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/PTR.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/SOA.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/SRV.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TXT.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/X25.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/DNAME.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TKEY.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/AAAA.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/TSIG.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NSAP.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NULL.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/AFSDB.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/NAPTR.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/CNAME.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/Unknown.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/CERT.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR/ISDN.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Nameserver.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/RR.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/FAQ.pod
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Update.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Packet.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Question.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Header.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Base.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Cygwin.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Recurse.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/Win32.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS/Resolver/UNIX.pm
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/DNS.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/DNS.bs
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/DNS.so
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/DNS/.packlist
+#usr/share/man/man3/Net::DNS::Nameserver.3
+#usr/share/man/man3/Net::DNS::RR::AFSDB.3
+#usr/share/man/man3/Net::DNS::RR::HINFO.3
+#usr/share/man/man3/Net::DNS::Resolver::Cygwin.3
+#usr/share/man/man3/Net::DNS::Resolver::Win32.3
+#usr/share/man/man3/Net::DNS::Packet.3
+#usr/share/man/man3/Net::DNS::RR::NIMLOC.3
+#usr/share/man/man3/Net::DNS::RR::CNAME.3
+#usr/share/man/man3/Net::DNS::Resolver.3
+#usr/share/man/man3/Net::DNS::Update.3
+#usr/share/man/man3/Net::DNS::RR::DNAME.3
+#usr/share/man/man3/Net::DNS::Question.3
+#usr/share/man/man3/Net::DNS::RR::A.3
+#usr/share/man/man3/Net::DNS::RR::MB.3
+#usr/share/man/man3/Net::DNS::RR::MG.3
+#usr/share/man/man3/Net::DNS::RR::MR.3
+#usr/share/man/man3/Net::DNS::RR::MX.3
+#usr/share/man/man3/Net::DNS::RR::NS.3
+#usr/share/man/man3/Net::DNS::RR::PX.3
+#usr/share/man/man3/Net::DNS::RR::RP.3
+#usr/share/man/man3/Net::DNS::RR::RT.3
+#usr/share/man/man3/Net::DNS::RR::AAAA.3
+#usr/share/man/man3/Net::DNS::Resolver::Base.3
+#usr/share/man/man3/Net::DNS::RR::Unknown.3
+#usr/share/man/man3/Net::DNS::RR::CERT.3
+#usr/share/man/man3/Net::DNS::Resolver::Recurse.3
+#usr/share/man/man3/Net::DNS::RR::MINFO.3
+#usr/share/man/man3/Net::DNS::RR.3
+#usr/share/man/man3/Net::DNS::RR::NAPTR.3
+#usr/share/man/man3/Net::DNS::RR::ISDN.3
+#usr/share/man/man3/Net::DNS::RR::EID.3
+#usr/share/man/man3/Net::DNS::RR::LOC.3
+#usr/share/man/man3/Net::DNS::RR::OPT.3
+#usr/share/man/man3/Net::DNS::RR::PTR.3
+#usr/share/man/man3/Net::DNS::RR::SOA.3
+#usr/share/man/man3/Net::DNS::RR::SRV.3
+#usr/share/man/man3/Net::DNS::RR::TXT.3
+#usr/share/man/man3/Net::DNS::RR::X25.3
+#usr/share/man/man3/Net::DNS::RR::NSAP.3
+#usr/share/man/man3/Net::DNS::FAQ.3
+#usr/share/man/man3/Net::DNS::RR::NULL.3
+#usr/share/man/man3/Net::DNS.3
+#usr/share/man/man3/Net::DNS::Resolver::UNIX.3
+#usr/share/man/man3/Net::DNS::RR::TKEY.3
+#usr/share/man/man3/Net::DNS::Header.3
+#usr/share/man/man3/Net::DNS::RR::TSIG.3
+##
+## Net-IPv4Addr-0.10
+##
+#usr/bin/ipv4calc
+usr/lib/perl5/site_perl/5.8.5/Net/IPv4Addr.pm
+#usr/lib/perl5/site_perl/5.8.5/auto
+#usr/lib/perl5/site_perl/5.8.5/auto/Net
+#usr/lib/perl5/site_perl/5.8.5/auto/Net/IPv4Addr
+#usr/lib/perl5/site_perl/5.8.5/auto/Net/IPv4Addr/autosplit.ix
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/IPv4Addr
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/IPv4Addr/.packlist
+#usr/share/man/man1/ipv4calc.1
+#usr/share/man/man3/Net::IPv4Addr.3
+##
+## noip_updater_v1.6
+##
+usr/bin/noip
+##
+## ntp-4.2.0
+##
+etc/ntp
+etc/ntp.conf
+#usr/bin/ntp-keygen
+#usr/bin/ntp-wait
+usr/bin/ntpd
+usr/bin/ntpdate
+#usr/bin/ntpdc
+#usr/bin/ntpq
+#usr/bin/ntptime
+#usr/bin/ntptrace
+#usr/bin/tickadj
+##
+## oinkmaster-1.2
+##
+usr/local/bin/oinkmaster.pl
+var/ipfire/snort/oinkmaster.conf
+##
+## openssh-3.9.p1
+##
+#etc/ssh
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssh/moduli
+#etc/ssh/ssh_host_key
+#etc/ssh/ssh_host_key.pub
+#etc/ssh/ssh_host_dsa_key
+#etc/ssh/ssh_host_dsa_key.pub
+#etc/ssh/ssh_host_rsa_key
+#etc/ssh/ssh_host_rsa_key.pub
+#usr/bin/ssh
+usr/bin/scp
+#usr/bin/ssh-add
+#usr/bin/ssh-agent
+usr/bin/ssh-keygen
+#usr/bin/ssh-keyscan
+#usr/bin/sftp
+#usr/bin/slogin
+usr/sbin/sshd
+#usr/share/man/man1/ssh.1
+#usr/share/man/man1/scp.1
+#usr/share/man/man1/ssh-add.1
+#usr/share/man/man1/ssh-agent.1
+#usr/share/man/man1/ssh-keygen.1
+#usr/share/man/man1/ssh-keyscan.1
+#usr/share/man/man1/sftp.1
+#usr/share/man/man1/slogin.1
+#usr/share/man/man5/sshd_config.5
+#usr/share/man/man5/ssh_config.5
+#usr/share/man/man8/sshd.8
+#usr/share/man/man8/sftp-server.8
+#usr/share/man/man8/ssh-keysign.8
+#usr/share/Ssh.bin
+#usr/libexec/ssh-keysign
+usr/libexec/sftp-server
+var/empty
+##
+## openswan-1.0.10rc2
+##
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.d
+#etc/ipsec.d/cacerts
+#etc/ipsec.d/certs
+#etc/ipsec.d/crls
+#etc/ipsec.d/private
+etc/rc.d/ipsec
+#etc/rc.d/rc0.d/K68ipsec
+#etc/rc.d/rc1.d/K68ipsec
+#etc/rc.d/rc2.d/S47ipsec
+#etc/rc.d/rc3.d/S47ipsec
+#etc/rc.d/rc4.d/S47ipsec
+#etc/rc.d/rc5.d/S47ipsec
+#etc/rc.d/rc6.d/K68ipsec
+usr/lib/ipsec
+#usr/lib/ipsec/_confread
+#usr/lib/ipsec/_copyright
+#usr/lib/ipsec/_include
+#usr/lib/ipsec/_keycensor
+#usr/lib/ipsec/_pluto_adns
+#usr/lib/ipsec/_plutoload
+#usr/lib/ipsec/_plutorun
+#usr/lib/ipsec/_realsetup
+#usr/lib/ipsec/_secretcensor
+#usr/lib/ipsec/_startklips
+#usr/lib/ipsec/_updown
+#usr/lib/ipsec/_updown.x509
+#usr/lib/ipsec/auto
+#usr/lib/ipsec/barf
+#usr/lib/ipsec/calcgoo
+#usr/lib/ipsec/eroute
+#usr/lib/ipsec/ikeping
+#usr/lib/ipsec/ipsec
+#usr/lib/ipsec/ipsec_pr.template
+#usr/lib/ipsec/klipsdebug
+#usr/lib/ipsec/look
+#usr/lib/ipsec/manual
+#usr/lib/ipsec/newhostkey
+#usr/lib/ipsec/pf_key
+#usr/lib/ipsec/pluto
+#usr/lib/ipsec/ranbits
+#usr/lib/ipsec/rsasigkey
+#usr/lib/ipsec/send-pr
+#usr/lib/ipsec/setup
+#usr/lib/ipsec/showdefaults
+#usr/lib/ipsec/showhostkey
+#usr/lib/ipsec/spi
+#usr/lib/ipsec/spigrp
+#usr/lib/ipsec/tncfg
+#usr/lib/ipsec/uml_netjig
+#usr/lib/ipsec/verify
+#usr/lib/ipsec/whack
+#usr/local/include/des.h
+#usr/local/lib/libdes.a
+#usr/local/man/man3
+#usr/local/man/man3/des_crypt.3
+usr/sbin/ipsec
+#usr/share/man/man3/ipsec_addrbytesof.3
+#usr/share/man/man3/ipsec_addrbytesptr.3
+#usr/share/man/man3/ipsec_addrcmp.3
+#usr/share/man/man3/ipsec_addrinsubnet.3
+#usr/share/man/man3/ipsec_addrlenof.3
+#usr/share/man/man3/ipsec_addrtoa.3
+#usr/share/man/man3/ipsec_addrtosubnet.3
+#usr/share/man/man3/ipsec_addrtot.3
+#usr/share/man/man3/ipsec_addrtypeof.3
+#usr/share/man/man3/ipsec_anyaddr.3
+#usr/share/man/man3/ipsec_atoaddr.3
+#usr/share/man/man3/ipsec_atoasr.3
+#usr/share/man/man3/ipsec_atosa.3
+#usr/share/man/man3/ipsec_atosubnet.3
+#usr/share/man/man3/ipsec_atoul.3
+#usr/share/man/man3/ipsec_bitstomask.3
+#usr/share/man/man3/ipsec_broadcastof.3
+#usr/share/man/man3/ipsec_copyright_notice.3
+#usr/share/man/man3/ipsec_datatot.3
+#usr/share/man/man3/ipsec_goodmask.3
+#usr/share/man/man3/ipsec_hostof.3
+#usr/share/man/man3/ipsec_initaddr.3
+#usr/share/man/man3/ipsec_initsaid.3
+#usr/share/man/man3/ipsec_initsubnet.3
+#usr/share/man/man3/ipsec_isanyaddr.3
+#usr/share/man/man3/ipsec_isloopbackaddr.3
+#usr/share/man/man3/ipsec_isunspecaddr.3
+#usr/share/man/man3/ipsec_keyblobtoid.3
+#usr/share/man/man3/ipsec_loopbackaddr.3
+#usr/share/man/man3/ipsec_maskof.3
+#usr/share/man/man3/ipsec_masktobits.3
+#usr/share/man/man3/ipsec_masktocount.3
+#usr/share/man/man3/ipsec_networkof.3
+#usr/share/man/man3/ipsec_optionsfrom.3
+#usr/share/man/man3/ipsec_portof.3
+#usr/share/man/man3/ipsec_prng.3
+#usr/share/man/man3/ipsec_prng_bytes.3
+#usr/share/man/man3/ipsec_prng_final.3
+#usr/share/man/man3/ipsec_prng_init.3
+#usr/share/man/man3/ipsec_rangetoa.3
+#usr/share/man/man3/ipsec_rangetosubnet.3
+#usr/share/man/man3/ipsec_sameaddr.3
+#usr/share/man/man3/ipsec_sameaddrtype.3
+#usr/share/man/man3/ipsec_samesaid.3
+#usr/share/man/man3/ipsec_samesubnet.3
+#usr/share/man/man3/ipsec_samesubnettype.3
+#usr/share/man/man3/ipsec_satoa.3
+#usr/share/man/man3/ipsec_satot.3
+#usr/share/man/man3/ipsec_setportof.3
+#usr/share/man/man3/ipsec_sockaddrlenof.3
+#usr/share/man/man3/ipsec_sockaddrof.3
+#usr/share/man/man3/ipsec_splitkeytoid.3
+#usr/share/man/man3/ipsec_subnetinsubnet.3
+#usr/share/man/man3/ipsec_subnetishost.3
+#usr/share/man/man3/ipsec_subnetof.3
+#usr/share/man/man3/ipsec_subnettoa.3
+#usr/share/man/man3/ipsec_subnettot.3
+#usr/share/man/man3/ipsec_subnettypeof.3
+#usr/share/man/man3/ipsec_tnatoaddr.3
+#usr/share/man/man3/ipsec_ttoaddr.3
+#usr/share/man/man3/ipsec_ttodata.3
+#usr/share/man/man3/ipsec_ttosa.3
+#usr/share/man/man3/ipsec_ttosubnet.3
+#usr/share/man/man3/ipsec_ttoul.3
+#usr/share/man/man3/ipsec_ultoa.3
+#usr/share/man/man3/ipsec_ultot.3
+#usr/share/man/man3/ipsec_unspecaddr.3
+#usr/share/man/man3/ipsec_version.3
+#usr/share/man/man3/ipsec_version_code.3
+#usr/share/man/man3/ipsec_version_string.3
+#usr/share/man/man5/ipsec.conf.5
+#usr/share/man/man5/ipsec.secrets.5
+#usr/share/man/man5/ipsec_eroute.5
+#usr/share/man/man5/ipsec_klipsdebug.5
+#usr/share/man/man5/ipsec_pf_key.5
+#usr/share/man/man5/ipsec_spi.5
+#usr/share/man/man5/ipsec_spigrp.5
+#usr/share/man/man5/ipsec_tncfg.5
+#usr/share/man/man5/ipsec_version.5
+#usr/share/man/man8/ipsec.8
+#usr/share/man/man8/ipsec_auto.8
+#usr/share/man/man8/ipsec_barf.8
+#usr/share/man/man8/ipsec_calcgoo.8
+#usr/share/man/man8/ipsec_eroute.8
+#usr/share/man/man8/ipsec_ikeping.8
+#usr/share/man/man8/ipsec_klipsdebug.8
+#usr/share/man/man8/ipsec_look.8
+#usr/share/man/man8/ipsec_manual.8
+#usr/share/man/man8/ipsec_newhostkey.8
+#usr/share/man/man8/ipsec_pf_key.8
+#usr/share/man/man8/ipsec_pluto.8
+#usr/share/man/man8/ipsec_ranbits.8
+#usr/share/man/man8/ipsec_rsasigkey.8
+#usr/share/man/man8/ipsec_send-pr.8
+#usr/share/man/man8/ipsec_setup.8
+#usr/share/man/man8/ipsec_showdefaults.8
+#usr/share/man/man8/ipsec_showhostkey.8
+#usr/share/man/man8/ipsec_spi.8
+#usr/share/man/man8/ipsec_spigrp.8
+#usr/share/man/man8/ipsec_tncfg.8
+#usr/share/man/man8/ipsec_verify.8
+#usr/share/man/man8/ipsec_whack.8
+##
+## ppp-2.4.2
+##
+etc/ppp/options
+etc/ppp/pap-secrets
+etc/ppp/chap-secrets
+etc/ppp/demonloginscript
+etc/ppp/dialer
+etc/ppp/ioptions
+etc/ppp/ip-down
+etc/ppp/ip-up
+etc/ppp/standardloginscript
+#usr/include/pppd
+#usr/include/pppd/ccp.h
+#usr/include/pppd/chap-new.h
+#usr/include/pppd/ecp.h
+#usr/include/pppd/fsm.h
+#usr/include/pppd/ipcp.h
+#usr/include/pppd/ipxcp.h
+#usr/include/pppd/lcp.h
+#usr/include/pppd/magic.h
+#usr/include/pppd/md5.h
+#usr/include/pppd/patchlevel.h
+#usr/include/pppd/pathnames.h
+#usr/include/pppd/pppd.h
+#usr/include/pppd/upap.h
+#usr/include/pppd/eap.h
+#usr/include/pppd/md4.h
+#usr/include/pppd/chap_ms.h
+#usr/include/pppd/sha1.h
+#usr/include/pppd/pppcrypt.h
+#usr/include/pppd/tdb.h
+usr/lib/pppd/2.4.2/minconn.so
+usr/lib/pppd/2.4.2/passprompt.so
+usr/lib/pppd/2.4.2/passwordfd.so
+usr/lib/pppd/2.4.2/pppoatm.so
+usr/lib/pppd/2.4.2/rp-pppoe.so
+usr/sbin/chat
+usr/sbin/pppd
+#usr/sbin/pppdump
+usr/sbin/pppstats
+#usr/share/man/man8/chat.8
+#usr/share/man/man8/pppd.8
+#usr/share/man/man8/pppstats.8
+#usr/share/man/man8/pppdump.8
+var/log/connect-errors
+##
+## pptp-1.6.0
+##
+#etc/ppp/options.pptp
+usr/sbin/pptp
+#usr/share/man/man8/pptp.8
+##
+## pulsar-4.0.19
+##
+lib/modules/2.4.31/misc/pulsar.o.gz
+##
+## pulsar-4.0.19-smp
+##
+lib/modules/2.4.31-smp/misc/pulsar.o.gz
+##
+## rp-pppoe-3.5
+##
+#etc/ppp/firewall-masq
+#etc/ppp/firewall-standalone
+#etc/ppp/plugins
+#etc/ppp/plugins/README
+#etc/ppp/pppoe-server-options
+#etc/ppp/pppoe.conf
+#usr/sbin/adsl-connect
+#usr/sbin/adsl-setup
+#usr/sbin/adsl-start
+#usr/sbin/adsl-status
+#usr/sbin/adsl-stop
+usr/sbin/pppoe
+#usr/sbin/pppoe-relay
+#usr/sbin/pppoe-server
+#usr/sbin/pppoe-sniff
+#usr/share/doc/rp-pppoe-3.5
+#usr/share/doc/rp-pppoe-3.5/CHANGES
+#usr/share/doc/rp-pppoe-3.5/HOW-TO-CONNECT
+#usr/share/doc/rp-pppoe-3.5/KERNEL-MODE-PPPOE
+#usr/share/doc/rp-pppoe-3.5/LICENSE
+#usr/share/doc/rp-pppoe-3.5/README
+#usr/share/doc/rp-pppoe-3.5/SERVPOET
+#usr/share/doc/rp-pppoe-3.5/pap-secrets
+#usr/share/man/man5/pppoe.conf.5
+#usr/share/man/man8/adsl-connect.8
+#usr/share/man/man8/adsl-setup.8
+#usr/share/man/man8/adsl-start.8
+#usr/share/man/man8/adsl-status.8
+#usr/share/man/man8/adsl-stop.8
+#usr/share/man/man8/pppoe-relay.8
+#usr/share/man/man8/pppoe-server.8
+#usr/share/man/man8/pppoe-sniff.8
+#usr/share/man/man8/pppoe.8
+##
+## rrdtool-1.0.49
+##
+home/httpd/html/graphs
+#usr/bin/rrdcgi
+#usr/bin/rrdtool
+#usr/bin/rrdupdate
+#usr/bin/trytime
+#usr/lib/librrd.la
+#usr/lib/librrd.a
+#usr/share/rrdtool-1.0.49
+#usr/share/rrdtool-1.0.49/include
+#usr/share/rrdtool-1.0.49/include/rrd.h
+#usr/share/rrdtool-1.0.49/doc
+#usr/share/rrdtool-1.0.49/doc/rrdtool.pod
+#usr/share/rrdtool-1.0.49/doc/rrdlast.pod
+#usr/share/rrdtool-1.0.49/doc/rrdcreate.pod
+#usr/share/rrdtool-1.0.49/doc/rrdupdate.pod
+#usr/share/rrdtool-1.0.49/doc/rrdtutorial.es.pod
+#usr/share/rrdtool-1.0.49/doc/cdeftutorial.pod
+#usr/share/rrdtool-1.0.49/doc/rpntutorial.pod
+#usr/share/rrdtool-1.0.49/doc/rrdgraph.pod
+#usr/share/rrdtool-1.0.49/doc/bin_dec_hex.pod
+#usr/share/rrdtool-1.0.49/doc/rrdfetch.pod
+#usr/share/rrdtool-1.0.49/doc/rrdrestore.pod
+#usr/share/rrdtool-1.0.49/doc/rrddump.pod
+#usr/share/rrdtool-1.0.49/doc/rrdtune.pod
+#usr/share/rrdtool-1.0.49/doc/rrdresize.pod
+#usr/share/rrdtool-1.0.49/doc/rrdcgi.pod
+#usr/share/rrdtool-1.0.49/doc/rrdtutorial.pod
+#usr/share/rrdtool-1.0.49/doc/rrdinfo.pod
+#usr/share/rrdtool-1.0.49/doc/rrdxport.pod
+#usr/share/rrdtool-1.0.49/doc/rrd-beginners.pod
+#usr/share/rrdtool-1.0.49/doc/rrdtool.txt
+#usr/share/rrdtool-1.0.49/doc/rrdlast.txt
+#usr/share/rrdtool-1.0.49/doc/rrdcreate.txt
+#usr/share/rrdtool-1.0.49/doc/rrdupdate.txt
+#usr/share/rrdtool-1.0.49/doc/rrdtutorial.es.txt
+#usr/share/rrdtool-1.0.49/doc/cdeftutorial.txt
+#usr/share/rrdtool-1.0.49/doc/rpntutorial.txt
+#usr/share/rrdtool-1.0.49/doc/rrdgraph.txt
+#usr/share/rrdtool-1.0.49/doc/bin_dec_hex.txt
+#usr/share/rrdtool-1.0.49/doc/rrdfetch.txt
+#usr/share/rrdtool-1.0.49/doc/rrdrestore.txt
+#usr/share/rrdtool-1.0.49/doc/rrddump.txt
+#usr/share/rrdtool-1.0.49/doc/rrdtune.txt
+#usr/share/rrdtool-1.0.49/doc/rrdresize.txt
+#usr/share/rrdtool-1.0.49/doc/rrdcgi.txt
+#usr/share/rrdtool-1.0.49/doc/rrdtutorial.txt
+#usr/share/rrdtool-1.0.49/doc/rrdinfo.txt
+#usr/share/rrdtool-1.0.49/doc/rrdxport.txt
+#usr/share/rrdtool-1.0.49/doc/rrd-beginners.txt
+#usr/share/rrdtool-1.0.49/doc/RRDs.txt
+#usr/share/rrdtool-1.0.49/doc/RRDp.txt
+#usr/share/rrdtool-1.0.49/html
+#usr/share/rrdtool-1.0.49/html/rrdtool.html
+#usr/share/rrdtool-1.0.49/html/rrdlast.html
+#usr/share/rrdtool-1.0.49/html/rrdcreate.html
+#usr/share/rrdtool-1.0.49/html/rrdupdate.html
+#usr/share/rrdtool-1.0.49/html/rrdtutorial.es.html
+#usr/share/rrdtool-1.0.49/html/cdeftutorial.html
+#usr/share/rrdtool-1.0.49/html/rpntutorial.html
+#usr/share/rrdtool-1.0.49/html/rrdgraph.html
+#usr/share/rrdtool-1.0.49/html/bin_dec_hex.html
+#usr/share/rrdtool-1.0.49/html/rrdfetch.html
+#usr/share/rrdtool-1.0.49/html/rrdrestore.html
+#usr/share/rrdtool-1.0.49/html/rrddump.html
+#usr/share/rrdtool-1.0.49/html/rrdtune.html
+#usr/share/rrdtool-1.0.49/html/rrdresize.html
+#usr/share/rrdtool-1.0.49/html/rrdcgi.html
+#usr/share/rrdtool-1.0.49/html/rrdtutorial.html
+#usr/share/rrdtool-1.0.49/html/rrdinfo.html
+#usr/share/rrdtool-1.0.49/html/rrdxport.html
+#usr/share/rrdtool-1.0.49/html/rrd-beginners.html
+#usr/share/rrdtool-1.0.49/html/RRDs.html
+#usr/share/rrdtool-1.0.49/html/RRDp.html
+#usr/share/rrdtool-1.0.49/man
+#usr/share/rrdtool-1.0.49/man/man1
+#usr/share/rrdtool-1.0.49/man/man1/rrdtool.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdlast.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdcreate.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdupdate.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdtutorial.es.1
+#usr/share/rrdtool-1.0.49/man/man1/cdeftutorial.1
+#usr/share/rrdtool-1.0.49/man/man1/rpntutorial.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdgraph.1
+#usr/share/rrdtool-1.0.49/man/man1/bin_dec_hex.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdfetch.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdrestore.1
+#usr/share/rrdtool-1.0.49/man/man1/rrddump.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdtune.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdresize.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdcgi.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdtutorial.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdinfo.1
+#usr/share/rrdtool-1.0.49/man/man1/rrdxport.1
+#usr/share/rrdtool-1.0.49/man/man1/rrd-beginners.1
+#usr/share/rrdtool-1.0.49/man/man1/RRDs.1
+#usr/share/rrdtool-1.0.49/man/man1/RRDp.1
+#usr/share/rrdtool-1.0.49/examples
+#usr/share/rrdtool-1.0.49/examples/cgi-demo.cgi
+#usr/share/rrdtool-1.0.49/examples/piped-demo.pl
+#usr/share/rrdtool-1.0.49/examples/shared-demo.pl
+#usr/share/rrdtool-1.0.49/examples/stripes.pl
+#usr/share/rrdtool-1.0.49/examples/bigtops.pl
+#usr/share/rrdtool-1.0.49/examples/minmax.pl
+#usr/share/rrdtool-1.0.49/contrib
+#usr/share/rrdtool-1.0.49/contrib/trytime
+#usr/share/rrdtool-1.0.49/contrib/trytime/README
+#usr/share/rrdtool-1.0.49/contrib/trytime/trytime.c
+#usr/share/rrdtool-1.0.49/contrib/README
+#usr/share/rrdtool-1.0.49/lib
+#usr/share/rrdtool-1.0.49/lib/perl
+#usr/share/rrdtool-1.0.49/lib/perl/auto
+#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs
+#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs/RRDs.bs
+#usr/share/rrdtool-1.0.49/lib/perl/auto/RRDs/RRDs.so
+#usr/share/rrdtool-1.0.49/lib/perl/RRDp.pm
+#usr/share/rrdtool-1.0.49/lib/perl/RRDs.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDp
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDp/.packlist
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/RRDs.so
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/RRDs.bs
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/RRDs/.packlist
+usr/lib/perl5/site_perl/5.8.5/i386-linux/RRDs.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/ntmake.pl
+usr/lib/perl5/site_perl/5.8.5/RRDp.pm
+#usr/share/man/man3/RRDp.3
+#usr/share/man/man3/RRDs.3
+var/log/rrd
+##
+## setserial-2.17
+##
+bin/setserial
+#usr/share/man/man8/setserial.8
+##
+## setup
+##
+usr/local/sbin/setup
+##
+## snort-2.3.3
+##
+etc/snort
+#etc/snort/attack-responses.rules
+#etc/snort/backdoor.rules
+#etc/snort/bad-traffic.rules
+#etc/snort/chat.rules
+#etc/snort/classification.config
+#etc/snort/ddos.rules
+#etc/snort/deleted.rules
+#etc/snort/dns.rules
+#etc/snort/dos.rules
+#etc/snort/experimental.rules
+#etc/snort/exploit.rules
+#etc/snort/finger.rules
+#etc/snort/ftp.rules
+#etc/snort/icmp-info.rules
+#etc/snort/icmp.rules
+#etc/snort/imap.rules
+#etc/snort/info.rules
+#etc/snort/local.rules
+#etc/snort/misc.rules
+#etc/snort/multimedia.rules
+#etc/snort/mysql.rules
+#etc/snort/netbios.rules
+#etc/snort/nntp.rules
+#etc/snort/oracle.rules
+#etc/snort/other-ids.rules
+#etc/snort/p2p.rules
+#etc/snort/policy.rules
+#etc/snort/pop2.rules
+#etc/snort/pop3.rules
+#etc/snort/porn.rules
+#etc/snort/reference.config
+#etc/snort/rpc.rules
+#etc/snort/rservices.rules
+#etc/snort/scan.rules
+#etc/snort/shellcode.rules
+#etc/snort/smtp.rules
+#etc/snort/snmp.rules
+#etc/snort/snort.conf
+#etc/snort/sql.rules
+#etc/snort/telnet.rules
+#etc/snort/tftp.rules
+#etc/snort/virus.rules
+#etc/snort/unicode.map
+#etc/snort/web-attacks.rules
+#etc/snort/web-cgi.rules
+#etc/snort/web-client.rules
+#etc/snort/web-coldfusion.rules
+#etc/snort/web-frontpage.rules
+#etc/snort/web-iis.rules
+#etc/snort/web-misc.rules
+#etc/snort/web-php.rules
+#etc/snort/x11.rules
+usr/sbin/snort
+#usr/share/man/man8/snort.8
+var/log/snort
+##
+## speedtouch-1.2
+##
+#etc/speedtouch
+#usr/bin/speedtouch-setup
+#usr/bin/speedtouch-start
+#usr/bin/speedtouch-stop
+usr/sbin/modem_run
+#usr/sbin/pppoa2
+usr/sbin/pppoa3
+#usr/share/doc/speedtouch
+#usr/share/doc/speedtouch/FAQ
+#usr/share/doc/speedtouch/BUGS
+#usr/share/doc/speedtouch/howto
+#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-en.html
+#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-fr.html
+#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-it.html
+#usr/share/doc/speedtouch/howto/SpeedTouch-HOWTO-de.html
+#usr/share/doc/speedtouch/speedtouch.sh
+#usr/share/doc/speedtouch/speedtouch.conf
+#usr/share/doc/speedtouch/HDLC_BUG
+#usr/share/doc/speedtouch/results.txt
+#usr/share/doc/speedtouch/pppoax-doc-en.txt
+#usr/share/doc/speedtouch/adsl.ppp-peersample
+#usr/share/doc/speedtouch/pppoax-doc-fr.txt
+#usr/share/man/man1/speedtouch-setup.1
+#usr/share/man/man1/speedtouch-stop.1
+#usr/share/man/man1/speedtouch-start.1
+#usr/share/man/man8/modem_run.8
+#usr/share/man/man8/pppoa2.8
+#usr/share/man/man8/pppoa3.8
+#usr/share/speedtouch
+#usr/share/speedtouch/boot.v123.bin
+##
+## CGI-SpeedyCGI-2.22 (scripts not ready)
+##
+#usr/bin/speedy_backend
+#usr/bin/speedy
+##usr/lib/perl5/site_perl/5.8.5/alpha-linux/auto/CGI/SpeedyCGI/.packlist
+#usr/lib/perl5/site_perl/5.8.5/CGI/SpeedyCGI.pm
+##
+## squid-2.5.STABLE12
+##
+#etc/squid
+#etc/squid/cachemgr.conf
+etc/squid/errors
+etc/squid/mime.conf
+#etc/squid/mime.conf.default
+etc/squid/msntauth.conf
+#etc/squid/msntauth.conf.default
+etc/squid/squid.conf
+#etc/squid/squid.conf.default
+#usr/bin/RunAccel
+#usr/bin/RunCache
+#usr/bin/squidclient
+#usr/lib/squid
+#usr/lib/squid/cachemgr.cgi
+#usr/lib/squid/diskd
+#usr/lib/squid/errors
+#usr/lib/squid/errors/Bulgarian
+#usr/lib/squid/errors/Bulgarian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Bulgarian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Bulgarian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Bulgarian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Bulgarian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Bulgarian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Bulgarian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Bulgarian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Bulgarian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Bulgarian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Bulgarian/ERR_INVALID_URL
+#usr/lib/squid/errors/Bulgarian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Bulgarian/ERR_NO_RELAY
+#usr/lib/squid/errors/Bulgarian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Bulgarian/ERR_READ_ERROR
+#usr/lib/squid/errors/Bulgarian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Bulgarian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Bulgarian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Bulgarian/ERR_TOO_BIG
+#usr/lib/squid/errors/Bulgarian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Bulgarian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Bulgarian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Bulgarian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Catalan
+#usr/lib/squid/errors/Catalan/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Catalan/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Catalan/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Catalan/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Catalan/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Catalan/ERR_DNS_FAIL
+#usr/lib/squid/errors/Catalan/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Catalan/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Catalan/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Catalan/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Catalan/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Catalan/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Catalan/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Catalan/ERR_INVALID_REQ
+#usr/lib/squid/errors/Catalan/ERR_INVALID_RESP
+#usr/lib/squid/errors/Catalan/ERR_INVALID_URL
+#usr/lib/squid/errors/Catalan/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Catalan/ERR_NO_RELAY
+#usr/lib/squid/errors/Catalan/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Catalan/ERR_READ_ERROR
+#usr/lib/squid/errors/Catalan/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Catalan/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Catalan/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Catalan/ERR_TOO_BIG
+#usr/lib/squid/errors/Catalan/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Catalan/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Catalan/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Catalan/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Czech
+#usr/lib/squid/errors/Czech/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Czech/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Czech/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Czech/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Czech/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Czech/ERR_DNS_FAIL
+#usr/lib/squid/errors/Czech/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Czech/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Czech/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Czech/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Czech/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Czech/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Czech/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Czech/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Czech/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Czech/ERR_INVALID_REQ
+#usr/lib/squid/errors/Czech/ERR_INVALID_RESP
+#usr/lib/squid/errors/Czech/ERR_INVALID_URL
+#usr/lib/squid/errors/Czech/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Czech/ERR_NO_RELAY
+#usr/lib/squid/errors/Czech/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Czech/ERR_READ_ERROR
+#usr/lib/squid/errors/Czech/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Czech/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Czech/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Czech/ERR_TOO_BIG
+#usr/lib/squid/errors/Czech/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Czech/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Czech/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Czech/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Danish
+#usr/lib/squid/errors/Danish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Danish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Danish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Danish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Danish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Danish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Danish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Danish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Danish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Danish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Danish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Danish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Danish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Danish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Danish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Danish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Danish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Danish/ERR_INVALID_URL
+#usr/lib/squid/errors/Danish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Danish/ERR_NO_RELAY
+#usr/lib/squid/errors/Danish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Danish/ERR_READ_ERROR
+#usr/lib/squid/errors/Danish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Danish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Danish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Danish/ERR_TOO_BIG
+#usr/lib/squid/errors/Danish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Danish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Danish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Danish/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Dutch
+#usr/lib/squid/errors/Dutch/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Dutch/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Dutch/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Dutch/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Dutch/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Dutch/ERR_DNS_FAIL
+#usr/lib/squid/errors/Dutch/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Dutch/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Dutch/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Dutch/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Dutch/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Dutch/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Dutch/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Dutch/ERR_INVALID_REQ
+#usr/lib/squid/errors/Dutch/ERR_INVALID_RESP
+#usr/lib/squid/errors/Dutch/ERR_INVALID_URL
+#usr/lib/squid/errors/Dutch/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Dutch/ERR_NO_RELAY
+#usr/lib/squid/errors/Dutch/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Dutch/ERR_READ_ERROR
+#usr/lib/squid/errors/Dutch/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Dutch/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Dutch/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Dutch/ERR_TOO_BIG
+#usr/lib/squid/errors/Dutch/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Dutch/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Dutch/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Dutch/ERR_ZERO_SIZE_OBJECT
+usr/lib/squid/errors/English
+#usr/lib/squid/errors/English/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/English/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/English/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/English/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/English/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/English/ERR_DNS_FAIL
+#usr/lib/squid/errors/English/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/English/ERR_FTP_DISABLED
+#usr/lib/squid/errors/English/ERR_FTP_FAILURE
+#usr/lib/squid/errors/English/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/English/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/English/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/English/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/English/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/English/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/English/ERR_INVALID_REQ
+#usr/lib/squid/errors/English/ERR_INVALID_RESP
+#usr/lib/squid/errors/English/ERR_INVALID_URL
+#usr/lib/squid/errors/English/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/English/ERR_NO_RELAY
+#usr/lib/squid/errors/English/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/English/ERR_READ_ERROR
+#usr/lib/squid/errors/English/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/English/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/English/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/English/ERR_TOO_BIG
+#usr/lib/squid/errors/English/ERR_UNSUP_REQ
+#usr/lib/squid/errors/English/ERR_URN_RESOLVE
+#usr/lib/squid/errors/English/ERR_WRITE_ERROR
+#usr/lib/squid/errors/English/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Estonian
+#usr/lib/squid/errors/Estonian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Estonian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Estonian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Estonian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Estonian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Estonian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Estonian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Estonian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Estonian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Estonian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Estonian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Estonian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Estonian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Estonian/ERR_INVALID_URL
+#usr/lib/squid/errors/Estonian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Estonian/ERR_NO_RELAY
+#usr/lib/squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Estonian/ERR_READ_ERROR
+#usr/lib/squid/errors/Estonian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Estonian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Estonian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Estonian/ERR_TOO_BIG
+#usr/lib/squid/errors/Estonian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Estonian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Estonian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Finnish
+#usr/lib/squid/errors/Finnish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Finnish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Finnish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Finnish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Finnish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Finnish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Finnish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Finnish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Finnish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Finnish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Finnish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Finnish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Finnish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Finnish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Finnish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Finnish/ERR_INVALID_URL
+#usr/lib/squid/errors/Finnish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Finnish/ERR_NO_RELAY
+#usr/lib/squid/errors/Finnish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Finnish/ERR_READ_ERROR
+#usr/lib/squid/errors/Finnish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Finnish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Finnish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Finnish/ERR_TOO_BIG
+#usr/lib/squid/errors/Finnish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Finnish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Finnish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Finnish/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/French
+#usr/lib/squid/errors/French/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/French/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/French/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/French/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/French/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/French/ERR_DNS_FAIL
+#usr/lib/squid/errors/French/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/French/ERR_FTP_DISABLED
+#usr/lib/squid/errors/French/ERR_FTP_FAILURE
+#usr/lib/squid/errors/French/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/French/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/French/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/French/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/French/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/French/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/French/ERR_INVALID_REQ
+#usr/lib/squid/errors/French/ERR_INVALID_RESP
+#usr/lib/squid/errors/French/ERR_INVALID_URL
+#usr/lib/squid/errors/French/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/French/ERR_NO_RELAY
+#usr/lib/squid/errors/French/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/French/ERR_READ_ERROR
+#usr/lib/squid/errors/French/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/French/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/French/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/French/ERR_TOO_BIG
+#usr/lib/squid/errors/French/ERR_UNSUP_REQ
+#usr/lib/squid/errors/French/ERR_URN_RESOLVE
+#usr/lib/squid/errors/French/ERR_WRITE_ERROR
+#usr/lib/squid/errors/French/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/German
+#usr/lib/squid/errors/German/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/German/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/German/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/German/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/German/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/German/ERR_DNS_FAIL
+#usr/lib/squid/errors/German/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/German/ERR_FTP_DISABLED
+#usr/lib/squid/errors/German/ERR_FTP_FAILURE
+#usr/lib/squid/errors/German/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/German/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/German/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/German/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/German/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/German/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/German/ERR_INVALID_REQ
+#usr/lib/squid/errors/German/ERR_INVALID_RESP
+#usr/lib/squid/errors/German/ERR_INVALID_URL
+#usr/lib/squid/errors/German/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/German/ERR_NO_RELAY
+#usr/lib/squid/errors/German/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/German/ERR_READ_ERROR
+#usr/lib/squid/errors/German/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/German/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/German/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/German/ERR_TOO_BIG
+#usr/lib/squid/errors/German/ERR_UNSUP_REQ
+#usr/lib/squid/errors/German/ERR_URN_RESOLVE
+#usr/lib/squid/errors/German/ERR_WRITE_ERROR
+#usr/lib/squid/errors/German/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Greek
+#usr/lib/squid/errors/Greek/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Greek/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Greek/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Greek/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Greek/ERR_DNS_FAIL
+#usr/lib/squid/errors/Greek/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Greek/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Greek/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Greek/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Greek/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Greek/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Greek/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Greek/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Greek/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Greek/ERR_INVALID_REQ
+#usr/lib/squid/errors/Greek/ERR_INVALID_RESP
+#usr/lib/squid/errors/Greek/ERR_INVALID_URL
+#usr/lib/squid/errors/Greek/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Greek/ERR_NO_RELAY
+#usr/lib/squid/errors/Greek/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Greek/ERR_READ_ERROR
+#usr/lib/squid/errors/Greek/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Greek/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Greek/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Greek/ERR_TOO_BIG
+#usr/lib/squid/errors/Greek/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Greek/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Greek/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Greek/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Hebrew
+#usr/lib/squid/errors/Hebrew/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Hebrew/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Hebrew/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Hebrew/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Hebrew/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Hebrew/ERR_DNS_FAIL
+#usr/lib/squid/errors/Hebrew/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Hebrew/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Hebrew/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Hebrew/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Hebrew/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Hebrew/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Hebrew/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Hebrew/ERR_INVALID_REQ
+#usr/lib/squid/errors/Hebrew/ERR_INVALID_RESP
+#usr/lib/squid/errors/Hebrew/ERR_INVALID_URL
+#usr/lib/squid/errors/Hebrew/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Hebrew/ERR_NO_RELAY
+#usr/lib/squid/errors/Hebrew/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Hebrew/ERR_READ_ERROR
+#usr/lib/squid/errors/Hebrew/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Hebrew/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Hebrew/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Hebrew/ERR_TOO_BIG
+#usr/lib/squid/errors/Hebrew/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Hebrew/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Hebrew/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Hebrew/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Hungarian
+#usr/lib/squid/errors/Hungarian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Hungarian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Hungarian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Hungarian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Hungarian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Hungarian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Hungarian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Hungarian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Hungarian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Hungarian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Hungarian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Hungarian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Hungarian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Hungarian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Hungarian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Hungarian/ERR_INVALID_URL
+#usr/lib/squid/errors/Hungarian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Hungarian/ERR_NO_RELAY
+#usr/lib/squid/errors/Hungarian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Hungarian/ERR_READ_ERROR
+#usr/lib/squid/errors/Hungarian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Hungarian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Hungarian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Hungarian/ERR_TOO_BIG
+#usr/lib/squid/errors/Hungarian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Hungarian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Hungarian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Hungarian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Italian
+#usr/lib/squid/errors/Italian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Italian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Italian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Italian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Italian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Italian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Italian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Italian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Italian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Italian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Italian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Italian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Italian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Italian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Italian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Italian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Italian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Italian/ERR_INVALID_URL
+#usr/lib/squid/errors/Italian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Italian/ERR_NO_RELAY
+#usr/lib/squid/errors/Italian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Italian/ERR_READ_ERROR
+#usr/lib/squid/errors/Italian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Italian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Italian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Italian/ERR_TOO_BIG
+#usr/lib/squid/errors/Italian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Italian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Italian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Italian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Japanese
+#usr/lib/squid/errors/Japanese/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Japanese/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Japanese/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Japanese/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Japanese/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Japanese/ERR_DNS_FAIL
+#usr/lib/squid/errors/Japanese/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Japanese/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Japanese/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Japanese/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Japanese/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Japanese/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Japanese/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Japanese/ERR_INVALID_REQ
+#usr/lib/squid/errors/Japanese/ERR_INVALID_RESP
+#usr/lib/squid/errors/Japanese/ERR_INVALID_URL
+#usr/lib/squid/errors/Japanese/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Japanese/ERR_NO_RELAY
+#usr/lib/squid/errors/Japanese/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Japanese/ERR_READ_ERROR
+#usr/lib/squid/errors/Japanese/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Japanese/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Japanese/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Japanese/ERR_TOO_BIG
+#usr/lib/squid/errors/Japanese/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Japanese/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Japanese/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Japanese/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Korean
+#usr/lib/squid/errors/Korean/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Korean/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Korean/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Korean/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Korean/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Korean/ERR_DNS_FAIL
+#usr/lib/squid/errors/Korean/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Korean/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Korean/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Korean/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Korean/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Korean/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Korean/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Korean/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Korean/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Korean/ERR_INVALID_REQ
+#usr/lib/squid/errors/Korean/ERR_INVALID_RESP
+#usr/lib/squid/errors/Korean/ERR_INVALID_URL
+#usr/lib/squid/errors/Korean/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Korean/ERR_NO_RELAY
+#usr/lib/squid/errors/Korean/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Korean/ERR_READ_ERROR
+#usr/lib/squid/errors/Korean/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Korean/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Korean/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Korean/ERR_TOO_BIG
+#usr/lib/squid/errors/Korean/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Korean/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Korean/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Korean/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Lithuanian
+#usr/lib/squid/errors/Lithuanian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Lithuanian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Lithuanian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Lithuanian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Lithuanian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Lithuanian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Lithuanian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Lithuanian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Lithuanian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Lithuanian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Lithuanian/ERR_INVALID_URL
+#usr/lib/squid/errors/Lithuanian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Lithuanian/ERR_NO_RELAY
+#usr/lib/squid/errors/Lithuanian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Lithuanian/ERR_READ_ERROR
+#usr/lib/squid/errors/Lithuanian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Lithuanian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Lithuanian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Lithuanian/ERR_TOO_BIG
+#usr/lib/squid/errors/Lithuanian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Lithuanian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Lithuanian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Lithuanian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Polish
+#usr/lib/squid/errors/Polish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Polish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Polish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Polish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Polish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Polish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Polish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Polish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Polish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Polish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Polish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Polish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Polish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Polish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Polish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Polish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Polish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Polish/ERR_INVALID_URL
+#usr/lib/squid/errors/Polish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Polish/ERR_NO_RELAY
+#usr/lib/squid/errors/Polish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Polish/ERR_READ_ERROR
+#usr/lib/squid/errors/Polish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Polish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Polish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Polish/ERR_TOO_BIG
+#usr/lib/squid/errors/Polish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Polish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Polish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Polish/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Portuguese
+#usr/lib/squid/errors/Portuguese/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Portuguese/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Portuguese/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Portuguese/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Portuguese/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Portuguese/ERR_DNS_FAIL
+#usr/lib/squid/errors/Portuguese/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Portuguese/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Portuguese/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Portuguese/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Portuguese/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Portuguese/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Portuguese/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Portuguese/ERR_INVALID_REQ
+#usr/lib/squid/errors/Portuguese/ERR_INVALID_RESP
+#usr/lib/squid/errors/Portuguese/ERR_INVALID_URL
+#usr/lib/squid/errors/Portuguese/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Portuguese/ERR_NO_RELAY
+#usr/lib/squid/errors/Portuguese/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Portuguese/ERR_READ_ERROR
+#usr/lib/squid/errors/Portuguese/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Portuguese/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Portuguese/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Portuguese/ERR_TOO_BIG
+#usr/lib/squid/errors/Portuguese/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Portuguese/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Portuguese/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Portuguese/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Romanian
+#usr/lib/squid/errors/Romanian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Romanian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Romanian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Romanian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Romanian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Romanian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Romanian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Romanian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Romanian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Romanian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Romanian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Romanian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Romanian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Romanian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Romanian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Romanian/ERR_INVALID_URL
+#usr/lib/squid/errors/Romanian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Romanian/ERR_NO_RELAY
+#usr/lib/squid/errors/Romanian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Romanian/ERR_READ_ERROR
+#usr/lib/squid/errors/Romanian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Romanian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Romanian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Romanian/ERR_TOO_BIG
+#usr/lib/squid/errors/Romanian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Romanian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Romanian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Romanian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Russian-1251
+#usr/lib/squid/errors/Russian-1251/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-1251/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-1251/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-1251/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Russian-1251/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Russian-1251/ERR_DNS_FAIL
+#usr/lib/squid/errors/Russian-1251/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Russian-1251/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Russian-1251/ERR_INVALID_REQ
+#usr/lib/squid/errors/Russian-1251/ERR_INVALID_RESP
+#usr/lib/squid/errors/Russian-1251/ERR_INVALID_URL
+#usr/lib/squid/errors/Russian-1251/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Russian-1251/ERR_NO_RELAY
+#usr/lib/squid/errors/Russian-1251/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Russian-1251/ERR_READ_ERROR
+#usr/lib/squid/errors/Russian-1251/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Russian-1251/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Russian-1251/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Russian-1251/ERR_TOO_BIG
+#usr/lib/squid/errors/Russian-1251/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Russian-1251/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Russian-1251/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Russian-1251/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Russian-koi8-r
+#usr/lib/squid/errors/Russian-koi8-r/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Russian-koi8-r/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Russian-koi8-r/ERR_DNS_FAIL
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Russian-koi8-r/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_REQ
+#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_RESP
+#usr/lib/squid/errors/Russian-koi8-r/ERR_INVALID_URL
+#usr/lib/squid/errors/Russian-koi8-r/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Russian-koi8-r/ERR_NO_RELAY
+#usr/lib/squid/errors/Russian-koi8-r/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Russian-koi8-r/ERR_READ_ERROR
+#usr/lib/squid/errors/Russian-koi8-r/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Russian-koi8-r/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Russian-koi8-r/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Russian-koi8-r/ERR_TOO_BIG
+#usr/lib/squid/errors/Russian-koi8-r/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Russian-koi8-r/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Russian-koi8-r/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Russian-koi8-r/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Serbian
+#usr/lib/squid/errors/Serbian/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Serbian/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Serbian/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Serbian/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Serbian/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Serbian/ERR_DNS_FAIL
+#usr/lib/squid/errors/Serbian/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Serbian/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Serbian/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Serbian/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Serbian/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Serbian/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Serbian/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Serbian/ERR_INVALID_REQ
+#usr/lib/squid/errors/Serbian/ERR_INVALID_RESP
+#usr/lib/squid/errors/Serbian/ERR_INVALID_URL
+#usr/lib/squid/errors/Serbian/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Serbian/ERR_NO_RELAY
+#usr/lib/squid/errors/Serbian/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Serbian/ERR_READ_ERROR
+#usr/lib/squid/errors/Serbian/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Serbian/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Serbian/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Serbian/ERR_TOO_BIG
+#usr/lib/squid/errors/Serbian/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Serbian/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Serbian/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Serbian/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Simplify_Chinese
+#usr/lib/squid/errors/Simplify_Chinese/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Simplify_Chinese/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Simplify_Chinese/ERR_DNS_FAIL
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Simplify_Chinese/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_REQ
+#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_RESP
+#usr/lib/squid/errors/Simplify_Chinese/ERR_INVALID_URL
+#usr/lib/squid/errors/Simplify_Chinese/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Simplify_Chinese/ERR_NO_RELAY
+#usr/lib/squid/errors/Simplify_Chinese/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Simplify_Chinese/ERR_READ_ERROR
+#usr/lib/squid/errors/Simplify_Chinese/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Simplify_Chinese/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Simplify_Chinese/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Simplify_Chinese/ERR_TOO_BIG
+#usr/lib/squid/errors/Simplify_Chinese/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Simplify_Chinese/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Simplify_Chinese/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Simplify_Chinese/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Slovak
+#usr/lib/squid/errors/Slovak/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Slovak/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Slovak/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Slovak/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Slovak/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Slovak/ERR_DNS_FAIL
+#usr/lib/squid/errors/Slovak/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Slovak/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Slovak/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Slovak/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Slovak/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Slovak/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Slovak/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Slovak/ERR_INVALID_REQ
+#usr/lib/squid/errors/Slovak/ERR_INVALID_RESP
+#usr/lib/squid/errors/Slovak/ERR_INVALID_URL
+#usr/lib/squid/errors/Slovak/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Slovak/ERR_NO_RELAY
+#usr/lib/squid/errors/Slovak/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Slovak/ERR_READ_ERROR
+#usr/lib/squid/errors/Slovak/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Slovak/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Slovak/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Slovak/ERR_TOO_BIG
+#usr/lib/squid/errors/Slovak/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Slovak/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Slovak/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Slovak/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Spanish
+#usr/lib/squid/errors/Spanish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Spanish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Spanish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Spanish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Spanish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Spanish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Spanish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Spanish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Spanish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Spanish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Spanish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Spanish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Spanish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Spanish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Spanish/ERR_INVALID_URL
+#usr/lib/squid/errors/Spanish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Spanish/ERR_NO_RELAY
+#usr/lib/squid/errors/Spanish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Spanish/ERR_READ_ERROR
+#usr/lib/squid/errors/Spanish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Spanish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Spanish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Spanish/ERR_TOO_BIG
+#usr/lib/squid/errors/Spanish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Spanish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Spanish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Spanish/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Swedish
+#usr/lib/squid/errors/Swedish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Swedish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Swedish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Swedish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Swedish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Swedish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Swedish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Swedish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Swedish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Swedish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Swedish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Swedish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Swedish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Swedish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Swedish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Swedish/ERR_INVALID_URL
+#usr/lib/squid/errors/Swedish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Swedish/ERR_NO_RELAY
+#usr/lib/squid/errors/Swedish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Swedish/ERR_READ_ERROR
+#usr/lib/squid/errors/Swedish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Swedish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Swedish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Swedish/ERR_TOO_BIG
+#usr/lib/squid/errors/Swedish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Swedish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Swedish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Swedish/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Traditional_Chinese
+#usr/lib/squid/errors/Traditional_Chinese/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Traditional_Chinese/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Traditional_Chinese/ERR_DNS_FAIL
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Traditional_Chinese/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_REQ
+#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_RESP
+#usr/lib/squid/errors/Traditional_Chinese/ERR_INVALID_URL
+#usr/lib/squid/errors/Traditional_Chinese/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Traditional_Chinese/ERR_NO_RELAY
+#usr/lib/squid/errors/Traditional_Chinese/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Traditional_Chinese/ERR_READ_ERROR
+#usr/lib/squid/errors/Traditional_Chinese/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Traditional_Chinese/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Traditional_Chinese/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Traditional_Chinese/ERR_TOO_BIG
+#usr/lib/squid/errors/Traditional_Chinese/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Traditional_Chinese/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Traditional_Chinese/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Traditional_Chinese/ERR_ZERO_SIZE_OBJECT
+#usr/lib/squid/errors/Turkish
+#usr/lib/squid/errors/Turkish/ERR_ACCESS_DENIED
+#usr/lib/squid/errors/Turkish/ERR_CACHE_ACCESS_DENIED
+#usr/lib/squid/errors/Turkish/ERR_CACHE_MGR_ACCESS_DENIED
+#usr/lib/squid/errors/Turkish/ERR_CANNOT_FORWARD
+#usr/lib/squid/errors/Turkish/ERR_CONNECT_FAIL
+#usr/lib/squid/errors/Turkish/ERR_DNS_FAIL
+#usr/lib/squid/errors/Turkish/ERR_FORWARDING_DENIED
+#usr/lib/squid/errors/Turkish/ERR_FTP_DISABLED
+#usr/lib/squid/errors/Turkish/ERR_FTP_FAILURE
+#usr/lib/squid/errors/Turkish/ERR_FTP_FORBIDDEN
+#usr/lib/squid/errors/Turkish/ERR_FTP_NOT_FOUND
+#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_CREATED
+#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_ERROR
+#usr/lib/squid/errors/Turkish/ERR_FTP_PUT_MODIFIED
+#usr/lib/squid/errors/Turkish/ERR_FTP_UNAVAILABLE
+#usr/lib/squid/errors/Turkish/ERR_INVALID_REQ
+#usr/lib/squid/errors/Turkish/ERR_INVALID_RESP
+#usr/lib/squid/errors/Turkish/ERR_INVALID_URL
+#usr/lib/squid/errors/Turkish/ERR_LIFETIME_EXP
+#usr/lib/squid/errors/Turkish/ERR_NO_RELAY
+#usr/lib/squid/errors/Turkish/ERR_ONLY_IF_CACHED_MISS
+#usr/lib/squid/errors/Turkish/ERR_READ_ERROR
+#usr/lib/squid/errors/Turkish/ERR_READ_TIMEOUT
+#usr/lib/squid/errors/Turkish/ERR_SHUTTING_DOWN
+#usr/lib/squid/errors/Turkish/ERR_SOCKET_FAILURE
+#usr/lib/squid/errors/Turkish/ERR_TOO_BIG
+#usr/lib/squid/errors/Turkish/ERR_UNSUP_REQ
+#usr/lib/squid/errors/Turkish/ERR_URN_RESOLVE
+#usr/lib/squid/errors/Turkish/ERR_WRITE_ERROR
+#usr/lib/squid/errors/Turkish/ERR_ZERO_SIZE_OBJECT
+usr/lib/squid/icons
+#usr/lib/squid/icons/anthony-binhex.gif
+#usr/lib/squid/icons/anthony-bomb.gif
+#usr/lib/squid/icons/anthony-box.gif
+#usr/lib/squid/icons/anthony-box2.gif
+#usr/lib/squid/icons/anthony-c.gif
+#usr/lib/squid/icons/anthony-compressed.gif
+#usr/lib/squid/icons/anthony-dir.gif
+#usr/lib/squid/icons/anthony-dirup.gif
+#usr/lib/squid/icons/anthony-dvi.gif
+#usr/lib/squid/icons/anthony-f.gif
+#usr/lib/squid/icons/anthony-image.gif
+#usr/lib/squid/icons/anthony-image2.gif
+#usr/lib/squid/icons/anthony-layout.gif
+#usr/lib/squid/icons/anthony-link.gif
+#usr/lib/squid/icons/anthony-movie.gif
+#usr/lib/squid/icons/anthony-pdf.gif
+#usr/lib/squid/icons/anthony-portal.gif
+#usr/lib/squid/icons/anthony-ps.gif
+#usr/lib/squid/icons/anthony-quill.gif
+#usr/lib/squid/icons/anthony-script.gif
+#usr/lib/squid/icons/anthony-sound.gif
+#usr/lib/squid/icons/anthony-tar.gif
+#usr/lib/squid/icons/anthony-tex.gif
+#usr/lib/squid/icons/anthony-text.gif
+#usr/lib/squid/icons/anthony-unknown.gif
+#usr/lib/squid/icons/anthony-xbm.gif
+#usr/lib/squid/icons/anthony-xpm.gif
+#usr/lib/squid/mib.txt
+usr/lib/squid/msnt_auth
+usr/lib/squid/ncsa_auth
+usr/lib/squid/ntlm_auth
+usr/lib/squid/smb_auth
+usr/lib/squid/smb_auth.sh
+usr/lib/squid/unlinkd
+usr/lib/squid/wb_ntlmauth
+usr/sbin/squid
+#usr/share/man/man8/cachemgr.cgi.8
+#usr/share/man/man8/squid.8
+var/log/cache
+var/log/squid
+var/log/squid/access.log
+#var/logs
+##
+## squid-graph-3.1
+##
+home/httpd/html/sgraph
+usr/bin/squid-graph
+##
+## syslinux-2.11
+##
+#usr/bin/gethostip
+#usr/bin/lss16toppm
+#usr/bin/ppmtolss16
+#usr/bin/syslinux
+#usr/lib/syslinux
+#usr/lib/syslinux/copybs.com
+#usr/lib/syslinux/isolinux-debug.bin
+#usr/lib/syslinux/isolinux.bin
+#usr/lib/syslinux/memdisk
+#usr/lib/syslinux/pxelinux.0
+#usr/lib/syslinux/syslinux.com
+#usr/lib/syslinux/syslinux.exe
+##
+## tcpdump-3.8.3
+##
+usr/sbin/tcpdump
+#usr/share/man/man1/tcpdump.1
+##
+## traceroute-1.4a12
+##
+usr/sbin/traceroute
+#usr/share/man/man8/traceroute.8
+##
+## bast-0.9.0
+##
+usr/bin/unicorn_status
+usr/bin/oam_ping
+#lib/modules/2.4.31/extra
+lib/modules/2.4.31/extra/unicorn_pci_atm.o.gz
+#lib/modules/2.4.31/extra/unicorn_pci_eth.o.gz
+lib/modules/2.4.31/extra/unicorn_usb_atm.o.gz
+#lib/modules/2.4.31/extra/unicorn_usb_eth.o.gz
+##
+## bast-0.9.0-smp
+##
+#usr/bin/unicorn_status
+#usr/bin/oam_ping
+#lib/modules/2.4.31-smp/extra
+#lib/modules/2.4.31-smp/extra/unicorn_pci_eth.o.gz
+lib/modules/2.4.31-smp/extra/unicorn_usb_atm.o.gz
+#lib/modules/2.4.31-smp/extra/unicorn_usb_eth.o.gz
+lib/modules/2.4.31-smp/extra/unicorn_pci_atm.o.gz
+##
+## unzip552
+##
+#usr/bin/funzip
+#usr/bin/unzip
+#usr/bin/unzipsfx
+#usr/bin/zipgrep
+#usr/bin/zipinfo
+#usr/share/man/man1/funzip.1
+#usr/share/man/man1/unzip.1
+#usr/share/man/man1/unzipsfx.1
+#usr/share/man/man1/zipgrep.1
+#usr/share/man/man1/zipinfo.1
+##
+## wireless_tools.27
+##
+#usr/include/iwlib.h
+#usr/include/wireless.h
+usr/lib/libiw.so
+usr/lib/libiw.so.27
+usr/sbin/ifrename
+usr/sbin/iwconfig
+usr/sbin/iwevent
+usr/sbin/iwgetid
+usr/sbin/iwlist
+usr/sbin/iwpriv
+usr/sbin/iwspy
+#usr/share/man/man5/iftab.5
+#usr/share/man/man7/wireless.7
+#usr/share/man/man8/ifrename.8
+#usr/share/man/man8/iwconfig.8
+#usr/share/man/man8/iwevent.8
+#usr/share/man/man8/iwgetid.8
+#usr/share/man/man8/iwlist.8
+#usr/share/man/man8/iwpriv.8
+#usr/share/man/man8/iwspy.8
+##
+## HTML-Tagset-3.04
+##
+#usr/lib/perl5/site_perl/5.8.5/HTML
+#usr/lib/perl5/site_perl/5.8.5/HTML/Tagset.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Tagset
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Tagset/.packlist
+#usr/share/man/man3/HTML::Tagset.3
+##
+## HTML-Parser-3.45
+##
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Entities.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Filter.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/HeadParser.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/LinkExtor.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/Parser.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/PullParser.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/HTML/TokeParser.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/.packlist
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/Parser.bs
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/HTML/Parser/Parser.so
+#usr/share/man/man3/HTML::Entities.3
+#usr/share/man/man3/HTML::Filter.3
+#usr/share/man/man3/HTML::HeadParser.3
+#usr/share/man/man3/HTML::LinkExtor.3
+#usr/share/man/man3/HTML::Parser.3
+#usr/share/man/man3/HTML::PullParser.3
+#usr/share/man/man3/HTML::TokeParser.3
+##
+## Compress-Zlib-1.35
+##
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Compress
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Compress/Zlib.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/.packlist
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/Zlib.bs
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/Zlib.so
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Compress/Zlib/autosplit.ix
+#usr/share/man/man3/Compress::Zlib.3
+##
+## URI-1.35
+##
+#usr/lib/perl5/site_perl/5.8.5/URI
+usr/lib/perl5/site_perl/5.8.5/URI.pm
+usr/lib/perl5/site_perl/5.8.5/URI/Escape.pm
+usr/lib/perl5/site_perl/5.8.5/URI/Heuristic.pm
+usr/lib/perl5/site_perl/5.8.5/URI/QueryParam.pm
+usr/lib/perl5/site_perl/5.8.5/URI/Split.pm
+usr/lib/perl5/site_perl/5.8.5/URI/URL.pm
+usr/lib/perl5/site_perl/5.8.5/URI/WithBase.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_foreign.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_generic.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/_ldap.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_login.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_query.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_segment.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_server.pm
+usr/lib/perl5/site_perl/5.8.5/URI/_userpass.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/data.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file
+#usr/lib/perl5/site_perl/5.8.5/URI/file.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/Base.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/FAT.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/Mac.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/OS2.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/QNX.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/Unix.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/file/Win32.pm
+usr/lib/perl5/site_perl/5.8.5/URI/ftp.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/gopher.pm
+usr/lib/perl5/site_perl/5.8.5/URI/http.pm
+usr/lib/perl5/site_perl/5.8.5/URI/https.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/ldap.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/ldapi.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/ldaps.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/mailto.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/mms.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/news.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/nntp.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/pop.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/rlogin.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/rsync.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/rtsp.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/rtspu.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/sip.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/sips.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/snews.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/ssh.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/telnet.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/tn3270.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/urn
+#usr/lib/perl5/site_perl/5.8.5/URI/urn.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/urn/isbn.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/urn/oid.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/URI
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/URI/.packlist
+#usr/share/man/man3/URI.3
+#usr/share/man/man3/URI::Escape.3
+#usr/share/man/man3/URI::Heuristic.3
+#usr/share/man/man3/URI::QueryParam.3
+#usr/share/man/man3/URI::Split.3
+#usr/share/man/man3/URI::URL.3
+#usr/share/man/man3/URI::WithBase.3
+#usr/share/man/man3/URI::data.3
+#usr/share/man/man3/URI::file.3
+#usr/share/man/man3/URI::ldap.3
+##
+## libwww-perl-5.803
+##
+usr/lib/perl5/site_perl/5.8.5/LWP.pm
+#usr/lib/perl5/site_perl/5.8.5/lwpcook.pod
+#usr/lib/perl5/site_perl/5.8.5/lwptut.pod
+usr/lib/perl5/site_perl/5.8.5/LWP/MediaTypes.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Debug.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/ConnCache.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/RobotUA.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Simple.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/UserAgent.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/media.types
+usr/lib/perl5/site_perl/5.8.5/LWP/MemberMixin.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/ldap.pm
+#usr/lib/perl5/site_perl/5.8.5/URI/rlogin.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/DebugFile.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Ntlm.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Basic.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Authen/Digest.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/data.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/cpan.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/http10.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/https.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/file.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/ftp.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/GHTTP.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/nogo.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/nntp.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/https10.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/gopher.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/loopback.pm
+usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/http.pm
+#usr/lib/perl5/site_perl/5.8.5/LWP/Protocol/mailto.pm
+usr/lib/perl5/site_perl/5.8.5/Net/HTTP.pm
+usr/lib/perl5/site_perl/5.8.5/Net/HTTPS.pm
+usr/lib/perl5/site_perl/5.8.5/Net/HTTP/NB.pm
+usr/lib/perl5/site_perl/5.8.5/Net/HTTP/Methods.pm
+#usr/lib/perl5/site_perl/5.8.5/WWW/RobotRules.pm
+#usr/lib/perl5/site_perl/5.8.5/WWW/RobotRules/AnyDBM_File.pm
+#usr/lib/perl5/site_perl/5.8.5/HTML/Form.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Date.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Status.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Request.pm
+#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Negotiate.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Response.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Headers.pm
+#usr/lib/perl5/site_perl/5.8.5/HTTP/Daemon.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Message.pm
+#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies/Netscape.pm
+#usr/lib/perl5/site_perl/5.8.5/HTTP/Cookies/Microsoft.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Request/Common.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/Util.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/Auth.pm
+usr/lib/perl5/site_perl/5.8.5/HTTP/Headers/ETag.pm
+usr/lib/perl5/site_perl/5.8.5/File/Listing.pm
+#usr/lib/perl5/site_perl/5.8.5/Bundle/LWP.pm
+##
+## Digest-1.08
+##
+#usr/lib/perl5/5.8.5/Digest
+usr/lib/perl5/5.8.5/Digest/base.pm
+#usr/lib/perl5/5.8.5/i386-linux/auto/Digest/.packlist
+#usr/share/man/man3/Digest::base.3
+##
+## Digest-SHA1-2.10
+##
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/SHA1.bs
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/SHA1.so
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/SHA1/.packlist
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Digest
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Digest/SHA1.pm
+#usr/share/man/man3/Digest::SHA1.3
+##
+## Digest-HMAC-1.01
+##
+#usr/lib/perl5/site_perl/5.8.5/Digest
+usr/lib/perl5/site_perl/5.8.5/Digest/HMAC_SHA1.pm
+usr/lib/perl5/site_perl/5.8.5/Digest/HMAC.pm
+usr/lib/perl5/site_perl/5.8.5/Digest/HMAC_MD5.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/HMAC
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Digest/HMAC/.packlist
+#usr/share/man/man3/Digest::HMAC.3
+#usr/share/man/man3/Digest::HMAC_MD5.3
+#usr/share/man/man3/Digest::HMAC_SHA1.3
+##
+## 3c5x9setup-1.00
+##
+usr/sbin/3c5x9setup
+##
+## iputils-ss020927
+##
+usr/bin/ping
+##
+## iptstate-1.4
+##
+usr/sbin/iptstate
+#usr/share/man/man1/iptstate.1
+##
+## Net_SSLeay-1.2.5
+##
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay
+usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/SSLeay/Handle.pm
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/Net/ptrtstrun.pl
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay
+#usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/.packlist
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/SSLeay.bs
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/SSLeay.so
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/autosplit.ix
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/debug_read.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https2.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_https4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx2.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/do_httpx4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/dump_peer_certificate.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_http4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_https4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/get_httpx4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_http4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_https4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/head_httpx4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/http_cat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/https_cat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/httpx_cat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/make_form.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/make_headers.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/new_x_ctx.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/open_proxy_tcp_connection.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/open_tcp_connection.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_http4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_https4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/post_httpx4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_http4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_https4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx3.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/put_httpx4.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/randomize.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_cert_and_key.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_proxy.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/set_server_cert_and_key.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_CRLF.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_all.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_read_until.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_write_CRLF.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/ssl_write_all.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/sslcat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_CRLF.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_all.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_read_until.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_write_CRLF.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcp_write_all.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcpcat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/tcpxcat.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_X509_lookup.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_nothing.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_read.al
+usr/lib/perl5/site_perl/5.8.5/i386-linux/auto/Net/SSLeay/want_write.al
+#usr/share/man/man3/Net::SSLeay.3
+#usr/share/man/man3/Net::SSLeay::Handle.3
+##
+## vlan.1.9
+##
+sbin/vconfig
+##
+## installer extension
+##
+#usr/local/bin/install2
+##
+## stun-server
+##
+usr/bin/stund
+##
+## XAMPP
+##
+opt/lampp
+##
+## PARPORT & PRINTER modules
+##
+lib/modules/2.4.31/kernel/drivers/char/lp.o.gz
+lib/modules/2.4.31/kernel/drivers/char/parport_serial.o.gz
+lib/modules/2.4.31/kernel/drivers/char/ppdev.o.gz
+lib/modules/2.4.31/kernel/drivers/char/tipar.o.gz
+lib/modules/2.4.31/kernel/drivers/parport
+lib/modules/2.4.31/kernel/drivers/parport/parport.o.gz
+lib/modules/2.4.31/kernel/drivers/parport/parport_pc.o.gz
+lib/modules/2.4.31/kernel/drivers/scsi/imm.o.gz
+lib/modules/2.4.31/kernel/drivers/scsi/ppa.o.gz
+lib/modules/2.4.31/kernel/drivers/usb/printer.o.gz
index 9e127db639020560ffb59b2dcd39701ff6501cd2..0f49791c63350159934917de1450ef1f2fc8fba0 100644 (file)
@@ -1,55 +1,55 @@
-#!/usr/bin/perl\r
-#\r
-# Helper program to write a new IPAC settings file\r
-#\r
-# (c) Lawrence Manning, 2001\r
-#\r
-# $id\r
-#\r
-\r
-use strict;\r
-require 'CONFIG_ROOT/general-functions.pl';\r
-\r
-my %settings;\r
-my $iface;\r
-\r
-General::readhash("${General::swroot}/ethernet/settings", \%settings);\r
-\r
-if (!open(FILE, '>/etc/ipac-ng/rules.conf')) {\r
-       die "Unable to create /etc/ipac-ng/rules.conf"; }\r
-\r
-if (open(IFACE, "${General::swroot}/red/iface"))\r
-{\r
-       $iface = <IFACE>;\r
-       close IFACE;\r
-       chomp ($iface);\r
-}\r
-\r
-print FILE "incoming GREEN ($settings{'GREEN_DEV'})|ipac~o|$settings{'GREEN_DEV'}|all|||\n";\r
-print FILE "outgoing GREEN ($settings{'GREEN_DEV'})|ipac~i|$settings{'GREEN_DEV'}|all|||\n";\r
-print FILE "forwarded incoming GREEN ($settings{'GREEN_DEV'})|ipac~fi|$settings{'GREEN_DEV'}|all|||\n";\r
-print FILE "forwarded outgoing GREEN ($settings{'GREEN_DEV'})|ipac~fo|$settings{'GREEN_DEV'}|all|||\n";\r
-\r
-if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ )\r
-{\r
-        print FILE "incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~o|$settings{'ORANGE_DEV'}|all|||\n";\r
-        print FILE "outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~i|$settings{'ORANGE_DEV'}|all|||\n";\r
-        print FILE "forwarded incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~fi|$settings{'ORANGE_DEV'}|all|||\n";\r
-        print FILE "forwarded outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~fo|$settings{'ORANGE_DEV'}|all|||\n";\r
-}\r
-\r
-if ($settings{'CONFIG_TYPE'} =~ /^(4|5|6|7)$/ )\r
-{\r
-        print FILE "incoming BLUE ($settings{'BLUE_DEV'})|ipac~o|$settings{'BLUE_DEV'}|all|||\n";\r
-        print FILE "outgoing BLUE ($settings{'BLUE_DEV'})|ipac~i|$settings{'BLUE_DEV'}|all|||\n";\r
-        print FILE "forwarded incoming BLUE ($settings{'BLUE_DEV'})|ipac~fi|$settings{'BLUE_DEV'}|all|||\n";\r
-        print FILE "forwarded outgoing BLUE ($settings{'BLUE_DEV'})|ipac~fo|$settings{'BLUE_DEV'}|all|||\n";\r
-}\r
-if ($iface) {\r
-       print FILE "incoming RED ($iface)|ipac~o|$iface|all|||\n";\r
-       print FILE "outgoing RED ($iface)|ipac~i|$iface|all|||\n";\r
-       print FILE "forwarded incoming RED ($iface)|ipac~fi|$iface|all|||\n";\r
-       print FILE "forwarded outgoing RED ($iface)|ipac~fo|$iface|all|||\n";\r
-}\r
-\r
-close FILE;\r
+#!/usr/bin/perl
+#
+# Helper program to write a new IPAC settings file
+#
+# (c) Lawrence Manning, 2001
+#
+# $id
+#
+
+use strict;
+require 'CONFIG_ROOT/general-functions.pl';
+
+my %settings;
+my $iface;
+
+General::readhash("${General::swroot}/ethernet/settings", \%settings);
+
+if (!open(FILE, '>/etc/ipac-ng/rules.conf')) {
+       die "Unable to create /etc/ipac-ng/rules.conf"; }
+
+if (open(IFACE, "${General::swroot}/red/iface"))
+{
+       $iface = <IFACE>;
+       close IFACE;
+       chomp ($iface);
+}
+
+print FILE "incoming GREEN ($settings{'GREEN_DEV'})|ipac~o|$settings{'GREEN_DEV'}|all|||\n";
+print FILE "outgoing GREEN ($settings{'GREEN_DEV'})|ipac~i|$settings{'GREEN_DEV'}|all|||\n";
+print FILE "forwarded incoming GREEN ($settings{'GREEN_DEV'})|ipac~fi|$settings{'GREEN_DEV'}|all|||\n";
+print FILE "forwarded outgoing GREEN ($settings{'GREEN_DEV'})|ipac~fo|$settings{'GREEN_DEV'}|all|||\n";
+
+if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ )
+{
+        print FILE "incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~o|$settings{'ORANGE_DEV'}|all|||\n";
+        print FILE "outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~i|$settings{'ORANGE_DEV'}|all|||\n";
+        print FILE "forwarded incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~fi|$settings{'ORANGE_DEV'}|all|||\n";
+        print FILE "forwarded outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~fo|$settings{'ORANGE_DEV'}|all|||\n";
+}
+
+if ($settings{'CONFIG_TYPE'} =~ /^(4|5|6|7)$/ )
+{
+        print FILE "incoming BLUE ($settings{'BLUE_DEV'})|ipac~o|$settings{'BLUE_DEV'}|all|||\n";
+        print FILE "outgoing BLUE ($settings{'BLUE_DEV'})|ipac~i|$settings{'BLUE_DEV'}|all|||\n";
+        print FILE "forwarded incoming BLUE ($settings{'BLUE_DEV'})|ipac~fi|$settings{'BLUE_DEV'}|all|||\n";
+        print FILE "forwarded outgoing BLUE ($settings{'BLUE_DEV'})|ipac~fo|$settings{'BLUE_DEV'}|all|||\n";
+}
+if ($iface) {
+       print FILE "incoming RED ($iface)|ipac~o|$iface|all|||\n";
+       print FILE "outgoing RED ($iface)|ipac~i|$iface|all|||\n";
+       print FILE "forwarded incoming RED ($iface)|ipac~fi|$iface|all|||\n";
+       print FILE "forwarded outgoing RED ($iface)|ipac~fo|$iface|all|||\n";
+}
+
+close FILE;