#
# $Id: seafood.conf,v 1.3 1999/08/12 20:20:51 voeckler Exp voeckler $
# newcm.conf - configuration file
#

# TAG:	no_ident
#	If you disabled the ident protocol logging in your file - see the
#	"ident_lookup off" option in your squid.conf - the analyser will be 
#	enabled to correctly recognize URLs containing whitespaces.
no_ident true;

# TAG:	debug_level
#	The debug level consists of a class, an OR of different areas to
#	log, and the actual verbosity level itself. The interpretation is
#	different than in Squid. You have to OR all classes you want to
#	watch, and there is only one verbosity level for all classes.
#
#	currently unused, the warn_unknown_* tags below may be incorporated
#	into the debug_level in the future, or somewhere else.
debug_level 0,0;

# TAG:	peak_interval
#	The amount in seconds for which a peak value will be accumulated.
peak_interval 3600;

# TAG:	warn_crash_interval
#	The amount in seconds between to consequetive time stamps in the
#	log file when a warning about a possible cache crash should be
#	displayed. This is in effect a 'silence time', when the service,
#	host, or network may have been down, or simply nobody asked your
#	cache. Thus you need to set it sufficiently large not to be
#	bothered with wrong warnings, but sufficiently low to detect
#	down times. The actual value depends on your cache and clients.
warn_crash_interval 1800; # half an hour

# TAG:	log_fqdn
#	Turn this on if you wish to log fully qualified domain names
#	for the client side lists. To do this newcm does a DNS lookup
#	of all client IPs. This will increase latency. If your squid
#	uses the (depracated) "log_fqdn" also, no DNS reverse looups
#	need to be done for the client side (almost).
log_fqdn false;

# TAG:	dns_cache_file
#	This is the name of the NDBM file to cache DNS lookups and DNS
#	reverse lookups. Use somewhere inconspicious where you are sure
#	to write and grow.
dns_cache_file "/var/tmp/dns";

# TAG:	dns_positive_ttl
#	The amount in seconds a positive (successful) DNS lookup should
#	stay in our local DNS cache before it will be verified.
dns_positive_ttl 18144000; # one month

# TAG:	dns_negative_ttl
#	The amount in seconds a negative (failed) DNS lookup should
#	stay in our local DNS cache before it will be attempted again.
dns_negative_ttl 604800; # one week

# TAG:	irr_server 
#	The name of the internet routing registry (IRR) (whois) server. Use
#	your closest RA mirror. 
#
#	YOU CANNOT USE THE RIPE WHOIS SERVER NOR MOST OTHERS WHOIS SERVERS!
#	YOU MUST USE A RA/MERIT COMPATIBLE WHOIS SERVER, OR USE NONE!
#
#	Use the non-quoted token none in order to disable the IRR, e.g.:
irr_server none;
#irr_server "whois.rvs.uni-hannover.de";
#irr_server "whois.ra.net";
#irr_server "localhost";

# TAG:	irr_cache_file
#	This is the name of the NDBM file to cache DNS lookups and DNS
#	reverse lookups. Use somewhere inconspicious where you are sure
#	to write and grow.
irr_cache_file "/var/tmp/irr";

# TAG:	irr_positive_ttl
#	The amount in seconds a positive (successful) IRR lookup should
#	stay in our local IRR cache before it will be verified.
irr_positive_ttl 18144000; # one month

# TAG:	irr_negative_ttl
#	The amount in seconds a negative (failed) IRR lookup should
#	stay in our local IRR cache before it will be attempted again.
irr_negative_ttl 604800; # one week

# TAG:	method_list { [A-Z_]+ } -- column 6
#	The method_list option determines all methods known to the analyser.
#	Have a look into the Squid sources src/enum.h in order to see which
#	methods are understood by Squid. Squid-2 will log the message
#	"NONE/400 x NONE error:unsupported-request-method - NONE/- text/plain"
#	for unknown methods.
method_list {
  NONE,	   
  CONNECT,
  COPY,
  DELETE,
  GET,
  HEAD,
  ICP_QUERY,
  LOCK,
  MOVE,
  MKCOL,
  OPTIONS,
  POST,
  PURGE,
  PUT,
  PROPATCH,
  PROPFIND,
  TRACE,
  UNLOCK
};

# TAG:	warn_unknown_method
#	Send a warning to stderr when encountering any method not in the
#	method_list. This may be slightly noisy.
warn_unknown_method true;

# TAG:	hierarchy_list { [A-Z_] } -- column 9
#	This list defines the hierarchy tags logged by Squid. These change
#	quite frequently. It is legal to define synonymous values with
#	the 'alias' option. Please mind that the "TIMEOUT_" prefix is not
#	handled here, do omit it from the hierarchy tag list! It will be
#	automagically prepended to any value mentioned here.
hierarchy_list {
  ANY_OLD_PARENT		parent,
  ANY_PARENT alias ANY_OLD_PARENT,
  CACHE_DIGEST_HIT		peer,	# indistinguishable
  CARP				peer,
  CD_PARENT_HIT			parent,	# A patch by HNo
  CD_PEER_HIT			peer,	# A patch by HNo
  CLOSEST_DIRECT		direct,
  CLOSEST_PARENT		parent,
  CLOSEST_PARENT_MISS		parent,
  DIRECT			direct,
  DEFAULT_PARENT		parent,
  FIREWALL_IP_DIRECT		direct, # squid-1
  FIRST_UP_PARENT		parent,
  FIRSTUP_PARENT	alias FIRST_UP_PARENT, # spelling bug in squid < 2.2
  FIRST_PARENT_MISS		parent,
  LOCAL_IP_DIRECT		direct,	# squid-1
  NONE				none,
  NO_CACHE_DIGEST_DIRECT	direct,
  NO_DIRECT_FAIL		none,	# fixme: what am i?
  NO_PARENT_DIRECT		direct,
	# calamaris-2.27 uses "peer" for PARENT_HIT, because SIBLING_HIT
	# and PARENT_HIT are virtually the same for the same reason there
	# is just one CACHE_DIGEST_HIT.
  PARENT_HIT			parent, 
  PARENT_UDP_HIT_OBJECT		parent, # squid-1
  PASSTHROUGH_PARENT		parent,	# squid-1
  ROUNDROBIN_PARENT		parent,
  SIBLING_HIT			peer,
  SIBLING_UDP_HIT_OBJECT	peer,	# squid-1
  SINGLE_PARENT			parent,
  SOURCE_FASTEST		direct,
  SSL_PARENT_MISS		parent	# squid-1: fixme: what am i?
};

# TAG:	warn_unknown_hierarchy
#	Send a warning to stderr when encountering any hierarchy tag not
#	in the hierarchy_list. This may be noisy.
warn_unknown_hierarchy true;

# TAG:	status_list { [A-Z_]+ } -- column 3
#	The status list helps you to find out which was a hit and which
#	was a miss. The options available are "tcp" or "udp" for the transport
#	protocol, and "hit" or "miss" for the appropriate definition to
#	your gusto, and "none" for the NONE (error) status.
#	Squid-1 ERR_* status needs to be entered with the "none" option.
#
#	What does the analyser consider a HIT/MISS/ERR:
#
#	UDP/HIT:	Any status below tagged as "udp" and "hit" 	
#	UDP/MISS:	Anything else tagged as "udp"
#
#	TCP/*:		Anything *not* tagged as "udp"
#	TCP/HIT:	Anything not "udp" tagged as "hit"
#	TCP/NONE:	Anything not "udp" and not "hit" w/ hierarchy NONE
#	TCP/MISS:	Anything else
#
#	Fixes for Squid false log messages:
#
#	- TCP*_HIT/30[12] will create a hierarchy of NONE regardless of log.
#	
status_list {
  ICP_QUERY			udp,
  NONE				none,
  TCP_CLIENT_REFRESH_MISS	tcp,
  TCP_CLIENT_REFRESH alias TCP_CLIENT_REFRESH_MISS, # squid-1.(1|NOVM)
  TCP_DENIED			tcp,
  TCP_HIT			tcp hit,
  TCP_IMS_HIT			tcp hit,
  TCP_IMS_MISS			tcp,		# squid-1.(1|NOVM)
  TCP_MEM_HIT			tcp hit,
  TCP_MISS			tcp,
  TCP_NEGATIVE_HIT		tcp hit,
  TCP_OFFLINE_HIT		tcp hit,
  TCP_REFRESH_FAIL_HIT		tcp hit,
  TCP_REF_FAIL_HIT alias TCP_REFRESH_FAIL_HIT,
	# A little wisdom by Henrik Nordstr�m:
	#
	# TCP_REFRESH_HIT/200 is a cache HIT where Squid first needed to
	# revalidate the object with the origin server. The reply from the
	# origin server was a small 304 reply.
	#
	# TCP_REFRESH_HIT/304 is when the client sent a IMS query to the
	# cache, the cache needed to validate it's cached object and both
	# the clients cache and the Squid cache was up to date.
	#
	# If you need to count "miss" traffic then both are about the same:
	# The size of a IMS query with a 304 reply.
  TCP_REFRESH_HIT		tcp,
  TCP_REFRESH_MISS		tcp,
  TCP_SWAPFAIL_MISS		tcp,
  TCP_SWAPFAIL alias TCP_SWAPFAIL_MISS,		# squid-1.(1|NOVM)
  UDP_DENIED			udp,
  UDP_HIT			udp hit,
  UDP_HIT_OBJ			udp hit,	# squid-1.1
  UDP_INVALID			udp,
  UDP_MISS			udp,
  UDP_MISS_NOFETCH		udp,
  UDP_RELOADING alias UDP_MISS_NOFETCH		# squid-1.(1|NOVM)
};

# TAG:	warn_unknown_status
#	Send a warning to stderr when encountering any status tag not in the
#	status_list. This may be noisy.
warn_unknown_status true;

# TAG:	scheme_list { [a-z_] } -- URL scheme
#	These schemes are counted, all other count as <unknown>. Please
#	sort the schemes with the most probable first. Also note that a
#	scheme will only be viewed with TCP log entries.
scheme_list {
  "http",
  "ftp",
  "cache_object",
  "https",
  "gopher",
  "wais",
  "news",
  "nntp",
  "mailto",
  "whois",	# squid requests to an IRR for AS resolution
  "pnm",	# as in real streams
  "error"	# as in "error:unsupported-request-method"
};

# TAG:	warn_unknown_scheme
#	Send a warning to stderr when encountering any scheme tag not in the
#	scheme_list. This may be noisy.
warn_unknown_scheme true;

# TAG:	mediatype_list { [a-z0-9_-] } -- column 10
#	This options lets you define the media (major) types which are
#	are of interest to the user. The subtypes are not part of this
#	list, because they multiply like tribbles. The media types are
#	lower case converted...
#
#	It is recommended that you map the "x-*" types onto the version
#	without the "x-" prefix, so you may catch future standardizations.
#	It is also recommended to sort the list by probability, most
#	often appearing type first.
#
#	ftp://ftp.isi.edu/in-notes/iana/assignments/media-types
#
mediatype_list {
  "image",
  "text",
  "-",
  "application",
  "audio",
  "video",
  "multipart",
  "message",
  "model",
  "x-world" alias "model",
  "world" alias "model",

  # seen on my caches
  "chemical",

  # some web server response
  "httpd",

  # this is a netscape webserver thingy
  "magnus-internal"
};

# TAG:	media_subtype "mediatype" { list }
#	For any media type mentioned in the mediatype_list above, you can
#	defined those subtypes you want an explicit count for. All subtypes
#	not mentioned in a subtype list will be counted as "<unknown>".
#	
#	Please note that the subtype list can only refer to a type mentioned
#	above. Also, use only one subtype list per media type, as a second
#	subtype list for the same type will overwrite the previous one.
#
#	Media types without associated subtype list will just be counted
#	as type with no subtypes (as you would expect).
media_subtypes "image" {
  "gif",
  "jpeg",
  "jpg" alias "jpeg",
  "png",
  "x-png" alias "png",
  "tiff",
  "x-tiff" alias "tiff",
  "x-ms-bmp",
  "bmp" alias "x-ms-bmp",
  "x-windows-bmp" alias "x-ms-bmp"
};

media_subtypes "text" {
  "html",
  "plain",
  "css",
  "xml",
  "sgml",
  "rtf",
  "rfc822"
};

media_subtypes "audio" {
  "basic",					# 1
  "x-realaudio",				# 2
  "x-pn-realaudio"	alias "x-realaudio",
  "x-pn-realaudio-plugin" alias "x-realaudio",
  "x-midi",					# 3
  "midi"		alias "x-midi",
  "mid"			alias "x-midi",
  "x-wav",					# 4
  "wav"			alias "x-wav",
  "x-mpeg3",					# 5
  "mpeg-layer3"		alias "x-mpeg3",
  "mpeg"		alias "x-mpeg3",
  "mp3"			alias "x-mpeg3"
};

media_subtypes "video" {
  "mpeg",
  "x-mpeg" alias "mpeg",
  "quicktime",
  "x-vdo",
  "vdo" alias "x-vdo"
};

media_subtypes "model" {
  "vrml",
  "x-vrml" alias "vrml",
  "mesh"
};

media_subtypes "application" {
  # DO NOT get carried away!	    
  "octet-stream",
  "octet-string" alias "octet-stream",
  "postscript",
  "pdf",
  "zip",
  "x-zip-compressed" alias "zip",
  "gzip",
  "x-gzip" alias "gzip",
  "cache-digest"
};

# TAG:	domain_list { "[^A-Z]+" }
#	list of all valid top level domains. Anything not in here
#	is an illegal hostname, and will be treated as an "<error>".
#	The exception are numerical hostnames, of course, or errors
#	which were detected earlier.
domain_list {
  "com",
  "edu",
  "gov",
  "net",
  "org",
  "mil",
  "int", 
  "localhost",
  "<numeric>",
  "<empty>",
  "ad", # ANDORRA
  "ae", # UNITED ARAB EMIRATES
  "af", # AFGHANISTAN
  "ag", # ANTIGUA AND BARBUDA
  "ai", # ANGUILLA
  "al", # ALBANIA
  "am", # ARMENIA
  "an", # NETHERLANDS ANTILLES
  "ao", # ANGOLA
  "aq", # ANTARCTICA
  "ar", # ARGENTINA
  "as", # AMERICAN SAMOA
  "at", # AUSTRIA
  "au", # AUSTRALIA
  "aw", # ARUBA
  "az", # AZERBAIJAN
  "ba", # BOSNIA AND HERZEGOWINA
  "bb", # BARBADOS
  "bd", # BANGLADESH
  "be", # BELGIUM
  "bf", # BURKINA FASO
  "bg", # BULGARIA
  "bh", # BAHRAIN
  "bi", # BURUNDI
  "bj", # BENIN
  "bm", # BERMUDA
  "bn", # BRUNEI DARUSSALAM
  "bo", # BOLIVIA
  "br", # BRAZIL
  "bs", # BAHAMAS
  "bt", # BHUTAN
  "bv", # BOUVET ISLAND
  "bw", # BOTSWANA
  "by", # BELARUS
  "bz", # BELIZE
  "ca", # CANADA
  "cc", # COCOS (KEELING) ISLANDS
  "cd", # CONGO, THE DEMOCRATIC REPUBLIC OF THE
  "cf", # CENTRAL AFRICAN REPUBLIC
  "cg", # CONGO
  "ch", # SWITZERLAND
  "ci", # COTE D'IVOIRE
  "ck", # COOK ISLANDS
  "cl", # CHILE
  "cm", # CAMEROON
  "cn", # CHINA
  "co", # COLOMBIA
  "cr", # COSTA RICA
  "cu", # CUBA
  "cv", # CAPE VERDE
  "cx", # CHRISTMAS ISLAND
  "cy", # CYPRUS
  "cz", # CZECH REPUBLIC
  "de", # GERMANY
  "dj", # DJIBOUTI
  "dk", # DENMARK
  "dm", # DOMINICA
  "do", # DOMINICAN REPUBLIC
  "dz", # ALGERIA
  "ec", # ECUADOR
  "ee", # ESTONIA
  "eg", # EGYPT
  "eh", # WESTERN SAHARA
  "er", # ERITREA
  "es", # SPAIN
  "et", # ETHIOPIA
  "fi", # FINLAND
  "fj", # FIJI
  "fk", # FALKLAND ISLANDS (MALVINAS)
  "fm", # MICRONESIA, FEDERATED STATES OF
  "fo", # FAROE ISLANDS
  "fr", # FRANCE
  "fx", # FRANCE, METROPOLITAN
  "ga", # GABON
  "gb", # UNITED KINGDOM --> There is really a DNS SOA for this TLD!
  "gd", # GRENADA
  "ge", # GEORGIA
  "gf", # FRENCH GUIANA
  "gh", # GHANA
  "gi", # GIBRALTAR
  "gl", # GREENLAND
  "gm", # GAMBIA
  "gn", # GUINEA
  "gp", # GUADELOUPE
  "gq", # EQUATORIAL GUINEA
  "gr", # GREECE
  "gs", # SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
  "gt", # GUATEMALA
  "gu", # GUAM
  "gw", # GUINEA-BISSAU
  "gy", # GUYANA
  "hk", # HONG KONG
  "hm", # HEARD AND MC DONALD ISLANDS
  "hn", # HONDURAS
  "hr", # CROATIA (local name: Hrvatska)
  "ht", # HAITI
  "hu", # HUNGARY
  "id", # INDONESIA
  "ie", # IRELAND
  "il", # ISRAEL
  "in", # INDIA
  "io", # BRITISH INDIAN OCEAN TERRITORY
  "iq", # IRAQ
  "ir", # IRAN (ISLAMIC REPUBLIC OF)
  "is", # ICELAND
  "it", # ITALY
  "jm", # JAMAICA
  "jo", # JORDAN
  "jp", # JAPAN
  "ke", # KENYA
  "kg", # KYRGYZSTAN
  "kh", # CAMBODIA
  "ki", # KIRIBATI
  "km", # COMOROS
  "kn", # SAINT KITTS AND NEVIS
  "kp", # KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
  "kr", # KOREA, REPUBLIC OF
  "kw", # KUWAIT
  "ky", # CAYMAN ISLANDS
  "kz", # KAZAKHSTAN
  "la", # LAO PEOPLE'S DEMOCRATIC REPUBLIC
  "lb", # LEBANON
  "lc", # SAINT LUCIA
  "li", # LIECHTENSTEIN
  "lk", # SRI LANKA
  "lr", # LIBERIA
  "ls", # LESOTHO
  "lt", # LITHUANIA
  "lu", # LUXEMBOURG
  "lv", # LATVIA
  "ly", # LIBYAN ARAB JAMAHIRIYA
  "ma", # MOROCCO
  "mc", # MONACO
  "md", # MOLDOVA, REPUBLIC OF
  "mg", # MADAGASCAR
  "mh", # MARSHALL ISLANDS
  "mk", # MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
  "ml", # MALI
  "mm", # MYANMAR
  "mn", # MONGOLIA
  "mo", # MACAU
  "mp", # NORTHERN MARIANA ISLANDS
  "mq", # MARTINIQUE
  "mr", # MAURITANIA
  "ms", # MONTSERRAT
  "mt", # MALTA
  "mu", # MAURITIUS
  "mv", # MALDIVES
  "mw", # MALAWI
  "mx", # MEXICO
  "my", # MALAYSIA
  "mz", # MOZAMBIQUE
  "na", # NAMIBIA
  "nc", # NEW CALEDONIA
  "ne", # NIGER
  "nf", # NORFOLK ISLAND
  "ng", # NIGERIA
  "ni", # NICARAGUA
  "nl", # NETHERLANDS
  "no", # NORWAY
  "np", # NEPAL
  "nr", # NAURU
  "nu", # NIUE
  "nz", # NEW ZEALAND
  "om", # OMAN
  "pa", # PANAMA
  "pe", # PERU
  "pf", # FRENCH POLYNESIA
  "pg", # PAPUA NEW GUINEA
  "ph", # PHILIPPINES
  "pk", # PAKISTAN
  "pl", # POLAND
  "pm", # ST. PIERRE AND MIQUELON
  "pn", # PITCAIRN
  "pr", # PUERTO RICO
  "pt", # PORTUGAL
  "pw", # PALAU
  "py", # PARAGUAY
  "qa", # QATAR
  "re", # REUNION
  "ro", # ROMANIA
  "ru", # RUSSIAN FEDERATION
  "rw", # RWANDA
  "sa", # SAUDI ARABIA
  "sb", # SOLOMON ISLANDS
  "sc", # SEYCHELLES
  "sd", # SUDAN
  "se", # SWEDEN
  "sg", # SINGAPORE
  "sh", # ST. HELENA
  "si", # SLOVENIA
  "sj", # SVALBARD AND JAN MAYEN ISLANDS
  "sk", # SLOVAKIA (Slovak Republic)
  "sl", # SIERRA LEONE
  "sm", # SAN MARINO
  "sn", # SENEGAL
  "so", # SOMALIA
  "sr", # SURINAME
  "st", # SAO TOME AND PRINCIPE
  "sv", # EL SALVADOR
  "sy", # SYRIAN ARAB REPUBLIC
  "sz", # SWAZILAND
  "tc", # TURKS AND CAICOS ISLANDS
  "td", # CHAD
  "tf", # FRENCH SOUTHERN TERRITORIES
  "tg", # TOGO
  "th", # THAILAND
  "tj", # TAJIKISTAN
  "tk", # TOKELAU
  "tm", # TURKMENISTAN
  "tn", # TUNISIA
  "to", # TONGA
  "tp", # EAST TIMOR
  "tr", # TURKEY
  "tt", # TRINIDAD AND TOBAGO
  "tv", # TUVALU
  "tw", # TAIWAN, PROVINCE OF CHINA
  "tz", # TANZANIA, UNITED REPUBLIC OF
  "ua", # UKRAINE
  "ug", # UGANDA
  "uk", # UNITED KINGDOM --> This is the correct TLD for Great Britain
  "um", # UNITED STATES MINOR OUTLYING ISLANDS
  "us", # UNITED STATES
  "uy", # URUGUAY
  "uz", # UZBEKISTAN
  "va", # HOLY SEE (VATICAN CITY STATE)
  "vc", # SAINT VINCENT AND THE GRENADINES
  "ve", # VENEZUELA
  "vg", # VIRGIN ISLANDS (BRITISH)
  "vi", # VIRGIN ISLANDS (U.S.)
  "vn", # VIET NAM
  "vu", # VANUATU
  "wf", # WALLIS AND FUTUNA ISLANDS
  "ws", # SAMOA
  "ye", # YEMEN
  "yt", # MAYOTTE
  "yu", # YUGOSLAVIA
  "za", # SOUTH AFRICA
  "zm", # ZAMBIA
  "zw"  # ZIMBABWE
};

# TAG:	warn_unknown_tld
#	Warn about toplevel domains which were not in the domain_list.
#	Warning: This will be extremely noisy!
warn_unknown_tld false;
