%ALIAS= () ;
%ALIAS_MATCH= () ;
%SCRIPT_ALIAS= () ;
%SCRIPT_ALIAS_MATCH= () ;
# The list of file extensions to interpret as CGI scripts or
# server-parsed HTML files.
# These are not specific settings in srm.conf, but are combinations of
# AddHandler directives and possibly AddType directives.
@CGI_EXTENSIONS= qw( .cgi ) ;
@SHTML_EXTENSIONS= qw( .shtml ) ;
#----- end of variables equivalent to srm.conf entries
# Specify patterns here to only include URLs that match at least one
# pattern. As a special case, an empty list includes all URLs, i.e.
# does not restrict URLs by name (except perhaps by @EXCLUDE_PATTERNS).
# This can be added to or cleared with the -I command-line option.
@INCLUDE_PATTERNS= () ;
# Specify patterns here to cause matching URLs to be excluded,
# e.g. '\?' means ignore all URLs that query.
# This can be added to or cleared with the -X command-line option.
# @EXCLUDE_PATTERNS= qw( \? ) ;
# Only report URLs whose status codes start with one of these patterns.
# As a special case, an empty list reports all URLs, i.e. does not
# restrict URLs by status code (except perhaps by @EXCLUDE_STATUS).
# This can be added to or cleared with the -i command-line option.
@INCLUDE_STATUS= () ;
# Don't report URLs whose status codes start with these patterns. Default
# is qw( 200 ).
# This can be added to or cleared with the -x command-line option.
@EXCLUDE_STATUS= qw( 200 ) ;
# For 302 or 303 HTTP redirection, redirect no more than this many times.
$MAX_REDIRECTS= 5 ;
# If a connection times out, etc., attempt no more than this many times.
$MAX_ATTEMPTS= 5 ;
# The old version determined whether a file was HTML by the -T test (text
# file), and so traversed all HTML-like links in any text file that wasn't
# a CGI script. It's probably more appropriate to check the file
# extension, to exclude source code, .txt files, etc. Leave $HTML_BY_NAME
# set to use the filename, or unset it to traverse all HTML-like links in
# any text files, as the old version did.
$HTML_BY_NAME= 1 ;
# Some old NCSA servers, including 1.5.2, don't report the HTTP version
# correctly in the status line; they return e.g. "HTTP 200 OK". To allow
# this, leave the variable here set.
$SUPPORT_NCSA_BUG= 1 ;
#----- DO NOT CHANGE ANYTHING BELOW THIS LINE, unless you want to... ---
#----- Further Global Variable Initialization --------------------------
$CL_VERSION= '1.0.1' ;
$ENV{'http_proxy'}||= $ENV{'HTTP_PROXY'} ;
@NO_PROXY= split(/[\s,]+/, $ENV{'no_proxy'} || $ENV{'NO_PROXY'} ) ;
# If output's not going directly to terminal, this ensures autoflushing.
$|= 1 ;
#----- End of Configuration --------------------------------------------
use strict 'vars' ;
use IO::Socket ;
&usage unless @ARGV ;
# Process command-line options
&getopts ;
# Make any final needed adjustments to globals, after the hard-coded
# values above and any options have been processed.
&adjust_all_globals ;
# Default to "." if no starting filenames given.
# 3-6-98: Anh, decided against it.
#@ARGV= ('.') unless @ARGV ;
# &add_url() sets $url{$_} and pushes to @urlstoget, only if not already
# added, plus any other initialization.
# Only add a file if it can be accessed with a URL.
foreach my $arg (@ARGV) {
if ($arg=~ m#^http://#i) {
&add_url($arg, '-', 0) ;
} else {
my($URL)= &filename_to_url($arg, $CWD) ;
if (defined($URL)) {
&add_url($URL, '-', 0) ;
} else {
die "ERROR: $arg is not accessible through the Web server.\n" ;
}
=2= |