Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
checkbot
webserver.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File webserver.patch of Package checkbot
--- checkbot +++ checkbot 2005/09/28 06:30:39 @@ -37,7 +37,7 @@ =head1 NAME -Checkbot - WWW Link Verifier +Checkbot - WWW Link Verifier. Modified for the Novell Webconsole =head1 SYNOPSIS @@ -55,6 +55,8 @@ [B<--enable-virtual>] [B<--language> language code] [B<--suppress> suppression file] + [B<--username> Username for Novell Webconsole] + [B<--password> Password for Novell Webconsole] [start URLs] =head1 DESCRIPTION @@ -305,6 +307,28 @@ # 403 Forbidden 403 http://www.herring.com/ +=item --username <username> + +Username for the Novell Webconsole. + +Before starting the link check the must exist already an account +to the Webconsole in order getting all available links. +So first of all there will be generated a login cookie by calling +the <hostname>/accounts/login with the given username and password. + +Do NOT forget activating cookies by the --cookies option. + +=item --password <password> + +Password for the Novell Webconsole. + +Before starting the link check the must exist already an account +to the Webconsole in order getting all available links. +So first of all there will be generated a login cookie by calling +the <hostname>/accounts/login with the given username and password. + +Do NOT forget activating cookies by the --cookies option. + =back Deprecated options which will disappear in a future release: @@ -480,7 +504,7 @@ # Get command-line arguments use Getopt::Long; - my $result = GetOptions(qw(cookies debug help noproxy=s verbose url=s match=s exclude|x=s file=s filter=s style=s ignore|z=s mailto|M=s note|N=s proxy=s internal-only sleep=f timeout=i interval=i dontwarn=s enable-virtual language=s allow-simple-hosts suppress=s)); + my $result = GetOptions(qw(cookies debug help noproxy=s verbose url=s match=s exclude|x=s file=s filter=s style=s ignore|z=s mailto|M=s note|N=s proxy=s internal-only sleep=f timeout=i interval=i dontwarn=s enable-virtual language=s allow-simple-hosts suppress=s password=s username=s)); # Handle arguments, some are mandatory, some have defaults &print_help if (($main::opt_help && $main::opt_help) @@ -654,9 +678,42 @@ open(CURRENT, $main::cur_queue) || die "$0: Unable to open CURRENT $main::cur_queue for reading: $!\n"; + ## initialize to webconsole specific + if (defined($main::opt_url)) + { + my $urlstring = $main::opt_url . "/accounts/login"; + + my %argument = (); + if (defined($main::opt_username)) + { + $argument{"user_login"} = $main::opt_username; + } + if (defined($main::opt_password)) + { + $argument{"user_password"} = $main::opt_password; + } + + # receiving session cookie + handle_url($main::opt_url); + + # login + my $root_url = URI->new($urlstring); + + my $response = $main::ua->post($root_url, \%argument); + if ($response->is_success || $response->is_redirect) { + print "Login succeeded\n"; + print $response->content; + } + else { + print "Login NOT succeeded\n"; + print STDERR $response->status_line, "\n"; + } + } + do { # Read a line from the queue, and process it while (defined ($line = <CURRENT>) ) { + print "checking $line"; chomp($line); &handle_url($line); &check_point(); @@ -720,6 +777,8 @@ my $response; my $type; +# print "Checking URL: $urlstr \n"; + $stats{'todo'}--; # Add this URL to the ones we've seen already, return if it is a @@ -790,16 +849,16 @@ if ($response->is_redirect and is_internal($url->as_string)) { if ($response->code == 300) { # multiple choices, but no redirection available - output 'Multiple choices', 2; + print 'Multiple choices\n'; } else { my $baseURI = URI->new($url); if (defined $response->header('Location')) { my $redir_url = URI->new_abs($response->header('Location'), $baseURI); - output "Redirected to $redir_url", 2; + print "Redirected to $redir_url\n"; add_to_queue($redir_url, $urlparent); $stats{'todo'}++; } else { - output 'Location header missing from redirect response', 2; + print 'Location header missing from redirect response\n'; } } } @@ -979,6 +1038,9 @@ print OUT "<tr><th align=\"left\">--match</th><td>Match regular expression</td><td>$main::opt_match</td></tr>\n"; print OUT "<tr><th align=\"left\">--exclude</th><td>Exclude regular expression</td><td>$main::opt_exclude</td></tr>\n" if defined $main::opt_exclude; print OUT "<tr><th align=\"left\">--filter</th><td>Filter regular expression</td><td>$main::opt_filter</td></tr>\n" if defined $main::opt_filter; + print OUT "<tr><th align=\"left\">--username</th><td>Username</td><td>$main::opt_username</td></tr>\n" if defined $main::opt_username; + print OUT "<tr><th align=\"left\">--password</th><td>Password</td><td>set</td></tr>\n" if defined $main::opt_password; + print OUT "<tr><th align=\"left\">--noproxy</th><td>No Proxy for the following domains</td><td>$main::opt_noproxy</td></tr>\n" if defined $main::opt_noproxy; print OUT "<tr><th align=\"left\">--ignore</th><td>Ignore regular expression</td><td>$main::opt_ignore</td></tr>\n" if defined $main::opt_ignore; print OUT "<tr><th align=\"left\">--suppress</th><td>Suppress error code and URL specified by</td><td>$main::opt_suppress</td></tr>\n" if defined $main::opt_suppress; @@ -1155,12 +1217,14 @@ my $p = HTML::LinkExtor->new(undef, $response->base); $p->parse($response->content); $p->eof; - + my $string = $response->base->as_string; + print ( "URL $string \n"); # Deal with the links we found in this document my @links = $p->links(); foreach (@links) { my ($tag, %l) = @{$_}; foreach (keys %l) { + print (" $l{$_} $_ $tag\n"); # Get the canonical URL, so we don't need to worry about base, case, etc. my $url = $l{$_}->canonical; @@ -1426,6 +1490,12 @@ --dontwarn codes Do not write warnings for these HTTP response codes --enable-virtual Use only virtual names, not IP numbers for servers --language Specify 2-letter language code for language negotiation + --username Username for Novell Webconsole + --password Password for Novell Webconsole + +Example for checking a Novell Webconsole: + +checkbot --cookies --url=http://webconsole.suse.de --username=schubi --password=system --ignore=http://webconsole.suse.de/accounts/logout Options --match, --exclude, and --ignore can take a perl regular expression as their argument\n
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor