diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-08-08 14:30:41 +0200 |
---|---|---|
committer | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-08-12 13:49:54 +0200 |
commit | ab0a50979b9eb4dfa3320eff7e187e41efedf7a9 (patch) | |
tree | 498dfb8a97ff3361a9f7486863a52bb4e26bb898 /chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin | |
parent | 4ce69f7403811819800e7c5ae1318b2647e778d1 (diff) |
Update Chromium to beta version 37.0.2062.68
Change-Id: I188e3b5aff1bec75566014291b654eb19f5bc8ca
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin')
207 files changed, 0 insertions, 38850 deletions
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm deleted file mode 100644 index 50c85f0fa59..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm +++ /dev/null @@ -1,370 +0,0 @@ -# -# Documentation at the __END__ -# - -package Alias; - -require 5.004; -require Exporter; -require DynaLoader; - -@ISA = qw(Exporter DynaLoader); -@EXPORT = qw(alias attr); -@EXPORT_OK = qw(const); - -$VERSION = $VERSION = '2.32'; - -use Carp; - -bootstrap Alias; - -$Alias::KeyFilter = ""; -$Alias::AttrPrefix = ""; -$Alias::Deref = ""; # don't deref objects - -sub alias { - croak "Need even number of args" if @_ % 2; - my($pkg) = caller; # for namespace soundness - while (@_) { - # *foo = \*bar works in 5.002 - *{"$pkg\:\:$_[0]"} = (defined($_[1]) and ref($_[1])) ? $_[1] : \$_[1]; - shift; shift; - } -} - -# alias the elements of hashref -# same as alias %{$_[0]}, but also localizes the aliases and -# returns the hashref -sub attr; - -alias const => \&alias; # alias the alias :-) - - -1; -__END__ - -=head1 NAME - -alias - declare symbolic aliases for perl data - -attr - auto-declare hash attributes for convenient access - -const - define compile-time scalar constants - - -=head1 SYNOPSIS - - use Alias qw(alias const attr); - alias TEN => $ten, Ten => \$ten, Ten => \&ten, - Ten => \@ten, Ten => \%ten, TeN => \*ten; - { - local @Ten; - my $ten = [1..10]; - alias Ten => $ten; # local @Ten - } - - const pi => 3.14, ten => 10; - - package Foo; - use Alias; - sub new { bless {foo => 1, _bar => [2, 3]}, $_[0] } - sub a_method { - my $s = attr shift; - # $foo, @_bar are now local aliases for - # $_[0]{foo}, @{$_[0]{_bar}} etc. - } - - sub b_method { - local $Alias::KeyFilter = "_"; - local $Alias::AttrPrefix = "main::"; - my $s = attr shift; - # local @::_bar is now available, ($foo, $::foo are not) - } - - sub c_method { - local $Alias::KeyFilter = sub { $_ = shift; return (/^_/ ? 1 : 0) }; - local $Alias::AttrPrefix = sub { - $_ = shift; - s/^_(.+)$/main::$1/; - return $_ - }; - my $s = attr shift; - # local @::bar is now available, ($foo, $::foo are not) - } - - -=head1 DESCRIPTION - -Provides general mechanisms for aliasing perl data for convenient access. - -This module works by putting some values on the symbol table with -user-supplied names. Values that are references will get dereferenced into -their base types. This means that a value of C<[1,2,3]> with a name of -"foo" will be made available as C<@foo>, not C<$foo>. - -The exception to this rule is the default behavior of the C<attr> function, -which will not dereference values which are blessed references (aka -objects). See L<$Alias::Deref> for how to change this default behavior. - -=head2 Functions - -=over 4 - -=item alias - -Given a list of name => value pairs, declares aliases -in the C<caller>s namespace. If the value supplied is a reference, the -alias is created for the underlying value instead of the reference -itself (there is no need to use this module to alias references--they -are automatically "aliased" on assignment). This allows the user to -alias most of the basic types. - -If the value supplied is a scalar compile-time constant, the aliases -become read-only. Any attempt to write to them will fail with a run time -error. - -Aliases can be dynamically scoped by pre-declaring the target variable as -C<local>. Using C<attr> for this purpose is more convenient, and -recommended. - -=item attr - -Given a hash reference, aliases the values of the hash to the names that -correspond to the keys. It always returns the supplied value. The aliases -are local to the enclosing block. If any of the values are unblessed -references, they are available as their dereferenced types. Thus the action -is similar to saying: - - alias %{$_[0]} - -but, in addition, also localizes the aliases, and does not dereference -objects. Dereferencing of objects can be forced by setting the C<Deref> -option. See L<$Alias::Deref>. - -This can be used for convenient access to hash values and hash-based object -attributes. - -Note that this makes available the semantics of C<local> subroutines and -methods. That makes for some nifty possibilities. We could make truly -private methods by putting anonymous subs within an object. These subs -would be available within methods where we use C<attr>, and will not -be visible to the outside world as normal methods. We could forbid -recursion in methods by always putting an empty sub in the object hash -with the same key as the method name. This would be useful where a method -has to run code from other modules, but cannot be certain whether that -module will call it back again. - -The default behavior is to create aliases for all the entries in the hash, -in the callers namespace. This can be controlled by setting a few options. -See L<Configuration Variables> for details. - -=item const - -This is simply a function alias for C<alias>, described above. Provided on -demand at C<use> time, since it reads better for constant declarations. -Note that hashes and arrays cannot be so C<const>rained. - -=back - -=head2 Configuration Variables - -The following configuration variables can be used to control the behavior of -the C<attr> function. They are typically set after the C<use Alias;> -statement. Another typical usage is to C<local>ize them in a block so that -their values are only effective within that block. - -=over 4 - -=item $Alias::KeyFilter - -Specifies the key prefix used for determining which hash entries will be -interned by C<attr>. Can be a CODE reference, in which case it will be -called with the key, and the boolean return value will determine if -that hash entry is a candidate attribute. - -=item $Alias::AttrPrefix - -Specifies a prefix to prepend to the names of localized attributes created -by C<attr>. Can be a CODE reference, in which case it will be called with -the key, and the result will determine the full name of the attribute. The -value can have embedded package delimiters ("::" or "'"), which cause the -attributes to be interned in that namespace instead of the C<caller>s own -namespace. For example, setting it to "main::" makes C<use strict 'vars';> -somewhat more palatable (since we can refer to the attributes as C<$::foo>, -etc., without actually declaring the attributes). - -=item $Alias::Deref - -Controls the implicit dereferencing behavior of C<attr>. If it is set to -"" or 0, C<attr> will not dereference blessed references. If it is a true -value (anything but "", 0, or a CODE reference), all references will be -made available as their dereferenced types, including values that may be -objects. The default is "". - -This option can be used as a filter if it is set to a CODE reference, in -which case it will be called with the key and the value (whenever the value -happens to be a reference), and the boolean return value will determine if -that particular reference must be dereferenced. - - -=back - -=head2 Exports - -=over 4 - -=item alias - -=item attr - -=back - -=head1 EXAMPLES - -Run these code snippets and observe the results to become more familiar -with the features of this module. - - use Alias qw(alias const attr); - $ten = 10; - alias TEN => $ten, Ten => \$ten, Ten => \&ten, - Ten => \@ten, Ten => \%ten; - alias TeN => \*ten; # same as *TeN = *ten - - # aliasing basic types - $ten = 20; - print "$TEN|$Ten|$ten\n"; # should print "20|20|20" - sub ten { print "10\n"; } - @ten = (1..10); - %ten = (a..j); - &Ten; # should print "10" - print @Ten, "|", %Ten, "\n"; - - # this will fail at run time - const _TEN_ => 10; - eval { $_TEN_ = 20 }; - print $@ if $@; - - # dynamically scoped aliases - @DYNAMIC = qw(m n o); - { - my $tmp = [ qw(a b c d) ]; - local @DYNAMIC; - alias DYNAMIC => $tmp, PERM => $tmp; - - $DYNAMIC[2] = 'zzz'; - # prints "abzzzd|abzzzd|abzzzd" - print @$tmp, "|", @DYNAMIC, "|", @PERM, "\n"; - - @DYNAMIC = qw(p q r); - # prints "pqr|pqr|pqr" - print @$tmp, "|", @DYNAMIC, "|", @PERM, "\n"; - } - - # prints "mno|pqr" - print @DYNAMIC, "|", @PERM, "\n"; - - # named closures - my($lex) = 'abcd'; - $closure = sub { print $lex, "\n" }; - alias NAMEDCLOSURE => \&$closure; - NAMEDCLOSURE(); # prints "abcd" - $lex = 'pqrs'; - NAMEDCLOSURE(); # prints "pqrs" - - # hash/object attributes - package Foo; - use Alias; - sub new { - bless - { foo => 1, - bar => [2,3], - buz => { a => 4}, - privmeth => sub { "private" }, - easymeth => sub { die "to recurse or to die, is the question" }, - }, $_[0]; - } - - sub easymeth { - my $s = attr shift; # localizes $foo, @bar, %buz etc with values - eval { $s->easymeth }; # should fail - print $@ if $@; - - # prints "1|2|3|a|4|private|" - print join '|', $foo, @bar, %buz, $s->privmeth, "\n"; - } - - $foo = 6; - @bar = (7,8); - %buz = (b => 9); - Foo->new->easymeth; # this will not recurse endlessly - - # prints "6|7|8|b|9|" - print join '|', $foo, @bar, %buz, "\n"; - - # this should fail at run-time - eval { Foo->new->privmeth }; - print $@ if $@; - - -=head1 NOTES - -It is worth repeating that the aliases created by C<alias> and C<const> will -be created in the C<caller>s namespace (we can use the C<AttrPrefix> option to -specify a different namespace for C<attr>). If that namespace happens to be -C<local>ized, the aliases created will be local to that block. C<attr> -localizes the aliases for us. - -Remember that references will be available as their dereferenced types. - -Aliases cannot be lexical, since, by neccessity, they live on the -symbol table. - -Lexicals can be aliased. Note that this provides a means of reversing the -action of anonymous type generators C<\>, C<[]> and C<{}>. This allows us -to anonymously construct data or code and give it a symbol-table presence -when we choose. - -Any occurrence of C<::> or C<'> in names will be treated as package -qualifiers, and the value will be interned in that namespace. - -Remember that aliases are very much like references, only we don't -have to dereference them as often. Which means we won't have to -pound on the dollars so much. - -We can dynamically make subroutines and named closures with this scheme. - -It is possible to alias packages, but that might be construed as -abuse. - -Using this module will dramatically reduce noise characters in -object-oriented perl code. - - -=head1 BUGS - -C<use strict 'vars';> is not very usable, since we B<depend> so much -on the symbol table. You can declare the attributes with C<use vars> to -avoid warnings. Setting C<$Alias::AttrPrefix> to "main::" is one way -to avoid C<use vars> and frustration. - -Tied variables cannot be aliased properly, yet. - - -=head1 VERSION - -Version 2.32 30 Apr 1999 - - -=head1 AUTHOR - -Gurusamy Sarathy gsar@umich.edu - -Copyright (c) 1995-99 Gurusamy Sarathy. All rights reserved. -This program is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -perl(1) - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm deleted file mode 100644 index f7ffb0541a1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm +++ /dev/null @@ -1,1579 +0,0 @@ -# File : Bzip2.pm -# Author : Rob Janes -# Created : 14 April 2005 -# Modified : 9 Aug 2005 -# Version : 2.09 -# -# Copyright (c) 2005 Rob Janes. All rights reserved. -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. -# - -package Compress::Bzip2; - -use 5.006; - -use strict; -use warnings; - -use Carp; -use Getopt::Std; -use Fcntl qw(:DEFAULT :mode); - -require Exporter; -use AutoLoader; - -our @ISA = qw(Exporter); - -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. - -# This allows declaration use Compress::Bzip2 ':all'; -# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK -# will save memory. -our %EXPORT_TAGS = - ( 'constants' => [ qw( - BZ_CONFIG_ERROR - BZ_DATA_ERROR - BZ_DATA_ERROR_MAGIC - BZ_FINISH - BZ_FINISH_OK - BZ_FLUSH - BZ_FLUSH_OK - BZ_IO_ERROR - BZ_MAX_UNUSED - BZ_MEM_ERROR - BZ_OK - BZ_OUTBUFF_FULL - BZ_PARAM_ERROR - BZ_RUN - BZ_RUN_OK - BZ_SEQUENCE_ERROR - BZ_STREAM_END - BZ_UNEXPECTED_EOF - ) ], - - 'utilities' => [ qw( - &bzopen - &bzinflateInit - &bzdeflateInit - &memBzip &memBunzip - &compress &decompress - &bzip2 &bunzip2 - &bzlibversion - $bzerrno - ) ], - - 'bzip1' => [ qw( - &compress - &decompress - &compress_init - &decompress_init - &version - ) ], - - 'gzip' => [ qw( - &gzopen - &inflateInit - &deflateInit - &compress &uncompress - &adler32 &crc32 - - ZLIB_VERSION - - $gzerrno - - Z_OK - Z_STREAM_END - Z_NEED_DICT - Z_ERRNO - Z_STREAM_ERROR - Z_DATA_ERROR - Z_MEM_ERROR - Z_BUF_ERROR - Z_VERSION_ERROR - - Z_NO_FLUSH - Z_PARTIAL_FLUSH - Z_SYNC_FLUSH - Z_FULL_FLUSH - Z_FINISH - Z_BLOCK - - Z_NO_COMPRESSION - Z_BEST_SPEED - Z_BEST_COMPRESSION - Z_DEFAULT_COMPRESSION - - Z_FILTERED - Z_HUFFMAN_ONLY - Z_RLE - Z_DEFAULT_STRATEGY - - Z_BINARY - Z_ASCII - Z_UNKNOWN - - Z_DEFLATED - Z_NULL - ) ], - ); - -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'utilities'} }, - @{ $EXPORT_TAGS{'constants'} }, - @{ $EXPORT_TAGS{'bzip1'} }, - @{ $EXPORT_TAGS{'gzip'} }, - ); - -$EXPORT_TAGS{'all'} = [ @EXPORT_OK ]; - -our @EXPORT = ( @{ $EXPORT_TAGS{'utilities'} }, @{ $EXPORT_TAGS{'constants'} } ); - -our $VERSION = "2.09"; - -our $bzerrno = ""; -our $gzerrno; -*gzerrno = \$bzerrno; - -# Zlib compatibility -## -use constant ZLIB_VERSION => '1.x'; -# allowed flush values -use constant { Z_NO_FLUSH => 0, Z_PARTIAL_FLUSH => 1, Z_SYNC_FLUSH => 2, - Z_FULL_FLUSH => 3, Z_FINISH => 4, Z_BLOCK => 5 }; -# return codes for functions, positive normal, negative error -use constant { Z_OK => 0, Z_STREAM_END => 1, Z_NEED_DICT => 2, Z_ERRNO => -1, - Z_STREAM_ERROR => -2, Z_DATA_ERROR => -3, Z_MEM_ERROR => -4, - Z_BUF_ERROR => -5, Z_VERSION_ERROR => -6 }; -# compression levels -use constant { Z_NO_COMPRESSION => 0, Z_BEST_SPEED => 1, - Z_BEST_COMPRESSION => 9, Z_DEFAULT_COMPRESSION => -1 }; -# compression strategy, for deflateInit -use constant { Z_FILTERED => 1, Z_HUFFMAN_ONLY => 2, Z_RLE => 3, - Z_DEFAULT_STRATEGY => 0 }; -# possible values of data_type (inflate) -use constant { Z_BINARY => 0, Z_ASCII => 1, Z_UNKNOWN => 2 }; -# the deflate compression method -use constant Z_DEFLATED => 8; -# for initialization -use constant Z_NULL => 0; - -## gzopen, $gzerror, gzerror, gzclose, gzreadline, gzwrite - -sub AUTOLOAD { - # This AUTOLOAD is used to 'autoload' constants from the constant() - # XS function. - - my $constname; - our $AUTOLOAD; - ($constname = $AUTOLOAD) =~ s/.*:://; - croak "&Compress::Bzip2::constant not defined" if $constname eq 'constant'; - my ($error, $val) = constant($constname); - if ($error) { croak $error; } - { - no strict 'refs'; - # Fixed between 5.005_53 and 5.005_61 -#XXX if ($] >= 5.00561) { -#XXX *$AUTOLOAD = sub () { $val }; -#XXX } -#XXX else { - *$AUTOLOAD = sub { $val }; -#XXX } - } - goto &$AUTOLOAD; -} - -require XSLoader; -XSLoader::load('Compress::Bzip2', $VERSION); - -#bootstrap Compress::Bzip2 $VERSION; - -############################################################################## -## file compress uncompress commands - -sub _writefileopen ( $$;$ ) { - ## open a protected file for write - my ( $handle, $filename, $force ) = @_; - - if ( sysopen($handle, $filename, $force ? O_WRONLY|O_CREAT|O_TRUNC : O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR) ) { - $_[0] = $handle if !defined($_[0]); - return $handle; - } - - return undef; -} - -sub _stat_snapshot ( $ ) { - my ( $filename ) = @_; - return undef if !defined($filename); - - my @stats = stat $filename; - if (!@stats) { - warn "stat of $filename failed: $!\n" if !@stats; - return undef; - } - - return \@stats; -} - -sub _check_stat ( $$;$ ) { - my ( $filename, $statsnap, $force ) = @_; - - if ( !defined($statsnap) || (ref($statsnap) eq 'ARRAY' && @$statsnap == 0) ) { - $statsnap = _stat_snapshot( $filename ); - if ( $statsnap ) { - if ( @_>1 ) { - if ( !defined($_[1]) ) { - $_[1] = $statsnap; - } - elsif ( ref($_[1]) eq 'ARRAY' && @{ $_[1] } == 0 ) { - @{ $_[1] } = @$statsnap; - } - } - } - else { - return undef; - } - } - - if ( S_ISDIR( $statsnap->[2] ) ) { - bz_seterror( &BZ_IO_ERROR, "file $filename is a directory" ); - return 0; - } - - if ( !S_ISREG( $statsnap->[2] ) ) { - bz_seterror( &BZ_IO_ERROR, "file $filename is not a normal file" ); - return 0; - } - - if ( !$force && S_ISLNK( $statsnap->[2] ) ) { - bz_seterror( &BZ_IO_ERROR, "file $filename is a symlink" ); - return 0; - } - - if ( !$force && $statsnap->[3] > 1 ) { - bz_seterror( &BZ_IO_ERROR, "file $filename has too many hard links" ); - return 0; - } - - return 1; -} - -sub _set_stat_from_snapshot ( $$ ) { - my ( $filename, $statsnap ) = @_; - - if ( !chmod( S_IMODE( $statsnap->[2] ), $filename ) ) { - bz_seterror( &BZ_IO_ERROR, "chmod ".sprintf('%03o', S_IMODE( $statsnap->[2] ))." $filename failed: $!" ); - return undef; - } - - if ( !utime @$statsnap[8,9], $filename ) { - bz_seterror( &BZ_IO_ERROR, - "utime " . join(' ',map { strftime('%Y-%m-%d %H:%M:%S', localtime $_) } @$statsnap[8,9] ) . - " $filename failed: $!" ); - return undef; - } - - if ( !chown @$statsnap[4,5], $filename ) { - bz_seterror( &BZ_IO_ERROR, - "chown " . join(':', ( getpwuid($statsnap->[4]) )[0], ( getgrgid($statsnap->[5]) )[0]) . - " $filename failed: $!" ); - return 0; - } - - return 1; -} - -sub bzip2 ( @ ) { - return _process_files( 'bzip2', 'cfvks123456789', @_ ); -} - -sub bunzip2 ( @ ) { - return _process_files( 'bunzip2', 'cdzfks123456789', @_ ); -} - -sub bzcat ( @ ) { - return _process_files( 'bzcat', 'cdzfks123456789', @_ ); -} - -sub _process_files ( @ ) { - my $command = shift; - my $opts = shift; - - local @ARGV = @_; - - my %opts; - return undef if !getopt( $opts, \%opts ); - # c compress or decompress to stdout - # d decompress - # z compress - # f force - # v verbose - # k keep - # s small - # 123456789 - - $opts{c} = 1 if $command eq 'bzcat'; - $opts{d} = 1 if $command eq 'bunzip2' || $command eq 'bzcat'; - $opts{z} = 1 if $command eq 'bzip2'; - - my $read_from_stdin; - my ( $in, $bzin ); - my ( $out, $bzout ); - - if ( !@ARGV ) { - $read_from_stdin = 1; - $opts{c} = 1; - if ( !open( $in, "<&STDIN" ) ) { - die "Error: failed to input from STDIN: '$!'\n"; - } - - $bzin = bzopen( $in, "r" ); - } - - if ( $opts{c} ) { - if ( !open( $out, ">&STDOUT" ) ) { - die "Error: failed to output to STDOUT: '$!'\n"; - } - - $bzout = bzopen( $out, "w" ); - } - - if ( !$opts{d} && !$opts{z} ) { - die "Error: neither compress nor decompress was indicated.\n"; - } - - my $doneflag = 0; - while ( !$doneflag ) { - my $infile; - my $outfile; - my @statbuf; - - if ( !$read_from_stdin ) { - $infile = shift @ARGV; - if ( ! -r $infile ) { - print STDERR "Error: file $infile is not readable\n"; - next; - } - - @statbuf = stat _; - if ( !@statbuf ) { - print STDERR "Error: failed to stat $infile: '$!'\n"; - next; - } - - if ( !_check_stat( $infile, \@statbuf, $opts{f} ) ) { - print STDERR "Error: file $infile stat check fails: $bzerrno\n"; - next; - } - } - - my $outfile_exists; - if ( !$opts{c} ) { - undef $out; - if ( $opts{d} ) { - $outfile = $infile . '.bz2'; - } - elsif ( $opts{z} ) { - $outfile = $infile =~ /\.bz2$/ ? substr($infile,0,-4) : $infile.'.out'; - } - - $outfile_exists = -e $outfile; - if ( !_writefileopen( $out, $outfile, $opts{f} ) ) { - print STDERR "Error: failed to open $outfile for write: '$!'\n"; - next; - } - } - - if ( !$read_from_stdin ) { - undef $in; - if ( !open( $in, $infile ) ) { - print STDERR "Error: unable to open $infile: '$!'\n"; - unlink( $outfile ) if !$outfile_exists; - next; - } - } - - if ( $opts{d} ) { - $bzin = bzopen( $in, "r" ) if !$read_from_stdin; - - my $buf; - my $notdone = 1; - while ( $notdone ) { - my $ln = bzread( $in, $buf, 1024 ); - if ( $ln > 0 ) { - syswrite( $out, $buf, $ln ); - } - elsif ( $ln == 0 ) { - undef $notdone; - } - else { - } - } - - close($out); - - if ( !$read_from_stdin ) { - bzclose($in); - unlink( $infile ) if !$opts{k}; - _set_stat_from_snapshot( $outfile, \@statbuf ); - } - } - elsif ( $opts{z} ) { - $bzout = bzopen( $out, "w" ) if !$opts{c}; - - my $buf; - my $notdone = 1; - while ( $notdone ) { - my $ln = sysread( $in, $buf, 1024 ); - if ( $ln > 0 ) { - bzwrite( $bzout, $buf, $ln ); - } - elsif ( $ln == 0 ) { - undef $notdone; - } - else { - } - } - - close($in); - - if ( !$opts{c} ) { - bzclose($bzout); - unlink( $infile ) if !$opts{k}; - _set_stat_from_snapshot( $outfile, \@statbuf ); - } - } - } -} - -############################################################################## -############################################################################## -## compatibility with Compress::Bzip2 1.03 - -sub add ( $$ ) { - my ( $obj, $buffer ) = @_; - - my @res = $obj->is_write ? $obj->bzdeflate( $buffer ) : $obj->bzinflate( $buffer ); - - return $res[0]; -} - -sub finish ( $;$ ) { - my ( $obj, $buffer ) = @_; - my ( @res, $out ); - - if ( defined($buffer) ) { - @res = $obj->is_write ? $obj->bzdeflate( $buffer ) : $obj->bzinflate( $buffer ); - return undef if $res[1] != &BZ_OK; - - $out = $res[0]; - } - $out = '' if !defined($out); - - @res = $obj->bzclose; - return undef if $res[1] != &BZ_OK; - - return $out.$res[0]; -} - -sub input_size ( $ ) { - my ( $obj ) = @_; - return $obj->total_in; -} - -sub output_size ( $ ) { - my ( $obj ) = @_; - return $obj->total_out; -} - -sub version ( ) { - return bzlibversion(); -} - -sub error ( $ ) { - return $_[0]->bzerror; -} - -############################################################################## -############################################################################## -## THE Compress::Zlib compatibility section - -sub _bzerror2gzerror { - my ( $bz_error_num ) = @_; - my $gz_error_num = - $bz_error_num == &BZ_OK ? Z_OK : - $bz_error_num == &BZ_RUN_OK ? Z_OK : - $bz_error_num == &BZ_FLUSH_OK ? Z_STREAM_END : - $bz_error_num == &BZ_FINISH_OK ? Z_STREAM_END : - $bz_error_num == &BZ_STREAM_END ? Z_STREAM_END : - - $bz_error_num == &BZ_SEQUENCE_ERROR ? Z_VERSION_ERROR : - $bz_error_num == &BZ_PARAM_ERROR ? Z_ERRNO : - $bz_error_num == &BZ_MEM_ERROR ? Z_MEM_ERROR : - $bz_error_num == &BZ_DATA_ERROR ? Z_DATA_ERROR : - $bz_error_num == &BZ_DATA_ERROR_MAGIC ? Z_DATA_ERROR : - $bz_error_num == &BZ_IO_ERROR ? Z_ERRNO : - $bz_error_num == &BZ_UNEXPECTED_EOF ? Z_STREAM_ERROR : - $bz_error_num == &BZ_OUTBUFF_FULL ? Z_BUF_ERROR : - $bz_error_num == &BZ_CONFIG_ERROR ? Z_VERSION_ERROR : - Z_VERSION_ERROR - ; - - return $gz_error_num; -} - -sub gzopen ( $$ ) { - goto &bzopen; -} - -sub gzread ( $$;$ ) { - goto &bzread; -} - -sub gzreadline ( $$ ) { - goto &bzreadline; -} - -sub gzwrite ( $$ ) { - goto &bzwrite; -} - -sub gzflush ( $;$ ) { - my ( $obj, $flush ) = @_; - return Z_OK if $flush == Z_NO_FLUSH; - goto &bzflush; -} - -sub gzclose ( $ ) { - goto &bzclose; -} - -sub gzeof ( $ ) { - goto &bzeof; -} - -sub gzsetparams ( $$$ ) { - ## ignore params - my ( $obj, $level, $strategy ) = @_; - return Z_OK; -} - -sub gzerror ( $ ) { - goto &bzerror; -} - -sub deflateInit ( @ ) { - ## ignore all options: - ## -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize - - my @res = bzdeflateInit(); - return $res[0] if !wantarray; - - return ( $res[0], _bzerror2gzerror( $res[1] ) ); -} - -sub deflate ( $$ ) { - my ( $obj, $buffer ) = @_; - - my @res = $obj->bzdeflate( $buffer ); - - return $res[0] if !wantarray; - return ( $res[0], _bzerror2gzerror( $res[1] ) ); -} - -sub deflateParams ( $;@ ) { - ## ignore all options - return Z_OK; -} - -sub flush ( $;$ ) { - my ( $obj, $flush_type ) = @_; - - $flush_type = Z_FINISH if !defined($flush_type); - return Z_OK if $flush_type == Z_NO_FLUSH; - - my $bz_flush_type; - my @res; - - $bz_flush_type = - $flush_type == Z_PARTIAL_FLUSH || $flush_type == Z_SYNC_FLUSH ? &BZ_FLUSH : - $flush_type == Z_FULL_FLUSH ? &BZ_FINISH : - &BZ_FINISH; - - @res = $obj->bzflush( $bz_flush_type ); - - return $res[0] if !wantarray; - return ( $res[0], _bzerror2gzerror( $res[1] ) ); -} - -sub dict_adler ( $ ) { - return 1; # ??? -} - -sub msg ( $ ) { - my ( $obj ) = @_; - - return ''.($obj->bzerror).''; # stringify -} - -sub inflateInit ( @ ) { - ## ignore all options: - ## -WindowBits, -Dictionary, -Bufsize - - my @res = bzinflateInit(); - return $res[0] if !wantarray; - - return ( $res[0], _bzerror2gzerror( $res[1] ) ); -} - -sub inflate ( $$ ) { - my ( $obj, $buffer ) = @_; - - my @res = $obj->bzinflate( $buffer ); - - return $res[0] if !wantarray; - return ( $res[0], _bzerror2gzerror( $res[1] ) ); -} - -sub inflateSync ( $ ) { - return Z_VERSION_ERROR; # ?? what -} - -sub memGzip ( $ ) { - goto &memBzip; -} - -sub memGunzip ( $ ) { - goto &memBunzip; -} - -sub adler32 ( $;$ ) { - return 0; -} - -sub crc32 ( $;$ ) { - return 0; -} - -# sub compress ( $;$ ) { -# ## ignore $level -# my ( $source, $level ) = @_; -# return memBzip( $source ); -# } - -sub uncompress ( $ ) { - my ( $source, $level ) = @_; - return memBunzip( $source ); -} - -# Autoload methods go after =cut, and are processed by the autosplit program. - -1; - -__END__ - -=pod - -=head1 NAME - -Compress::Bzip2 - Interface to Bzip2 compression library - -=head1 SYNOPSIS - - use Compress::Bzip2 qw(:all :constant :utilities :gzip); - - ($bz, $status) = bzdeflateInit( [PARAMS] ) ; - ($out, $status) = $bz->bzdeflate($buffer) ; - - ($bz, $status) = bzinflateInit( [PARAMS] ) ; - ($out, $status) = $bz->bzinflate($buffer) ; - - ($out, $status) = $bz->bzflush() ; - ($out, $status) = $bz->bzclose() ; - - $dest = memBzip($source); - alias compress - $dest = memBunzip($source); - alias decompress - - $bz = Compress::Bzip2->new( [PARAMS] ); - - $bz = bzopen($filename or filehandle, $mode); - alternate, with $bz created by new(): - $bz->bzopen($filename or filehandle, $mode); - - $bytesread = $bz->bzread($buffer [,$size]) ; - $bytesread = $bz->bzreadline($line); - $byteswritten = $bz->bzwrite($buffer [,$limit]); - $errstring = $bz->bzerror(); - $status = $bz->bzeof(); - $status = $bz->bzflush(); - $status = $bz->bzclose() ; - - $status = $bz->bzsetparams( $param => $setting ); - - $bz->total_in() ; - $bz->total_out() ; - - $verstring = $bz->bzversion(); - - $Compress::Bzip2::bzerrno - -=head1 DESCRIPTION - -The I<Compress::Bzip2> module provides a Perl interface to the I<Bzip2> -compression library (see L</AUTHOR> for details about where to get -I<Bzip2>). A relevant subset of the functionality provided by I<Bzip2> -is available in I<Compress::Bzip2>. - -All string parameters can either be a scalar or a scalar reference. - -The module can be split into two general areas of functionality, namely -in-memory compression/decompression and read/write access to I<bzip2> -files. Each of these areas will be discussed separately below. - -=head1 FILE READ/WRITE INTERFACE - -A number of functions are supplied in I<bzlib> for reading and writing -I<bzip2> files. Unfortunately, most of them are not suitable. So, this -module provides another interface, built over top of the low level bzlib -methods. - -=over 5 - -=head2 B<$bz = bzopen(filename or filehandle, mode)> - -This function returns an object which is used to access the other -I<bzip2> methods. - -The B<mode> parameter is used to specify both whether the file is -opened for reading or writing, with "r" or "w" respectively. - -If a reference to an open filehandle is passed in place of the -filename, it better be positioned to the start of a -compression/decompression sequence. - -=head2 B<$bz = Compress::Bzip2-E<gt>new( [PARAMS] )> - -Create a Compress::Bzip2 object. Optionally, provide -compression/decompression parameters as a keyword => setting list. -See I<bzsetparams()> for a description of the parameters. - -=head2 B<$bz-E<gt>bzopen(filename or filehandle, mode)> - -This is bzopen, but it uses an object previously created by the new -method. Other than that, it is identical to the above bzopen. - -=head2 B<$bytesread = $bz-E<gt>bzread($buffer [, $size]) ;> - -Reads B<$size> bytes from the compressed file into B<$buffer>. If -B<$size> is not specified, it will default to 4096. If the scalar -B<$buffer> is not large enough, it will be extended automatically. - -Returns the number of bytes actually read. On EOF it returns 0 and in -the case of an error, -1. - -=head2 B<$bytesread = $bz-E<gt>bzreadline($line) ;> - -Reads the next line from the compressed file into B<$line>. - -Returns the number of bytes actually read. On EOF it returns 0 and in -the case of an error, -1. - -It IS legal to intermix calls to B<bzread> and B<bzreadline>. - -At this time B<bzreadline> ignores the variable C<$/> -(C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use). The -end of a line is denoted by the C character C<'\n'>. - -=head2 B<$byteswritten = $bz-E<gt>bzwrite($buffer [, $limit]) ;> - -Writes the contents of B<$buffer> to the compressed file. Returns the -number of bytes actually written, or 0 on error. - -If $limit is given and non-zero, then only that many bytes from -$buffer will be written. - -=head2 B<$status = $bz-E<gt>bzflush($flush) ;> - -Flushes all pending output to the compressed file. -Works identically to the I<zlib> function it interfaces to. Note that -the use of B<bzflush> can degrade compression. - -Returns C<BZ_OK> if B<$flush> is C<BZ_FINISH> and all output could be -flushed. Otherwise the bzlib error code is returned. - -Refer to the I<bzlib> documentation for the valid values of B<$flush>. - -=head2 B<$status = $bz-E<gt>bzeof() ;> - -Returns 1 if the end of file has been detected while reading the input -file, otherwise returns 0. - -=head2 B<$bz-E<gt>bzclose> - -Closes the compressed file. Any pending data is flushed to the file -before it is closed. - -=head2 B<$bz-E<gt>bzsetparams( [PARAMS] );> - -Change settings for the deflate stream C<$bz>. - -The list of the valid options is shown below. Options not specified -will remain unchanged. - -=over 5 - -=item B<-verbosity> - -Defines the verbosity level. Valid values are 0 through 4, - -The default is C<-verbosity =E<gt> 0>. - -=item B<-blockSize100k> - -For bzip object opened for stream deflation or write. - -Defines the buffering factor of compression method. The algorithm -buffers all data until the buffer is full, then it flushes all the -data out. Use -blockSize100k to specify the size of the buffer. - -Valid settings are 1 through 9, representing a blocking in multiples -of 100k. - -Note that each such block has an overhead of leading and trailing -synchronization bytes. bzip2 recovery uses this information to -pull useable data out of a corrupted file. - -A streaming application would probably want to set the blocking low. - -=item B<-workFactor> - -For bzip object opened for stream deflation or write. - -The workFactor setting tells the deflation algorithm how much work -to invest to compensate for repetitive data. - -workFactor may be a number from 0 to 250 inclusive. The default setting -is 30. - -See the bzip documentation for more information. - -=item B<-small> - -For bzip object opened for stream inflation or read. - -B<small> may be 0 or 1. Set C<small> to one to use a slower, less -memory intensive algorithm. - -=back - -=head2 B<$bz-E<gt>bzerror> - -Returns the I<bzlib> error message or number for the last operation -associated with B<$bz>. The return value will be the I<bzlib> error -number when used in a numeric context and the I<bzlib> error message -when used in a string context. The I<bzlib> error number constants, -shown below, are available for use. - - BZ_CONFIG_ERROR - BZ_DATA_ERROR - BZ_DATA_ERROR_MAGIC - BZ_FINISH - BZ_FINISH_OK - BZ_FLUSH - BZ_FLUSH_OK - BZ_IO_ERROR - BZ_MAX_UNUSED - BZ_MEM_ERROR - BZ_OK - BZ_OUTBUFF_FULL - BZ_PARAM_ERROR - BZ_RUN - BZ_RUN_OK - BZ_SEQUENCE_ERROR - BZ_STREAM_END - BZ_UNEXPECTED_EOF - -=head2 B<$bzerrno> - -The B<$bzerrno> scalar holds the error code associated with the most -recent I<bzip2> routine. Note that unlike B<bzerror()>, the error is -I<not> associated with a particular file. - -As with B<bzerror()> it returns an error number in numeric context and -an error message in string context. Unlike B<bzerror()> though, the -error message will correspond to the I<bzlib> message when the error is -associated with I<bzlib> itself, or the UNIX error message when it is -not (i.e. I<bzlib> returned C<Z_ERRORNO>). - -As there is an overlap between the error numbers used by I<bzlib> and -UNIX, B<$bzerrno> should only be used to check for the presence of -I<an> error in numeric context. Use B<bzerror()> to check for specific -I<bzlib> errors. The I<bzcat> example below shows how the variable can -be used safely. - -=back - -=head1 Compress::Bzip2 1.03 COMPATIBILITY - -While the 2.x thread forked off of 1.00, another line of development -came to a head at 1.03. The 1.03 version worked with bzlib 1.0.2, had -improvements to the error handling, single buffer inflate/deflate, a -streaming interface to inflate/deflate, and a cpan style test suite. - -=over 5 - -=head2 B<$dest = compress( $string, [$level] )> - -Alias to memBzip, this compresses string, using the optional -compression level, 1 through 9, the default being 1. Returns a string -containing the compressed data. - -On error I<undef> is returned. - -=head2 B<$dest = decompress($string)> - -Alias to memBunzip, this decompresses the data in string, returning a -string containing the decompressed data. - -On error I<undef> is returned. - -=head2 B<$stream = compress_init( [PARAMS] )> - -Alias to bzdeflateInit. In addition to the named parameters -documented for bzdeflateInit, the following are accepted: - - -level, alias to -blockSize100k - -buffer, to set the buffer size. - -The -buffer option is ignored. The intermediate buffer size is not -changeable. - -=head2 B<$stream = decompress_init( [PARAMS] )> - -Alias to bzinflateInit. See bzinflateInit for a description of the parameters. -The option "-buffer" is accepted, but ignored. - -=head2 B<$output = $stream-E<gt>add( $string )> - -Add data to be compressed/decompressed. Returns whatever output is available -(possibly none, if it's still buffering it), or undef on error. - -=head2 B<$output = $stream-E<gt>finish( [$string] )> - -Finish the operation; takes an optional final data string. Whatever is -returned completes the output; returns undef on error. - -=head2 B<$stream-E<gt>error> - -Like the function, but applies to the current object only. Note that errors -in a stream object are also returned by the function. - -=head2 B<$stream-E<gt>input_size> - -Alias to total_in. Total bytes passed to the stream. - -=head2 B<$stream-E<gt>output_size> - -Alias to total_out. Total bytes received from the stream. - -=back - -=head1 GZIP COMPATIBILITY INTERFACE - -Except for the exact state and error numbers, this package presents an -interface very much like that given by the Compress::Zlib package. -Mostly, if you take the method name, state or error number from -Compress::Zlib and replace the "g" with a "b", your code should work. - -To make the interoperability even easier, all the Compress::Zlib method -names have been used as aliases or cover functions for the bzip2 methods. - -Therefore, most code that uses Compress::Zlib should be able to use -this package, with a one line change. - -Simply change - - $gz = Compress::Zlib::gzopen( "filename", "w" ); - -to - - $gz = Compress::Bzip2::gzopen( "filename", "w" ); - -Some of the Compress::Zlib aliases don't return anything useful, like -crc32 or adler32, cause bzip2 doesn't do that sort of thing. - -=over 5 - -=head2 B< $gz = gzopen( $filename, $mode ) > - -Alias for bzopen. - -=head2 B< $gz-E<gt>gzread( $buffer, [ $length ] ) > - -Alias for bzread. - -=head2 B< $gz-E<gt>gzreadline( $buffer ) > - -Alias for bzreadline. - -=head2 B< $gz-E<gt>gzwrite( $buffer ) > - -Alias for bzwrite. - -=head2 B< $gz-E<gt>gzflush( [$flushtype] ) > - -Alias for bzflush, with return code translation. - -=head2 B< $gz-E<gt>gzclose( ) > - -Alias for bzclose. - -=head2 B< $gz-E<gt>gzeof( ) > - -Alias for bzeof. - -=head2 B< $gz-E<gt>gzerror( ) > - -Alias for bzerror. - -=head2 B< $gz-E<gt>gzsetparams( $level, $strategy ) > - -This is a no-op. - -=head2 B< $d = deflateInit( [OPTS] ) > - -Alias for bzdeflateInit, with return code translation. - -All OPTS are ignored. - -=head2 B< $d-E<gt>deflate( $buffer ) > - -Alias for bzdeflate, with return code translation. - -=head2 B< $d-E<gt>deflateParams( [OPTS] ) > - -This is a no-op. - -=head2 B< $d-E<gt>flush( [$flushtype] ) > - -Cover function for bzflush or bzclose, depending on $flushtype. - -See the Compress::Zlib documentation for more information. - -=head2 B< $d-E<gt>dict_adler( ) > - -This is a no-op. - -=head2 B< $d-E<gt>msg( ) > - -This is a no-op. - -=head2 B< $d = inflateInit( [OPTS] ) > - -Alias for bzinflateInit, with return code translation. - -All OPTS are ignored. - -=head2 B< $d-E<gt>inflate( ) > - -Alias for bzinflate, with return code translation. - -=head2 B< $d-E<gt>inflateSync( ) > - -This is a no-op. - -=head2 B< $d-E<gt>adler32( $crc ) > - -This is a no-op. - -=head2 B< $d-E<gt>crc32( $crc ) > - -This is a no-op. - -=head2 B< $buffer = memGzip( $buffer ) > - -Alias for memBzip. - -=head2 B< $buffer = memGunzip( $buffer ) > - -Alias for memBunzip. - -=back - -=head1 IN-MEMORY COMPRESS/UNCOMPRESS - -Two high-level functions are provided by I<bzlib> to perform in-memory -compression. They are B<memBzip> and B<memBunzip>. Two Perl subs are -provided which provide similar functionality. - -=over 5 - -=head2 B<$compressed = memBzip($buffer);> - -Compresses B<$source>. If successful it returns the compressed -data. Otherwise it returns I<undef>. - -The buffer parameter can either be a scalar or a scalar reference. - -Essentially, an in-memory bzip file is created. It creates a minimal -bzip header. - -=head2 B<$uncompressed = memBunzip($buffer);> - -Uncompresses B<$source>. If successful it returns the uncompressed -data. Otherwise it returns I<undef>. - -The source buffer can either be a scalar or a scalar reference. - -The buffer parameter can either be a scalar or a scalar reference. The -contents of the buffer parameter are destroyed after calling this -function. - -=back - -=head1 STREAM DEFLATE - -The Perl interface will I<always> consume the complete input buffer -before returning. Also the output buffer returned will be -automatically grown to fit the amount of output available. - -Here is a definition of the interface available: - -=head2 B<($d, $status) = bzdeflateInit( [PARAMS] )> - -Initialises a deflation stream. - -If successful, it will return the initialised deflation stream, B<$d> -and B<$status> of C<BZ_OK> in a list context. In scalar context it -returns the deflation stream, B<$d>, only. - -If not successful, the returned deflation stream (B<$d>) will be -I<undef> and B<$status> will hold the exact I<bzip2> error code. - -The function optionally takes a number of named options specified as -C<-Name=E<gt>value> pairs. This allows individual options to be -tailored without having to specify them all in the parameter list. - -Here is a list of the valid options: - -=over 5 - -=item B<-verbosity> - -Defines the verbosity level. Valid values are 0 through 4, - -The default is C<-verbosity =E<gt> 0>. - -=item B<-blockSize100k> - -Defines the buffering factor of compression method. The algorithm -buffers all data until the buffer is full, then it flushes all the -data out. Use -blockSize100k to specify the size of the buffer. - -Valid settings are 1 through 9, representing a blocking in multiples -of 100k. - -Note that each such block has an overhead of leading and trailing -synchronization bytes. bzip2 recovery uses this information to -pull useable data out of a corrupted file. - -A streaming application would probably want to set the blocking low. - -=item B<-workFactor> - -The workFactor setting tells the deflation algorithm how much work -to invest to compensate for repetitive data. - -workFactor may be a number from 0 to 250 inclusive. The default setting -is 30. - -See the bzip documentation for more information. - -=back - -Here is an example of using the B<deflateInit> optional parameter list -to override the default buffer size and compression level. All other -options will take their default values. - - bzdeflateInit( -blockSize100k => 1, -verbosity => 1 ); - -=head2 B<($out, $status) = $d-E<gt>bzdeflate($buffer)> - -Deflates the contents of B<$buffer>. The buffer can either be a scalar -or a scalar reference. When finished, B<$buffer> will be -completely processed (assuming there were no errors). If the deflation -was successful it returns deflated output, B<$out>, and a status -value, B<$status>, of C<Z_OK>. - -On error, B<$out> will be I<undef> and B<$status> will contain the -I<zlib> error code. - -In a scalar context B<bzdeflate> will return B<$out> only. - -As with the internal buffering of the I<deflate> function in I<bzip2>, -it is not necessarily the case that any output will be produced by -this method. So don't rely on the fact that B<$out> is empty for an -error test. In fact, given the size of bzdeflates internal buffer, -with most files it's likely you won't see any output at all until -flush or close. - -=head2 B<($out, $status) = $d-E<gt>bzflush([flush_type])> - -Typically used to finish the deflation. Any pending output will be -returned via B<$out>. B<$status> will have a value C<BZ_OK> if -successful. - -In a scalar context B<bzflush> will return B<$out> only. - -Note that flushing can seriously degrade the compression ratio, so it -should only be used to terminate a decompression (using C<BZ_FLUSH>) or -when you want to create a I<full flush point> (using C<BZ_FINISH>). - -The allowable values for C<flush_type> are C<BZ_FLUSH> and C<BZ_FINISH>. - -For a handle opened for "w" (bzwrite), the default is C<BZ_FLUSH>. -For a stream, the default for C<flush_type> is C<BZ_FINISH> (which is -essentially a close and reopen). - -It is strongly recommended that you only set the C<flush_type> -parameter if you fully understand the implications of what it -does. See the C<bzip2> documentation for details. - -=head2 Example - -Here is a trivial example of using B<bzdeflate>. It simply reads standard -input, deflates it and writes it to standard output. - - use strict ; - use warnings ; - - use Compress::Bzip2 ; - - binmode STDIN; - binmode STDOUT; - my $x = bzdeflateInit() - or die "Cannot create a deflation stream\n" ; - - my ($output, $status) ; - while (<>) - { - ($output, $status) = $x->bzdeflate($_) ; - - $status == BZ_OK - or die "deflation failed\n" ; - - print $output ; - } - - ($output, $status) = $x->bzclose() ; - - $status == BZ_OK - or die "deflation failed\n" ; - - print $output ; - -=head1 STREAM INFLATE - -Here is a definition of the interface: - -=head2 B<($i, $status) = inflateInit()> - -Initialises an inflation stream. - -In a list context it returns the inflation stream, B<$i>, and the -I<zlib> status code (B<$status>). In a scalar context it returns the -inflation stream only. - -If successful, B<$i> will hold the inflation stream and B<$status> will -be C<BZ_OK>. - -If not successful, B<$i> will be I<undef> and B<$status> will hold the -I<bzlib.h> error code. - -The function optionally takes a number of named options specified as -C<-Name=E<gt>value> pairs. This allows individual options to be -tailored without having to specify them all in the parameter list. - -For backward compatibility, it is also possible to pass the parameters -as a reference to a hash containing the name=>value pairs. - -The function takes one optional parameter, a reference to a hash. The -contents of the hash allow the deflation interface to be tailored. - -Here is a list of the valid options: - -=over 5 - -=item B<-small> - -B<small> may be 0 or 1. Set C<small> to one to use a slower, less -memory intensive algorithm. - -=item B<-verbosity> - -Defines the verbosity level. Valid values are 0 through 4, - -The default is C<-verbosity =E<gt> 0>. - -=back - -Here is an example of using the B<bzinflateInit> optional parameter. - - bzinflateInit( -small => 1, -verbosity => 1 ); - -=head2 B<($out, $status) = $i-E<gt>bzinflate($buffer)> - -Inflates the complete contents of B<$buffer>. The buffer can either be -a scalar or a scalar reference. - -Returns C<BZ_OK> if successful and C<BZ_STREAM_END> if the end of the -compressed data has been successfully reached. If not successful, -B<$out> will be I<undef> and B<$status> will hold the I<bzlib> error -code. - -The C<$buffer> parameter is modified by C<bzinflate>. On completion it -will contain what remains of the input buffer after inflation. This -means that C<$buffer> will be an empty string when the return status -is C<BZ_OK>. When the return status is C<BZ_STREAM_END> the C<$buffer> -parameter will contains what (if anything) was stored in the input -buffer after the deflated data stream. - -This feature is useful when processing a file format that encapsulates -a compressed data stream. - -=head2 Example - -Here is an example of using B<bzinflate>. - - use strict ; - use warnings ; - - use Compress::Bzip2; - - my $x = bzinflateInit() - or die "Cannot create a inflation stream\n" ; - - my $input = '' ; - binmode STDIN; - binmode STDOUT; - - my ($output, $status) ; - while (read(STDIN, $input, 4096)) - { - ($output, $status) = $x->bzinflate(\$input) ; - - print $output - if $status == BZ_OK or $status == BZ_STREAM_END ; - - last if $status != BZ_OK ; - } - - die "inflation failed\n" - unless $status == BZ_STREAM_END ; - -=head1 EXAMPLES - -Here are some example scripts of using the interface. - -=over 5 - -=head2 B<A bzcat function> - - use strict ; - use warnings ; - - use Compress::Bzip2 ; - - die "Usage: bzcat file...\n" unless @ARGV ; - - my $file ; - - foreach $file (@ARGV) { - my $buffer ; - - my $bz = bzopen($file, "rb") - or die "Cannot open $file: $bzerrno\n" ; - - print $buffer while $bz->bzread($buffer) > 0 ; - - die "Error reading from $file: $bzerrno" . ($bzerrno+0) . "\n" - if $bzerrno != BZ_STREAM_END ; - - $bz->bzclose() ; - } - -=head2 B<A grep using bzreadline> - - use strict ; - use warnings ; - - use Compress::Bzip2 ; - - die "Usage: bzgrep pattern file...\n" unless @ARGV >= 2; - - my $pattern = shift ; - - my $file ; - - foreach $file (@ARGV) { - my $bz = bzopen($file, "rb") - or die "Cannot open $file: $bzerrno\n" ; - - while ($bz->bzreadline($_) > 0) { - print if /$pattern/ ; - } - - die "Error reading from $file: $bzerrno\n" - if $bzerrno != Z_STREAM_END ; - - $bz->bzclose() ; - } - -=head2 B<Streaming Compression> - -This script, I<bzstream>, does the opposite of the I<bzcat> script -above. It reads from standard input and writes a bzip file to standard -output. - - use strict ; - use warnings ; - - use Compress::Bzip2 ; - - binmode STDOUT; # bzopen only sets it on the fd - - my $bz = bzopen(\*STDOUT, "wb") - or die "Cannot open stdout: $bzerrno\n" ; - - while (<>) { - $bz->bzwrite($_) or die "error writing: $bzerrno\n" ; - } - - $bz->bzclose ; - -=back - -=head1 EXPORT - -Use the tags :all, :utilities, :constants, :bzip1 and :gzip. - -=head2 Export tag :all - -This exports all the exportable methods. - -=head2 Export tag :constants - -This exports only the BZ_* constants. - -=head2 Export tag :bzip1 - -This exports the Compress::Bzip2 1.x functions, for compatibility. - - compress - decompress - compress_init - decompress_init - version - -These are actually aliases to memBzip and memBunzip. - -=head2 Export tag :utilities - -This gives an interface to the bzip2 methods. - - bzopen - bzinflateInit - bzdeflateInit - memBzip - memBunzip - bzip2 - bunzip2 - bzcat - bzlibversion - $bzerrno - -=head2 Export tag :gzip - -This gives compatibility with Compress::Zlib. - - gzopen - gzinflateInit - gzdeflateInit - memGzip - memGunzip - $gzerrno - -=head1 Exportable constants - -All the I<bzlib> constants are automatically imported when you make use -of I<Compress::Bzip2>. - - BZ_CONFIG_ERROR - BZ_DATA_ERROR - BZ_DATA_ERROR_MAGIC - BZ_FINISH - BZ_FINISH_OK - BZ_FLUSH - BZ_FLUSH_OK - BZ_IO_ERROR - BZ_MAX_UNUSED - BZ_MEM_ERROR - BZ_OK - BZ_OUTBUFF_FULL - BZ_PARAM_ERROR - BZ_RUN - BZ_RUN_OK - BZ_SEQUENCE_ERROR - BZ_STREAM_END - BZ_UNEXPECTED_EOF - -=head1 SEE ALSO - -The documentation for zlib, bzip2 and Compress::Zlib. - -=head1 AUTHOR - -Rob Janes, E<lt>arjay at cpan.orgE<gt> - -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2005 by Rob Janes - -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself, either Perl version 5.8.3 or, -at your option, any later version of Perl 5 you may have available. - -=head1 AUTHOR - -The I<Compress::Bzip2> module was originally written by Gawdi Azem -F<azemgi@rupert.informatik.uni-stuttgart.de>. - -The first I<Compress::Bzip2> module was written by Gawdi Azem -F<azemgi@rupert.informatik.uni-stuttgart.de>. It provided an -interface to the in memory inflate and deflate routines. - -I<Compress::Bzip2> was subsequently passed on to Marco Carnut -F<kiko@tempest.com.br> who shepharded it through to version 1.03, a -set of changes which included upgrades to handle bzlib 1.0.2, and -improvements to the in memory inflate and deflate routines. The -streaming interface and error information were added by David Robins -F<dbrobins@davidrobins.net>. - -Version 2 of I<Compress::Bzip2> is due to Rob Janes, of -arjay@cpan.org. This release is intended to give an interface -close to that of Compress::Zlib. It's development forks from 1.00, -not 1.03, so the streaming interface is not the same as that in 1.03, -although apparently compatible as it passes the 1.03 test suite. - -=head1 MODIFICATION HISTORY - -See the Changes file. - -2.00 Second public release of I<Compress::Bzip2>. - - - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm deleted file mode 100644 index 041a3eec989..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm +++ /dev/null @@ -1,329 +0,0 @@ - -package Compress::Raw::Bzip2; - -use strict ; -use warnings ; - -require 5.004 ; -require Exporter; -use AutoLoader; -use Carp ; - -use bytes ; -our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); - -$VERSION = '2.011'; -$XS_VERSION = $VERSION; -$VERSION = eval $VERSION; - -@ISA = qw(Exporter); -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. -@EXPORT = qw( - BZ_RUN - BZ_FLUSH - BZ_FINISH - - BZ_OK - BZ_RUN_OK - BZ_FLUSH_OK - BZ_FINISH_OK - BZ_STREAM_END - BZ_SEQUENCE_ERROR - BZ_PARAM_ERROR - BZ_MEM_ERROR - BZ_DATA_ERROR - BZ_DATA_ERROR_MAGIC - BZ_IO_ERROR - BZ_UNEXPECTED_EOF - BZ_OUTBUFF_FULL - BZ_CONFIG_ERROR - - ); - -sub AUTOLOAD { - my($constname); - ($constname = $AUTOLOAD) =~ s/.*:://; - my ($error, $val) = constant($constname); - Carp::croak $error if $error; - no strict 'refs'; - *{$AUTOLOAD} = sub { $val }; - goto &{$AUTOLOAD}; - -} - -use constant FLAG_APPEND => 1 ; -use constant FLAG_CRC => 2 ; -use constant FLAG_ADLER => 4 ; -use constant FLAG_CONSUME_INPUT => 8 ; - -eval { - require XSLoader; - XSLoader::load('Compress::Raw::Bzip2', $XS_VERSION); - 1; -} -or do { - require DynaLoader; - local @ISA = qw(DynaLoader); - bootstrap Compress::Raw::Bzip2 $XS_VERSION ; -}; - -#sub Compress::Raw::Bzip2::new -#{ -# my $class = shift ; -# my ($ptr, $status) = _new(@_); -# return wantarray ? (undef, $status) : undef -# unless $ptr ; -# my $obj = bless [$ptr], $class ; -# return wantarray ? ($obj, $status) : $obj; -#} -# -#package Compress::Raw::Bunzip2 ; -# -#sub Compress::Raw::Bunzip2::new -#{ -# my $class = shift ; -# my ($ptr, $status) = _new(@_); -# return wantarray ? (undef, $status) : undef -# unless $ptr ; -# my $obj = bless [$ptr], $class ; -# return wantarray ? ($obj, $status) : $obj; -#} - -package Compress::Raw::Bzip2; - -1; - -__END__ - - -=head1 NAME - -Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library - -=head1 SYNOPSIS - - use Compress::Raw::Bzip2 ; - - my ($bz, $status) = new Compress::Raw::Bzip2 [OPTS] - or die "Cannot create bzip2 object: $bzerno\n"; - - $status = $bz->bzdeflate($input, $output); - $status = $bz->bzflush($output); - $status = $bz->bzclose($output); - - my ($bz, $status) = new Compress::Raw::Bunzip2 [OPTS] - or die "Cannot create bunzip2 object: $bzerno\n"; - - $status = $bz->bzinflate($input, $output); - - my $version = Compress::Raw::Bzip2::bzlibversion(); - -=head1 DESCRIPTION - -C<Compress::Raw::Bzip2> provides an interface to the in-memory -compression/uncompression functions from the bzip2 compression library. - -Although the primary purpose for the existence of C<Compress::Raw::Bzip2> -is for use by the C<IO::Compress::Bzip2> and C<IO::Compress::Bunzip2> -modules, it can be used on its own for simple compression/uncompression -tasks. - -=head1 Compression - -=head2 ($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor; - -Creates a new compression object. - -If successful, it will return the initialised compression object, C<$z> -and a C<$status> of C<BZ_OK> in a list context. In scalar context it -returns the deflation object, C<$z>, only. - -If not successful, the returned compression object, C<$z>, will be -I<undef> and C<$status> will hold the a I<bzip2> error code. - -Below is a list of the valid options: - -=over 5 - -=item B<$appendOutput> - -Controls whether the compressed data is appended to the output buffer in -the C<bzdeflate>, C<bzflush> and C<bzclose> methods. - -Defaults to 1. - -=item B<$blockSize100k> - -To quote the bzip2 documentation - - blockSize100k specifies the block size to be used for compression. It - should be a value between 1 and 9 inclusive, and the actual block size - used is 100000 x this figure. 9 gives the best compression but takes - most memory. - -Defaults to 1. - -=item B<$workfactor> - -To quote the bzip2 documentation - - This parameter controls how the compression phase behaves when - presented with worst case, highly repetitive, input data. If - compression runs into difficulties caused by repetitive data, the - library switches from the standard sorting algorithm to a fallback - algorithm. The fallback is slower than the standard algorithm by - perhaps a factor of three, but always behaves reasonably, no matter how - bad the input. - - Lower values of workFactor reduce the amount of effort the standard - algorithm will expend before resorting to the fallback. You should set - this parameter carefully; too low, and many inputs will be handled by - the fallback algorithm and so compress rather slowly, too high, and - your average-to-worst case compression times can become very large. The - default value of 30 gives reasonable behaviour over a wide range of - circumstances. - - Allowable values range from 0 to 250 inclusive. 0 is a special case, - equivalent to using the default value of 30. - -Defaults to 0. - -=back - -=head2 $status = $bz->bzdeflate($input, $output); - -Reads the contents of C<$input>, compresses it and writes the compressed -data to C<$output>. - -Returns C<BZ_RUN_OK> on success and a C<bzip2> error code on failure. - -If C<appendOutput> is enabled in the constructor for the bzip2 object, the -compressed data will be appended to C<$output>. If not enabled, C<$output> -will be truncated before the compressed data is written to it. - -=head2 $status = $bz->bzflush($output); - -Flushes any pending compressed data to C<$output>. - -Returns C<BZ_RUN_OK> on success and a C<bzip2> error code on failure. - -=head2 $status = $bz->bzclose($output); - -Terminates the compressed data stream and flushes any pending compressed -data to C<$output>. - -Returns C<BZ_STREAM_END> on success and a C<bzip2> error code on failure. - -=head2 Example - -=head1 Uncompression - -=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small; - -If successful, it will return the initialised uncompression object, C<$z> -and a C<$status> of C<BZ_OK> in a list context. In scalar context it -returns the deflation object, C<$z>, only. - -If not successful, the returned uncompression object, C<$z>, will be -I<undef> and C<$status> will hold the a I<bzip2> error code. - -Below is a list of the valid options: - -=over 5 - -=item B<$appendOutput> - -Controls whether the compressed data is appended to the output buffer in the -C<bzinflate>, C<bzflush> and C<bzclose> methods. - -Defaults to 1. - -=item B<$consumeInput> - -=item B<$small> - -To quote the bzip2 documentation - - If small is nonzero, the library will use an alternative decompression - algorithm which uses less memory but at the cost of decompressing more - slowly (roughly speaking, half the speed, but the maximum memory - requirement drops to around 2300k). - -Defaults to 0. - -=back - -=head2 $status = $z->bzinflate($input, $output); - -Uncompresses C<$input> and writes the uncompressed data to C<$output>. - -Returns C<BZ_OK> if the uncompression was successful, but the end of the -compressed data stream has not been reached. Returns C<BZ_STREAM_END> on -successful uncompression and the end of the compression stream has been -reached. - -If C<consumeInput> is enabled in the constructor for the bunzip2 object, -C<$input> will have all compressed data removed from it after -uncompression. On C<BZ_OK> return this will mean that C<$input> will be an -empty string; when C<BZ_STREAM_END> C<$input> will either be an empty -string or will contain whatever data immediately followed the compressed -data stream. - -If C<appendOutput> is enabled in the constructor for the bunzip2 object, -the uncompressed data will be appended to C<$output>. If not enabled, -C<$output> will be truncated before the uncompressed data is written to it. - -=head1 Constants - -The following bzip2 constants are exported by this module - - BZ_RUN - BZ_FLUSH - BZ_FINISH - - BZ_OK - BZ_RUN_OK - BZ_FLUSH_OK - BZ_FINISH_OK - BZ_STREAM_END - BZ_SEQUENCE_ERROR - BZ_PARAM_ERROR - BZ_MEM_ERROR - BZ_DATA_ERROR - BZ_DATA_ERROR_MAGIC - BZ_IO_ERROR - BZ_UNEXPECTED_EOF - BZ_OUTBUFF_FULL - BZ_CONFIG_ERROR - -=head1 SEE ALSO - -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> - -L<Compress::Zlib::FAQ|Compress::Zlib::FAQ> - -L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>, -L<Archive::Tar|Archive::Tar>, -L<IO::Zlib|IO::Zlib> - -The primary site for the bzip2 program is F<http://www.bzip.org>. - -See the module L<Compress::Bzip2|Compress::Bzip2> - -=head1 AUTHOR - -This module was written by Paul Marquess, F<pmqs@cpan.org>. - -=head1 MODIFICATION HISTORY - -See the Changes file. - -=head1 COPYRIGHT AND LICENSE - -Copyright (c) 2005-2008 Paul Marquess. All rights reserved. - -This program is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm deleted file mode 100644 index b93c0036120..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm +++ /dev/null @@ -1,763 +0,0 @@ -package Cwd; - -=head1 NAME - -Cwd - get pathname of current working directory - -=head1 SYNOPSIS - - use Cwd; - my $dir = getcwd; - - use Cwd 'abs_path'; - my $abs_path = abs_path($file); - -=head1 DESCRIPTION - -This module provides functions for determining the pathname of the -current working directory. It is recommended that getcwd (or another -*cwd() function) be used in I<all> code to ensure portability. - -By default, it exports the functions cwd(), getcwd(), fastcwd(), and -fastgetcwd() (and, on Win32, getdcwd()) into the caller's namespace. - - -=head2 getcwd and friends - -Each of these functions are called without arguments and return the -absolute path of the current working directory. - -=over 4 - -=item getcwd - - my $cwd = getcwd(); - -Returns the current working directory. - -Exposes the POSIX function getcwd(3) or re-implements it if it's not -available. - -=item cwd - - my $cwd = cwd(); - -The cwd() is the most natural form for the current architecture. For -most systems it is identical to `pwd` (but without the trailing line -terminator). - -=item fastcwd - - my $cwd = fastcwd(); - -A more dangerous version of getcwd(), but potentially faster. - -It might conceivably chdir() you out of a directory that it can't -chdir() you back into. If fastcwd encounters a problem it will return -undef but will probably leave you in a different directory. For a -measure of extra security, if everything appears to have worked, the -fastcwd() function will check that it leaves you in the same directory -that it started in. If it has changed it will C<die> with the message -"Unstable directory path, current directory changed -unexpectedly". That should never happen. - -=item fastgetcwd - - my $cwd = fastgetcwd(); - -The fastgetcwd() function is provided as a synonym for cwd(). - -=item getdcwd - - my $cwd = getdcwd(); - my $cwd = getdcwd('C:'); - -The getdcwd() function is also provided on Win32 to get the current working -directory on the specified drive, since Windows maintains a separate current -working directory for each drive. If no drive is specified then the current -drive is assumed. - -This function simply calls the Microsoft C library _getdcwd() function. - -=back - - -=head2 abs_path and friends - -These functions are exported only on request. They each take a single -argument and return the absolute pathname for it. If no argument is -given they'll use the current working directory. - -=over 4 - -=item abs_path - - my $abs_path = abs_path($file); - -Uses the same algorithm as getcwd(). Symbolic links and relative-path -components ("." and "..") are resolved to return the canonical -pathname, just like realpath(3). - -=item realpath - - my $abs_path = realpath($file); - -A synonym for abs_path(). - -=item fast_abs_path - - my $abs_path = fast_abs_path($file); - -A more dangerous, but potentially faster version of abs_path. - -=back - -=head2 $ENV{PWD} - -If you ask to override your chdir() built-in function, - - use Cwd qw(chdir); - -then your PWD environment variable will be kept up to date. Note that -it will only be kept up to date if all packages which use chdir import -it from Cwd. - - -=head1 NOTES - -=over 4 - -=item * - -Since the path seperators are different on some operating systems ('/' -on Unix, ':' on MacPerl, etc...) we recommend you use the File::Spec -modules wherever portability is a concern. - -=item * - -Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()> -functions are all aliases for the C<cwd()> function, which, on Mac OS, -calls `pwd`. Likewise, the C<abs_path()> function is an alias for -C<fast_abs_path()>. - -=back - -=head1 AUTHOR - -Originally by the perl5-porters. - -Maintained by Ken Williams <KWILLIAMS@cpan.org> - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -Portions of the C code in this library are copyright (c) 1994 by the -Regents of the University of California. All rights reserved. The -license on this code is compatible with the licensing of the rest of -the distribution - please see the source code in F<Cwd.xs> for the -details. - -=head1 SEE ALSO - -L<File::chdir> - -=cut - -use strict; -use Exporter; -use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); - -$VERSION = '3.2701'; - -@ISA = qw/ Exporter /; -@EXPORT = qw(cwd getcwd fastcwd fastgetcwd); -push @EXPORT, qw(getdcwd) if $^O eq 'MSWin32'; -@EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath); - -# sys_cwd may keep the builtin command - -# All the functionality of this module may provided by builtins, -# there is no sense to process the rest of the file. -# The best choice may be to have this in BEGIN, but how to return from BEGIN? - -if ($^O eq 'os2') { - local $^W = 0; - - *cwd = defined &sys_cwd ? \&sys_cwd : \&_os2_cwd; - *getcwd = \&cwd; - *fastgetcwd = \&cwd; - *fastcwd = \&cwd; - - *fast_abs_path = \&sys_abspath if defined &sys_abspath; - *abs_path = \&fast_abs_path; - *realpath = \&fast_abs_path; - *fast_realpath = \&fast_abs_path; - - return 1; -} - -# If loading the XS stuff doesn't work, we can fall back to pure perl -eval { - if ( $] >= 5.006 ) { - require XSLoader; - XSLoader::load( __PACKAGE__, $VERSION ); - } else { - require DynaLoader; - push @ISA, 'DynaLoader'; - __PACKAGE__->bootstrap( $VERSION ); - } -}; - -# Must be after the DynaLoader stuff: -$VERSION = eval $VERSION; - -# Big nasty table of function aliases -my %METHOD_MAP = - ( - VMS => - { - cwd => '_vms_cwd', - getcwd => '_vms_cwd', - fastcwd => '_vms_cwd', - fastgetcwd => '_vms_cwd', - abs_path => '_vms_abs_path', - fast_abs_path => '_vms_abs_path', - }, - - MSWin32 => - { - # We assume that &_NT_cwd is defined as an XSUB or in the core. - cwd => '_NT_cwd', - getcwd => '_NT_cwd', - fastcwd => '_NT_cwd', - fastgetcwd => '_NT_cwd', - abs_path => 'fast_abs_path', - realpath => 'fast_abs_path', - }, - - dos => - { - cwd => '_dos_cwd', - getcwd => '_dos_cwd', - fastgetcwd => '_dos_cwd', - fastcwd => '_dos_cwd', - abs_path => 'fast_abs_path', - }, - - qnx => - { - cwd => '_qnx_cwd', - getcwd => '_qnx_cwd', - fastgetcwd => '_qnx_cwd', - fastcwd => '_qnx_cwd', - abs_path => '_qnx_abs_path', - fast_abs_path => '_qnx_abs_path', - }, - - cygwin => - { - getcwd => 'cwd', - fastgetcwd => 'cwd', - fastcwd => 'cwd', - abs_path => 'fast_abs_path', - realpath => 'fast_abs_path', - }, - - epoc => - { - cwd => '_epoc_cwd', - getcwd => '_epoc_cwd', - fastgetcwd => '_epoc_cwd', - fastcwd => '_epoc_cwd', - abs_path => 'fast_abs_path', - }, - - MacOS => - { - getcwd => 'cwd', - fastgetcwd => 'cwd', - fastcwd => 'cwd', - abs_path => 'fast_abs_path', - }, - ); - -$METHOD_MAP{NT} = $METHOD_MAP{MSWin32}; -$METHOD_MAP{nto} = $METHOD_MAP{qnx}; - - -# Find the pwd command in the expected locations. We assume these -# are safe. This prevents _backtick_pwd() consulting $ENV{PATH} -# so everything works under taint mode. -my $pwd_cmd; -foreach my $try ('/bin/pwd', - '/usr/bin/pwd', - '/QOpenSys/bin/pwd', # OS/400 PASE. - ) { - - if( -x $try ) { - $pwd_cmd = $try; - last; - } -} -my $found_pwd_cmd = defined($pwd_cmd); -unless ($pwd_cmd) { - # Isn't this wrong? _backtick_pwd() will fail if somenone has - # pwd in their path but it is not /bin/pwd or /usr/bin/pwd? - # See [perl #16774]. --jhi - $pwd_cmd = 'pwd'; -} - -# Lazy-load Carp -sub _carp { require Carp; Carp::carp(@_) } -sub _croak { require Carp; Carp::croak(@_) } - -# The 'natural and safe form' for UNIX (pwd may be setuid root) -sub _backtick_pwd { - # Localize %ENV entries in a way that won't create new hash keys - my @localize = grep exists $ENV{$_}, qw(PATH IFS CDPATH ENV BASH_ENV); - local @ENV{@localize}; - - my $cwd = `$pwd_cmd`; - # Belt-and-suspenders in case someone said "undef $/". - local $/ = "\n"; - # `pwd` may fail e.g. if the disk is full - chomp($cwd) if defined $cwd; - $cwd; -} - -# Since some ports may predefine cwd internally (e.g., NT) -# we take care not to override an existing definition for cwd(). - -unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) { - # The pwd command is not available in some chroot(2)'ed environments - my $sep = $Config::Config{path_sep} || ':'; - my $os = $^O; # Protect $^O from tainting - - - # Try again to find a pwd, this time searching the whole PATH. - if (defined $ENV{PATH} and $os ne 'MSWin32') { # no pwd on Windows - my @candidates = split($sep, $ENV{PATH}); - while (!$found_pwd_cmd and @candidates) { - my $candidate = shift @candidates; - $found_pwd_cmd = 1 if -x "$candidate/pwd"; - } - } - - # MacOS has some special magic to make `pwd` work. - if( $os eq 'MacOS' || $found_pwd_cmd ) - { - *cwd = \&_backtick_pwd; - } - else { - *cwd = \&getcwd; - } -} - -if ($^O eq 'cygwin') { - # We need to make sure cwd() is called with no args, because it's - # got an arg-less prototype and will die if args are present. - local $^W = 0; - my $orig_cwd = \&cwd; - *cwd = sub { &$orig_cwd() } -} - - -# set a reasonable (and very safe) default for fastgetcwd, in case it -# isn't redefined later (20001212 rspier) -*fastgetcwd = \&cwd; - -# A non-XS version of getcwd() - also used to bootstrap the perl build -# process, when miniperl is running and no XS loading happens. -sub _perl_getcwd -{ - abs_path('.'); -} - -# By John Bazik -# -# Usage: $cwd = &fastcwd; -# -# This is a faster version of getcwd. It's also more dangerous because -# you might chdir out of a directory that you can't chdir back into. - -sub fastcwd_ { - my($odev, $oino, $cdev, $cino, $tdev, $tino); - my(@path, $path); - local(*DIR); - - my($orig_cdev, $orig_cino) = stat('.'); - ($cdev, $cino) = ($orig_cdev, $orig_cino); - for (;;) { - my $direntry; - ($odev, $oino) = ($cdev, $cino); - CORE::chdir('..') || return undef; - ($cdev, $cino) = stat('.'); - last if $odev == $cdev && $oino == $cino; - opendir(DIR, '.') || return undef; - for (;;) { - $direntry = readdir(DIR); - last unless defined $direntry; - next if $direntry eq '.'; - next if $direntry eq '..'; - - ($tdev, $tino) = lstat($direntry); - last unless $tdev != $odev || $tino != $oino; - } - closedir(DIR); - return undef unless defined $direntry; # should never happen - unshift(@path, $direntry); - } - $path = '/' . join('/', @path); - if ($^O eq 'apollo') { $path = "/".$path; } - # At this point $path may be tainted (if tainting) and chdir would fail. - # Untaint it then check that we landed where we started. - $path =~ /^(.*)\z/s # untaint - && CORE::chdir($1) or return undef; - ($cdev, $cino) = stat('.'); - die "Unstable directory path, current directory changed unexpectedly" - if $cdev != $orig_cdev || $cino != $orig_cino; - $path; -} -if (not defined &fastcwd) { *fastcwd = \&fastcwd_ } - - -# Keeps track of current working directory in PWD environment var -# Usage: -# use Cwd 'chdir'; -# chdir $newdir; - -my $chdir_init = 0; - -sub chdir_init { - if ($ENV{'PWD'} and $^O ne 'os2' and $^O ne 'dos' and $^O ne 'MSWin32') { - my($dd,$di) = stat('.'); - my($pd,$pi) = stat($ENV{'PWD'}); - if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) { - $ENV{'PWD'} = cwd(); - } - } - else { - my $wd = cwd(); - $wd = Win32::GetFullPathName($wd) if $^O eq 'MSWin32'; - $ENV{'PWD'} = $wd; - } - # Strip an automounter prefix (where /tmp_mnt/foo/bar == /foo/bar) - if ($^O ne 'MSWin32' and $ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|s) { - my($pd,$pi) = stat($2); - my($dd,$di) = stat($1); - if (defined $pd and defined $dd and $di == $pi and $dd == $pd) { - $ENV{'PWD'}="$2$3"; - } - } - $chdir_init = 1; -} - -sub chdir { - my $newdir = @_ ? shift : ''; # allow for no arg (chdir to HOME dir) - $newdir =~ s|///*|/|g unless $^O eq 'MSWin32'; - chdir_init() unless $chdir_init; - my $newpwd; - if ($^O eq 'MSWin32') { - # get the full path name *before* the chdir() - $newpwd = Win32::GetFullPathName($newdir); - } - - return 0 unless CORE::chdir $newdir; - - if ($^O eq 'VMS') { - return $ENV{'PWD'} = $ENV{'DEFAULT'} - } - elsif ($^O eq 'MacOS') { - return $ENV{'PWD'} = cwd(); - } - elsif ($^O eq 'MSWin32') { - $ENV{'PWD'} = $newpwd; - return 1; - } - - if (ref $newdir eq 'GLOB') { # in case a file/dir handle is passed in - $ENV{'PWD'} = cwd(); - } elsif ($newdir =~ m#^/#s) { - $ENV{'PWD'} = $newdir; - } else { - my @curdir = split(m#/#,$ENV{'PWD'}); - @curdir = ('') unless @curdir; - my $component; - foreach $component (split(m#/#, $newdir)) { - next if $component eq '.'; - pop(@curdir),next if $component eq '..'; - push(@curdir,$component); - } - $ENV{'PWD'} = join('/',@curdir) || '/'; - } - 1; -} - - -sub _perl_abs_path -{ - my $start = @_ ? shift : '.'; - my($dotdots, $cwd, @pst, @cst, $dir, @tst); - - unless (@cst = stat( $start )) - { - _carp("stat($start): $!"); - return ''; - } - - unless (-d _) { - # Make sure we can be invoked on plain files, not just directories. - # NOTE that this routine assumes that '/' is the only directory separator. - - my ($dir, $file) = $start =~ m{^(.*)/(.+)$} - or return cwd() . '/' . $start; - - # Can't use "-l _" here, because the previous stat was a stat(), not an lstat(). - if (-l $start) { - my $link_target = readlink($start); - die "Can't resolve link $start: $!" unless defined $link_target; - - require File::Spec; - $link_target = $dir . '/' . $link_target - unless File::Spec->file_name_is_absolute($link_target); - - return abs_path($link_target); - } - - return $dir ? abs_path($dir) . "/$file" : "/$file"; - } - - $cwd = ''; - $dotdots = $start; - do - { - $dotdots .= '/..'; - @pst = @cst; - local *PARENT; - unless (opendir(PARENT, $dotdots)) - { - # probably a permissions issue. Try the native command. - return File::Spec->rel2abs( $start, _backtick_pwd() ); - } - unless (@cst = stat($dotdots)) - { - _carp("stat($dotdots): $!"); - closedir(PARENT); - return ''; - } - if ($pst[0] == $cst[0] && $pst[1] == $cst[1]) - { - $dir = undef; - } - else - { - do - { - unless (defined ($dir = readdir(PARENT))) - { - _carp("readdir($dotdots): $!"); - closedir(PARENT); - return ''; - } - $tst[0] = $pst[0]+1 unless (@tst = lstat("$dotdots/$dir")) - } - while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] || - $tst[1] != $pst[1]); - } - $cwd = (defined $dir ? "$dir" : "" ) . "/$cwd" ; - closedir(PARENT); - } while (defined $dir); - chop($cwd) unless $cwd eq '/'; # drop the trailing / - $cwd; -} - - -my $Curdir; -sub fast_abs_path { - local $ENV{PWD} = $ENV{PWD} || ''; # Guard against clobberage - my $cwd = getcwd(); - require File::Spec; - my $path = @_ ? shift : ($Curdir ||= File::Spec->curdir); - - # Detaint else we'll explode in taint mode. This is safe because - # we're not doing anything dangerous with it. - ($path) = $path =~ /(.*)/; - ($cwd) = $cwd =~ /(.*)/; - - unless (-e $path) { - _croak("$path: No such file or directory"); - } - - unless (-d _) { - # Make sure we can be invoked on plain files, not just directories. - - my ($vol, $dir, $file) = File::Spec->splitpath($path); - return File::Spec->catfile($cwd, $path) unless length $dir; - - if (-l $path) { - my $link_target = readlink($path); - die "Can't resolve link $path: $!" unless defined $link_target; - - $link_target = File::Spec->catpath($vol, $dir, $link_target) - unless File::Spec->file_name_is_absolute($link_target); - - return fast_abs_path($link_target); - } - - return $dir eq File::Spec->rootdir - ? File::Spec->catpath($vol, $dir, $file) - : fast_abs_path(File::Spec->catpath($vol, $dir, '')) . '/' . $file; - } - - if (!CORE::chdir($path)) { - _croak("Cannot chdir to $path: $!"); - } - my $realpath = getcwd(); - if (! ((-d $cwd) && (CORE::chdir($cwd)))) { - _croak("Cannot chdir back to $cwd: $!"); - } - $realpath; -} - -# added function alias to follow principle of least surprise -# based on previous aliasing. --tchrist 27-Jan-00 -*fast_realpath = \&fast_abs_path; - - -# --- PORTING SECTION --- - -# VMS: $ENV{'DEFAULT'} points to default directory at all times -# 06-Mar-1996 Charles Bailey bailey@newman.upenn.edu -# Note: Use of Cwd::chdir() causes the logical name PWD to be defined -# in the process logical name table as the default device and directory -# seen by Perl. This may not be the same as the default device -# and directory seen by DCL after Perl exits, since the effects -# the CRTL chdir() function persist only until Perl exits. - -sub _vms_cwd { - return $ENV{'DEFAULT'}; -} - -sub _vms_abs_path { - return $ENV{'DEFAULT'} unless @_; - my $path = shift; - - if (-l $path) { - my $link_target = readlink($path); - die "Can't resolve link $path: $!" unless defined $link_target; - - return _vms_abs_path($link_target); - } - - if (defined &VMS::Filespec::vms_realpath) { - my $path = $_[0]; - if ($path =~ m#(?<=\^)/# ) { - # Unix format - return VMS::Filespec::vms_realpath($path); - } - - # VMS format - - my $new_path = VMS::Filespec::vms_realname($path); - - # Perl expects directories to be in directory format - $new_path = VMS::Filespec::pathify($new_path) if -d $path; - return $new_path; - } - - # Fallback to older algorithm if correct ones are not - # available. - - # may need to turn foo.dir into [.foo] - my $pathified = VMS::Filespec::pathify($path); - $path = $pathified if defined $pathified; - - return VMS::Filespec::rmsexpand($path); -} - -sub _os2_cwd { - $ENV{'PWD'} = `cmd /c cd`; - chomp $ENV{'PWD'}; - $ENV{'PWD'} =~ s:\\:/:g ; - return $ENV{'PWD'}; -} - -sub _win32_cwd { - if (defined &DynaLoader::boot_DynaLoader) { - $ENV{'PWD'} = Win32::GetCwd(); - } - else { # miniperl - chomp($ENV{'PWD'} = `cd`); - } - $ENV{'PWD'} =~ s:\\:/:g ; - return $ENV{'PWD'}; -} - -*_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_os2_cwd; - -sub _dos_cwd { - if (!defined &Dos::GetCwd) { - $ENV{'PWD'} = `command /c cd`; - chomp $ENV{'PWD'}; - $ENV{'PWD'} =~ s:\\:/:g ; - } else { - $ENV{'PWD'} = Dos::GetCwd(); - } - return $ENV{'PWD'}; -} - -sub _qnx_cwd { - local $ENV{PATH} = ''; - local $ENV{CDPATH} = ''; - local $ENV{ENV} = ''; - $ENV{'PWD'} = `/usr/bin/fullpath -t`; - chomp $ENV{'PWD'}; - return $ENV{'PWD'}; -} - -sub _qnx_abs_path { - local $ENV{PATH} = ''; - local $ENV{CDPATH} = ''; - local $ENV{ENV} = ''; - my $path = @_ ? shift : '.'; - local *REALPATH; - - defined( open(REALPATH, '-|') || exec '/usr/bin/fullpath', '-t', $path ) or - die "Can't open /usr/bin/fullpath: $!"; - my $realpath = <REALPATH>; - close REALPATH; - chomp $realpath; - return $realpath; -} - -sub _epoc_cwd { - $ENV{'PWD'} = EPOC::getcwd(); - return $ENV{'PWD'}; -} - - -# Now that all the base-level functions are set up, alias the -# user-level functions to the right places - -if (exists $METHOD_MAP{$^O}) { - my $map = $METHOD_MAP{$^O}; - foreach my $name (keys %$map) { - local $^W = 0; # assignments trigger 'subroutine redefined' warning - no strict 'refs'; - *{$name} = \&{$map->{$name}}; - } -} - -# In case the XS version doesn't load. -*abs_path = \&_perl_abs_path unless defined &abs_path; -*getcwd = \&_perl_getcwd unless defined &getcwd; - -# added function alias for those of us more -# used to the libc function. --tchrist 27-Jan-00 -*realpath = \&abs_path; - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm deleted file mode 100644 index d57c16fce59..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm +++ /dev/null @@ -1,669 +0,0 @@ -package Digest::SHA; - -require 5.003000; - -use strict; -use integer; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); - -$VERSION = '5.47'; - -require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); -@EXPORT_OK = qw( - hmac_sha1 hmac_sha1_base64 hmac_sha1_hex - hmac_sha224 hmac_sha224_base64 hmac_sha224_hex - hmac_sha256 hmac_sha256_base64 hmac_sha256_hex - hmac_sha384 hmac_sha384_base64 hmac_sha384_hex - hmac_sha512 hmac_sha512_base64 hmac_sha512_hex - sha1 sha1_base64 sha1_hex - sha224 sha224_base64 sha224_hex - sha256 sha256_base64 sha256_hex - sha384 sha384_base64 sha384_hex - sha512 sha512_base64 sha512_hex); - -# If possible, inherit from Digest::base (which depends on MIME::Base64) - -*addfile = \&Addfile; - -eval { - require MIME::Base64; - require Digest::base; - push(@ISA, 'Digest::base'); -}; -if ($@) { - *hexdigest = \&Hexdigest; - *b64digest = \&B64digest; -} - -# The following routines aren't time-critical, so they can be left in Perl - -sub new { - my($class, $alg) = @_; - $alg =~ s/\D+//g if defined $alg; - if (ref($class)) { # instance method - unless (defined($alg) && ($alg != $class->algorithm)) { - sharewind($$class); - return($class); - } - shaclose($$class) if $$class; - $$class = shaopen($alg) || return; - return($class); - } - $alg = 1 unless defined $alg; - my $state = shaopen($alg) || return; - my $self = \$state; - bless($self, $class); - return($self); -} - -sub DESTROY { - my $self = shift; - shaclose($$self) if $$self; -} - -sub clone { - my $self = shift; - my $state = shadup($$self) || return; - my $copy = \$state; - bless($copy, ref($self)); - return($copy); -} - -*reset = \&new; - -sub add_bits { - my($self, $data, $nbits) = @_; - unless (defined $nbits) { - $nbits = length($data); - $data = pack("B*", $data); - } - shawrite($data, $nbits, $$self); - return($self); -} - -sub _bail { - my $msg = shift; - - require Carp; - Carp::croak("$msg: $!"); -} - -sub _addfile { # this is "addfile" from Digest::base 1.00 - my ($self, $handle) = @_; - - my $n; - my $buf = ""; - - while (($n = read($handle, $buf, 4096))) { - $self->add($buf); - } - _bail("Read failed") unless defined $n; - - $self; -} - -sub Addfile { - my ($self, $file, $mode) = @_; - - return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR'; - - $mode = defined($mode) ? $mode : ""; - my ($binary, $portable) = map { $_ eq $mode } ("b", "p"); - my $text = -T $file; - - local *FH; - # protect any leading or trailing whitespace in $file; - # otherwise, 2-arg "open" will ignore them - $file =~ s#^(\s)#./$1#; - open(FH, "< $file\0") or _bail("Open failed"); - binmode(FH) if $binary || $portable; - - unless ($portable && $text) { - $self->_addfile(*FH); - close(FH); - return($self); - } - - my ($n1, $n2); - my ($buf1, $buf2) = ("", ""); - - while (($n1 = read(FH, $buf1, 4096))) { - while (substr($buf1, -1) eq "\015") { - $n2 = read(FH, $buf2, 4096); - _bail("Read failed") unless defined $n2; - last unless $n2; - $buf1 .= $buf2; - } - $buf1 =~ s/\015?\015\012/\012/g; # DOS/Windows - $buf1 =~ s/\015/\012/g; # early MacOS - $self->add($buf1); - } - _bail("Read failed") unless defined $n1; - close(FH); - - $self; -} - -sub dump { - my $self = shift; - my $file = shift || ""; - - shadump($file, $$self) || return; - return($self); -} - -sub load { - my $class = shift; - my $file = shift || ""; - if (ref($class)) { # instance method - shaclose($$class) if $$class; - $$class = shaload($file) || return; - return($class); - } - my $state = shaload($file) || return; - my $self = \$state; - bless($self, $class); - return($self); -} - -Digest::SHA->bootstrap($VERSION); - -1; -__END__ - -=head1 NAME - -Digest::SHA - Perl extension for SHA-1/224/256/384/512 - -=head1 SYNOPSIS - -In programs: - - # Functional interface - - use Digest::SHA qw(sha1 sha1_hex sha1_base64 ...); - - $digest = sha1($data); - $digest = sha1_hex($data); - $digest = sha1_base64($data); - - $digest = sha256($data); - $digest = sha384_hex($data); - $digest = sha512_base64($data); - - # Object-oriented - - use Digest::SHA; - - $sha = Digest::SHA->new($alg); - - $sha->add($data); # feed data into stream - - $sha->addfile(*F); - $sha->addfile($filename); - - $sha->add_bits($bits); - $sha->add_bits($data, $nbits); - - $sha_copy = $sha->clone; # if needed, make copy of - $sha->dump($file); # current digest state, - $sha->load($file); # or save it on disk - - $digest = $sha->digest; # compute digest - $digest = $sha->hexdigest; - $digest = $sha->b64digest; - -From the command line: - - $ shasum files - - $ shasum --help - -=head1 SYNOPSIS (HMAC-SHA) - - # Functional interface only - - use Digest::SHA qw(hmac_sha1 hmac_sha1_hex ...); - - $digest = hmac_sha1($data, $key); - $digest = hmac_sha224_hex($data, $key); - $digest = hmac_sha256_base64($data, $key); - -=head1 ABSTRACT - -Digest::SHA is a complete implementation of the NIST Secure Hash -Standard. It gives Perl programmers a convenient way to calculate -SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 message digests. -The module can handle all types of input, including partial-byte -data. - -=head1 DESCRIPTION - -Digest::SHA is written in C for speed. If your platform lacks a -C compiler, you can install the functionally equivalent (but much -slower) L<Digest::SHA::PurePerl> module. - -The programming interface is easy to use: it's the same one found -in CPAN's L<Digest> module. So, if your applications currently -use L<Digest::MD5> and you'd prefer the stronger security of SHA, -it's a simple matter to convert them. - -The interface provides two ways to calculate digests: all-at-once, -or in stages. To illustrate, the following short program computes -the SHA-256 digest of "hello world" using each approach: - - use Digest::SHA qw(sha256_hex); - - $data = "hello world"; - @frags = split(//, $data); - - # all-at-once (Functional style) - $digest1 = sha256_hex($data); - - # in-stages (OOP style) - $state = Digest::SHA->new(256); - for (@frags) { $state->add($_) } - $digest2 = $state->hexdigest; - - print $digest1 eq $digest2 ? - "whew!\n" : "oops!\n"; - -To calculate the digest of an n-bit message where I<n> is not a -multiple of 8, use the I<add_bits()> method. For example, consider -the 446-bit message consisting of the bit-string "110" repeated -148 times, followed by "11". Here's how to display its SHA-1 -digest: - - use Digest::SHA; - $bits = "110" x 148 . "11"; - $sha = Digest::SHA->new(1)->add_bits($bits); - print $sha->hexdigest, "\n"; - -Note that for larger bit-strings, it's more efficient to use the -two-argument version I<add_bits($data, $nbits)>, where I<$data> is -in the customary packed binary format used for Perl strings. - -The module also lets you save intermediate SHA states to disk, or -display them on standard output. The I<dump()> method generates -portable, human-readable text describing the current state of -computation. You can subsequently retrieve the file with I<load()> -to resume where the calculation left off. - -To see what a state description looks like, just run the following: - - use Digest::SHA; - Digest::SHA->new->add("Shaw" x 1962)->dump; - -As an added convenience, the Digest::SHA module offers routines to -calculate keyed hashes using the HMAC-SHA-1/224/256/384/512 -algorithms. These services exist in functional form only, and -mimic the style and behavior of the I<sha()>, I<sha_hex()>, and -I<sha_base64()> functions. - - # Test vector from draft-ietf-ipsec-ciph-sha-256-01.txt - - use Digest::SHA qw(hmac_sha256_hex); - print hmac_sha256_hex("Hi There", chr(0x0b) x 32), "\n"; - -=head1 NIST STATEMENT ON SHA-1 - -I<NIST was recently informed that researchers had discovered a way -to "break" the current Federal Information Processing Standard SHA-1 -algorithm, which has been in effect since 1994. The researchers -have not yet published their complete results, so NIST has not -confirmed these findings. However, the researchers are a reputable -research team with expertise in this area.> - -I<Due to advances in computing power, NIST already planned to phase -out SHA-1 in favor of the larger and stronger hash functions (SHA-224, -SHA-256, SHA-384 and SHA-512) by 2010. New developments should use -the larger and stronger hash functions.> - -ref. L<http://www.csrc.nist.gov/pki/HashWorkshop/NIST%20Statement/Burr_Mar2005.html> - -=head1 PADDING OF BASE64 DIGESTS - -By convention, CPAN Digest modules do B<not> pad their Base64 output. -Problems can occur when feeding such digests to other software that -expects properly padded Base64 encodings. - -For the time being, any necessary padding must be done by the user. -Fortunately, this is a simple operation: if the length of a Base64-encoded -digest isn't a multiple of 4, simply append "=" characters to the end -of the digest until it is: - - while (length($b64_digest) % 4) { - $b64_digest .= '='; - } - -To illustrate, I<sha256_base64("abc")> is computed to be - - ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0 - -which has a length of 43. So, the properly padded version is - - ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= - -=head1 EXPORT - -None by default. - -=head1 EXPORTABLE FUNCTIONS - -Provided your C compiler supports a 64-bit type (e.g. the I<long -long> of C99, or I<__int64> used by Microsoft C/C++), all of these -functions will be available for use. Otherwise, you won't be able -to perform the SHA-384 and SHA-512 transforms, both of which require -64-bit operations. - -I<Functional style> - -=over 4 - -=item B<sha1($data, ...)> - -=item B<sha224($data, ...)> - -=item B<sha256($data, ...)> - -=item B<sha384($data, ...)> - -=item B<sha512($data, ...)> - -Logically joins the arguments into a single string, and returns -its SHA-1/224/256/384/512 digest encoded as a binary string. - -=item B<sha1_hex($data, ...)> - -=item B<sha224_hex($data, ...)> - -=item B<sha256_hex($data, ...)> - -=item B<sha384_hex($data, ...)> - -=item B<sha512_hex($data, ...)> - -Logically joins the arguments into a single string, and returns -its SHA-1/224/256/384/512 digest encoded as a hexadecimal string. - -=item B<sha1_base64($data, ...)> - -=item B<sha224_base64($data, ...)> - -=item B<sha256_base64($data, ...)> - -=item B<sha384_base64($data, ...)> - -=item B<sha512_base64($data, ...)> - -Logically joins the arguments into a single string, and returns -its SHA-1/224/256/384/512 digest encoded as a Base64 string. - -It's important to note that the resulting string does B<not> contain -the padding characters typical of Base64 encodings. This omission is -deliberate, and is done to maintain compatibility with the family of -CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details. - -=back - -I<OOP style> - -=over 4 - -=item B<new($alg)> - -Returns a new Digest::SHA object. Allowed values for I<$alg> are -1, 224, 256, 384, or 512. It's also possible to use common string -representations of the algorithm (e.g. "sha256", "SHA-384"). If -the argument is missing, SHA-1 will be used by default. - -Invoking I<new> as an instance method will not create a new object; -instead, it will simply reset the object to the initial state -associated with I<$alg>. If the argument is missing, the object -will continue using the same algorithm that was selected at creation. - -=item B<reset($alg)> - -This method has exactly the same effect as I<new($alg)>. In fact, -I<reset> is just an alias for I<new>. - -=item B<hashsize> - -Returns the number of digest bits for this object. The values are -160, 224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384, -and SHA-512, respectively. - -=item B<algorithm> - -Returns the digest algorithm for this object. The values are 1, -224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384, and -SHA-512, respectively. - -=item B<clone> - -Returns a duplicate copy of the object. - -=item B<add($data, ...)> - -Logically joins the arguments into a single string, and uses it to -update the current digest state. In other words, the following -statements have the same effect: - - $sha->add("a"); $sha->add("b"); $sha->add("c"); - $sha->add("a")->add("b")->add("c"); - $sha->add("a", "b", "c"); - $sha->add("abc"); - -The return value is the updated object itself. - -=item B<add_bits($data, $nbits)> - -=item B<add_bits($bits)> - -Updates the current digest state by appending bits to it. The -return value is the updated object itself. - -The first form causes the most-significant I<$nbits> of I<$data> -to be appended to the stream. The I<$data> argument is in the -customary binary format used for Perl strings. - -The second form takes an ASCII string of "0" and "1" characters as -its argument. It's equivalent to - - $sha->add_bits(pack("B*", $bits), length($bits)); - -So, the following two statements do the same thing: - - $sha->add_bits("111100001010"); - $sha->add_bits("\xF0\xA0", 12); - -=item B<addfile(*FILE)> - -Reads from I<FILE> until EOF, and appends that data to the current -state. The return value is the updated object itself. - -=item B<addfile($filename [, $mode])> - -Reads the contents of I<$filename>, and appends that data to the current -state. The return value is the updated object itself. - -By default, I<$filename> is simply opened and read; no special modes -or I/O disciplines are used. To change this, set the optional I<$mode> -argument to one of the following values: - - "b" read file in binary mode - - "p" use portable mode - -The "p" mode is handy since it ensures that the digest value of -I<$filename> will be the same when computed on different operating -systems. It accomplishes this by internally translating all newlines in -text files to UNIX format before calculating the digest. Binary files -are read in raw mode with no translation whatsoever. - -For a fuller discussion of newline formats, refer to CPAN module -L<File::LocalizeNewlines>. Its "universal line separator" regex forms -the basis of I<addfile>'s portable mode processing. - -=item B<dump($filename)> - -Provides persistent storage of intermediate SHA states by writing -a portable, human-readable representation of the current state to -I<$filename>. If the argument is missing, or equal to the empty -string, the state information will be written to STDOUT. - -=item B<load($filename)> - -Returns a Digest::SHA object representing the intermediate SHA -state that was previously dumped to I<$filename>. If called as a -class method, a new object is created; if called as an instance -method, the object is reset to the state contained in I<$filename>. -If the argument is missing, or equal to the empty string, the state -information will be read from STDIN. - -=item B<digest> - -Returns the digest encoded as a binary string. - -Note that the I<digest> method is a read-once operation. Once it -has been performed, the Digest::SHA object is automatically reset -in preparation for calculating another digest value. Call -I<$sha-E<gt>clone-E<gt>digest> if it's necessary to preserve the -original digest state. - -=item B<hexdigest> - -Returns the digest encoded as a hexadecimal string. - -Like I<digest>, this method is a read-once operation. Call -I<$sha-E<gt>clone-E<gt>hexdigest> if it's necessary to preserve -the original digest state. - -This method is inherited if L<Digest::base> is installed on your -system. Otherwise, a functionally equivalent substitute is used. - -=item B<b64digest> - -Returns the digest encoded as a Base64 string. - -Like I<digest>, this method is a read-once operation. Call -I<$sha-E<gt>clone-E<gt>b64digest> if it's necessary to preserve -the original digest state. - -This method is inherited if L<Digest::base> is installed on your -system. Otherwise, a functionally equivalent substitute is used. - -It's important to note that the resulting string does B<not> contain -the padding characters typical of Base64 encodings. This omission is -deliberate, and is done to maintain compatibility with the family of -CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details. - -=back - -I<HMAC-SHA-1/224/256/384/512> - -=over 4 - -=item B<hmac_sha1($data, $key)> - -=item B<hmac_sha224($data, $key)> - -=item B<hmac_sha256($data, $key)> - -=item B<hmac_sha384($data, $key)> - -=item B<hmac_sha512($data, $key)> - -Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, -with the result encoded as a binary string. Multiple I<$data> -arguments are allowed, provided that I<$key> is the last argument -in the list. - -=item B<hmac_sha1_hex($data, $key)> - -=item B<hmac_sha224_hex($data, $key)> - -=item B<hmac_sha256_hex($data, $key)> - -=item B<hmac_sha384_hex($data, $key)> - -=item B<hmac_sha512_hex($data, $key)> - -Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, -with the result encoded as a hexadecimal string. Multiple I<$data> -arguments are allowed, provided that I<$key> is the last argument -in the list. - -=item B<hmac_sha1_base64($data, $key)> - -=item B<hmac_sha224_base64($data, $key)> - -=item B<hmac_sha256_base64($data, $key)> - -=item B<hmac_sha384_base64($data, $key)> - -=item B<hmac_sha512_base64($data, $key)> - -Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, -with the result encoded as a Base64 string. Multiple I<$data> -arguments are allowed, provided that I<$key> is the last argument -in the list. - -It's important to note that the resulting string does B<not> contain -the padding characters typical of Base64 encodings. This omission is -deliberate, and is done to maintain compatibility with the family of -CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details. - -=back - -=head1 SEE ALSO - -L<Digest>, L<Digest::SHA::PurePerl> - -The Secure Hash Standard (FIPS PUB 180-2) can be found at: - -L<http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf> - -The Keyed-Hash Message Authentication Code (HMAC): - -L<http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf> - -=head1 AUTHOR - - Mark Shelor <mshelor@cpan.org> - -=head1 ACKNOWLEDGMENTS - -The author is particularly grateful to - - Gisle Aas - Chris Carey - Alexandr Ciornii - Jim Doble - Julius Duque - Jeffrey Friedl - Robert Gilmour - Brian Gladman - Adam Kennedy - Andy Lester - Alex Muntada - Steve Peters - Chris Skiscim - Martin Thurn - Gunnar Wolf - Adam Woodbury - -for their valuable comments and suggestions. - -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2003-2008 Mark Shelor - -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -L<perlartistic> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm deleted file mode 100644 index 53d4a5a22b2..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm +++ /dev/null @@ -1,336 +0,0 @@ -package File::Spec; - -use strict; -use vars qw(@ISA $VERSION); - -$VERSION = '3.2701'; -$VERSION = eval $VERSION; - -my %module = (MacOS => 'Mac', - MSWin32 => 'Win32', - os2 => 'OS2', - VMS => 'VMS', - epoc => 'Epoc', - NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare. - symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian. - dos => 'OS2', # Yes, File::Spec::OS2 works on DJGPP. - cygwin => 'Cygwin'); - - -my $module = $module{$^O} || 'Unix'; - -require "File/Spec/$module.pm"; -@ISA = ("File::Spec::$module"); - -1; - -__END__ - -=head1 NAME - -File::Spec - portably perform operations on file names - -=head1 SYNOPSIS - - use File::Spec; - - $x=File::Spec->catfile('a', 'b', 'c'); - -which returns 'a/b/c' under Unix. Or: - - use File::Spec::Functions; - - $x = catfile('a', 'b', 'c'); - -=head1 DESCRIPTION - -This module is designed to support operations commonly performed on file -specifications (usually called "file names", but not to be confused with the -contents of a file, or Perl's file handles), such as concatenating several -directory and file names into a single path, or determining whether a path -is rooted. It is based on code directly taken from MakeMaker 5.17, code -written by Andreas KE<ouml>nig, Andy Dougherty, Charles Bailey, Ilya -Zakharevich, Paul Schinder, and others. - -Since these functions are different for most operating systems, each set of -OS specific routines is available in a separate module, including: - - File::Spec::Unix - File::Spec::Mac - File::Spec::OS2 - File::Spec::Win32 - File::Spec::VMS - -The module appropriate for the current OS is automatically loaded by -File::Spec. Since some modules (like VMS) make use of facilities available -only under that OS, it may not be possible to load all modules under all -operating systems. - -Since File::Spec is object oriented, subroutines should not be called directly, -as in: - - File::Spec::catfile('a','b'); - -but rather as class methods: - - File::Spec->catfile('a','b'); - -For simple uses, L<File::Spec::Functions> provides convenient functional -forms of these methods. - -=head1 METHODS - -=over 2 - -=item canonpath -X<canonpath> - -No physical check on the filesystem, but a logical cleanup of a -path. - - $cpath = File::Spec->canonpath( $path ) ; - -Note that this does *not* collapse F<x/../y> sections into F<y>. This -is by design. If F</foo> on your system is a symlink to F</bar/baz>, -then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive -F<../>-removal would give you. If you want to do this kind of -processing, you probably want C<Cwd>'s C<realpath()> function to -actually traverse the filesystem cleaning up paths like this. - -=item catdir -X<catdir> - -Concatenate two or more directory names to form a complete path ending -with a directory. But remove the trailing slash from the resulting -string, because it doesn't look good, isn't necessary and confuses -OS/2. Of course, if this is the root directory, don't cut off the -trailing slash :-) - - $path = File::Spec->catdir( @directories ); - -=item catfile -X<catfile> - -Concatenate one or more directory names and a filename to form a -complete path ending with a filename - - $path = File::Spec->catfile( @directories, $filename ); - -=item curdir -X<curdir> - -Returns a string representation of the current directory. - - $curdir = File::Spec->curdir(); - -=item devnull -X<devnull> - -Returns a string representation of the null device. - - $devnull = File::Spec->devnull(); - -=item rootdir -X<rootdir> - -Returns a string representation of the root directory. - - $rootdir = File::Spec->rootdir(); - -=item tmpdir -X<tmpdir> - -Returns a string representation of the first writable directory from a -list of possible temporary directories. Returns the current directory -if no writable temporary directories are found. The list of directories -checked depends on the platform; e.g. File::Spec::Unix checks C<$ENV{TMPDIR}> -(unless taint is on) and F</tmp>. - - $tmpdir = File::Spec->tmpdir(); - -=item updir -X<updir> - -Returns a string representation of the parent directory. - - $updir = File::Spec->updir(); - -=item no_upwards - -Given a list of file names, strip out those that refer to a parent -directory. (Does not strip symlinks, only '.', '..', and equivalents.) - - @paths = File::Spec->no_upwards( @paths ); - -=item case_tolerant - -Returns a true or false value indicating, respectively, that alphabetic -case is not or is significant when comparing file specifications. - - $is_case_tolerant = File::Spec->case_tolerant(); - -=item file_name_is_absolute - -Takes as its argument a path, and returns true if it is an absolute path. - - $is_absolute = File::Spec->file_name_is_absolute( $path ); - -This does not consult the local filesystem on Unix, Win32, OS/2, or -Mac OS (Classic). It does consult the working environment for VMS -(see L<File::Spec::VMS/file_name_is_absolute>). - -=item path -X<path> - -Takes no argument. Returns the environment variable C<PATH> (or the local -platform's equivalent) as a list. - - @PATH = File::Spec->path(); - -=item join -X<join, path> - -join is the same as catfile. - -=item splitpath -X<splitpath> X<split, path> - -Splits a path in to volume, directory, and filename portions. On systems -with no concept of volume, returns '' for volume. - - ($volume,$directories,$file) = File::Spec->splitpath( $path ); - ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file ); - -For systems with no syntax differentiating filenames from directories, -assumes that the last file is a path unless C<$no_file> is true or a -trailing separator or F</.> or F</..> is present. On Unix, this means that C<$no_file> -true makes this return ( '', $path, '' ). - -The directory portion may or may not be returned with a trailing '/'. - -The results can be passed to L</catpath()> to get back a path equivalent to -(usually identical to) the original path. - -=item splitdir -X<splitdir> X<split, dir> - -The opposite of L</catdir()>. - - @dirs = File::Spec->splitdir( $directories ); - -C<$directories> must be only the directory portion of the path on systems -that have the concept of a volume or that have path syntax that differentiates -files from directories. - -Unlike just splitting the directories on the separator, empty -directory names (C<''>) can be returned, because these are significant -on some OSes. - -=item catpath() - -Takes volume, directory and file portions and returns an entire path. Under -Unix, C<$volume> is ignored, and directory and file are concatenated. A '/' is -inserted if need be. On other OSes, C<$volume> is significant. - - $full_path = File::Spec->catpath( $volume, $directory, $file ); - -=item abs2rel -X<abs2rel> X<absolute, path> X<relative, path> - -Takes a destination path and an optional base path returns a relative path -from the base path to the destination path: - - $rel_path = File::Spec->abs2rel( $path ) ; - $rel_path = File::Spec->abs2rel( $path, $base ) ; - -If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is -relative, then it is converted to absolute form using -L</rel2abs()>. This means that it is taken to be relative to -L<Cwd::cwd()|Cwd>. - -On systems with the concept of volume, if C<$path> and C<$base> appear to be -on two different volumes, we will not attempt to resolve the two -paths, and we will instead simply return C<$path>. Note that previous -versions of this module ignored the volume of C<$base>, which resulted in -garbage results part of the time. - -On systems that have a grammar that indicates filenames, this ignores the -C<$base> filename as well. Otherwise all path components are assumed to be -directories. - -If C<$path> is relative, it is converted to absolute form using L</rel2abs()>. -This means that it is taken to be relative to L<Cwd::cwd()|Cwd>. - -No checks against the filesystem are made. On VMS, there is -interaction with the working environment, as logicals and -macros are expanded. - -Based on code written by Shigio Yamaguchi. - -=item rel2abs() -X<rel2abs> X<absolute, path> X<relative, path> - -Converts a relative path to an absolute path. - - $abs_path = File::Spec->rel2abs( $path ) ; - $abs_path = File::Spec->rel2abs( $path, $base ) ; - -If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is relative, -then it is converted to absolute form using L</rel2abs()>. This means that it -is taken to be relative to L<Cwd::cwd()|Cwd>. - -On systems with the concept of volume, if C<$path> and C<$base> appear to be -on two different volumes, we will not attempt to resolve the two -paths, and we will instead simply return C<$path>. Note that previous -versions of this module ignored the volume of C<$base>, which resulted in -garbage results part of the time. - -On systems that have a grammar that indicates filenames, this ignores the -C<$base> filename as well. Otherwise all path components are assumed to be -directories. - -If C<$path> is absolute, it is cleaned up and returned using L</canonpath()>. - -No checks against the filesystem are made. On VMS, there is -interaction with the working environment, as logicals and -macros are expanded. - -Based on code written by Shigio Yamaguchi. - -=back - -For further information, please see L<File::Spec::Unix>, -L<File::Spec::Mac>, L<File::Spec::OS2>, L<File::Spec::Win32>, or -L<File::Spec::VMS>. - -=head1 SEE ALSO - -L<File::Spec::Unix>, L<File::Spec::Mac>, L<File::Spec::OS2>, -L<File::Spec::Win32>, L<File::Spec::VMS>, L<File::Spec::Functions>, -L<ExtUtils::MakeMaker> - -=head1 AUTHOR - -Currently maintained by Ken Williams C<< <KWILLIAMS@cpan.org> >>. - -The vast majority of the code was written by -Kenneth Albanowski C<< <kjahds@kjahds.com> >>, -Andy Dougherty C<< <doughera@lafayette.edu> >>, -Andreas KE<ouml>nig C<< <A.Koenig@franz.ww.TU-Berlin.DE> >>, -Tim Bunce C<< <Tim.Bunce@ig.co.uk> >>. -VMS support by Charles Bailey C<< <bailey@newman.upenn.edu> >>. -OS/2 support by Ilya Zakharevich C<< <ilya@math.ohio-state.edu> >>. -Mac support by Paul Schinder C<< <schinder@pobox.com> >>, and -Thomas Wegner C<< <wegner_thomas@yahoo.com> >>. -abs2rel() and rel2abs() written by Shigio Yamaguchi C<< <shigio@tamacom.com> >>, -modified by Barrie Slaymaker C<< <barries@slaysys.com> >>. -splitpath(), splitdir(), catpath() and catdir() by Barrie Slaymaker. - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm deleted file mode 100644 index 1b2c0459603..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm +++ /dev/null @@ -1,154 +0,0 @@ -package File::Spec::Cygwin; - -use strict; -use vars qw(@ISA $VERSION); -require File::Spec::Unix; - -$VERSION = '3.2701'; - -@ISA = qw(File::Spec::Unix); - -=head1 NAME - -File::Spec::Cygwin - methods for Cygwin file specs - -=head1 SYNOPSIS - - require File::Spec::Cygwin; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -This module is still in beta. Cygwin-knowledgeable folks are invited -to offer patches and suggestions. - -=cut - -=pod - -=over 4 - -=item canonpath - -Any C<\> (backslashes) are converted to C</> (forward slashes), -and then File::Spec::Unix canonpath() is called on the result. - -=cut - -sub canonpath { - my($self,$path) = @_; - return unless defined $path; - - $path =~ s|\\|/|g; - - # Handle network path names beginning with double slash - my $node = ''; - if ( $path =~ s@^(//[^/]+)(?:/|\z)@/@s ) { - $node = $1; - } - return $node . $self->SUPER::canonpath($path); -} - -sub catdir { - my $self = shift; - return unless @_; - - # Don't create something that looks like a //network/path - if ($_[0] and ($_[0] eq '/' or $_[0] eq '\\')) { - shift; - return $self->SUPER::catdir('', @_); - } - - $self->SUPER::catdir(@_); -} - -=pod - -=item file_name_is_absolute - -True is returned if the file name begins with C<drive_letter:>, -and if not, File::Spec::Unix file_name_is_absolute() is called. - -=cut - - -sub file_name_is_absolute { - my ($self,$file) = @_; - return 1 if $file =~ m{^([a-z]:)?[\\/]}is; # C:/test - return $self->SUPER::file_name_is_absolute($file); -} - -=item tmpdir (override) - -Returns a string representation of the first existing directory -from the following list: - - $ENV{TMPDIR} - /tmp - $ENV{'TMP'} - $ENV{'TEMP'} - C:/temp - -Since Perl 5.8.0, if running under taint mode, and if the environment -variables are tainted, they are not used. - -=cut - -my $tmpdir; -sub tmpdir { - return $tmpdir if defined $tmpdir; - $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp", $ENV{'TMP'}, $ENV{'TEMP'}, 'C:/temp' ); -} - -=item case_tolerant - -Override Unix. Cygwin case-tolerance depends on managed mount settings and -as with MsWin32 on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE, -indicating the case significance when comparing file specifications. -Default: 1 - -=cut - -sub case_tolerant () { - return 1 unless $^O eq 'cygwin' - and defined &Cygwin::mount_flags; - - my $drive = shift; - if (! $drive) { - my @flags = split(/,/, Cygwin::mount_flags('/cygwin')); - my $prefix = pop(@flags); - if (! $prefix || $prefix eq 'cygdrive') { - $drive = '/cygdrive/c'; - } elsif ($prefix eq '/') { - $drive = '/c'; - } else { - $drive = "$prefix/c"; - } - } - my $mntopts = Cygwin::mount_flags($drive); - if ($mntopts and ($mntopts =~ /,managed/)) { - return 0; - } - eval { require Win32API::File; } or return 1; - my $osFsType = "\0"x256; - my $osVolName = "\0"x256; - my $ouFsFlags = 0; - Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 ); - if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; } - else { return 1; } -} - -=back - -=head1 COPYRIGHT - -Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm deleted file mode 100644 index 1e0ad188bd2..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm +++ /dev/null @@ -1,78 +0,0 @@ -package File::Spec::Epoc; - -use strict; -use vars qw($VERSION @ISA); - -$VERSION = '3.2701'; - -require File::Spec::Unix; -@ISA = qw(File::Spec::Unix); - -=head1 NAME - -File::Spec::Epoc - methods for Epoc file specs - -=head1 SYNOPSIS - - require File::Spec::Epoc; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -See File::Spec::Unix for a documentation of the methods provided -there. This package overrides the implementation of these methods, not -the semantics. - -This package is still work in progress ;-) - -=cut - -sub case_tolerant { - return 1; -} - -=pod - -=over 4 - -=item canonpath() - -No physical check on the filesystem, but a logical cleanup of a -path. On UNIX eliminated successive slashes and successive "/.". - -=back - -=cut - -sub canonpath { - my ($self,$path) = @_; - return unless defined $path; - - $path =~ s|/+|/|g; # xx////xx -> xx/xx - $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx - $path =~ s|^(\./)+||s unless $path eq "./"; # ./xx -> xx - $path =~ s|^/(\.\./)+|/|s; # /../../xx -> xx - $path =~ s|/\Z(?!\n)|| unless $path eq "/"; # xx/ -> xx - return $path; -} - -=pod - -=head1 AUTHOR - -o.flebbe@gmx.de - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm deleted file mode 100644 index ab335e16a05..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm +++ /dev/null @@ -1,109 +0,0 @@ -package File::Spec::Functions; - -use File::Spec; -use strict; - -use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION); - -$VERSION = '3.2701'; - -require Exporter; - -@ISA = qw(Exporter); - -@EXPORT = qw( - canonpath - catdir - catfile - curdir - rootdir - updir - no_upwards - file_name_is_absolute - path -); - -@EXPORT_OK = qw( - devnull - tmpdir - splitpath - splitdir - catpath - abs2rel - rel2abs - case_tolerant -); - -%EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] ); - -foreach my $meth (@EXPORT, @EXPORT_OK) { - my $sub = File::Spec->can($meth); - no strict 'refs'; - *{$meth} = sub {&$sub('File::Spec', @_)}; -} - - -1; -__END__ - -=head1 NAME - -File::Spec::Functions - portably perform operations on file names - -=head1 SYNOPSIS - - use File::Spec::Functions; - $x = catfile('a','b'); - -=head1 DESCRIPTION - -This module exports convenience functions for all of the class methods -provided by File::Spec. - -For a reference of available functions, please consult L<File::Spec::Unix>, -which contains the entire set, and which is inherited by the modules for -other platforms. For further information, please see L<File::Spec::Mac>, -L<File::Spec::OS2>, L<File::Spec::Win32>, or L<File::Spec::VMS>. - -=head2 Exports - -The following functions are exported by default. - - canonpath - catdir - catfile - curdir - rootdir - updir - no_upwards - file_name_is_absolute - path - - -The following functions are exported only by request. - - devnull - tmpdir - splitpath - splitdir - catpath - abs2rel - rel2abs - case_tolerant - -All the functions may be imported using the C<:ALL> tag. - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -File::Spec, File::Spec::Unix, File::Spec::Mac, File::Spec::OS2, -File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm deleted file mode 100644 index 97fa6766263..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm +++ /dev/null @@ -1,780 +0,0 @@ -package File::Spec::Mac; - -use strict; -use vars qw(@ISA $VERSION); -require File::Spec::Unix; - -$VERSION = '3.2701'; - -@ISA = qw(File::Spec::Unix); - -my $macfiles; -if ($^O eq 'MacOS') { - $macfiles = eval { require Mac::Files }; -} - -sub case_tolerant { 1 } - - -=head1 NAME - -File::Spec::Mac - File::Spec for Mac OS (Classic) - -=head1 SYNOPSIS - - require File::Spec::Mac; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -Methods for manipulating file specifications. - -=head1 METHODS - -=over 2 - -=item canonpath - -On Mac OS, there's nothing to be done. Returns what it's given. - -=cut - -sub canonpath { - my ($self,$path) = @_; - return $path; -} - -=item catdir() - -Concatenate two or more directory names to form a path separated by colons -(":") ending with a directory. Resulting paths are B<relative> by default, -but can be forced to be absolute (but avoid this, see below). Automatically -puts a trailing ":" on the end of the complete path, because that's what's -done in MacPerl's environment and helps to distinguish a file path from a -directory path. - -B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the resulting -path is relative by default and I<not> absolute. This decision was made due -to portability reasons. Since C<File::Spec-E<gt>catdir()> returns relative paths -on all other operating systems, it will now also follow this convention on Mac -OS. Note that this may break some existing scripts. - -The intended purpose of this routine is to concatenate I<directory names>. -But because of the nature of Macintosh paths, some additional possibilities -are allowed to make using this routine give reasonable results for some -common situations. In other words, you are also allowed to concatenate -I<paths> instead of directory names (strictly speaking, a string like ":a" -is a path, but not a name, since it contains a punctuation character ":"). - -So, beside calls like - - catdir("a") = ":a:" - catdir("a","b") = ":a:b:" - catdir() = "" (special case) - -calls like the following - - catdir(":a:") = ":a:" - catdir(":a","b") = ":a:b:" - catdir(":a:","b") = ":a:b:" - catdir(":a:",":b:") = ":a:b:" - catdir(":") = ":" - -are allowed. - -Here are the rules that are used in C<catdir()>; note that we try to be as -compatible as possible to Unix: - -=over 2 - -=item 1. - -The resulting path is relative by default, i.e. the resulting path will have a -leading colon. - -=item 2. - -A trailing colon is added automatically to the resulting path, to denote a -directory. - -=item 3. - -Generally, each argument has one leading ":" and one trailing ":" -removed (if any). They are then joined together by a ":". Special -treatment applies for arguments denoting updir paths like "::lib:", -see (4), or arguments consisting solely of colons ("colon paths"), -see (5). - -=item 4. - -When an updir path like ":::lib::" is passed as argument, the number -of directories to climb up is handled correctly, not removing leading -or trailing colons when necessary. E.g. - - catdir(":::a","::b","c") = ":::a::b:c:" - catdir(":::a::","::b","c") = ":::a:::b:c:" - -=item 5. - -Adding a colon ":" or empty string "" to a path at I<any> position -doesn't alter the path, i.e. these arguments are ignored. (When a "" -is passed as the first argument, it has a special meaning, see -(6)). This way, a colon ":" is handled like a "." (curdir) on Unix, -while an empty string "" is generally ignored (see -C<Unix-E<gt>canonpath()> ). Likewise, a "::" is handled like a ".." -(updir), and a ":::" is handled like a "../.." etc. E.g. - - catdir("a",":",":","b") = ":a:b:" - catdir("a",":","::",":b") = ":a::b:" - -=item 6. - -If the first argument is an empty string "" or is a volume name, i.e. matches -the pattern /^[^:]+:/, the resulting path is B<absolute>. - -=item 7. - -Passing an empty string "" as the first argument to C<catdir()> is -like passingC<File::Spec-E<gt>rootdir()> as the first argument, i.e. - - catdir("","a","b") is the same as - - catdir(rootdir(),"a","b"). - -This is true on Unix, where C<catdir("","a","b")> yields "/a/b" and -C<rootdir()> is "/". Note that C<rootdir()> on Mac OS is the startup -volume, which is the closest in concept to Unix' "/". This should help -to run existing scripts originally written for Unix. - -=item 8. - -For absolute paths, some cleanup is done, to ensure that the volume -name isn't immediately followed by updirs. This is invalid, because -this would go beyond "root". Generally, these cases are handled like -their Unix counterparts: - - Unix: - Unix->catdir("","") = "/" - Unix->catdir("",".") = "/" - Unix->catdir("","..") = "/" # can't go beyond root - Unix->catdir("",".","..","..","a") = "/a" - Mac: - Mac->catdir("","") = rootdir() # (e.g. "HD:") - Mac->catdir("",":") = rootdir() - Mac->catdir("","::") = rootdir() # can't go beyond root - Mac->catdir("",":","::","::","a") = rootdir() . "a:" # (e.g. "HD:a:") - -However, this approach is limited to the first arguments following -"root" (again, see C<Unix-E<gt>canonpath()> ). If there are more -arguments that move up the directory tree, an invalid path going -beyond root can be created. - -=back - -As you've seen, you can force C<catdir()> to create an absolute path -by passing either an empty string or a path that begins with a volume -name as the first argument. However, you are strongly encouraged not -to do so, since this is done only for backward compatibility. Newer -versions of File::Spec come with a method called C<catpath()> (see -below), that is designed to offer a portable solution for the creation -of absolute paths. It takes volume, directory and file portions and -returns an entire path. While C<catdir()> is still suitable for the -concatenation of I<directory names>, you are encouraged to use -C<catpath()> to concatenate I<volume names> and I<directory -paths>. E.g. - - $dir = File::Spec->catdir("tmp","sources"); - $abs_path = File::Spec->catpath("MacintoshHD:", $dir,""); - -yields - - "MacintoshHD:tmp:sources:" . - -=cut - -sub catdir { - my $self = shift; - return '' unless @_; - my @args = @_; - my $first_arg; - my $relative; - - # take care of the first argument - - if ($args[0] eq '') { # absolute path, rootdir - shift @args; - $relative = 0; - $first_arg = $self->rootdir; - - } elsif ($args[0] =~ /^[^:]+:/) { # absolute path, volume name - $relative = 0; - $first_arg = shift @args; - # add a trailing ':' if need be (may be it's a path like HD:dir) - $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/); - - } else { # relative path - $relative = 1; - if ( $args[0] =~ /^::+\Z(?!\n)/ ) { - # updir colon path ('::', ':::' etc.), don't shift - $first_arg = ':'; - } elsif ($args[0] eq ':') { - $first_arg = shift @args; - } else { - # add a trailing ':' if need be - $first_arg = shift @args; - $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/); - } - } - - # For all other arguments, - # (a) ignore arguments that equal ':' or '', - # (b) handle updir paths specially: - # '::' -> concatenate '::' - # '::' . '::' -> concatenate ':::' etc. - # (c) add a trailing ':' if need be - - my $result = $first_arg; - while (@args) { - my $arg = shift @args; - unless (($arg eq '') || ($arg eq ':')) { - if ($arg =~ /^::+\Z(?!\n)/ ) { # updir colon path like ':::' - my $updir_count = length($arg) - 1; - while ((@args) && ($args[0] =~ /^::+\Z(?!\n)/) ) { # while updir colon path - $arg = shift @args; - $updir_count += (length($arg) - 1); - } - $arg = (':' x $updir_count); - } else { - $arg =~ s/^://s; # remove a leading ':' if any - $arg = "$arg:" unless ($arg =~ /:\Z(?!\n)/); # ensure trailing ':' - } - $result .= $arg; - }#unless - } - - if ( ($relative) && ($result !~ /^:/) ) { - # add a leading colon if need be - $result = ":$result"; - } - - unless ($relative) { - # remove updirs immediately following the volume name - $result =~ s/([^:]+:)(:*)(.*)\Z(?!\n)/$1$3/; - } - - return $result; -} - -=item catfile - -Concatenate one or more directory names and a filename to form a -complete path ending with a filename. Resulting paths are B<relative> -by default, but can be forced to be absolute (but avoid this). - -B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the -resulting path is relative by default and I<not> absolute. This -decision was made due to portability reasons. Since -C<File::Spec-E<gt>catfile()> returns relative paths on all other -operating systems, it will now also follow this convention on Mac OS. -Note that this may break some existing scripts. - -The last argument is always considered to be the file portion. Since -C<catfile()> uses C<catdir()> (see above) for the concatenation of the -directory portions (if any), the following with regard to relative and -absolute paths is true: - - catfile("") = "" - catfile("file") = "file" - -but - - catfile("","") = rootdir() # (e.g. "HD:") - catfile("","file") = rootdir() . file # (e.g. "HD:file") - catfile("HD:","file") = "HD:file" - -This means that C<catdir()> is called only when there are two or more -arguments, as one might expect. - -Note that the leading ":" is removed from the filename, so that - - catfile("a","b","file") = ":a:b:file" and - - catfile("a","b",":file") = ":a:b:file" - -give the same answer. - -To concatenate I<volume names>, I<directory paths> and I<filenames>, -you are encouraged to use C<catpath()> (see below). - -=cut - -sub catfile { - my $self = shift; - return '' unless @_; - my $file = pop @_; - return $file unless @_; - my $dir = $self->catdir(@_); - $file =~ s/^://s; - return $dir.$file; -} - -=item curdir - -Returns a string representing the current directory. On Mac OS, this is ":". - -=cut - -sub curdir { - return ":"; -} - -=item devnull - -Returns a string representing the null device. On Mac OS, this is "Dev:Null". - -=cut - -sub devnull { - return "Dev:Null"; -} - -=item rootdir - -Returns a string representing the root directory. Under MacPerl, -returns the name of the startup volume, since that's the closest in -concept, although other volumes aren't rooted there. The name has a -trailing ":", because that's the correct specification for a volume -name on Mac OS. - -If Mac::Files could not be loaded, the empty string is returned. - -=cut - -sub rootdir { -# -# There's no real root directory on Mac OS. The name of the startup -# volume is returned, since that's the closest in concept. -# - return '' unless $macfiles; - my $system = Mac::Files::FindFolder(&Mac::Files::kOnSystemDisk, - &Mac::Files::kSystemFolderType); - $system =~ s/:.*\Z(?!\n)/:/s; - return $system; -} - -=item tmpdir - -Returns the contents of $ENV{TMPDIR}, if that directory exits or the -current working directory otherwise. Under MacPerl, $ENV{TMPDIR} will -contain a path like "MacintoshHD:Temporary Items:", which is a hidden -directory on your startup volume. - -=cut - -my $tmpdir; -sub tmpdir { - return $tmpdir if defined $tmpdir; - $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR} ); -} - -=item updir - -Returns a string representing the parent directory. On Mac OS, this is "::". - -=cut - -sub updir { - return "::"; -} - -=item file_name_is_absolute - -Takes as argument a path and returns true, if it is an absolute path. -If the path has a leading ":", it's a relative path. Otherwise, it's an -absolute path, unless the path doesn't contain any colons, i.e. it's a name -like "a". In this particular case, the path is considered to be relative -(i.e. it is considered to be a filename). Use ":" in the appropriate place -in the path if you want to distinguish unambiguously. As a special case, -the filename '' is always considered to be absolute. Note that with version -1.2 of File::Spec::Mac, this does no longer consult the local filesystem. - -E.g. - - File::Spec->file_name_is_absolute("a"); # false (relative) - File::Spec->file_name_is_absolute(":a:b:"); # false (relative) - File::Spec->file_name_is_absolute("MacintoshHD:"); # true (absolute) - File::Spec->file_name_is_absolute(""); # true (absolute) - - -=cut - -sub file_name_is_absolute { - my ($self,$file) = @_; - if ($file =~ /:/) { - return (! ($file =~ m/^:/s) ); - } elsif ( $file eq '' ) { - return 1 ; - } else { - return 0; # i.e. a file like "a" - } -} - -=item path - -Returns the null list for the MacPerl application, since the concept is -usually meaningless under Mac OS. But if you're using the MacPerl tool under -MPW, it gives back $ENV{Commands} suitably split, as is done in -:lib:ExtUtils:MM_Mac.pm. - -=cut - -sub path { -# -# The concept is meaningless under the MacPerl application. -# Under MPW, it has a meaning. -# - return unless exists $ENV{Commands}; - return split(/,/, $ENV{Commands}); -} - -=item splitpath - - ($volume,$directories,$file) = File::Spec->splitpath( $path ); - ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file ); - -Splits a path into volume, directory, and filename portions. - -On Mac OS, assumes that the last part of the path is a filename unless -$no_file is true or a trailing separator ":" is present. - -The volume portion is always returned with a trailing ":". The directory portion -is always returned with a leading (to denote a relative path) and a trailing ":" -(to denote a directory). The file portion is always returned I<without> a leading ":". -Empty portions are returned as empty string ''. - -The results can be passed to C<catpath()> to get back a path equivalent to -(usually identical to) the original path. - - -=cut - -sub splitpath { - my ($self,$path, $nofile) = @_; - my ($volume,$directory,$file); - - if ( $nofile ) { - ( $volume, $directory ) = $path =~ m|^((?:[^:]+:)?)(.*)|s; - } - else { - $path =~ - m|^( (?: [^:]+: )? ) - ( (?: .*: )? ) - ( .* ) - |xs; - $volume = $1; - $directory = $2; - $file = $3; - } - - $volume = '' unless defined($volume); - $directory = ":$directory" if ( $volume && $directory ); # take care of "HD::dir" - if ($directory) { - # Make sure non-empty directories begin and end in ':' - $directory .= ':' unless (substr($directory,-1) eq ':'); - $directory = ":$directory" unless (substr($directory,0,1) eq ':'); - } else { - $directory = ''; - } - $file = '' unless defined($file); - - return ($volume,$directory,$file); -} - - -=item splitdir - -The opposite of C<catdir()>. - - @dirs = File::Spec->splitdir( $directories ); - -$directories should be only the directory portion of the path on systems -that have the concept of a volume or that have path syntax that differentiates -files from directories. Consider using C<splitpath()> otherwise. - -Unlike just splitting the directories on the separator, empty directory names -(C<"">) can be returned. Since C<catdir()> on Mac OS always appends a trailing -colon to distinguish a directory path from a file path, a single trailing colon -will be ignored, i.e. there's no empty directory name after it. - -Hence, on Mac OS, both - - File::Spec->splitdir( ":a:b::c:" ); and - File::Spec->splitdir( ":a:b::c" ); - -yield: - - ( "a", "b", "::", "c") - -while - - File::Spec->splitdir( ":a:b::c::" ); - -yields: - - ( "a", "b", "::", "c", "::") - - -=cut - -sub splitdir { - my ($self, $path) = @_; - my @result = (); - my ($head, $sep, $tail, $volume, $directories); - - return @result if ( (!defined($path)) || ($path eq '') ); - return (':') if ($path eq ':'); - - ( $volume, $sep, $directories ) = $path =~ m|^((?:[^:]+:)?)(:*)(.*)|s; - - # deprecated, but handle it correctly - if ($volume) { - push (@result, $volume); - $sep .= ':'; - } - - while ($sep || $directories) { - if (length($sep) > 1) { - my $updir_count = length($sep) - 1; - for (my $i=0; $i<$updir_count; $i++) { - # push '::' updir_count times; - # simulate Unix '..' updirs - push (@result, '::'); - } - } - $sep = ''; - if ($directories) { - ( $head, $sep, $tail ) = $directories =~ m|^((?:[^:]+)?)(:*)(.*)|s; - push (@result, $head); - $directories = $tail; - } - } - return @result; -} - - -=item catpath - - $path = File::Spec->catpath($volume,$directory,$file); - -Takes volume, directory and file portions and returns an entire path. On Mac OS, -$volume, $directory and $file are concatenated. A ':' is inserted if need be. You -may pass an empty string for each portion. If all portions are empty, the empty -string is returned. If $volume is empty, the result will be a relative path, -beginning with a ':'. If $volume and $directory are empty, a leading ":" (if any) -is removed form $file and the remainder is returned. If $file is empty, the -resulting path will have a trailing ':'. - - -=cut - -sub catpath { - my ($self,$volume,$directory,$file) = @_; - - if ( (! $volume) && (! $directory) ) { - $file =~ s/^:// if $file; - return $file ; - } - - # We look for a volume in $volume, then in $directory, but not both - - my ($dir_volume, $dir_dirs) = $self->splitpath($directory, 1); - - $volume = $dir_volume unless length $volume; - my $path = $volume; # may be '' - $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':' - - if ($directory) { - $directory = $dir_dirs if $volume; - $directory =~ s/^://; # remove leading ':' if any - $path .= $directory; - $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':' - } - - if ($file) { - $file =~ s/^://; # remove leading ':' if any - $path .= $file; - } - - return $path; -} - -=item abs2rel - -Takes a destination path and an optional base path and returns a relative path -from the base path to the destination path: - - $rel_path = File::Spec->abs2rel( $path ) ; - $rel_path = File::Spec->abs2rel( $path, $base ) ; - -Note that both paths are assumed to have a notation that distinguishes a -directory path (with trailing ':') from a file path (without trailing ':'). - -If $base is not present or '', then the current working directory is used. -If $base is relative, then it is converted to absolute form using C<rel2abs()>. -This means that it is taken to be relative to the current working directory. - -If $path and $base appear to be on two different volumes, we will not -attempt to resolve the two paths, and we will instead simply return -$path. Note that previous versions of this module ignored the volume -of $base, which resulted in garbage results part of the time. - -If $base doesn't have a trailing colon, the last element of $base is -assumed to be a filename. This filename is ignored. Otherwise all path -components are assumed to be directories. - -If $path is relative, it is converted to absolute form using C<rel2abs()>. -This means that it is taken to be relative to the current working directory. - -Based on code written by Shigio Yamaguchi. - - -=cut - -# maybe this should be done in canonpath() ? -sub _resolve_updirs { - my $path = shift @_; - my $proceed; - - # resolve any updirs, e.g. "HD:tmp::file" -> "HD:file" - do { - $proceed = ($path =~ s/^(.*):[^:]+::(.*?)\z/$1:$2/); - } while ($proceed); - - return $path; -} - - -sub abs2rel { - my($self,$path,$base) = @_; - - # Clean up $path - if ( ! $self->file_name_is_absolute( $path ) ) { - $path = $self->rel2abs( $path ) ; - } - - # Figure out the effective $base and clean it up. - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd(); - } - elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - $base = _resolve_updirs( $base ); # resolve updirs in $base - } - else { - $base = _resolve_updirs( $base ); - } - - # Split up paths - ignore $base's file - my ( $path_vol, $path_dirs, $path_file ) = $self->splitpath( $path ); - my ( $base_vol, $base_dirs ) = $self->splitpath( $base ); - - return $path unless lc( $path_vol ) eq lc( $base_vol ); - - # Now, remove all leading components that are the same - my @pathchunks = $self->splitdir( $path_dirs ); - my @basechunks = $self->splitdir( $base_dirs ); - - while ( @pathchunks && - @basechunks && - lc( $pathchunks[0] ) eq lc( $basechunks[0] ) ) { - shift @pathchunks ; - shift @basechunks ; - } - - # @pathchunks now has the directories to descend in to. - # ensure relative path, even if @pathchunks is empty - $path_dirs = $self->catdir( ':', @pathchunks ); - - # @basechunks now contains the number of directories to climb out of. - $base_dirs = (':' x @basechunks) . ':' ; - - return $self->catpath( '', $self->catdir( $base_dirs, $path_dirs ), $path_file ) ; -} - -=item rel2abs - -Converts a relative path to an absolute path: - - $abs_path = File::Spec->rel2abs( $path ) ; - $abs_path = File::Spec->rel2abs( $path, $base ) ; - -Note that both paths are assumed to have a notation that distinguishes a -directory path (with trailing ':') from a file path (without trailing ':'). - -If $base is not present or '', then $base is set to the current working -directory. If $base is relative, then it is converted to absolute form -using C<rel2abs()>. This means that it is taken to be relative to the -current working directory. - -If $base doesn't have a trailing colon, the last element of $base is -assumed to be a filename. This filename is ignored. Otherwise all path -components are assumed to be directories. - -If $path is already absolute, it is returned and $base is ignored. - -Based on code written by Shigio Yamaguchi. - -=cut - -sub rel2abs { - my ($self,$path,$base) = @_; - - if ( ! $self->file_name_is_absolute($path) ) { - # Figure out the effective $base and clean it up. - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd(); - } - elsif ( ! $self->file_name_is_absolute($base) ) { - $base = $self->rel2abs($base) ; - } - - # Split up paths - - # igonore $path's volume - my ( $path_dirs, $path_file ) = ($self->splitpath($path))[1,2] ; - - # ignore $base's file part - my ( $base_vol, $base_dirs ) = $self->splitpath($base) ; - - # Glom them together - $path_dirs = ':' if ($path_dirs eq ''); - $base_dirs =~ s/:$//; # remove trailing ':', if any - $base_dirs = $base_dirs . $path_dirs; - - $path = $self->catpath( $base_vol, $base_dirs, $path_file ); - } - return $path; -} - - -=back - -=head1 AUTHORS - -See the authors list in I<File::Spec>. Mac OS support by Paul Schinder -<schinder@pobox.com> and Thomas Wegner <wegner_thomas@yahoo.com>. - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm deleted file mode 100644 index 48d09fa2f9c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm +++ /dev/null @@ -1,273 +0,0 @@ -package File::Spec::OS2; - -use strict; -use vars qw(@ISA $VERSION); -require File::Spec::Unix; - -$VERSION = '3.2701'; - -@ISA = qw(File::Spec::Unix); - -sub devnull { - return "/dev/nul"; -} - -sub case_tolerant { - return 1; -} - -sub file_name_is_absolute { - my ($self,$file) = @_; - return scalar($file =~ m{^([a-z]:)?[\\/]}is); -} - -sub path { - my $path = $ENV{PATH}; - $path =~ s:\\:/:g; - my @path = split(';',$path); - foreach (@path) { $_ = '.' if $_ eq '' } - return @path; -} - -sub _cwd { - # In OS/2 the "require Cwd" is unnecessary bloat. - return Cwd::sys_cwd(); -} - -my $tmpdir; -sub tmpdir { - return $tmpdir if defined $tmpdir; - my @d = @ENV{qw(TMPDIR TEMP TMP)}; # function call could autovivivy - $tmpdir = $_[0]->_tmpdir( @d, '/tmp', '/' ); -} - -sub catdir { - my $self = shift; - my @args = @_; - foreach (@args) { - tr[\\][/]; - # append a backslash to each argument unless it has one there - $_ .= "/" unless m{/$}; - } - return $self->canonpath(join('', @args)); -} - -sub canonpath { - my ($self,$path) = @_; - return unless defined $path; - - $path =~ s/^([a-z]:)/\l$1/s; - $path =~ s|\\|/|g; - $path =~ s|([^/])/+|$1/|g; # xx////xx -> xx/xx - $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx - $path =~ s|^(\./)+(?=[^/])||s; # ./xx -> xx - $path =~ s|/\Z(?!\n)|| - unless $path =~ m#^([a-z]:)?/\Z(?!\n)#si;# xx/ -> xx - $path =~ s{^/\.\.$}{/}; # /.. -> / - 1 while $path =~ s{^/\.\.}{}; # /../xx -> /xx - return $path; -} - - -sub splitpath { - my ($self,$path, $nofile) = @_; - my ($volume,$directory,$file) = ('','',''); - if ( $nofile ) { - $path =~ - m{^( (?:[a-zA-Z]:|(?:\\\\|//)[^\\/]+[\\/][^\\/]+)? ) - (.*) - }xs; - $volume = $1; - $directory = $2; - } - else { - $path =~ - m{^ ( (?: [a-zA-Z]: | - (?:\\\\|//)[^\\/]+[\\/][^\\/]+ - )? - ) - ( (?:.*[\\\\/](?:\.\.?\Z(?!\n))?)? ) - (.*) - }xs; - $volume = $1; - $directory = $2; - $file = $3; - } - - return ($volume,$directory,$file); -} - - -sub splitdir { - my ($self,$directories) = @_ ; - split m|[\\/]|, $directories, -1; -} - - -sub catpath { - my ($self,$volume,$directory,$file) = @_; - - # If it's UNC, make sure the glue separator is there, reusing - # whatever separator is first in the $volume - $volume .= $1 - if ( $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s && - $directory =~ m@^[^\\/]@s - ) ; - - $volume .= $directory ; - - # If the volume is not just A:, make sure the glue separator is - # there, reusing whatever separator is first in the $volume if possible. - if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s && - $volume =~ m@[^\\/]\Z(?!\n)@ && - $file =~ m@[^\\/]@ - ) { - $volume =~ m@([\\/])@ ; - my $sep = $1 ? $1 : '/' ; - $volume .= $sep ; - } - - $volume .= $file ; - - return $volume ; -} - - -sub abs2rel { - my($self,$path,$base) = @_; - - # Clean up $path - if ( ! $self->file_name_is_absolute( $path ) ) { - $path = $self->rel2abs( $path ) ; - } else { - $path = $self->canonpath( $path ) ; - } - - # Figure out the effective $base and clean it up. - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd(); - } elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - } else { - $base = $self->canonpath( $base ) ; - } - - # Split up paths - my ( $path_volume, $path_directories, $path_file ) = $self->splitpath( $path, 1 ) ; - my ( $base_volume, $base_directories ) = $self->splitpath( $base, 1 ) ; - return $path unless $path_volume eq $base_volume; - - # Now, remove all leading components that are the same - my @pathchunks = $self->splitdir( $path_directories ); - my @basechunks = $self->splitdir( $base_directories ); - - while ( @pathchunks && - @basechunks && - lc( $pathchunks[0] ) eq lc( $basechunks[0] ) - ) { - shift @pathchunks ; - shift @basechunks ; - } - - # No need to catdir, we know these are well formed. - $path_directories = CORE::join( '/', @pathchunks ); - $base_directories = CORE::join( '/', @basechunks ); - - # $base_directories now contains the directories the resulting relative - # path must ascend out of before it can descend to $path_directory. So, - # replace all names with $parentDir - - #FA Need to replace between backslashes... - $base_directories =~ s|[^\\/]+|..|g ; - - # Glue the two together, using a separator if necessary, and preventing an - # empty result. - - #FA Must check that new directories are not empty. - if ( $path_directories ne '' && $base_directories ne '' ) { - $path_directories = "$base_directories/$path_directories" ; - } else { - $path_directories = "$base_directories$path_directories" ; - } - - return $self->canonpath( - $self->catpath( "", $path_directories, $path_file ) - ) ; -} - - -sub rel2abs { - my ($self,$path,$base ) = @_; - - if ( ! $self->file_name_is_absolute( $path ) ) { - - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd(); - } - elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - } - else { - $base = $self->canonpath( $base ) ; - } - - my ( $path_directories, $path_file ) = - ($self->splitpath( $path, 1 ))[1,2] ; - - my ( $base_volume, $base_directories ) = - $self->splitpath( $base, 1 ) ; - - $path = $self->catpath( - $base_volume, - $self->catdir( $base_directories, $path_directories ), - $path_file - ) ; - } - - return $self->canonpath( $path ) ; -} - -1; -__END__ - -=head1 NAME - -File::Spec::OS2 - methods for OS/2 file specs - -=head1 SYNOPSIS - - require File::Spec::OS2; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -Amongst the changes made for OS/2 are... - -=over 4 - -=item tmpdir - -Modifies the list of places temp directory information is looked for. - - $ENV{TMPDIR} - $ENV{TEMP} - $ENV{TMP} - /tmp - / - -=item splitpath - -Volumes can be drive letters or UNC sharenames (\\server\share). - -=back - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm deleted file mode 100644 index e8dbaa93328..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm +++ /dev/null @@ -1,517 +0,0 @@ -package File::Spec::Unix; - -use strict; -use vars qw($VERSION); - -$VERSION = '3.2701'; - -=head1 NAME - -File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules - -=head1 SYNOPSIS - - require File::Spec::Unix; # Done automatically by File::Spec - -=head1 DESCRIPTION - -Methods for manipulating file specifications. Other File::Spec -modules, such as File::Spec::Mac, inherit from File::Spec::Unix and -override specific methods. - -=head1 METHODS - -=over 2 - -=item canonpath() - -No physical check on the filesystem, but a logical cleanup of a -path. On UNIX eliminates successive slashes and successive "/.". - - $cpath = File::Spec->canonpath( $path ) ; - -Note that this does *not* collapse F<x/../y> sections into F<y>. This -is by design. If F</foo> on your system is a symlink to F</bar/baz>, -then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive -F<../>-removal would give you. If you want to do this kind of -processing, you probably want C<Cwd>'s C<realpath()> function to -actually traverse the filesystem cleaning up paths like this. - -=cut - -sub canonpath { - my ($self,$path) = @_; - return unless defined $path; - - # Handle POSIX-style node names beginning with double slash (qnx, nto) - # (POSIX says: "a pathname that begins with two successive slashes - # may be interpreted in an implementation-defined manner, although - # more than two leading slashes shall be treated as a single slash.") - my $node = ''; - my $double_slashes_special = $^O eq 'qnx' || $^O eq 'nto'; - if ( $double_slashes_special && $path =~ s{^(//[^/]+)(?:/|\z)}{/}s ) { - $node = $1; - } - # This used to be - # $path =~ s|/+|/|g unless ($^O eq 'cygwin'); - # but that made tests 29, 30, 35, 46, and 213 (as of #13272) to fail - # (Mainly because trailing "" directories didn't get stripped). - # Why would cygwin avoid collapsing multiple slashes into one? --jhi - $path =~ s|/{2,}|/|g; # xx////xx -> xx/xx - $path =~ s{(?:/\.)+(?:/|\z)}{/}g; # xx/././xx -> xx/xx - $path =~ s|^(?:\./)+||s unless $path eq "./"; # ./xx -> xx - $path =~ s|^/(?:\.\./)+|/|; # /../../xx -> xx - $path =~ s|^/\.\.$|/|; # /.. -> / - $path =~ s|/\z|| unless $path eq "/"; # xx/ -> xx - return "$node$path"; -} - -=item catdir() - -Concatenate two or more directory names to form a complete path ending -with a directory. But remove the trailing slash from the resulting -string, because it doesn't look good, isn't necessary and confuses -OS2. Of course, if this is the root directory, don't cut off the -trailing slash :-) - -=cut - -sub catdir { - my $self = shift; - - $self->canonpath(join('/', @_, '')); # '' because need a trailing '/' -} - -=item catfile - -Concatenate one or more directory names and a filename to form a -complete path ending with a filename - -=cut - -sub catfile { - my $self = shift; - my $file = $self->canonpath(pop @_); - return $file unless @_; - my $dir = $self->catdir(@_); - $dir .= "/" unless substr($dir,-1) eq "/"; - return $dir.$file; -} - -=item curdir - -Returns a string representation of the current directory. "." on UNIX. - -=cut - -sub curdir () { '.' } - -=item devnull - -Returns a string representation of the null device. "/dev/null" on UNIX. - -=cut - -sub devnull () { '/dev/null' } - -=item rootdir - -Returns a string representation of the root directory. "/" on UNIX. - -=cut - -sub rootdir () { '/' } - -=item tmpdir - -Returns a string representation of the first writable directory from -the following list or the current directory if none from the list are -writable: - - $ENV{TMPDIR} - /tmp - -Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR} -is tainted, it is not used. - -=cut - -my $tmpdir; -sub _tmpdir { - return $tmpdir if defined $tmpdir; - my $self = shift; - my @dirlist = @_; - { - no strict 'refs'; - if (${"\cTAINT"}) { # Check for taint mode on perl >= 5.8.0 - require Scalar::Util; - @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist; - } - } - foreach (@dirlist) { - next unless defined && -d && -w _; - $tmpdir = $_; - last; - } - $tmpdir = $self->curdir unless defined $tmpdir; - $tmpdir = defined $tmpdir && $self->canonpath($tmpdir); - return $tmpdir; -} - -sub tmpdir { - return $tmpdir if defined $tmpdir; - $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp" ); -} - -=item updir - -Returns a string representation of the parent directory. ".." on UNIX. - -=cut - -sub updir () { '..' } - -=item no_upwards - -Given a list of file names, strip out those that refer to a parent -directory. (Does not strip symlinks, only '.', '..', and equivalents.) - -=cut - -sub no_upwards { - my $self = shift; - return grep(!/^\.{1,2}\z/s, @_); -} - -=item case_tolerant - -Returns a true or false value indicating, respectively, that alphabetic -is not or is significant when comparing file specifications. - -=cut - -sub case_tolerant () { 0 } - -=item file_name_is_absolute - -Takes as argument a path and returns true if it is an absolute path. - -This does not consult the local filesystem on Unix, Win32, OS/2 or Mac -OS (Classic). It does consult the working environment for VMS (see -L<File::Spec::VMS/file_name_is_absolute>). - -=cut - -sub file_name_is_absolute { - my ($self,$file) = @_; - return scalar($file =~ m:^/:s); -} - -=item path - -Takes no argument, returns the environment variable PATH as an array. - -=cut - -sub path { - return () unless exists $ENV{PATH}; - my @path = split(':', $ENV{PATH}); - foreach (@path) { $_ = '.' if $_ eq '' } - return @path; -} - -=item join - -join is the same as catfile. - -=cut - -sub join { - my $self = shift; - return $self->catfile(@_); -} - -=item splitpath - - ($volume,$directories,$file) = File::Spec->splitpath( $path ); - ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file ); - -Splits a path into volume, directory, and filename portions. On systems -with no concept of volume, returns '' for volume. - -For systems with no syntax differentiating filenames from directories, -assumes that the last file is a path unless $no_file is true or a -trailing separator or /. or /.. is present. On Unix this means that $no_file -true makes this return ( '', $path, '' ). - -The directory portion may or may not be returned with a trailing '/'. - -The results can be passed to L</catpath()> to get back a path equivalent to -(usually identical to) the original path. - -=cut - -sub splitpath { - my ($self,$path, $nofile) = @_; - - my ($volume,$directory,$file) = ('','',''); - - if ( $nofile ) { - $directory = $path; - } - else { - $path =~ m|^ ( (?: .* / (?: \.\.?\z )? )? ) ([^/]*) |xs; - $directory = $1; - $file = $2; - } - - return ($volume,$directory,$file); -} - - -=item splitdir - -The opposite of L</catdir()>. - - @dirs = File::Spec->splitdir( $directories ); - -$directories must be only the directory portion of the path on systems -that have the concept of a volume or that have path syntax that differentiates -files from directories. - -Unlike just splitting the directories on the separator, empty -directory names (C<''>) can be returned, because these are significant -on some OSs. - -On Unix, - - File::Spec->splitdir( "/a/b//c/" ); - -Yields: - - ( '', 'a', 'b', '', 'c', '' ) - -=cut - -sub splitdir { - return split m|/|, $_[1], -1; # Preserve trailing fields -} - - -=item catpath() - -Takes volume, directory and file portions and returns an entire path. Under -Unix, $volume is ignored, and directory and file are concatenated. A '/' is -inserted if needed (though if the directory portion doesn't start with -'/' it is not added). On other OSs, $volume is significant. - -=cut - -sub catpath { - my ($self,$volume,$directory,$file) = @_; - - if ( $directory ne '' && - $file ne '' && - substr( $directory, -1 ) ne '/' && - substr( $file, 0, 1 ) ne '/' - ) { - $directory .= "/$file" ; - } - else { - $directory .= $file ; - } - - return $directory ; -} - -=item abs2rel - -Takes a destination path and an optional base path returns a relative path -from the base path to the destination path: - - $rel_path = File::Spec->abs2rel( $path ) ; - $rel_path = File::Spec->abs2rel( $path, $base ) ; - -If $base is not present or '', then L<cwd()|Cwd> is used. If $base is -relative, then it is converted to absolute form using -L</rel2abs()>. This means that it is taken to be relative to -L<cwd()|Cwd>. - -On systems that have a grammar that indicates filenames, this ignores the -$base filename. Otherwise all path components are assumed to be -directories. - -If $path is relative, it is converted to absolute form using L</rel2abs()>. -This means that it is taken to be relative to L<cwd()|Cwd>. - -No checks against the filesystem are made. On VMS, there is -interaction with the working environment, as logicals and -macros are expanded. - -Based on code written by Shigio Yamaguchi. - -=cut - -sub abs2rel { - my($self,$path,$base) = @_; - $base = $self->_cwd() unless defined $base and length $base; - - ($path, $base) = map $self->canonpath($_), $path, $base; - - if (grep $self->file_name_is_absolute($_), $path, $base) { - ($path, $base) = map $self->rel2abs($_), $path, $base; - } - else { - # save a couple of cwd()s if both paths are relative - ($path, $base) = map $self->catdir('/', $_), $path, $base; - } - - my ($path_volume) = $self->splitpath($path, 1); - my ($base_volume) = $self->splitpath($base, 1); - - # Can't relativize across volumes - return $path unless $path_volume eq $base_volume; - - my $path_directories = ($self->splitpath($path, 1))[1]; - my $base_directories = ($self->splitpath($base, 1))[1]; - - # For UNC paths, the user might give a volume like //foo/bar that - # strictly speaking has no directory portion. Treat it as if it - # had the root directory for that volume. - if (!length($base_directories) and $self->file_name_is_absolute($base)) { - $base_directories = $self->rootdir; - } - - # Now, remove all leading components that are the same - my @pathchunks = $self->splitdir( $path_directories ); - my @basechunks = $self->splitdir( $base_directories ); - - if ($base_directories eq $self->rootdir) { - shift @pathchunks; - return $self->canonpath( $self->catpath('', $self->catdir( @pathchunks ), '') ); - } - - while (@pathchunks && @basechunks && $self->_same($pathchunks[0], $basechunks[0])) { - shift @pathchunks ; - shift @basechunks ; - } - return $self->curdir unless @pathchunks || @basechunks; - - # $base now contains the directories the resulting relative path - # must ascend out of before it can descend to $path_directory. - my $result_dirs = $self->catdir( ($self->updir) x @basechunks, @pathchunks ); - return $self->canonpath( $self->catpath('', $result_dirs, '') ); -} - -sub _same { - $_[1] eq $_[2]; -} - -=item rel2abs() - -Converts a relative path to an absolute path. - - $abs_path = File::Spec->rel2abs( $path ) ; - $abs_path = File::Spec->rel2abs( $path, $base ) ; - -If $base is not present or '', then L<cwd()|Cwd> is used. If $base is -relative, then it is converted to absolute form using -L</rel2abs()>. This means that it is taken to be relative to -L<cwd()|Cwd>. - -On systems that have a grammar that indicates filenames, this ignores -the $base filename. Otherwise all path components are assumed to be -directories. - -If $path is absolute, it is cleaned up and returned using L</canonpath()>. - -No checks against the filesystem are made. On VMS, there is -interaction with the working environment, as logicals and -macros are expanded. - -Based on code written by Shigio Yamaguchi. - -=cut - -sub rel2abs { - my ($self,$path,$base ) = @_; - - # Clean up $path - if ( ! $self->file_name_is_absolute( $path ) ) { - # Figure out the effective $base and clean it up. - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd(); - } - elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - } - else { - $base = $self->canonpath( $base ) ; - } - - # Glom them together - $path = $self->catdir( $base, $path ) ; - } - - return $self->canonpath( $path ) ; -} - -=back - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<File::Spec> - -=cut - -# Internal routine to File::Spec, no point in making this public since -# it is the standard Cwd interface. Most of the platform-specific -# File::Spec subclasses use this. -sub _cwd { - require Cwd; - Cwd::getcwd(); -} - - -# Internal method to reduce xx\..\yy -> yy -sub _collapse { - my($fs, $path) = @_; - - my $updir = $fs->updir; - my $curdir = $fs->curdir; - - my($vol, $dirs, $file) = $fs->splitpath($path); - my @dirs = $fs->splitdir($dirs); - pop @dirs if @dirs && $dirs[-1] eq ''; - - my @collapsed; - foreach my $dir (@dirs) { - if( $dir eq $updir and # if we have an updir - @collapsed and # and something to collapse - length $collapsed[-1] and # and its not the rootdir - $collapsed[-1] ne $updir and # nor another updir - $collapsed[-1] ne $curdir # nor the curdir - ) - { # then - pop @collapsed; # collapse - } - else { # else - push @collapsed, $dir; # just hang onto it - } - } - - return $fs->catpath($vol, - $fs->catdir(@collapsed), - $file - ); -} - - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm deleted file mode 100644 index 747a89d4fdb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm +++ /dev/null @@ -1,536 +0,0 @@ -package File::Spec::VMS; - -use strict; -use vars qw(@ISA $VERSION); -require File::Spec::Unix; - -$VERSION = '3.2701'; - -@ISA = qw(File::Spec::Unix); - -use File::Basename; -use VMS::Filespec; - -=head1 NAME - -File::Spec::VMS - methods for VMS file specs - -=head1 SYNOPSIS - - require File::Spec::VMS; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -See File::Spec::Unix for a documentation of the methods provided -there. This package overrides the implementation of these methods, not -the semantics. - -=over 4 - -=item canonpath (override) - -Removes redundant portions of file specifications according to VMS syntax. - -=cut - -sub canonpath { - my($self,$path) = @_; - - return undef unless defined $path; - - if ($path =~ m|/|) { # Fake Unix - my $pathify = $path =~ m|/\Z(?!\n)|; - $path = $self->SUPER::canonpath($path); - if ($pathify) { return vmspath($path); } - else { return vmsify($path); } - } - else { - $path =~ tr/<>/[]/; # < and > ==> [ and ] - $path =~ s/\]\[\./\.\]\[/g; # ][. ==> .][ - $path =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [ - $path =~ s/\[000000\./\[/g; # [000000. ==> [ - $path =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ] - $path =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar - 1 while ($path =~ s/([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/); - # That loop does the following - # with any amount of dashes: - # .-.-. ==> .--. - # [-.-. ==> [--. - # .-.-] ==> .--] - # [-.-] ==> [--] - 1 while ($path =~ s/([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/); - # That loop does the following - # with any amount (minimum 2) - # of dashes: - # .foo.--. ==> .-. - # .foo.--] ==> .-] - # [foo.--. ==> [-. - # [foo.--] ==> [-] - # - # And then, the remaining cases - $path =~ s/\[\.-/[-/; # [.- ==> [- - $path =~ s/\.[^\]\.]+\.-\./\./g; # .foo.-. ==> . - $path =~ s/\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [ - $path =~ s/\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ] - $path =~ s/\[[^\]\.]+\.-\]/\[000000\]/g;# [foo.-] ==> [000000] - $path =~ s/\[\]// unless $path eq '[]'; # [] ==> - return $path; - } -} - -=item catdir (override) - -Concatenates a list of file specifications, and returns the result as a -VMS-syntax directory specification. No check is made for "impossible" -cases (e.g. elements other than the first being absolute filespecs). - -=cut - -sub catdir { - my $self = shift; - my $dir = pop; - my @dirs = grep {defined() && length()} @_; - - my $rslt; - if (@dirs) { - my $path = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs)); - my ($spath,$sdir) = ($path,$dir); - $spath =~ s/\.dir\Z(?!\n)//; $sdir =~ s/\.dir\Z(?!\n)//; - $sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+\Z(?!\n)/s; - $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1); - - # Special case for VMS absolute directory specs: these will have had device - # prepended during trip through Unix syntax in eliminate_macros(), since - # Unix syntax has no way to express "absolute from the top of this device's - # directory tree". - if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; } - } - else { - if (not defined $dir or not length $dir) { $rslt = ''; } - elsif ($dir =~ /^\$\([^\)]+\)\Z(?!\n)/s) { $rslt = $dir; } - else { $rslt = vmspath($dir); } - } - return $self->canonpath($rslt); -} - -=item catfile (override) - -Concatenates a list of file specifications, and returns the result as a -VMS-syntax file specification. - -=cut - -sub catfile { - my $self = shift; - my $file = $self->canonpath(pop()); - my @files = grep {defined() && length()} @_; - - my $rslt; - if (@files) { - my $path = (@files == 1 ? $files[0] : $self->catdir(@files)); - my $spath = $path; - $spath =~ s/\.dir\Z(?!\n)//; - if ($spath =~ /^[^\)\]\/:>]+\)\Z(?!\n)/s && basename($file) eq $file) { - $rslt = "$spath$file"; - } - else { - $rslt = $self->eliminate_macros($spath); - $rslt = vmsify($rslt.((defined $rslt) && ($rslt ne '') ? '/' : '').unixify($file)); - } - } - else { $rslt = (defined($file) && length($file)) ? vmsify($file) : ''; } - return $self->canonpath($rslt); -} - - -=item curdir (override) - -Returns a string representation of the current directory: '[]' - -=cut - -sub curdir { - return '[]'; -} - -=item devnull (override) - -Returns a string representation of the null device: '_NLA0:' - -=cut - -sub devnull { - return "_NLA0:"; -} - -=item rootdir (override) - -Returns a string representation of the root directory: 'SYS$DISK:[000000]' - -=cut - -sub rootdir { - return 'SYS$DISK:[000000]'; -} - -=item tmpdir (override) - -Returns a string representation of the first writable directory -from the following list or '' if none are writable: - - sys$scratch: - $ENV{TMPDIR} - -Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR} -is tainted, it is not used. - -=cut - -my $tmpdir; -sub tmpdir { - return $tmpdir if defined $tmpdir; - $tmpdir = $_[0]->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} ); -} - -=item updir (override) - -Returns a string representation of the parent directory: '[-]' - -=cut - -sub updir { - return '[-]'; -} - -=item case_tolerant (override) - -VMS file specification syntax is case-tolerant. - -=cut - -sub case_tolerant { - return 1; -} - -=item path (override) - -Translate logical name DCL$PATH as a searchlist, rather than trying -to C<split> string value of C<$ENV{'PATH'}>. - -=cut - -sub path { - my (@dirs,$dir,$i); - while ($dir = $ENV{'DCL$PATH;' . $i++}) { push(@dirs,$dir); } - return @dirs; -} - -=item file_name_is_absolute (override) - -Checks for VMS directory spec as well as Unix separators. - -=cut - -sub file_name_is_absolute { - my ($self,$file) = @_; - # If it's a logical name, expand it. - $file = $ENV{$file} while $file =~ /^[\w\$\-]+\Z(?!\n)/s && $ENV{$file}; - return scalar($file =~ m!^/!s || - $file =~ m![<\[][^.\-\]>]! || - $file =~ /:[^<\[]/); -} - -=item splitpath (override) - -Splits using VMS syntax. - -=cut - -sub splitpath { - my($self,$path) = @_; - my($dev,$dir,$file) = ('','',''); - - vmsify($path) =~ /(.+:)?([\[<].*[\]>])?(.*)/s; - return ($1 || '',$2 || '',$3); -} - -=item splitdir (override) - -Split dirspec using VMS syntax. - -=cut - -sub splitdir { - my($self,$dirspec) = @_; - my @dirs = (); - return @dirs if ( (!defined $dirspec) || ('' eq $dirspec) ); - $dirspec =~ tr/<>/[]/; # < and > ==> [ and ] - $dirspec =~ s/\]\[\./\.\]\[/g; # ][. ==> .][ - $dirspec =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [ - $dirspec =~ s/\[000000\./\[/g; # [000000. ==> [ - $dirspec =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ] - $dirspec =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar - while ($dirspec =~ s/(^|[\[\<\.])\-(\-+)($|[\]\>\.])/$1-.$2$3/g) {} - # That loop does the following - # with any amount of dashes: - # .--. ==> .-.-. - # [--. ==> [-.-. - # .--] ==> .-.-] - # [--] ==> [-.-] - $dirspec = "[$dirspec]" unless $dirspec =~ /[\[<]/; # make legal - $dirspec =~ s/^(\[|<)\./$1/; - @dirs = split /(?<!\^)\./, vmspath($dirspec); - $dirs[0] =~ s/^[\[<]//s; $dirs[-1] =~ s/[\]>]\Z(?!\n)//s; - @dirs; -} - - -=item catpath (override) - -Construct a complete filespec using VMS syntax - -=cut - -sub catpath { - my($self,$dev,$dir,$file) = @_; - - # We look for a volume in $dev, then in $dir, but not both - my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir); - $dev = $dir_volume unless length $dev; - $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) : $dir_dir; - - if ($dev =~ m|^/+([^/]+)|) { $dev = "$1:"; } - else { $dev .= ':' unless $dev eq '' or $dev =~ /:\Z(?!\n)/; } - if (length($dev) or length($dir)) { - $dir = "[$dir]" unless $dir =~ /[\[<\/]/; - $dir = vmspath($dir); - } - "$dev$dir$file"; -} - -=item abs2rel (override) - -Use VMS syntax when converting filespecs. - -=cut - -sub abs2rel { - my $self = shift; - return vmspath(File::Spec::Unix::abs2rel( $self, @_ )) - if grep m{/}, @_; - - my($path,$base) = @_; - $base = $self->_cwd() unless defined $base and length $base; - - for ($path, $base) { $_ = $self->canonpath($_) } - - # Are we even starting $path on the same (node::)device as $base? Note that - # logical paths or nodename differences may be on the "same device" - # but the comparison that ignores device differences so as to concatenate - # [---] up directory specs is not even a good idea in cases where there is - # a logical path difference between $path and $base nodename and/or device. - # Hence we fall back to returning the absolute $path spec - # if there is a case blind device (or node) difference of any sort - # and we do not even try to call $parse() or consult %ENV for $trnlnm() - # (this module needs to run on non VMS platforms after all). - - my ($path_volume, $path_directories, $path_file) = $self->splitpath($path); - my ($base_volume, $base_directories, $base_file) = $self->splitpath($base); - return $path unless lc($path_volume) eq lc($base_volume); - - for ($path, $base) { $_ = $self->rel2abs($_) } - - # Now, remove all leading components that are the same - my @pathchunks = $self->splitdir( $path_directories ); - my $pathchunks = @pathchunks; - unshift(@pathchunks,'000000') unless $pathchunks[0] eq '000000'; - my @basechunks = $self->splitdir( $base_directories ); - my $basechunks = @basechunks; - unshift(@basechunks,'000000') unless $basechunks[0] eq '000000'; - - while ( @pathchunks && - @basechunks && - lc( $pathchunks[0] ) eq lc( $basechunks[0] ) - ) { - shift @pathchunks ; - shift @basechunks ; - } - - # @basechunks now contains the directories to climb out of, - # @pathchunks now has the directories to descend in to. - if ((@basechunks > 0) || ($basechunks != $pathchunks)) { - $path_directories = join '.', ('-' x @basechunks, @pathchunks) ; - } - else { - $path_directories = join '.', @pathchunks; - } - $path_directories = '['.$path_directories.']'; - return $self->canonpath( $self->catpath( '', $path_directories, $path_file ) ) ; -} - - -=item rel2abs (override) - -Use VMS syntax when converting filespecs. - -=cut - -sub rel2abs { - my $self = shift ; - my ($path,$base ) = @_; - return undef unless defined $path; - if ($path =~ m/\//) { - $path = ( -d $path || $path =~ m/\/\z/ # educated guessing about - ? vmspath($path) # whether it's a directory - : vmsify($path) ); - } - $base = vmspath($base) if defined $base && $base =~ m/\//; - # Clean up and split up $path - if ( ! $self->file_name_is_absolute( $path ) ) { - # Figure out the effective $base and clean it up. - if ( !defined( $base ) || $base eq '' ) { - $base = $self->_cwd; - } - elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - } - else { - $base = $self->canonpath( $base ) ; - } - - # Split up paths - my ( $path_directories, $path_file ) = - ($self->splitpath( $path ))[1,2] ; - - my ( $base_volume, $base_directories ) = - $self->splitpath( $base ) ; - - $path_directories = '' if $path_directories eq '[]' || - $path_directories eq '<>'; - my $sep = '' ; - $sep = '.' - if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} && - $path_directories =~ m{^[^.\[<]}s - ) ; - $base_directories = "$base_directories$sep$path_directories"; - $base_directories =~ s{\.?[\]>][\[<]\.?}{.}; - - $path = $self->catpath( $base_volume, $base_directories, $path_file ); - } - - return $self->canonpath( $path ) ; -} - - -# eliminate_macros() and fixpath() are MakeMaker-specific methods -# which are used inside catfile() and catdir(). MakeMaker has its own -# copies as of 6.06_03 which are the canonical ones. We leave these -# here, in peace, so that File::Spec continues to work with MakeMakers -# prior to 6.06_03. -# -# Please consider these two methods deprecated. Do not patch them, -# patch the ones in ExtUtils::MM_VMS instead. -sub eliminate_macros { - my($self,$path) = @_; - return '' unless (defined $path) && ($path ne ''); - $self = {} unless ref $self; - - if ($path =~ /\s/) { - return join ' ', map { $self->eliminate_macros($_) } split /\s+/, $path; - } - - my($npath) = unixify($path); - my($complex) = 0; - my($head,$macro,$tail); - - # perform m##g in scalar context so it acts as an iterator - while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#gs) { - if ($self->{$2}) { - ($head,$macro,$tail) = ($1,$2,$3); - if (ref $self->{$macro}) { - if (ref $self->{$macro} eq 'ARRAY') { - $macro = join ' ', @{$self->{$macro}}; - } - else { - print "Note: can't expand macro \$($macro) containing ",ref($self->{$macro}), - "\n\t(using MMK-specific deferred substitutuon; MMS will break)\n"; - $macro = "\cB$macro\cB"; - $complex = 1; - } - } - else { ($macro = unixify($self->{$macro})) =~ s#/\Z(?!\n)##; } - $npath = "$head$macro$tail"; - } - } - if ($complex) { $npath =~ s#\cB(.*?)\cB#\${$1}#gs; } - $npath; -} - -# Deprecated. See the note above for eliminate_macros(). -sub fixpath { - my($self,$path,$force_path) = @_; - return '' unless $path; - $self = bless {} unless ref $self; - my($fixedpath,$prefix,$name); - - if ($path =~ /\s/) { - return join ' ', - map { $self->fixpath($_,$force_path) } - split /\s+/, $path; - } - - if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) { - if ($force_path or $path =~ /(?:DIR\)|\])\Z(?!\n)/) { - $fixedpath = vmspath($self->eliminate_macros($path)); - } - else { - $fixedpath = vmsify($self->eliminate_macros($path)); - } - } - elsif ((($prefix,$name) = ($path =~ m#^\$\(([^\)]+)\)(.+)#s)) && $self->{$prefix}) { - my($vmspre) = $self->eliminate_macros("\$($prefix)"); - # is it a dir or just a name? - $vmspre = ($vmspre =~ m|/| or $prefix =~ /DIR\Z(?!\n)/) ? vmspath($vmspre) : ''; - $fixedpath = ($vmspre ? $vmspre : $self->{$prefix}) . $name; - $fixedpath = vmspath($fixedpath) if $force_path; - } - else { - $fixedpath = $path; - $fixedpath = vmspath($fixedpath) if $force_path; - } - # No hints, so we try to guess - if (!defined($force_path) and $fixedpath !~ /[:>(.\]]/) { - $fixedpath = vmspath($fixedpath) if -d $fixedpath; - } - - # Trim off root dirname if it's had other dirs inserted in front of it. - $fixedpath =~ s/\.000000([\]>])/$1/; - # Special case for VMS absolute directory specs: these will have had device - # prepended during trip through Unix syntax in eliminate_macros(), since - # Unix syntax has no way to express "absolute from the top of this device's - # directory tree". - if ($path =~ /^[\[>][^.\-]/) { $fixedpath =~ s/^[^\[<]+//; } - $fixedpath; -} - - -=back - -=head1 COPYRIGHT - -Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -An explanation of VMS file specs can be found at -L<"http://h71000.www7.hp.com/doc/731FINAL/4506/4506pro_014.html#apps_locating_naming_files">. - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm deleted file mode 100644 index 9b9034039fe..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm +++ /dev/null @@ -1,442 +0,0 @@ -package File::Spec::Win32; - -use strict; - -use vars qw(@ISA $VERSION); -require File::Spec::Unix; - -$VERSION = '3.2701'; - -@ISA = qw(File::Spec::Unix); - -# Some regexes we use for path splitting -my $DRIVE_RX = '[a-zA-Z]:'; -my $UNC_RX = '(?:\\\\\\\\|//)[^\\\\/]+[\\\\/][^\\\\/]+'; -my $VOL_RX = "(?:$DRIVE_RX|$UNC_RX)"; - - -=head1 NAME - -File::Spec::Win32 - methods for Win32 file specs - -=head1 SYNOPSIS - - require File::Spec::Win32; # Done internally by File::Spec if needed - -=head1 DESCRIPTION - -See File::Spec::Unix for a documentation of the methods provided -there. This package overrides the implementation of these methods, not -the semantics. - -=over 4 - -=item devnull - -Returns a string representation of the null device. - -=cut - -sub devnull { - return "nul"; -} - -sub rootdir () { '\\' } - - -=item tmpdir - -Returns a string representation of the first existing directory -from the following list: - - $ENV{TMPDIR} - $ENV{TEMP} - $ENV{TMP} - SYS:/temp - C:\system\temp - C:/temp - /tmp - / - -The SYS:/temp is preferred in Novell NetWare and the C:\system\temp -for Symbian (the File::Spec::Win32 is used also for those platforms). - -Since Perl 5.8.0, if running under taint mode, and if the environment -variables are tainted, they are not used. - -=cut - -my $tmpdir; -sub tmpdir { - return $tmpdir if defined $tmpdir; - $tmpdir = $_[0]->_tmpdir( map( $ENV{$_}, qw(TMPDIR TEMP TMP) ), - 'SYS:/temp', - 'C:\system\temp', - 'C:/temp', - '/tmp', - '/' ); -} - -=item case_tolerant - -MSWin32 case-tolerance depends on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE, -indicating the case significance when comparing file specifications. -Since XP FS_CASE_SENSITIVE is effectively disabled for the NT subsubsystem. -See http://cygwin.com/ml/cygwin/2007-07/msg00891.html -Default: 1 - -=cut - -sub case_tolerant () { - eval { require Win32API::File; } or return 1; - my $drive = shift || "C:"; - my $osFsType = "\0"x256; - my $osVolName = "\0"x256; - my $ouFsFlags = 0; - Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 ); - if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; } - else { return 1; } -} - -=item file_name_is_absolute - -As of right now, this returns 2 if the path is absolute with a -volume, 1 if it's absolute with no volume, 0 otherwise. - -=cut - -sub file_name_is_absolute { - - my ($self,$file) = @_; - - if ($file =~ m{^($VOL_RX)}o) { - my $vol = $1; - return ($vol =~ m{^$UNC_RX}o ? 2 - : $file =~ m{^$DRIVE_RX[\\/]}o ? 2 - : 0); - } - return $file =~ m{^[\\/]} ? 1 : 0; -} - -=item catfile - -Concatenate one or more directory names and a filename to form a -complete path ending with a filename - -=cut - -sub catfile { - shift; - - # Legacy / compatibility support - # - shift, return _canon_cat( "/", @_ ) - if $_[0] eq ""; - - # Compatibility with File::Spec <= 3.26: - # catfile('A:', 'foo') should return 'A:\foo'. - return _canon_cat( ($_[0].'\\'), @_[1..$#_] ) - if $_[0] =~ m{^$DRIVE_RX\z}o; - - return _canon_cat( @_ ); -} - -sub catdir { - shift; - - # Legacy / compatibility support - # - return "" - unless @_; - shift, return _canon_cat( "/", @_ ) - if $_[0] eq ""; - - # Compatibility with File::Spec <= 3.26: - # catdir('A:', 'foo') should return 'A:\foo'. - return _canon_cat( ($_[0].'\\'), @_[1..$#_] ) - if $_[0] =~ m{^$DRIVE_RX\z}o; - - return _canon_cat( @_ ); -} - -sub path { - my @path = split(';', $ENV{PATH}); - s/"//g for @path; - @path = grep length, @path; - unshift(@path, "."); - return @path; -} - -=item canonpath - -No physical check on the filesystem, but a logical cleanup of a -path. On UNIX eliminated successive slashes and successive "/.". -On Win32 makes - - dir1\dir2\dir3\..\..\dir4 -> \dir\dir4 and even - dir1\dir2\dir3\...\dir4 -> \dir\dir4 - -=cut - -sub canonpath { - # Legacy / compatibility support - # - return $_[1] if !defined($_[1]) or $_[1] eq ''; - return _canon_cat( $_[1] ); -} - -=item splitpath - - ($volume,$directories,$file) = File::Spec->splitpath( $path ); - ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file ); - -Splits a path into volume, directory, and filename portions. Assumes that -the last file is a path unless the path ends in '\\', '\\.', '\\..' -or $no_file is true. On Win32 this means that $no_file true makes this return -( $volume, $path, '' ). - -Separators accepted are \ and /. - -Volumes can be drive letters or UNC sharenames (\\server\share). - -The results can be passed to L</catpath> to get back a path equivalent to -(usually identical to) the original path. - -=cut - -sub splitpath { - my ($self,$path, $nofile) = @_; - my ($volume,$directory,$file) = ('','',''); - if ( $nofile ) { - $path =~ - m{^ ( $VOL_RX ? ) (.*) }sox; - $volume = $1; - $directory = $2; - } - else { - $path =~ - m{^ ( $VOL_RX ? ) - ( (?:.*[\\/](?:\.\.?\Z(?!\n))?)? ) - (.*) - }sox; - $volume = $1; - $directory = $2; - $file = $3; - } - - return ($volume,$directory,$file); -} - - -=item splitdir - -The opposite of L<catdir()|File::Spec/catdir()>. - - @dirs = File::Spec->splitdir( $directories ); - -$directories must be only the directory portion of the path on systems -that have the concept of a volume or that have path syntax that differentiates -files from directories. - -Unlike just splitting the directories on the separator, leading empty and -trailing directory entries can be returned, because these are significant -on some OSs. So, - - File::Spec->splitdir( "/a/b/c" ); - -Yields: - - ( '', 'a', 'b', '', 'c', '' ) - -=cut - -sub splitdir { - my ($self,$directories) = @_ ; - # - # split() likes to forget about trailing null fields, so here we - # check to be sure that there will not be any before handling the - # simple case. - # - if ( $directories !~ m|[\\/]\Z(?!\n)| ) { - return split( m|[\\/]|, $directories ); - } - else { - # - # since there was a trailing separator, add a file name to the end, - # then do the split, then replace it with ''. - # - my( @directories )= split( m|[\\/]|, "${directories}dummy" ) ; - $directories[ $#directories ]= '' ; - return @directories ; - } -} - - -=item catpath - -Takes volume, directory and file portions and returns an entire path. Under -Unix, $volume is ignored, and this is just like catfile(). On other OSs, -the $volume become significant. - -=cut - -sub catpath { - my ($self,$volume,$directory,$file) = @_; - - # If it's UNC, make sure the glue separator is there, reusing - # whatever separator is first in the $volume - my $v; - $volume .= $v - if ( (($v) = $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s) && - $directory =~ m@^[^\\/]@s - ) ; - - $volume .= $directory ; - - # If the volume is not just A:, make sure the glue separator is - # there, reusing whatever separator is first in the $volume if possible. - if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s && - $volume =~ m@[^\\/]\Z(?!\n)@ && - $file =~ m@[^\\/]@ - ) { - $volume =~ m@([\\/])@ ; - my $sep = $1 ? $1 : '\\' ; - $volume .= $sep ; - } - - $volume .= $file ; - - return $volume ; -} - -sub _same { - lc($_[1]) eq lc($_[2]); -} - -sub rel2abs { - my ($self,$path,$base ) = @_; - - my $is_abs = $self->file_name_is_absolute($path); - - # Check for volume (should probably document the '2' thing...) - return $self->canonpath( $path ) if $is_abs == 2; - - if ($is_abs) { - # It's missing a volume, add one - my $vol = ($self->splitpath( $self->_cwd() ))[0]; - return $self->canonpath( $vol . $path ); - } - - if ( !defined( $base ) || $base eq '' ) { - require Cwd ; - $base = Cwd::getdcwd( ($self->splitpath( $path ))[0] ) if defined &Cwd::getdcwd ; - $base = $self->_cwd() unless defined $base ; - } - elsif ( ! $self->file_name_is_absolute( $base ) ) { - $base = $self->rel2abs( $base ) ; - } - else { - $base = $self->canonpath( $base ) ; - } - - my ( $path_directories, $path_file ) = - ($self->splitpath( $path, 1 ))[1,2] ; - - my ( $base_volume, $base_directories ) = - $self->splitpath( $base, 1 ) ; - - $path = $self->catpath( - $base_volume, - $self->catdir( $base_directories, $path_directories ), - $path_file - ) ; - - return $self->canonpath( $path ) ; -} - -=back - -=head2 Note For File::Spec::Win32 Maintainers - -Novell NetWare inherits its File::Spec behaviour from File::Spec::Win32. - -=head1 COPYRIGHT - -Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -See L<File::Spec> and L<File::Spec::Unix>. This package overrides the -implementation of these methods, not the semantics. - -=cut - - -sub _canon_cat(@) # @path -> path -{ - my $first = shift; - my $volume = $first =~ s{ \A ([A-Za-z]:) ([\\/]?) }{}x # drive letter - ? ucfirst( $1 ).( $2 ? "\\" : "" ) - : $first =~ s{ \A (?:\\\\|//) ([^\\/]+) - (?: [\\/] ([^\\/]+) )? - [\\/]? }{}xs # UNC volume - ? "\\\\$1".( defined $2 ? "\\$2" : "" )."\\" - : $first =~ s{ \A [\\/] }{}x # root dir - ? "\\" - : ""; - my $path = join "\\", $first, @_; - - $path =~ tr#\\/#\\\\#s; # xx/yy --> xx\yy & xx\\yy --> xx\yy - - # xx/././yy --> xx/yy - $path =~ s{(?: - (?:\A|\\) # at begin or after a slash - \. - (?:\\\.)* # and more - (?:\\|\z) # at end or followed by slash - )+ # performance boost -- I do not know why - }{\\}gx; - - # XXX I do not know whether more dots are supported by the OS supporting - # this ... annotation (NetWare or symbian but not MSWin32). - # Then .... could easily become ../../.. etc: - # Replace \.\.\. by (\.\.\.+) and substitute with - # { $1 . ".." . "\\.." x (length($2)-2) }gex - # ... --> ../.. - $path =~ s{ (\A|\\) # at begin or after a slash - \.\.\. - (?=\\|\z) # at end or followed by slash - }{$1..\\..}gx; - # xx\yy\..\zz --> xx\zz - while ( $path =~ s{(?: - (?:\A|\\) # at begin or after a slash - [^\\]+ # rip this 'yy' off - \\\.\. - (?<!\A\.\.\\\.\.) # do *not* replace ^..\.. - (?<!\\\.\.\\\.\.) # do *not* replace \..\.. - (?:\\|\z) # at end or followed by slash - )+ # performance boost -- I do not know why - }{\\}sx ) {} - - $path =~ s#\A\\##; # \xx --> xx NOTE: this is *not* root - $path =~ s#\\\z##; # xx\ --> xx - - if ( $volume =~ m#\\\z# ) - { # <vol>\.. --> <vol>\ - $path =~ s{ \A # at begin - \.\. - (?:\\\.\.)* # and more - (?:\\|\z) # at end or followed by slash - }{}x; - - return $1 # \\HOST\SHARE\ --> \\HOST\SHARE - if $path eq "" - and $volume =~ m#\A(\\\\.*)\\\z#s; - } - return $path ne "" || $volume ? $volume.$path : "."; -} - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm deleted file mode 100644 index 1e7dfc1f069..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm +++ /dev/null @@ -1,491 +0,0 @@ -package HTML::Entities; - -# $Id: Entities.pm,v 1.35 2006/03/22 09:15:23 gisle Exp $ - -=head1 NAME - -HTML::Entities - Encode or decode strings with HTML entities - -=head1 SYNOPSIS - - use HTML::Entities; - - $a = "Våre norske tegn bør æres"; - decode_entities($a); - encode_entities($a, "\200-\377"); - -For example, this: - - $input = "vis-à-vis Beyoncé's naïve\npapier-mâché résumé"; - print encode_entities($input), "\n" - -Prints this out: - - vis-à-vis Beyoncé's naïve - papier-mâché résumé - -=head1 DESCRIPTION - -This module deals with encoding and decoding of strings with HTML -character entities. The module provides the following functions: - -=over 4 - -=item decode_entities( $string, ... ) - -This routine replaces HTML entities found in the $string with the -corresponding Unicode character. Under perl 5.6 and earlier only -characters in the Latin-1 range are replaced. Unrecognized -entities are left alone. - -If multiple strings are provided as argument they are each decoded -separately and the same number of strings are returned. - -If called in void context the arguments are decoded in-place. - -This routine is exported by default. - -=item _decode_entities( $string, \%entity2char ) - -=item _decode_entities( $string, \%entity2char, $expand_prefix ) - -This will in-place replace HTML entities in $string. The %entity2char -hash must be provided. Named entities not found in the %entity2char -hash are left alone. Numeric entities are expanded unless their value -overflow. - -The keys in %entity2char are the entity names to be expanded and their -values are what they should expand into. The values do not have to be -single character strings. If a key has ";" as suffix, -then occurrences in $string are only expanded if properly terminated -with ";". Entities without ";" will be expanded regardless of how -they are terminated for compatiblity with how common browsers treat -entities in the Latin-1 range. - -If $expand_prefix is TRUE then entities without trailing ";" in -%entity2char will even be expanded as a prefix of a longer -unrecognized name. The longest matching name in %entity2char will be -used. This is mainly present for compatibility with an MSIE -misfeature. - - $string = "foo bar"; - _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1); - print $string; # will print "foo bar" - -This routine is exported by default. - -=item encode_entities( $string ) - -=item encode_entities( $string, $unsafe_chars ) - -This routine replaces unsafe characters in $string with their entity -representation. A second argument can be given to specify which -characters to consider unsafe (i.e., which to escape). The default set -of characters to encode are control chars, high-bit chars, and the -C<< < >>, C<< & >>, C<< > >>, C<< ' >> and C<< " >> -characters. But this, for example, would encode I<just> the -C<< < >>, C<< & >>, C<< > >>, and C<< " >> characters: - - $encoded = encode_entities($input, '<>&"'); - -This routine is exported by default. - -=item encode_entities_numeric( $string ) - -=item encode_entities_numeric( $string, $unsafe_chars ) - -This routine works just like encode_entities, except that the replacement -entities are always C<&#xI<hexnum>;> and never C<&I<entname>;>. For -example, C<encode_entities("r\xF4le")> returns "rôle", but -C<encode_entities_numeric("r\xF4le")> returns "rôle". - -This routine is I<not> exported by default. But you can always -export it with C<use HTML::Entities qw(encode_entities_numeric);> -or even C<use HTML::Entities qw(:DEFAULT encode_entities_numeric);> - -=back - -All these routines modify the string passed as the first argument, if -called in a void context. In scalar and array contexts, the encoded or -decoded string is returned (without changing the input string). - -If you prefer not to import these routines into your namespace, you can -call them as: - - use HTML::Entities (); - $decoded = HTML::Entities::decode($a); - $encoded = HTML::Entities::encode($a); - $encoded = HTML::Entities::encode_numeric($a); - -The module can also export the %char2entity and the %entity2char -hashes, which contain the mapping from all characters to the -corresponding entities (and vice versa, respectively). - -=head1 COPYRIGHT - -Copyright 1995-2006 Gisle Aas. All rights reserved. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut - -use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); -use vars qw(%entity2char %char2entity); - -require 5.004; -require Exporter; -@ISA = qw(Exporter); - -@EXPORT = qw(encode_entities decode_entities _decode_entities); -@EXPORT_OK = qw(%entity2char %char2entity encode_entities_numeric); - -$VERSION = sprintf("%d.%02d", q$Revision: 1.35 $ =~ /(\d+)\.(\d+)/); -sub Version { $VERSION; } - -require HTML::Parser; # for fast XS implemented decode_entities - - -%entity2char = ( - # Some normal chars that have special meaning in SGML context - amp => '&', # ampersand -'gt' => '>', # greater than -'lt' => '<', # less than - quot => '"', # double quote - apos => "'", # single quote - - # PUBLIC ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML - AElig => chr(198), # capital AE diphthong (ligature) - Aacute => chr(193), # capital A, acute accent - Acirc => chr(194), # capital A, circumflex accent - Agrave => chr(192), # capital A, grave accent - Aring => chr(197), # capital A, ring - Atilde => chr(195), # capital A, tilde - Auml => chr(196), # capital A, dieresis or umlaut mark - Ccedil => chr(199), # capital C, cedilla - ETH => chr(208), # capital Eth, Icelandic - Eacute => chr(201), # capital E, acute accent - Ecirc => chr(202), # capital E, circumflex accent - Egrave => chr(200), # capital E, grave accent - Euml => chr(203), # capital E, dieresis or umlaut mark - Iacute => chr(205), # capital I, acute accent - Icirc => chr(206), # capital I, circumflex accent - Igrave => chr(204), # capital I, grave accent - Iuml => chr(207), # capital I, dieresis or umlaut mark - Ntilde => chr(209), # capital N, tilde - Oacute => chr(211), # capital O, acute accent - Ocirc => chr(212), # capital O, circumflex accent - Ograve => chr(210), # capital O, grave accent - Oslash => chr(216), # capital O, slash - Otilde => chr(213), # capital O, tilde - Ouml => chr(214), # capital O, dieresis or umlaut mark - THORN => chr(222), # capital THORN, Icelandic - Uacute => chr(218), # capital U, acute accent - Ucirc => chr(219), # capital U, circumflex accent - Ugrave => chr(217), # capital U, grave accent - Uuml => chr(220), # capital U, dieresis or umlaut mark - Yacute => chr(221), # capital Y, acute accent - aacute => chr(225), # small a, acute accent - acirc => chr(226), # small a, circumflex accent - aelig => chr(230), # small ae diphthong (ligature) - agrave => chr(224), # small a, grave accent - aring => chr(229), # small a, ring - atilde => chr(227), # small a, tilde - auml => chr(228), # small a, dieresis or umlaut mark - ccedil => chr(231), # small c, cedilla - eacute => chr(233), # small e, acute accent - ecirc => chr(234), # small e, circumflex accent - egrave => chr(232), # small e, grave accent - eth => chr(240), # small eth, Icelandic - euml => chr(235), # small e, dieresis or umlaut mark - iacute => chr(237), # small i, acute accent - icirc => chr(238), # small i, circumflex accent - igrave => chr(236), # small i, grave accent - iuml => chr(239), # small i, dieresis or umlaut mark - ntilde => chr(241), # small n, tilde - oacute => chr(243), # small o, acute accent - ocirc => chr(244), # small o, circumflex accent - ograve => chr(242), # small o, grave accent - oslash => chr(248), # small o, slash - otilde => chr(245), # small o, tilde - ouml => chr(246), # small o, dieresis or umlaut mark - szlig => chr(223), # small sharp s, German (sz ligature) - thorn => chr(254), # small thorn, Icelandic - uacute => chr(250), # small u, acute accent - ucirc => chr(251), # small u, circumflex accent - ugrave => chr(249), # small u, grave accent - uuml => chr(252), # small u, dieresis or umlaut mark - yacute => chr(253), # small y, acute accent - yuml => chr(255), # small y, dieresis or umlaut mark - - # Some extra Latin 1 chars that are listed in the HTML3.2 draft (21-May-96) - copy => chr(169), # copyright sign - reg => chr(174), # registered sign - nbsp => chr(160), # non breaking space - - # Additional ISO-8859/1 entities listed in rfc1866 (section 14) - iexcl => chr(161), - cent => chr(162), - pound => chr(163), - curren => chr(164), - yen => chr(165), - brvbar => chr(166), - sect => chr(167), - uml => chr(168), - ordf => chr(170), - laquo => chr(171), -'not' => chr(172), # not is a keyword in perl - shy => chr(173), - macr => chr(175), - deg => chr(176), - plusmn => chr(177), - sup1 => chr(185), - sup2 => chr(178), - sup3 => chr(179), - acute => chr(180), - micro => chr(181), - para => chr(182), - middot => chr(183), - cedil => chr(184), - ordm => chr(186), - raquo => chr(187), - frac14 => chr(188), - frac12 => chr(189), - frac34 => chr(190), - iquest => chr(191), -'times' => chr(215), # times is a keyword in perl - divide => chr(247), - - ( $] > 5.007 ? ( - 'OElig;' => chr(338), - 'oelig;' => chr(339), - 'Scaron;' => chr(352), - 'scaron;' => chr(353), - 'Yuml;' => chr(376), - 'fnof;' => chr(402), - 'circ;' => chr(710), - 'tilde;' => chr(732), - 'Alpha;' => chr(913), - 'Beta;' => chr(914), - 'Gamma;' => chr(915), - 'Delta;' => chr(916), - 'Epsilon;' => chr(917), - 'Zeta;' => chr(918), - 'Eta;' => chr(919), - 'Theta;' => chr(920), - 'Iota;' => chr(921), - 'Kappa;' => chr(922), - 'Lambda;' => chr(923), - 'Mu;' => chr(924), - 'Nu;' => chr(925), - 'Xi;' => chr(926), - 'Omicron;' => chr(927), - 'Pi;' => chr(928), - 'Rho;' => chr(929), - 'Sigma;' => chr(931), - 'Tau;' => chr(932), - 'Upsilon;' => chr(933), - 'Phi;' => chr(934), - 'Chi;' => chr(935), - 'Psi;' => chr(936), - 'Omega;' => chr(937), - 'alpha;' => chr(945), - 'beta;' => chr(946), - 'gamma;' => chr(947), - 'delta;' => chr(948), - 'epsilon;' => chr(949), - 'zeta;' => chr(950), - 'eta;' => chr(951), - 'theta;' => chr(952), - 'iota;' => chr(953), - 'kappa;' => chr(954), - 'lambda;' => chr(955), - 'mu;' => chr(956), - 'nu;' => chr(957), - 'xi;' => chr(958), - 'omicron;' => chr(959), - 'pi;' => chr(960), - 'rho;' => chr(961), - 'sigmaf;' => chr(962), - 'sigma;' => chr(963), - 'tau;' => chr(964), - 'upsilon;' => chr(965), - 'phi;' => chr(966), - 'chi;' => chr(967), - 'psi;' => chr(968), - 'omega;' => chr(969), - 'thetasym;' => chr(977), - 'upsih;' => chr(978), - 'piv;' => chr(982), - 'ensp;' => chr(8194), - 'emsp;' => chr(8195), - 'thinsp;' => chr(8201), - 'zwnj;' => chr(8204), - 'zwj;' => chr(8205), - 'lrm;' => chr(8206), - 'rlm;' => chr(8207), - 'ndash;' => chr(8211), - 'mdash;' => chr(8212), - 'lsquo;' => chr(8216), - 'rsquo;' => chr(8217), - 'sbquo;' => chr(8218), - 'ldquo;' => chr(8220), - 'rdquo;' => chr(8221), - 'bdquo;' => chr(8222), - 'dagger;' => chr(8224), - 'Dagger;' => chr(8225), - 'bull;' => chr(8226), - 'hellip;' => chr(8230), - 'permil;' => chr(8240), - 'prime;' => chr(8242), - 'Prime;' => chr(8243), - 'lsaquo;' => chr(8249), - 'rsaquo;' => chr(8250), - 'oline;' => chr(8254), - 'frasl;' => chr(8260), - 'euro;' => chr(8364), - 'image;' => chr(8465), - 'weierp;' => chr(8472), - 'real;' => chr(8476), - 'trade;' => chr(8482), - 'alefsym;' => chr(8501), - 'larr;' => chr(8592), - 'uarr;' => chr(8593), - 'rarr;' => chr(8594), - 'darr;' => chr(8595), - 'harr;' => chr(8596), - 'crarr;' => chr(8629), - 'lArr;' => chr(8656), - 'uArr;' => chr(8657), - 'rArr;' => chr(8658), - 'dArr;' => chr(8659), - 'hArr;' => chr(8660), - 'forall;' => chr(8704), - 'part;' => chr(8706), - 'exist;' => chr(8707), - 'empty;' => chr(8709), - 'nabla;' => chr(8711), - 'isin;' => chr(8712), - 'notin;' => chr(8713), - 'ni;' => chr(8715), - 'prod;' => chr(8719), - 'sum;' => chr(8721), - 'minus;' => chr(8722), - 'lowast;' => chr(8727), - 'radic;' => chr(8730), - 'prop;' => chr(8733), - 'infin;' => chr(8734), - 'ang;' => chr(8736), - 'and;' => chr(8743), - 'or;' => chr(8744), - 'cap;' => chr(8745), - 'cup;' => chr(8746), - 'int;' => chr(8747), - 'there4;' => chr(8756), - 'sim;' => chr(8764), - 'cong;' => chr(8773), - 'asymp;' => chr(8776), - 'ne;' => chr(8800), - 'equiv;' => chr(8801), - 'le;' => chr(8804), - 'ge;' => chr(8805), - 'sub;' => chr(8834), - 'sup;' => chr(8835), - 'nsub;' => chr(8836), - 'sube;' => chr(8838), - 'supe;' => chr(8839), - 'oplus;' => chr(8853), - 'otimes;' => chr(8855), - 'perp;' => chr(8869), - 'sdot;' => chr(8901), - 'lceil;' => chr(8968), - 'rceil;' => chr(8969), - 'lfloor;' => chr(8970), - 'rfloor;' => chr(8971), - 'lang;' => chr(9001), - 'rang;' => chr(9002), - 'loz;' => chr(9674), - 'spades;' => chr(9824), - 'clubs;' => chr(9827), - 'hearts;' => chr(9829), - 'diams;' => chr(9830), - ) : ()) -); - - -# Make the opposite mapping -while (my($entity, $char) = each(%entity2char)) { - $entity =~ s/;\z//; - $char2entity{$char} = "&$entity;"; -} -delete $char2entity{"'"}; # only one-way decoding - -# Fill in missing entities -for (0 .. 255) { - next if exists $char2entity{chr($_)}; - $char2entity{chr($_)} = "&#$_;"; -} - -my %subst; # compiled encoding regexps - -sub decode_entities_old -{ - my $array; - if (defined wantarray) { - $array = [@_]; # copy - } else { - $array = \@_; # modify in-place - } - my $c; - for (@$array) { - s/(&\#(\d+);?)/$2 < 256 ? chr($2) : $1/eg; - s/(&\#[xX]([0-9a-fA-F]+);?)/$c = hex($2); $c < 256 ? chr($c) : $1/eg; - s/(&(\w+);?)/$entity2char{$2} || $1/eg; - } - wantarray ? @$array : $array->[0]; -} - -sub encode_entities -{ - my $ref; - if (defined wantarray) { - my $x = $_[0]; - $ref = \$x; # copy - } else { - $ref = \$_[0]; # modify in-place - } - if (defined $_[1] and length $_[1]) { - unless (exists $subst{$_[1]}) { - # Because we can't compile regex we fake it with a cached sub - my $code = "sub {\$_[0] =~ s/([$_[1]])/\$char2entity{\$1} || num_entity(\$1)/ge; }"; - $subst{$_[1]} = eval $code; - die( $@ . " while trying to turn range: \"$_[1]\"\n " - . "into code: $code\n " - ) if $@; - } - &{$subst{$_[1]}}($$ref); - } else { - # Encode control chars, high bit chars and '<', '&', '>', ''' and '"' - $$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge; - } - $$ref; -} - -sub encode_entities_numeric { - local %char2entity; - return &encode_entities; # a goto &encode_entities wouldn't work -} - - -sub num_entity { - sprintf "&#x%X;", ord($_[0]); -} - -# Set up aliases -*encode = \&encode_entities; -*encode_numeric = \&encode_entities_numeric; -*encode_numerically = \&encode_entities_numeric; -*decode = \&decode_entities; - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm deleted file mode 100644 index 21fafac621a..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm +++ /dev/null @@ -1,112 +0,0 @@ -package HTML::Filter; - -use strict; -use vars qw(@ISA $VERSION); - -require HTML::Parser; -@ISA=qw(HTML::Parser); - -$VERSION = sprintf("%d.%02d", q$Revision: 2.11 $ =~ /(\d+)\.(\d+)/); - -sub declaration { $_[0]->output("<!$_[1]>") } -sub process { $_[0]->output($_[2]) } -sub comment { $_[0]->output("<!--$_[1]-->") } -sub start { $_[0]->output($_[4]) } -sub end { $_[0]->output($_[2]) } -sub text { $_[0]->output($_[1]) } - -sub output { print $_[1] } - -1; - -__END__ - -=head1 NAME - -HTML::Filter - Filter HTML text through the parser - -=head1 NOTE - -B<This module is deprecated.> The C<HTML::Parser> now provides the -functionally of C<HTML::Filter> much more efficiently with the the -C<default> handler. - -=head1 SYNOPSIS - - require HTML::Filter; - $p = HTML::Filter->new->parse_file("index.html"); - -=head1 DESCRIPTION - -C<HTML::Filter> is an HTML parser that by default prints the -original text of each HTML element (a slow version of cat(1) basically). -The callback methods may be overridden to modify the filtering for some -HTML elements and you can override output() method which is called to -print the HTML text. - -C<HTML::Filter> is a subclass of C<HTML::Parser>. This means that -the document should be given to the parser by calling the $p->parse() -or $p->parse_file() methods. - -=head1 EXAMPLES - -The first example is a filter that will remove all comments from an -HTML file. This is achieved by simply overriding the comment method -to do nothing. - - package CommentStripper; - require HTML::Filter; - @ISA=qw(HTML::Filter); - sub comment { } # ignore comments - -The second example shows a filter that will remove any E<lt>TABLE>s -found in the HTML file. We specialize the start() and end() methods -to count table tags and then make output not happen when inside a -table. - - package TableStripper; - require HTML::Filter; - @ISA=qw(HTML::Filter); - sub start - { - my $self = shift; - $self->{table_seen}++ if $_[0] eq "table"; - $self->SUPER::start(@_); - } - - sub end - { - my $self = shift; - $self->SUPER::end(@_); - $self->{table_seen}-- if $_[0] eq "table"; - } - - sub output - { - my $self = shift; - unless ($self->{table_seen}) { - $self->SUPER::output(@_); - } - } - -If you want to collect the parsed text internally you might want to do -something like this: - - package FilterIntoString; - require HTML::Filter; - @ISA=qw(HTML::Filter); - sub output { push(@{$_[0]->{fhtml}}, $_[1]) } - sub filtered_html { join("", @{$_[0]->{fhtml}}) } - -=head1 SEE ALSO - -L<HTML::Parser> - -=head1 COPYRIGHT - -Copyright 1997-1999 Gisle Aas. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm deleted file mode 100644 index a8974f832b6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm +++ /dev/null @@ -1,259 +0,0 @@ -package HTML::HeadParser; - -=head1 NAME - -HTML::HeadParser - Parse <HEAD> section of a HTML document - -=head1 SYNOPSIS - - require HTML::HeadParser; - $p = HTML::HeadParser->new; - $p->parse($text) and print "not finished"; - - $p->header('Title') # to access <title>....</title> - $p->header('Content-Base') # to access <base href="http://..."> - $p->header('Foo') # to access <meta http-equiv="Foo" content="..."> - -=head1 DESCRIPTION - -The C<HTML::HeadParser> is a specialized (and lightweight) -C<HTML::Parser> that will only parse the E<lt>HEAD>...E<lt>/HEAD> -section of an HTML document. The parse() method -will return a FALSE value as soon as some E<lt>BODY> element or body -text are found, and should not be called again after this. - -Note that the C<HTML::HeadParser> might get confused if raw undecoded -UTF-8 is passed to the parse() method. Make sure the strings are -properly decoded before passing them on. - -The C<HTML::HeadParser> keeps a reference to a header object, and the -parser will update this header object as the various elements of the -E<lt>HEAD> section of the HTML document are recognized. The following -header fields are affected: - -=over 4 - -=item Content-Base: - -The I<Content-Base> header is initialized from the E<lt>base -href="..."> element. - -=item Title: - -The I<Title> header is initialized from the E<lt>title>...E<lt>/title> -element. - -=item Isindex: - -The I<Isindex> header will be added if there is a E<lt>isindex> -element in the E<lt>head>. The header value is initialized from the -I<prompt> attribute if it is present. If no I<prompt> attribute is -given it will have '?' as the value. - -=item X-Meta-Foo: - -All E<lt>meta> elements will initialize headers with the prefix -"C<X-Meta->" on the name. If the E<lt>meta> element contains a -C<http-equiv> attribute, then it will be honored as the header name. - -=back - -=head1 METHODS - -The following methods (in addition to those provided by the -superclass) are available: - -=over 4 - -=cut - - -require HTML::Parser; -@ISA = qw(HTML::Parser); - -use HTML::Entities (); - -use strict; -use vars qw($VERSION $DEBUG); -#$DEBUG = 1; -$VERSION = sprintf("%d.%02d", q$Revision: 2.22 $ =~ /(\d+)\.(\d+)/); - -=item $hp = HTML::HeadParser->new - -=item $hp = HTML::HeadParser->new( $header ) - -The object constructor. The optional $header argument should be a -reference to an object that implement the header() and push_header() -methods as defined by the C<HTTP::Headers> class. Normally it will be -of some class that isa or delegates to the C<HTTP::Headers> class. - -If no $header is given C<HTML::HeadParser> will create an -C<HTTP::Header> object by itself (initially empty). - -=cut - -sub new -{ - my($class, $header) = @_; - unless ($header) { - require HTTP::Headers; - $header = HTTP::Headers->new; - } - - my $self = $class->SUPER::new(api_version => 2, - ignore_elements => [qw(script style)], - ); - $self->{'header'} = $header; - $self->{'tag'} = ''; # name of active element that takes textual content - $self->{'text'} = ''; # the accumulated text associated with the element - $self; -} - -=item $hp->header; - -Returns a reference to the header object. - -=item $hp->header( $key ) - -Returns a header value. It is just a shorter way to write -C<$hp-E<gt>header-E<gt>header($key)>. - -=cut - -sub header -{ - my $self = shift; - return $self->{'header'} unless @_; - $self->{'header'}->header(@_); -} - -sub as_string # legacy -{ - my $self = shift; - $self->{'header'}->as_string; -} - -sub flush_text # internal -{ - my $self = shift; - my $tag = $self->{'tag'}; - my $text = $self->{'text'}; - $text =~ s/^\s+//; - $text =~ s/\s+$//; - $text =~ s/\s+/ /g; - print "FLUSH $tag => '$text'\n" if $DEBUG; - if ($tag eq 'title') { - HTML::Entities::decode($text); - $self->{'header'}->push_header(Title => $text); - } - $self->{'tag'} = $self->{'text'} = ''; -} - -# This is an quote from the HTML3.2 DTD which shows which elements -# that might be present in a <HEAD>...</HEAD>. Also note that the -# <HEAD> tags themselves might be missing: -# -# <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? & -# SCRIPT* & META* & LINK*"> -# -# <!ELEMENT HEAD O O (%head.content)> - - -sub start -{ - my($self, $tag, $attr) = @_; # $attr is reference to a HASH - print "START[$tag]\n" if $DEBUG; - $self->flush_text if $self->{'tag'}; - if ($tag eq 'meta') { - my $key = $attr->{'http-equiv'}; - if (!defined($key) || !length($key)) { - return unless $attr->{'name'}; - $key = "X-Meta-\u$attr->{'name'}"; - } - $self->{'header'}->push_header($key => $attr->{content}); - } elsif ($tag eq 'base') { - return unless exists $attr->{href}; - $self->{'header'}->push_header('Content-Base' => $attr->{href}); - } elsif ($tag eq 'isindex') { - # This is a non-standard header. Perhaps we should just ignore - # this element - $self->{'header'}->push_header(Isindex => $attr->{prompt} || '?'); - } elsif ($tag =~ /^(?:title|script|style)$/) { - # Just remember tag. Initialize header when we see the end tag. - $self->{'tag'} = $tag; - } elsif ($tag eq 'link') { - return unless exists $attr->{href}; - # <link href="http:..." rel="xxx" rev="xxx" title="xxx"> - my $h_val = "<" . delete($attr->{href}) . ">"; - for (sort keys %{$attr}) { - $h_val .= qq(; $_="$attr->{$_}"); - } - $self->{'header'}->push_header(Link => $h_val); - } elsif ($tag eq 'head' || $tag eq 'html') { - # ignore - } else { - # stop parsing - $self->eof; - } -} - -sub end -{ - my($self, $tag) = @_; - print "END[$tag]\n" if $DEBUG; - $self->flush_text if $self->{'tag'}; - $self->eof if $tag eq 'head'; -} - -sub text -{ - my($self, $text) = @_; - $text =~ s/\x{FEFF}//; # drop Unicode BOM if found - print "TEXT[$text]\n" if $DEBUG; - my $tag = $self->{tag}; - if (!$tag && $text =~ /\S/) { - # Normal text means start of body - $self->eof; - return; - } - return if $tag ne 'title'; - $self->{'text'} .= $text; -} - -1; - -__END__ - -=back - -=head1 EXAMPLE - - $h = HTTP::Headers->new; - $p = HTML::HeadParser->new($h); - $p->parse(<<EOT); - <title>Stupid example</title> - <base href="http://www.linpro.no/lwp/"> - Normal text starts here. - EOT - undef $p; - print $h->title; # should print "Stupid example" - -=head1 SEE ALSO - -L<HTML::Parser>, L<HTTP::Headers> - -The C<HTTP::Headers> class is distributed as part of the -I<libwww-perl> package. If you don't have that distribution installed -you need to provide the $header argument to the C<HTML::HeadParser> -constructor with your own object that implements the documented -protocol. - -=head1 COPYRIGHT - -Copyright 1996-2001 Gisle Aas. All rights reserved. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm deleted file mode 100644 index d543a5aba7b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm +++ /dev/null @@ -1,187 +0,0 @@ -package HTML::LinkExtor; - -# $Id: LinkExtor.pm,v 1.33 2003/10/10 10:20:56 gisle Exp $ - -require HTML::Parser; -@ISA = qw(HTML::Parser); -$VERSION = sprintf("%d.%02d", q$Revision: 1.33 $ =~ /(\d+)\.(\d+)/); - -=head1 NAME - -HTML::LinkExtor - Extract links from an HTML document - -=head1 SYNOPSIS - - require HTML::LinkExtor; - $p = HTML::LinkExtor->new(\&cb, "http://www.perl.org/"); - sub cb { - my($tag, %links) = @_; - print "$tag @{[%links]}\n"; - } - $p->parse_file("index.html"); - -=head1 DESCRIPTION - -I<HTML::LinkExtor> is an HTML parser that extracts links from an -HTML document. The I<HTML::LinkExtor> is a subclass of -I<HTML::Parser>. This means that the document should be given to the -parser by calling the $p->parse() or $p->parse_file() methods. - -=cut - -use strict; -use HTML::Tagset (); - -# legacy (some applications grabs this hash directly) -use vars qw(%LINK_ELEMENT); -*LINK_ELEMENT = \%HTML::Tagset::linkElements; - -=over 4 - -=item $p = HTML::LinkExtor->new - -=item $p = HTML::LinkExtor->new( $callback ) - -=item $p = HTML::LinkExtor->new( $callback, $base ) - -The constructor takes two optional arguments. The first is a reference -to a callback routine. It will be called as links are found. If a -callback is not provided, then links are just accumulated internally -and can be retrieved by calling the $p->links() method. - -The $base argument is an optional base URL used to absolutize all URLs found. -You need to have the I<URI> module installed if you provide $base. - -The callback is called with the lowercase tag name as first argument, -and then all link attributes as separate key/value pairs. All -non-link attributes are removed. - -=cut - -sub new -{ - my($class, $cb, $base) = @_; - my $self = $class->SUPER::new( - start_h => ["_start_tag", "self,tagname,attr"], - report_tags => [keys %HTML::Tagset::linkElements], - ); - $self->{extractlink_cb} = $cb; - if ($base) { - require URI; - $self->{extractlink_base} = URI->new($base); - } - $self; -} - -sub _start_tag -{ - my($self, $tag, $attr) = @_; - - my $base = $self->{extractlink_base}; - my $links = $HTML::Tagset::linkElements{$tag}; - $links = [$links] unless ref $links; - - my @links; - my $a; - for $a (@$links) { - next unless exists $attr->{$a}; - push(@links, $a, $base ? URI->new($attr->{$a}, $base)->abs($base) - : $attr->{$a}); - } - return unless @links; - $self->_found_link($tag, @links); -} - -sub _found_link -{ - my $self = shift; - my $cb = $self->{extractlink_cb}; - if ($cb) { - &$cb(@_); - } else { - push(@{$self->{'links'}}, [@_]); - } -} - -=item $p->links - -Returns a list of all links found in the document. The returned -values will be anonymous arrays with the follwing elements: - - [$tag, $attr => $url1, $attr2 => $url2,...] - -The $p->links method will also truncate the internal link list. This -means that if the method is called twice without any parsing -between them the second call will return an empty list. - -Also note that $p->links will always be empty if a callback routine -was provided when the I<HTML::LinkExtor> was created. - -=cut - -sub links -{ - my $self = shift; - exists($self->{'links'}) ? @{delete $self->{'links'}} : (); -} - -# We override the parse_file() method so that we can clear the links -# before we start a new file. -sub parse_file -{ - my $self = shift; - delete $self->{'links'}; - $self->SUPER::parse_file(@_); -} - -=back - -=head1 EXAMPLE - -This is an example showing how you can extract links from a document -received using LWP: - - use LWP::UserAgent; - use HTML::LinkExtor; - use URI::URL; - - $url = "http://www.perl.org/"; # for instance - $ua = LWP::UserAgent->new; - - # Set up a callback that collect image links - my @imgs = (); - sub callback { - my($tag, %attr) = @_; - return if $tag ne 'img'; # we only look closer at <img ...> - push(@imgs, values %attr); - } - - # Make the parser. Unfortunately, we don't know the base yet - # (it might be diffent from $url) - $p = HTML::LinkExtor->new(\&callback); - - # Request document and parse it as it arrives - $res = $ua->request(HTTP::Request->new(GET => $url), - sub {$p->parse($_[0])}); - - # Expand all image URLs to absolute ones - my $base = $res->base; - @imgs = map { $_ = url($_, $base)->abs; } @imgs; - - # Print them out - print join("\n", @imgs), "\n"; - -=head1 SEE ALSO - -L<HTML::Parser>, L<HTML::Tagset>, L<LWP>, L<URI::URL> - -=head1 COPYRIGHT - -Copyright 1996-2001 Gisle Aas. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm deleted file mode 100644 index 72d5a9841fa..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm +++ /dev/null @@ -1,1233 +0,0 @@ -package HTML::Parser; - -# Copyright 1996-2007, Gisle Aas. -# Copyright 1999-2000, Michael A. Chase. -# -# This library is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -use strict; -use vars qw($VERSION @ISA); - -$VERSION = '3.56'; # $Date: 2007/01/12 09:18:31 $ - -require HTML::Entities; - -require XSLoader; -XSLoader::load('HTML::Parser', $VERSION); - -sub new -{ - my $class = shift; - my $self = bless {}, $class; - return $self->init(@_); -} - - -sub init -{ - my $self = shift; - $self->_alloc_pstate; - - my %arg = @_; - my $api_version = delete $arg{api_version} || (@_ ? 3 : 2); - if ($api_version >= 4) { - require Carp; - Carp::croak("API version $api_version not supported " . - "by HTML::Parser $VERSION"); - } - - if ($api_version < 3) { - # Set up method callbacks compatible with HTML-Parser-2.xx - $self->handler(text => "text", "self,text,is_cdata"); - $self->handler(end => "end", "self,tagname,text"); - $self->handler(process => "process", "self,token0,text"); - $self->handler(start => "start", - "self,tagname,attr,attrseq,text"); - - $self->handler(comment => - sub { - my($self, $tokens) = @_; - for (@$tokens) { - $self->comment($_); - } - }, "self,tokens"); - - $self->handler(declaration => - sub { - my $self = shift; - $self->declaration(substr($_[0], 2, -1)); - }, "self,text"); - } - - if (my $h = delete $arg{handlers}) { - $h = {@$h} if ref($h) eq "ARRAY"; - while (my($event, $cb) = each %$h) { - $self->handler($event => @$cb); - } - } - - # In the end we try to assume plain attribute or handler - while (my($option, $val) = each %arg) { - if ($option =~ /^(\w+)_h$/) { - $self->handler($1 => @$val); - } - elsif ($option =~ /^(text|start|end|process|declaration|comment)$/) { - require Carp; - Carp::croak("Bad constructor option '$option'"); - } - else { - $self->$option($val); - } - } - - return $self; -} - - -sub parse_file -{ - my($self, $file) = @_; - my $opened; - if (!ref($file) && ref(\$file) ne "GLOB") { - # Assume $file is a filename - local(*F); - open(F, $file) || return undef; - binmode(F); # should we? good for byte counts - $opened++; - $file = *F; - } - my $chunk = ''; - while (read($file, $chunk, 512)) { - $self->parse($chunk) || last; - } - close($file) if $opened; - $self->eof; -} - - -sub netscape_buggy_comment # legacy -{ - my $self = shift; - require Carp; - Carp::carp("netscape_buggy_comment() is deprecated. " . - "Please use the strict_comment() method instead"); - my $old = !$self->strict_comment; - $self->strict_comment(!shift) if @_; - return $old; -} - -# set up method stubs -sub text { } -*start = \&text; -*end = \&text; -*comment = \&text; -*declaration = \&text; -*process = \&text; - -1; - -__END__ - - -=head1 NAME - -HTML::Parser - HTML parser class - -=head1 SYNOPSIS - - use HTML::Parser (); - - # Create parser object - $p = HTML::Parser->new( api_version => 3, - start_h => [\&start, "tagname, attr"], - end_h => [\&end, "tagname"], - marked_sections => 1, - ); - - # Parse document text chunk by chunk - $p->parse($chunk1); - $p->parse($chunk2); - #... - $p->eof; # signal end of document - - # Parse directly from file - $p->parse_file("foo.html"); - # or - open(my $fh, "<:utf8", "foo.html") || die; - $p->parse_file($fh); - -=head1 DESCRIPTION - -Objects of the C<HTML::Parser> class will recognize markup and -separate it from plain text (alias data content) in HTML -documents. As different kinds of markup and text are recognized, the -corresponding event handlers are invoked. - -C<HTML::Parser> is not a generic SGML parser. We have tried to -make it able to deal with the HTML that is actually "out there", and -it normally parses as closely as possible to the way the popular web -browsers do it instead of strictly following one of the many HTML -specifications from W3C. Where there is disagreement, there is often -an option that you can enable to get the official behaviour. - -The document to be parsed may be supplied in arbitrary chunks. This -makes on-the-fly parsing as documents are received from the network -possible. - -If event driven parsing does not feel right for your application, you -might want to use C<HTML::PullParser>. This is an C<HTML::Parser> -subclass that allows a more conventional program structure. - - -=head1 METHODS - -The following method is used to construct a new C<HTML::Parser> object: - -=over - -=item $p = HTML::Parser->new( %options_and_handlers ) - -This class method creates a new C<HTML::Parser> object and -returns it. Key/value argument pairs may be provided to assign event -handlers or initialize parser options. The handlers and parser -options can also be set or modified later by the method calls described below. - -If a top level key is in the form "<event>_h" (e.g., "text_h") then it -assigns a handler to that event, otherwise it initializes a parser -option. The event handler specification value must be an array -reference. Multiple handlers may also be assigned with the 'handlers -=> [%handlers]' option. See examples below. - -If new() is called without any arguments, it will create a parser that -uses callback methods compatible with version 2 of C<HTML::Parser>. -See the section on "version 2 compatibility" below for details. - -The special constructor option 'api_version => 2' can be used to -initialize version 2 callbacks while still setting other options and -handlers. The 'api_version => 3' option can be used if you don't want -to set any options and don't want to fall back to v2 compatible -mode. - -Examples: - - $p = HTML::Parser->new(api_version => 3, - text_h => [ sub {...}, "dtext" ]); - -This creates a new parser object with a text event handler subroutine -that receives the original text with general entities decoded. - - $p = HTML::Parser->new(api_version => 3, - start_h => [ 'my_start', "self,tokens" ]); - -This creates a new parser object with a start event handler method -that receives the $p and the tokens array. - - $p = HTML::Parser->new(api_version => 3, - handlers => { text => [\@array, "event,text"], - comment => [\@array, "event,text"], - }); - -This creates a new parser object that stores the event type and the -original text in @array for text and comment events. - -=back - -The following methods feed the HTML document -to the C<HTML::Parser> object: - -=over - -=item $p->parse( $string ) - -Parse $string as the next chunk of the HTML document. The return -value is normally a reference to the parser object (i.e. $p). -Handlers invoked should not attempt to modify the $string in-place until -$p->parse returns. - -If an invoked event handler aborts parsing by calling $p->eof, then -$p->parse() will return a FALSE value. - -=item $p->parse( $code_ref ) - -If a code reference is passed as the argument to be parsed, then the -chunks to be parsed are obtained by invoking this function repeatedly. -Parsing continues until the function returns an empty (or undefined) -result. When this happens $p->eof is automatically signaled. - -Parsing will also abort if one of the event handlers calls $p->eof. - -The effect of this is the same as: - - while (1) { - my $chunk = &$code_ref(); - if (!defined($chunk) || !length($chunk)) { - $p->eof; - return $p; - } - $p->parse($chunk) || return undef; - } - -But it is more efficient as this loop runs internally in XS code. - -=item $p->parse_file( $file ) - -Parse text directly from a file. The $file argument can be a -filename, an open file handle, or a reference to an open file -handle. - -If $file contains a filename and the file can't be opened, then the -method returns an undefined value and $! tells why it failed. -Otherwise the return value is a reference to the parser object. - -If a file handle is passed as the $file argument, then the file will -normally be read until EOF, but not closed. - -If an invoked event handler aborts parsing by calling $p->eof, -then $p->parse_file() may not have read the entire file. - -On systems with multi-byte line terminators, the values passed for the -offset and length argspecs may be too low if parse_file() is called on -a file handle that is not in binary mode. - -If a filename is passed in, then parse_file() will open the file in -binary mode. - -=item $p->eof - -Signals the end of the HTML document. Calling the $p->eof method -outside a handler callback will flush any remaining buffered text -(which triggers the C<text> event if there is any remaining text). - -Calling $p->eof inside a handler will terminate parsing at that point -and cause $p->parse to return a FALSE value. This also terminates -parsing by $p->parse_file(). - -After $p->eof has been called, the parse() and parse_file() methods -can be invoked to feed new documents with the parser object. - -The return value from eof() is a reference to the parser object. - -=back - - -Most parser options are controlled by boolean attributes. -Each boolean attribute is enabled by calling the corresponding method -with a TRUE argument and disabled with a FALSE argument. The -attribute value is left unchanged if no argument is given. The return -value from each method is the old attribute value. - -Methods that can be used to get and/or set parser options are: - -=over - -=item $p->attr_encoded - -=item $p->attr_encoded( $bool ) - -By default, the C<attr> and C<@attr> argspecs will have general -entities for attribute values decoded. Enabling this attribute leaves -entities alone. - -=item $p->boolean_attribute_value( $val ) - -This method sets the value reported for boolean attributes inside HTML -start tags. By default, the name of the attribute is also used as its -value. This affects the values reported for C<tokens> and C<attr> -argspecs. - -=item $p->case_sensitive - -=item $p->case_sensitive( $bool ) - -By default, tagnames and attribute names are down-cased. Enabling this -attribute leaves them as found in the HTML source document. - -=item $p->closing_plaintext - -=item $p->closing_plaintext( $bool ) - -By default, "plaintext" element can never be closed. Everything up to -the end of the document is parsed in CDATA mode. This historical -behaviour is what at least MSIE does. Enabling this attribute makes -closing "</plaintext>" tag effective and the parsing process will resume -after seeing this tag. This emulates gecko-based browsers. - -=item $p->empty_element_tags - -=item $p->empty_element_tags( $bool ) - -By default, empty element tags are not recognized as such and the "/" -before ">" is just treated like a normal name character (unless -C<strict_names> is enabled). Enabling this attribute make -C<HTML::Parser> recognize these tags. - -Empty element tags look like start tags, but end with the character -sequence "/>" instead of ">". When recognized by C<HTML::Parser> they -cause an artificial end event in addition to the start event. The -C<text> for the artificial end event will be empty and the C<tokenpos> -array will be undefined even though the the token array will have one -element containing the tag name. - -=item $p->marked_sections - -=item $p->marked_sections( $bool ) - -By default, section markings like <![CDATA[...]]> are treated like -ordinary text. When this attribute is enabled section markings are -honoured. - -There are currently no events associated with the marked section -markup, but the text can be returned as C<skipped_text>. - -=item $p->strict_comment - -=item $p->strict_comment( $bool ) - -By default, comments are terminated by the first occurrence of "-->". -This is the behaviour of most popular browsers (like Mozilla, Opera and -MSIE), but it is not correct according to the official HTML -standard. Officially, you need an even number of "--" tokens before -the closing ">" is recognized and there may not be anything but -whitespace between an even and an odd "--". - -The official behaviour is enabled by enabling this attribute. - -Enabling of 'strict_comment' also disables recognizing these forms as -comments: - - </ comment> - <! comment> - - -=item $p->strict_end - -=item $p->strict_end( $bool ) - -By default, attributes and other junk are allowed to be present on end tags in a -manner that emulates MSIE's behaviour. - -The official behaviour is enabled with this attribute. If enabled, -only whitespace is allowed between the tagname and the final ">". - -=item $p->strict_names - -=item $p->strict_names( $bool ) - -By default, almost anything is allowed in tag and attribute names. -This is the behaviour of most popular browsers and allows us to parse -some broken tags with invalid attribute values like: - - <IMG SRC=newprevlstGr.gif ALT=[PREV LIST] BORDER=0> - -By default, "LIST]" is parsed as a boolean attribute, not as -part of the ALT value as was clearly intended. This is also what -Mozilla sees. - -The official behaviour is enabled by enabling this attribute. If -enabled, it will cause the tag above to be reported as text -since "LIST]" is not a legal attribute name. - -=item $p->unbroken_text - -=item $p->unbroken_text( $bool ) - -By default, blocks of text are given to the text handler as soon as -possible (but the parser takes care always to break text at a -boundary between whitespace and non-whitespace so single words and -entities can always be decoded safely). This might create breaks that -make it hard to do transformations on the text. When this attribute is -enabled, blocks of text are always reported in one piece. This will -delay the text event until the following (non-text) event has been -recognized by the parser. - -Note that the C<offset> argspec will give you the offset of the first -segment of text and C<length> is the combined length of the segments. -Since there might be ignored tags in between, these numbers can't be -used to directly index in the original document file. - -=item $p->utf8_mode - -=item $p->utf8_mode( $bool ) - -Enable this option when parsing raw undecoded UTF-8. This tells the -parser that the entities expanded for strings reported by C<attr>, -C<@attr> and C<dtext> should be expanded as decoded UTF-8 so they end -up compatible with the surrounding text. - -If C<utf8_mode> is enabled then it is an error to pass strings -containing characters with code above 255 to the parse() method, and -the parse() method will croak if you try. - -Example: The Unicode character "\x{2665}" is "\xE2\x99\xA5" when UTF-8 -encoded. The character can also be represented by the entity -"♥" or "♥". If we feed the parser: - - $p->parse("\xE2\x99\xA5♥"); - -then C<dtext> will be reported as "\xE2\x99\xA5\x{2665}" without -C<utf8_mode> enabled, but as "\xE2\x99\xA5\xE2\x99\xA5" when enabled. -The later string is what you want. - -This option is only available with perl-5.8 or better. - -=item $p->xml_mode - -=item $p->xml_mode( $bool ) - -Enabling this attribute changes the parser to allow some XML -constructs. This enables the behaviour controlled by individually by -the C<case_sensitive>, C<empty_element_tags>, C<strict_names> and -C<xml_pic> attributes and also suppresses special treatment of -elements that are parsed as CDATA for HTML. - -=item $p->xml_pic - -=item $p->xml_pic( $bool ) - -By default, I<processing instructions> are terminated by ">". When -this attribute is enabled, processing instructions are terminated by -"?>" instead. - -=back - -As markup and text is recognized, handlers are invoked. The following -method is used to set up handlers for different events: - -=over - -=item $p->handler( event => \&subroutine, $argspec ) - -=item $p->handler( event => $method_name, $argspec ) - -=item $p->handler( event => \@accum, $argspec ) - -=item $p->handler( event => "" ); - -=item $p->handler( event => undef ); - -=item $p->handler( event ); - -This method assigns a subroutine, method, or array to handle an event. - -Event is one of C<text>, C<start>, C<end>, C<declaration>, C<comment>, -C<process>, C<start_document>, C<end_document> or C<default>. - -The C<\&subroutine> is a reference to a subroutine which is called to handle -the event. - -The C<$method_name> is the name of a method of $p which is called to handle -the event. - -The C<@accum> is an array that will hold the event information as -sub-arrays. - -If the second argument is "", the event is ignored. -If it is undef, the default handler is invoked for the event. - -The C<$argspec> is a string that describes the information to be reported -for the event. Any requested information that does not apply to a -specific event is passed as C<undef>. If argspec is omitted, then it -is left unchanged. - -The return value from $p->handler is the old callback routine or a -reference to the accumulator array. - -Any return values from handler callback routines/methods are always -ignored. A handler callback can request parsing to be aborted by -invoking the $p->eof method. A handler callback is not allowed to -invoke the $p->parse() or $p->parse_file() method. An exception will -be raised if it tries. - -Examples: - - $p->handler(start => "start", 'self, attr, attrseq, text' ); - -This causes the "start" method of object $p to be called for 'start' events. -The callback signature is $p->start(\%attr, \@attr_seq, $text). - - $p->handler(start => \&start, 'attr, attrseq, text' ); - -This causes subroutine start() to be called for 'start' events. -The callback signature is start(\%attr, \@attr_seq, $text). - - $p->handler(start => \@accum, '"S", attr, attrseq, text' ); - -This causes 'start' event information to be saved in @accum. -The array elements will be ['S', \%attr, \@attr_seq, $text]. - - $p->handler(start => ""); - -This causes 'start' events to be ignored. It also suppresses -invocations of any default handler for start events. It is in most -cases equivalent to $p->handler(start => sub {}), but is more -efficient. It is different from the empty-sub-handler in that -C<skipped_text> is not reset by it. - - $p->handler(start => undef); - -This causes no handler to be associated with start events. -If there is a default handler it will be invoked. - -=back - -Filters based on tags can be set up to limit the number of events -reported. The main bottleneck during parsing is often the huge number -of callbacks made from the parser. Applying filters can improve -performance significantly. - -The following methods control filters: - -=over - -=item $p->ignore_elements( @tags ) - -Both the C<start> event and the C<end> event as well as any events that -would be reported in between are suppressed. The ignored elements can -contain nested occurrences of itself. Example: - - $p->ignore_elements(qw(script style)); - -The C<script> and C<style> tags will always nest properly since their -content is parsed in CDATA mode. For most other tags -C<ignore_elements> must be used with caution since HTML is often not -I<well formed>. - -=item $p->ignore_tags( @tags ) - -Any C<start> and C<end> events involving any of the tags given are -suppressed. To reset the filter (i.e. don't suppress any C<start> and -C<end> events), call C<ignore_tags> without an argument. - -=item $p->report_tags( @tags ) - -Any C<start> and C<end> events involving any of the tags I<not> given -are suppressed. To reset the filter (i.e. report all C<start> and -C<end> events), call C<report_tags> without an argument. - -=back - -Internally, the system has two filter lists, one for C<report_tags> -and one for C<ignore_tags>, and both filters are applied. This -effectively gives C<ignore_tags> precedence over C<report_tags>. - -Examples: - - $p->ignore_tags(qw(style)); - $p->report_tags(qw(script style)); - -results in only C<script> events being reported. - -=head2 Argspec - -Argspec is a string containing a comma-separated list that describes -the information reported by the event. The following argspec -identifier names can be used: - -=over - -=item C<attr> - -Attr causes a reference to a hash of attribute name/value pairs to be -passed. - -Boolean attributes' values are either the value set by -$p->boolean_attribute_value, or the attribute name if no value has been -set by $p->boolean_attribute_value. - -This passes undef except for C<start> events. - -Unless C<xml_mode> or C<case_sensitive> is enabled, the attribute -names are forced to lower case. - -General entities are decoded in the attribute values and -one layer of matching quotes enclosing the attribute values is removed. - -The Unicode character set is assumed for entity decoding. With Perl -version 5.6 or earlier only the Latin-1 range is supported, and -entities for characters outside the range 0..255 are left unchanged. - -=item C<@attr> - -Basically the same as C<attr>, but keys and values are passed as -individual arguments and the original sequence of the attributes is -kept. The parameters passed will be the same as the @attr calculated -here: - - @attr = map { $_ => $attr->{$_} } @$attrseq; - -assuming $attr and $attrseq here are the hash and array passed as the -result of C<attr> and C<attrseq> argspecs. - -This passes no values for events besides C<start>. - -=item C<attrseq> - -Attrseq causes a reference to an array of attribute names to be -passed. This can be useful if you want to walk the C<attr> hash in -the original sequence. - -This passes undef except for C<start> events. - -Unless C<xml_mode> or C<case_sensitive> is enabled, the attribute -names are forced to lower case. - -=item C<column> - -Column causes the column number of the start of the event to be passed. -The first column on a line is 0. - -=item C<dtext> - -Dtext causes the decoded text to be passed. General entities are -automatically decoded unless the event was inside a CDATA section or -was between literal start and end tags (C<script>, C<style>, -C<xmp>, and C<plaintext>). - -The Unicode character set is assumed for entity decoding. With Perl -version 5.6 or earlier only the Latin-1 range is supported, and -entities for characters outside the range 0..255 are left unchanged. - -This passes undef except for C<text> events. - -=item C<event> - -Event causes the event name to be passed. - -The event name is one of C<text>, C<start>, C<end>, C<declaration>, -C<comment>, C<process>, C<start_document> or C<end_document>. - -=item C<is_cdata> - -Is_cdata causes a TRUE value to be passed if the event is inside a CDATA -section or between literal start and end tags (C<script>, -C<style>, C<xmp>, and C<plaintext>). - -if the flag is FALSE for a text event, then you should normally -either use C<dtext> or decode the entities yourself before the text is -processed further. - -=item C<length> - -Length causes the number of bytes of the source text of the event to -be passed. - -=item C<line> - -Line causes the line number of the start of the event to be passed. -The first line in the document is 1. Line counting doesn't start -until at least one handler requests this value to be reported. - -=item C<offset> - -Offset causes the byte position in the HTML document of the start of -the event to be passed. The first byte in the document has offset 0. - -=item C<offset_end> - -Offset_end causes the byte position in the HTML document of the end of -the event to be passed. This is the same as C<offset> + C<length>. - -=item C<self> - -Self causes the current object to be passed to the handler. If the -handler is a method, this must be the first element in the argspec. - -An alternative to passing self as an argspec is to register closures -that capture $self by themselves as handlers. Unfortunately this -creates circular references which prevent the HTML::Parser object -from being garbage collected. Using the C<self> argspec avoids this -problem. - -=item C<skipped_text> - -Skipped_text returns the concatenated text of all the events that have -been skipped since the last time an event was reported. Events might -be skipped because no handler is registered for them or because some -filter applies. Skipped text also includes marked section markup, -since there are no events that can catch it. - -If an C<"">-handler is registered for an event, then the text for this -event is not included in C<skipped_text>. Skipped text both before -and after the C<"">-event is included in the next reported -C<skipped_text>. - -=item C<tag> - -Same as C<tagname>, but prefixed with "/" if it belongs to an C<end> -event and "!" for a declaration. The C<tag> does not have any prefix -for C<start> events, and is in this case identical to C<tagname>. - -=item C<tagname> - -This is the element name (or I<generic identifier> in SGML jargon) for -start and end tags. Since HTML is case insensitive, this name is -forced to lower case to ease string matching. - -Since XML is case sensitive, the tagname case is not changed when -C<xml_mode> is enabled. The same happens if the C<case_sensitive> attribute -is set. - -The declaration type of declaration elements is also passed as a tagname, -even if that is a bit strange. -In fact, in the current implementation tagname is -identical to C<token0> except that the name may be forced to lower case. - -=item C<token0> - -Token0 causes the original text of the first token string to be -passed. This should always be the same as $tokens->[0]. - -For C<declaration> events, this is the declaration type. - -For C<start> and C<end> events, this is the tag name. - -For C<process> and non-strict C<comment> events, this is everything -inside the tag. - -This passes undef if there are no tokens in the event. - -=item C<tokenpos> - -Tokenpos causes a reference to an array of token positions to be -passed. For each string that appears in C<tokens>, this array -contains two numbers. The first number is the offset of the start of -the token in the original C<text> and the second number is the length -of the token. - -Boolean attributes in a C<start> event will have (0,0) for the -attribute value offset and length. - -This passes undef if there are no tokens in the event (e.g., C<text>) -and for artificial C<end> events triggered by empty element tags. - -If you are using these offsets and lengths to modify C<text>, you -should either work from right to left, or be very careful to calculate -the changes to the offsets. - -=item C<tokens> - -Tokens causes a reference to an array of token strings to be passed. -The strings are exactly as they were found in the original text, -no decoding or case changes are applied. - -For C<declaration> events, the array contains each word, comment, and -delimited string starting with the declaration type. - -For C<comment> events, this contains each sub-comment. If -$p->strict_comments is disabled, there will be only one sub-comment. - -For C<start> events, this contains the original tag name followed by -the attribute name/value pairs. The values of boolean attributes will -be either the value set by $p->boolean_attribute_value, or the -attribute name if no value has been set by -$p->boolean_attribute_value. - -For C<end> events, this contains the original tag name (always one token). - -For C<process> events, this contains the process instructions (always one -token). - -This passes C<undef> for C<text> events. - -=item C<text> - -Text causes the source text (including markup element delimiters) to be -passed. - -=item C<undef> - -Pass an undefined value. Useful as padding where the same handler -routine is registered for multiple events. - -=item C<'...'> - -A literal string of 0 to 255 characters enclosed -in single (') or double (") quotes is passed as entered. - -=back - -The whole argspec string can be wrapped up in C<'@{...}'> to signal -that the resulting event array should be flattened. This only makes a -difference if an array reference is used as the handler target. -Consider this example: - - $p->handler(text => [], 'text'); - $p->handler(text => [], '@{text}']); - -With two text events; C<"foo">, C<"bar">; then the first example will end -up with [["foo"], ["bar"]] and the second with ["foo", "bar"] in -the handler target array. - - -=head2 Events - -Handlers for the following events can be registered: - -=over - -=item C<comment> - -This event is triggered when a markup comment is recognized. - -Example: - - <!-- This is a comment -- -- So is this --> - -=item C<declaration> - -This event is triggered when a I<markup declaration> is recognized. - -For typical HTML documents, the only declaration you are -likely to find is <!DOCTYPE ...>. - -Example: - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" - "http://www.w3.org/TR/html40/strict.dtd"> - -DTDs inside <!DOCTYPE ...> will confuse HTML::Parser. - -=item C<default> - -This event is triggered for events that do not have a specific -handler. You can set up a handler for this event to catch stuff you -did not want to catch explicitly. - -=item C<end> - -This event is triggered when an end tag is recognized. - -Example: - - </A> - -=item C<end_document> - -This event is triggered when $p->eof is called and after any remaining -text is flushed. There is no document text associated with this event. - -=item C<process> - -This event is triggered when a processing instructions markup is -recognized. - -The format and content of processing instructions are system and -application dependent. - -Examples: - - <? HTML processing instructions > - <? XML processing instructions ?> - -=item C<start> - -This event is triggered when a start tag is recognized. - -Example: - - <A HREF="http://www.perl.com/"> - -=item C<start_document> - -This event is triggered before any other events for a new document. A -handler for it can be used to initialize stuff. There is no document -text associated with this event. - -=item C<text> - -This event is triggered when plain text (characters) is recognized. -The text may contain multiple lines. A sequence of text may be broken -between several text events unless $p->unbroken_text is enabled. - -The parser will make sure that it does not break a word or a sequence -of whitespace between two text events. - -=back - -=head2 Unicode - -The C<HTML::Parser> can parse Unicode strings when running under -perl-5.8 or better. If Unicode is passed to $p->parse() then chunks -of Unicode will be reported to the handlers. The offset and length -argspecs will also report their position in terms of characters. - -It is safe to parse raw undecoded UTF-8 if you either avoid decoding -entities and make sure to not use I<argspecs> that do, or enable the -C<utf8_mode> for the parser. Parsing of undecoded UTF-8 might be -useful when parsing from a file where you need the reported offsets -and lengths to match the byte offsets in the file. - -If a filename is passed to $p->parse_file() then the file will be read -in binary mode. This will be fine if the file contains only ASCII or -Latin-1 characters. If the file contains UTF-8 encoded text then care -must be taken when decoding entities as described in the previous -paragraph, but better is to open the file with the UTF-8 layer so that -it is decoded properly: - - open(my $fh, "<:utf8", "index.html") || die "...: $!"; - $p->parse_file($fh); - -If the file contains text encoded in a charset besides ASCII, Latin-1 -or UTF-8 then decoding will always be needed. - -=head1 VERSION 2 COMPATIBILITY - -When an C<HTML::Parser> object is constructed with no arguments, a set -of handlers is automatically provided that is compatible with the old -HTML::Parser version 2 callback methods. - -This is equivalent to the following method calls: - - $p->handler(start => "start", "self, tagname, attr, attrseq, text"); - $p->handler(end => "end", "self, tagname, text"); - $p->handler(text => "text", "self, text, is_cdata"); - $p->handler(process => "process", "self, token0, text"); - $p->handler(comment => - sub { - my($self, $tokens) = @_; - for (@$tokens) {$self->comment($_);}}, - "self, tokens"); - $p->handler(declaration => - sub { - my $self = shift; - $self->declaration(substr($_[0], 2, -1));}, - "self, text"); - -Setting up these handlers can also be requested with the "api_version => -2" constructor option. - -=head1 SUBCLASSING - -The C<HTML::Parser> class is subclassable. Parser objects are plain -hashes and C<HTML::Parser> reserves only hash keys that start with -"_hparser". The parser state can be set up by invoking the init() -method, which takes the same arguments as new(). - -=head1 EXAMPLES - -The first simple example shows how you might strip out comments from -an HTML document. We achieve this by setting up a comment handler that -does nothing and a default handler that will print out anything else: - - use HTML::Parser; - HTML::Parser->new(default_h => [sub { print shift }, 'text'], - comment_h => [""], - )->parse_file(shift || die) || die $!; - -An alternative implementation is: - - use HTML::Parser; - HTML::Parser->new(end_document_h => [sub { print shift }, - 'skipped_text'], - comment_h => [""], - )->parse_file(shift || die) || die $!; - -This will in most cases be much more efficient since only a single -callback will be made. - -The next example prints out the text that is inside the <title> -element of an HTML document. Here we start by setting up a start -handler. When it sees the title start tag it enables a text handler -that prints any text found and an end handler that will terminate -parsing as soon as the title end tag is seen: - - use HTML::Parser (); - - sub start_handler - { - return if shift ne "title"; - my $self = shift; - $self->handler(text => sub { print shift }, "dtext"); - $self->handler(end => sub { shift->eof if shift eq "title"; }, - "tagname,self"); - } - - my $p = HTML::Parser->new(api_version => 3); - $p->handler( start => \&start_handler, "tagname,self"); - $p->parse_file(shift || die) || die $!; - print "\n"; - -More examples are found in the F<eg/> directory of the C<HTML-Parser> -distribution: the program C<hrefsub> shows how you can edit all links -found in a document; the program C<htextsub> shows how to edit the text only; the -program C<hstrip> shows how you can strip out certain tags/elements -and/or attributes; and the program C<htext> show how to obtain the -plain text, but not any script/style content. - -You can browse the F<eg/> directory online from the I<[Browse]> link on -the http://search.cpan.org/~gaas/HTML-Parser/ page. - -=head1 BUGS - -The <style> and <script> sections do not end with the first "</", but -need the complete corresponding end tag. The standard behaviour is -not really practical. - -When the I<strict_comment> option is enabled, we still recognize -comments where there is something other than whitespace between even -and odd "--" markers. - -Once $p->boolean_attribute_value has been set, there is no way to -restore the default behaviour. - -There is currently no way to get both quote characters -into the same literal argspec. - -Empty tags, e.g. "<>" and "</>", are not recognized. SGML allows them -to repeat the previous start tag or close the previous start tag -respectively. - -NET tags, e.g. "code/.../" are not recognized. This is SGML -shorthand for "<code>...</code>". - -Unclosed start or end tags, e.g. "<tt<b>...</b</tt>" are not -recognized. - -=head1 DIAGNOSTICS - -The following messages may be produced by HTML::Parser. The notation -in this listing is the same as used in L<perldiag>: - -=over - -=item Not a reference to a hash - -(F) The object blessed into or subclassed from HTML::Parser is not a -hash as required by the HTML::Parser methods. - -=item Bad signature in parser state object at %p - -(F) The _hparser_xs_state element does not refer to a valid state structure. -Something must have changed the internal value -stored in this hash element, or the memory has been overwritten. - -=item _hparser_xs_state element is not a reference - -(F) The _hparser_xs_state element has been destroyed. - -=item Can't find '_hparser_xs_state' element in HTML::Parser hash - -(F) The _hparser_xs_state element is missing from the parser hash. -It was either deleted, or not created when the object was created. - -=item API version %s not supported by HTML::Parser %s - -(F) The constructor option 'api_version' with an argument greater than -or equal to 4 is reserved for future extensions. - -=item Bad constructor option '%s' - -(F) An unknown constructor option key was passed to the new() or -init() methods. - -=item Parse loop not allowed - -(F) A handler invoked the parse() or parse_file() method. -This is not permitted. - -=item marked sections not supported - -(F) The $p->marked_sections() method was invoked in a HTML::Parser -module that was compiled without support for marked sections. - -=item Unknown boolean attribute (%d) - -(F) Something is wrong with the internal logic that set up aliases for -boolean attributes. - -=item Only code or array references allowed as handler - -(F) The second argument for $p->handler must be either a subroutine -reference, then name of a subroutine or method, or a reference to an -array. - -=item No handler for %s events - -(F) The first argument to $p->handler must be a valid event name; i.e. one -of "start", "end", "text", "process", "declaration" or "comment". - -=item Unrecognized identifier %s in argspec - -(F) The identifier is not a known argspec name. -Use one of the names mentioned in the argspec section above. - -=item Literal string is longer than 255 chars in argspec - -(F) The current implementation limits the length of literals in -an argspec to 255 characters. Make the literal shorter. - -=item Backslash reserved for literal string in argspec - -(F) The backslash character "\" is not allowed in argspec literals. -It is reserved to permit quoting inside a literal in a later version. - -=item Unterminated literal string in argspec - -(F) The terminating quote character for a literal was not found. - -=item Bad argspec (%s) - -(F) Only identifier names, literals, spaces and commas -are allowed in argspecs. - -=item Missing comma separator in argspec - -(F) Identifiers in an argspec must be separated with ",". - -=item Parsing of undecoded UTF-8 will give garbage when decoding entities - -(W) The first chunk parsed appears to contain undecoded UTF-8 and one -or more argspecs that decode entities are used for the callback -handlers. - -The result of decoding will be a mix of encoded and decoded characters -for any entities that expand to characters with code above 127. This -is not a good thing. - -The solution is to use the Encode::encode_utf8() on the data before -feeding it to the $p->parse(). For $p->parse_file() pass a file that -has been opened in ":utf8" mode. - -The parser can process raw undecoded UTF-8 sanely if the C<utf8_mode> -is enabled or if the "attr", "@attr" or "dtext" argspecs is avoided. - -=item Parsing string decoded with wrong endianess - -(W) The first character in the document is U+FFFE. This is not a -legal Unicode character but a byte swapped BOM. The result of parsing -will likely be garbage. - -=item Parsing of undecoded UTF-32 - -(W) The parser found the Unicode UTF-32 BOM signature at the start -of the document. The result of parsing will likely be garbage. - -=item Parsing of undecoded UTF-16 - -(W) The parser found the Unicode UTF-16 BOM signature at the start of -the document. The result of parsing will likely be garbage. - -=back - -=head1 SEE ALSO - -L<HTML::Entities>, L<HTML::PullParser>, L<HTML::TokeParser>, L<HTML::HeadParser>, -L<HTML::LinkExtor>, L<HTML::Form> - -L<HTML::TreeBuilder> (part of the I<HTML-Tree> distribution) - -http://www.w3.org/TR/html4 - -More information about marked sections and processing instructions may -be found at C<http://www.sgml.u-net.com/book/sgml-8.htm>. - -=head1 COPYRIGHT - - Copyright 1996-2007 Gisle Aas. All rights reserved. - Copyright 1999-2000 Michael A. Chase. All rights reserved. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm deleted file mode 100644 index e851fe001d4..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm +++ /dev/null @@ -1,211 +0,0 @@ -package HTML::PullParser; - -# $Id: PullParser.pm,v 2.9 2006/04/26 08:00:28 gisle Exp $ - -require HTML::Parser; -@ISA=qw(HTML::Parser); -$VERSION = sprintf("%d.%02d", q$Revision: 2.9 $ =~ /(\d+)\.(\d+)/); - -use strict; -use Carp (); - -sub new -{ - my($class, %cnf) = @_; - - # Construct argspecs for the various events - my %argspec; - for (qw(start end text declaration comment process default)) { - my $tmp = delete $cnf{$_}; - next unless defined $tmp; - $argspec{$_} = $tmp; - } - Carp::croak("Info not collected for any events") - unless %argspec; - - my $file = delete $cnf{file}; - my $doc = delete $cnf{doc}; - Carp::croak("Can't parse from both 'doc' and 'file' at the same time") - if defined($file) && defined($doc); - Carp::croak("No 'doc' or 'file' given to parse from") - unless defined($file) || defined($doc); - - # Create object - $cnf{api_version} = 3; - my $self = $class->SUPER::new(%cnf); - - my $accum = $self->{pullparser_accum} = []; - while (my($event, $argspec) = each %argspec) { - $self->SUPER::handler($event => $accum, $argspec); - } - - if (defined $doc) { - $self->{pullparser_str_ref} = ref($doc) ? $doc : \$doc; - $self->{pullparser_str_pos} = 0; - } - else { - if (!ref($file) && ref(\$file) ne "GLOB") { - require IO::File; - $file = IO::File->new($file, "r") || return; - } - - $self->{pullparser_file} = $file; - } - $self; -} - - -sub handler -{ - Carp::croak("Can't set handlers for HTML::PullParser"); -} - - -sub get_token -{ - my $self = shift; - while (!@{$self->{pullparser_accum}} && !$self->{pullparser_eof}) { - if (my $f = $self->{pullparser_file}) { - # must try to parse more from the file - my $buf; - if (read($f, $buf, 512)) { - $self->parse($buf); - } else { - $self->eof; - $self->{pullparser_eof}++; - delete $self->{pullparser_file}; - } - } - elsif (my $sref = $self->{pullparser_str_ref}) { - # must try to parse more from the scalar - my $pos = $self->{pullparser_str_pos}; - my $chunk = substr($$sref, $pos, 512); - $self->parse($chunk); - $pos += length($chunk); - if ($pos < length($$sref)) { - $self->{pullparser_str_pos} = $pos; - } - else { - $self->eof; - $self->{pullparser_eof}++; - delete $self->{pullparser_str_ref}; - delete $self->{pullparser_str_pos}; - } - } - else { - die; - } - } - shift @{$self->{pullparser_accum}}; -} - - -sub unget_token -{ - my $self = shift; - unshift @{$self->{pullparser_accum}}, @_; - $self; -} - -1; - - -__END__ - -=head1 NAME - -HTML::PullParser - Alternative HTML::Parser interface - -=head1 SYNOPSIS - - use HTML::PullParser; - - $p = HTML::PullParser->new(file => "index.html", - start => 'event, tagname, @attr', - end => 'event, tagname', - ignore_elements => [qw(script style)], - ) || die "Can't open: $!"; - while (my $token = $p->get_token) { - #...do something with $token - } - -=head1 DESCRIPTION - -The HTML::PullParser is an alternative interface to the HTML::Parser class. -It basically turns the HTML::Parser inside out. You associate a file -(or any IO::Handle object or string) with the parser at construction time and -then repeatedly call $parser->get_token to obtain the tags and text -found in the parsed document. - -The following methods are provided: - -=over 4 - -=item $p = HTML::PullParser->new( file => $file, %options ) - -=item $p = HTML::PullParser->new( doc => \$doc, %options ) - -A C<HTML::PullParser> can be made to parse from either a file or a -literal document based on whether the C<file> or C<doc> option is -passed to the parser's constructor. - -The C<file> passed in can either be a file name or a file handle -object. If a file name is passed, and it can't be opened for reading, -then the constructor will return an undefined value and $! will tell -you why it failed. Otherwise the argument is taken to be some object -that the C<HTML::PullParser> can read() from when it needs more data. -The stream will be read() until EOF, but not closed. - -A C<doc> can be passed plain or as a reference -to a scalar. If a reference is passed then the value of this scalar -should not be changed before all tokens have been extracted. - -Next the information to be returned for the different token types must -be set up. This is done by simply associating an argspec (as defined -in L<HTML::Parser>) with the events you have an interest in. For -instance, if you want C<start> tokens to be reported as the string -C<'S'> followed by the tagname and the attributes you might pass an -C<start>-option like this: - - $p = HTML::PullParser->new( - doc => $document_to_parse, - start => '"S", tagname, @attr', - end => '"E", tagname', - ); - -At last other C<HTML::Parser> options, like C<ignore_tags>, and -C<unbroken_text>, can be passed in. Note that you should not use the -I<event>_h options to set up parser handlers. That would confuse the -inner logic of C<HTML::PullParser>. - -=item $token = $p->get_token - -This method will return the next I<token> found in the HTML document, -or C<undef> at the end of the document. The token is returned as an -array reference. The content of this array match the argspec set up -during C<HTML::PullParser> construction. - -=item $p->unget_token( @tokens ) - -If you find out you have read too many tokens you can push them back, -so that they are returned again the next time $p->get_token is called. - -=back - -=head1 EXAMPLES - -The 'eg/hform' script shows how we might parse the form section of -HTML::Documents using HTML::PullParser. - -=head1 SEE ALSO - -L<HTML::Parser>, L<HTML::TokeParser> - -=head1 COPYRIGHT - -Copyright 1998-2001 Gisle Aas. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm deleted file mode 100644 index a1b8837cb4d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm +++ /dev/null @@ -1,371 +0,0 @@ -package HTML::TokeParser; - -# $Id: TokeParser.pm,v 2.37 2006/04/26 08:00:28 gisle Exp $ - -require HTML::PullParser; -@ISA=qw(HTML::PullParser); -$VERSION = sprintf("%d.%02d", q$Revision: 2.37 $ =~ /(\d+)\.(\d+)/); - -use strict; -use Carp (); -use HTML::Entities qw(decode_entities); -use HTML::Tagset (); - -my %ARGS = -( - start => "'S',tagname,attr,attrseq,text", - end => "'E',tagname,text", - text => "'T',text,is_cdata", - process => "'PI',token0,text", - comment => "'C',text", - declaration => "'D',text", - - # options that default on - unbroken_text => 1, -); - - -sub new -{ - my $class = shift; - my %cnf; - if (@_ == 1) { - my $type = (ref($_[0]) eq "SCALAR") ? "doc" : "file"; - %cnf = ($type => $_[0]); - } - else { - %cnf = @_; - } - - my $textify = delete $cnf{textify} || {img => "alt", applet => "alt"}; - - my $self = $class->SUPER::new(%cnf, %ARGS) || return undef; - - $self->{textify} = $textify; - $self; -} - - -sub get_tag -{ - my $self = shift; - my $token; - while (1) { - $token = $self->get_token || return undef; - my $type = shift @$token; - next unless $type eq "S" || $type eq "E"; - substr($token->[0], 0, 0) = "/" if $type eq "E"; - return $token unless @_; - for (@_) { - return $token if $token->[0] eq $_; - } - } -} - - -sub _textify { - my($self, $token) = @_; - my $tag = $token->[1]; - return undef unless exists $self->{textify}{$tag}; - - my $alt = $self->{textify}{$tag}; - my $text; - if (ref($alt)) { - $text = &$alt(@$token); - } else { - $text = $token->[2]{$alt || "alt"}; - $text = "[\U$tag]" unless defined $text; - } - return $text; -} - - -sub get_text -{ - my $self = shift; - my @text; - while (my $token = $self->get_token) { - my $type = $token->[0]; - if ($type eq "T") { - my $text = $token->[1]; - decode_entities($text) unless $token->[2]; - push(@text, $text); - } elsif ($type =~ /^[SE]$/) { - my $tag = $token->[1]; - if ($type eq "S") { - if (defined(my $text = _textify($self, $token))) { - push(@text, $text); - next; - } - } else { - $tag = "/$tag"; - } - if (!@_ || grep $_ eq $tag, @_) { - $self->unget_token($token); - last; - } - push(@text, " ") - if $tag eq "br" || !$HTML::Tagset::isPhraseMarkup{$token->[1]}; - } - } - join("", @text); -} - - -sub get_trimmed_text -{ - my $self = shift; - my $text = $self->get_text(@_); - $text =~ s/^\s+//; $text =~ s/\s+$//; $text =~ s/\s+/ /g; - $text; -} - -sub get_phrase { - my $self = shift; - my @text; - while (my $token = $self->get_token) { - my $type = $token->[0]; - if ($type eq "T") { - my $text = $token->[1]; - decode_entities($text) unless $token->[2]; - push(@text, $text); - } elsif ($type =~ /^[SE]$/) { - my $tag = $token->[1]; - if ($type eq "S") { - if (defined(my $text = _textify($self, $token))) { - push(@text, $text); - next; - } - } - if (!$HTML::Tagset::isPhraseMarkup{$tag}) { - $self->unget_token($token); - last; - } - push(@text, " ") if $tag eq "br"; - } - } - my $text = join("", @text); - $text =~ s/^\s+//; $text =~ s/\s+$//; $text =~ s/\s+/ /g; - $text; -} - -1; - - -__END__ - -=head1 NAME - -HTML::TokeParser - Alternative HTML::Parser interface - -=head1 SYNOPSIS - - require HTML::TokeParser; - $p = HTML::TokeParser->new("index.html") || - die "Can't open: $!"; - $p->empty_element_tags(1); # configure its behaviour - - while (my $token = $p->get_token) { - #... - } - -=head1 DESCRIPTION - -The C<HTML::TokeParser> is an alternative interface to the -C<HTML::Parser> class. It is an C<HTML::PullParser> subclass with a -predeclared set of token types. If you wish the tokens to be reported -differently you probably want to use the C<HTML::PullParser> directly. - -The following methods are available: - -=over 4 - -=item $p = HTML::TokeParser->new( $filename, %opt ); - -=item $p = HTML::TokeParser->new( $filehandle, %opt ); - -=item $p = HTML::TokeParser->new( \$document, %opt ); - -The object constructor argument is either a file name, a file handle -object, or the complete document to be parsed. Extra options can be -provided as key/value pairs and are processed as documented by the base -classes. - -If the argument is a plain scalar, then it is taken as the name of a -file to be opened and parsed. If the file can't be opened for -reading, then the constructor will return C<undef> and $! will tell -you why it failed. - -If the argument is a reference to a plain scalar, then this scalar is -taken to be the literal document to parse. The value of this -scalar should not be changed before all tokens have been extracted. - -Otherwise the argument is taken to be some object that the -C<HTML::TokeParser> can read() from when it needs more data. Typically -it will be a filehandle of some kind. The stream will be read() until -EOF, but not closed. - -A newly constructed C<HTML::TokeParser> differ from its base classes -by having the C<unbroken_text> attribute enabled by default. See -L<HTML::Parser> for a description of this and other attributes that -influence how the document is parsed. It is often a good idea to enable -C<empty_element_tags> behaviour. - -Note that the parsing result will likely not be valid if raw undecoded -UTF-8 is used as a source. When parsing UTF-8 encoded files turn -on UTF-8 decoding: - - open(my $fh, "<:utf8", "index.html") || die "Can't open 'index.html': $!"; - my $p = HTML::TokeParser->new( $fh ); - # ... - -If a $filename is passed to the constructor the file will be opened in -raw mode and the parsing result will only be valid if its content is -Latin-1 or pure ASCII. - -If parsing from an UTF-8 encoded string buffer decode it first: - - utf8::decode($document); - my $p = HTML::TokeParser->new( \$document ); - # ... - -=item $p->get_token - -This method will return the next I<token> found in the HTML document, -or C<undef> at the end of the document. The token is returned as an -array reference. The first element of the array will be a string -denoting the type of this token: "S" for start tag, "E" for end tag, -"T" for text, "C" for comment, "D" for declaration, and "PI" for -process instructions. The rest of the token array depend on the type -like this: - - ["S", $tag, $attr, $attrseq, $text] - ["E", $tag, $text] - ["T", $text, $is_data] - ["C", $text] - ["D", $text] - ["PI", $token0, $text] - -where $attr is a hash reference, $attrseq is an array reference and -the rest are plain scalars. The L<HTML::Parser/Argspec> explains the -details. - -=item $p->unget_token( @tokens ) - -If you find you have read too many tokens you can push them back, -so that they are returned the next time $p->get_token is called. - -=item $p->get_tag - -=item $p->get_tag( @tags ) - -This method returns the next start or end tag (skipping any other -tokens), or C<undef> if there are no more tags in the document. If -one or more arguments are given, then we skip tokens until one of the -specified tag types is found. For example: - - $p->get_tag("font", "/font"); - -will find the next start or end tag for a font-element. - -The tag information is returned as an array reference in the same form -as for $p->get_token above, but the type code (first element) is -missing. A start tag will be returned like this: - - [$tag, $attr, $attrseq, $text] - -The tagname of end tags are prefixed with "/", i.e. end tag is -returned like this: - - ["/$tag", $text] - -=item $p->get_text - -=item $p->get_text( @endtags ) - -This method returns all text found at the current position. It will -return a zero length string if the next token is not text. Any -entities will be converted to their corresponding character. - -If one or more arguments are given, then we return all text occurring -before the first of the specified tags found. For example: - - $p->get_text("p", "br"); - -will return the text up to either a paragraph of linebreak element. - -The text might span tags that should be I<textified>. This is -controlled by the $p->{textify} attribute, which is a hash that -defines how certain tags can be treated as text. If the name of a -start tag matches a key in this hash then this tag is converted to -text. The hash value is used to specify which tag attribute to obtain -the text from. If this tag attribute is missing, then the upper case -name of the tag enclosed in brackets is returned, e.g. "[IMG]". The -hash value can also be a subroutine reference. In this case the -routine is called with the start tag token content as its argument and -the return value is treated as the text. - -The default $p->{textify} value is: - - {img => "alt", applet => "alt"} - -This means that <IMG> and <APPLET> tags are treated as text, and that -the text to substitute can be found in the ALT attribute. - -=item $p->get_trimmed_text - -=item $p->get_trimmed_text( @endtags ) - -Same as $p->get_text above, but will collapse any sequences of white -space to a single space character. Leading and trailing white space is -removed. - -=item $p->get_phrase - -This will return all text found at the current position ignoring any -phrasal-level tags. Text is extracted until the first non -phrasal-level tag. Textification of tags is the same as for -get_text(). This method will collapse white space in the same way as -get_trimmed_text() does. - -The definition of <i>phrasal-level tags</i> is obtained from the -HTML::Tagset module. - -=back - -=head1 EXAMPLES - -This example extracts all links from a document. It will print one -line for each link, containing the URL and the textual description -between the <A>...</A> tags: - - use HTML::TokeParser; - $p = HTML::TokeParser->new(shift||"index.html"); - - while (my $token = $p->get_tag("a")) { - my $url = $token->[1]{href} || "-"; - my $text = $p->get_trimmed_text("/a"); - print "$url\t$text\n"; - } - -This example extract the <TITLE> from the document: - - use HTML::TokeParser; - $p = HTML::TokeParser->new(shift||"index.html"); - if ($p->get_tag("title")) { - my $title = $p->get_trimmed_text; - print "Title: $title\n"; - } - -=head1 SEE ALSO - -L<HTML::PullParser>, L<HTML::Parser> - -=head1 COPYRIGHT - -Copyright 1998-2005 Gisle Aas. - -This library is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm deleted file mode 100644 index 2b4aea58dc2..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm +++ /dev/null @@ -1,125 +0,0 @@ -package Math::BigInt::FastCalc; - -use 5.006; -use strict; -# use warnings; # dont use warnings for older Perls - -use DynaLoader; -use Math::BigInt::Calc; - -use vars qw/@ISA $VERSION $BASE $BASE_LEN/; - -@ISA = qw(DynaLoader); - -$VERSION = '0.19'; - -bootstrap Math::BigInt::FastCalc $VERSION; - -############################################################################## -# global constants, flags and accessory - -# announce that we are compatible with MBI v1.70 and up -sub api_version () { 1; } - -BEGIN - { - # use Calc to override the methods that we do not provide in XS - - for my $method (qw/ - str - add sub mul div - rsft lsft - mod modpow modinv - gcd - pow root sqrt log_int fac nok - digit check - from_hex from_bin from_oct as_hex as_bin as_oct - zeros base_len - xor or and - alen 1ex - /) - { - no strict 'refs'; - *{'Math::BigInt::FastCalc::_' . $method} = \&{'Math::BigInt::Calc::_' . $method}; - } - my ($AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL); - - # store BASE_LEN and BASE to later pass it to XS code - ($BASE_LEN, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL, $BASE) = - Math::BigInt::Calc::_base_len(); - - } - -sub import - { - _set_XS_BASE($BASE, $BASE_LEN); - } - -############################################################################## -############################################################################## - -1; -__END__ -=pod - -=head1 NAME - -Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed - -=head1 SYNOPSIS - -Provides support for big integer calculations. Not intended to be used by -other modules. Other modules which sport the same functions can also be used -to support Math::BigInt, like L<Math::BigInt::GMP> or L<Math::BigInt::Pari>. - -=head1 DESCRIPTION - -In order to allow for multiple big integer libraries, Math::BigInt was -rewritten to use library modules for core math routines. Any module which -follows the same API as this can be used instead by using the following: - - use Math::BigInt lib => 'libname'; - -'libname' is either the long name ('Math::BigInt::Pari'), or only the short -version like 'Pari'. To use this library: - - use Math::BigInt lib => 'FastCalc'; - -Note that from L<Math::BigInt> v1.76 onwards, FastCalc will be loaded -automatically, if possible. - -=head1 STORAGE - -FastCalc works exactly like Calc, in stores the numbers in decimal form, -chopped into parts. - -=head1 METHODS - -The following functions are now implemented in FastCalc.xs: - - _is_odd _is_even _is_one _is_zero - _is_two _is_ten - _zero _one _two _ten - _acmp _len _num - _inc _dec - __strip_zeros _copy - -=head1 LICENSE - -This program is free software; you may redistribute it and/or modify it under -the same terms as Perl itself. - -=head1 AUTHORS - -Original math code by Mark Biggar, rewritten by Tels L<http://bloodgate.com/> -in late 2000. -Seperated from BigInt and shaped API with the help of John Peacock. -Fixed, sped-up and enhanced by Tels http://bloodgate.com 2001-2003. -Further streamlining (api_version 1 etc.) by Tels 2004-2007. - -=head1 SEE ALSO - -L<Math::BigInt>, L<Math::BigFloat>, -L<Math::BigInt::GMP>, L<Math::BigInt::FastCalc> and L<Math::BigInt::Pari>. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm deleted file mode 100644 index d8162e93d39..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm +++ /dev/null @@ -1,967 +0,0 @@ - -package Net::DNS; -# -# $Id: DNS.pm 710 2008-02-08 15:22:21Z olaf $ -# -use strict; - - -BEGIN { - eval { require bytes; } -} - - - -use vars qw( - $HAVE_XS - $VERSION - $SVNVERSION - $DNSSEC - $DN_EXPAND_ESCAPES - @ISA - @EXPORT - @EXPORT_OK - %typesbyname - %typesbyval - %qtypesbyname - %qtypesbyval - %metatypesbyname - %metatypesbyval - %classesbyname - %classesbyval - %opcodesbyname - %opcodesbyval - %rcodesbyname - %rcodesbyval -); - - - -BEGIN { - require DynaLoader; - require Exporter; - @ISA = qw(Exporter DynaLoader); - - - $VERSION = '0.63'; - $SVNVERSION = (qw$LastChangedRevision: 710 $)[1]; - - $HAVE_XS = eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - __PACKAGE__->bootstrap(); 1 - } ? 1 : 0; - -} - - - -BEGIN { - - $DNSSEC = eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::SEC; - 1 - } ? 1 : 0; - - -} - - -use Net::DNS::Resolver; -use Net::DNS::Packet; -use Net::DNS::Update; -use Net::DNS::Header; -use Net::DNS::Question; -use Net::DNS::RR; # use only after $Net::DNS::DNSSEC has been evaluated -use Carp; - -@EXPORT = qw(mx yxrrset nxrrset yxdomain nxdomain rr_add rr_del); -@EXPORT_OK= qw(name2labels wire2presentation rrsort); - - -# -# If you implement an RR record make sure you also add it to -# %Net::DNS::RR::RR hash otherwise it will be treated as unknown type. -# - -# Do not use these tybesby hashes directly. Use the interface -# functions, see below. - -%typesbyname = ( - 'SIGZERO' => 0, # RFC2931 consider this a pseudo type - 'A' => 1, # RFC 1035, Section 3.4.1 - 'NS' => 2, # RFC 1035, Section 3.3.11 - 'MD' => 3, # RFC 1035, Section 3.3.4 (obsolete) - 'MF' => 4, # RFC 1035, Section 3.3.5 (obsolete) - 'CNAME' => 5, # RFC 1035, Section 3.3.1 - 'SOA' => 6, # RFC 1035, Section 3.3.13 - 'MB' => 7, # RFC 1035, Section 3.3.3 - 'MG' => 8, # RFC 1035, Section 3.3.6 - 'MR' => 9, # RFC 1035, Section 3.3.8 - 'NULL' => 10, # RFC 1035, Section 3.3.10 - 'WKS' => 11, # RFC 1035, Section 3.4.2 (deprecated) - 'PTR' => 12, # RFC 1035, Section 3.3.12 - 'HINFO' => 13, # RFC 1035, Section 3.3.2 - 'MINFO' => 14, # RFC 1035, Section 3.3.7 - 'MX' => 15, # RFC 1035, Section 3.3.9 - 'TXT' => 16, # RFC 1035, Section 3.3.14 - 'RP' => 17, # RFC 1183, Section 2.2 - 'AFSDB' => 18, # RFC 1183, Section 1 - 'X25' => 19, # RFC 1183, Section 3.1 - 'ISDN' => 20, # RFC 1183, Section 3.2 - 'RT' => 21, # RFC 1183, Section 3.3 - 'NSAP' => 22, # RFC 1706, Section 5 - 'NSAP_PTR' => 23, # RFC 1348 (obsolete) - # The following 2 RRs are impemented in Net::DNS::SEC - 'SIG' => 24, # RFC 2535, Section 4.1 - 'KEY' => 25, # RFC 2535, Section 3.1 - 'PX' => 26, # RFC 2163, - 'GPOS' => 27, # RFC 1712 (obsolete) - 'AAAA' => 28, # RFC 1886, Section 2.1 - 'LOC' => 29, # RFC 1876 - # The following RR is impemented in Net::DNS::SEC - 'NXT' => 30, # RFC 2535, Section 5.2 obsoleted by RFC3755 - 'EID' => 31, # draft-ietf-nimrod-dns-xx.txt - 'NIMLOC' => 32, # draft-ietf-nimrod-dns-xx.txt - 'SRV' => 33, # RFC 2052 - 'ATMA' => 34, # ??? - 'NAPTR' => 35, # RFC 2168 - 'KX' => 36, # RFC 2230 - 'CERT' => 37, # RFC 2538 - 'DNAME' => 39, # RFC 2672 - 'OPT' => 41, # RFC 2671 - 'DS' => 43, # RFC 4034 # in Net::DNS::SEC - 'SSHFP' => 44, # draft-ietf-secsh-dns (No RFC # yet at time of coding) - 'IPSECKEY' => 45, # RFC 4025 - 'RRSIG' => 46, # RFC 4034 in Net::DNS::SEC - 'NSEC' => 47, # RFC 4034 in Net::DNS::SEC - 'DNSKEY' => 48, # RFC 4034 in Net::DNS::SEC - 'NSEC3' => 50, # draft-ietf-dnsext-nsec3-10 (assignment made at time of code release) - 'NSEC3PARAM' => 51, # draft-ietf-dnsext-nsec3-10 (assignment made at time of code release) - - 'SPF' => 99, # RFC 4408 - 'UINFO' => 100, # non-standard - 'UID' => 101, # non-standard - 'GID' => 102, # non-standard - 'UNSPEC' => 103, # non-standard - 'TKEY' => 249, # RFC 2930 - 'TSIG' => 250, # RFC 2931 - 'IXFR' => 251, # RFC 1995 - 'AXFR' => 252, # RFC 1035 - 'MAILB' => 253, # RFC 1035 (MB, MG, MR) - 'MAILA' => 254, # RFC 1035 (obsolete - see MX) - 'ANY' => 255, # RFC 1035 - 'DLV' => 32769 # RFC 4431 in Net::DNS::SEC -); -%typesbyval = reverse %typesbyname; - - -# -# typesbyval and typesbyname functions are wrappers around the similarly named -# hashes. They are used for 'unknown' DNS RR types (RFC3597) - -# typesbyname returns they TYPEcode as a function of the TYPE -# mnemonic. If the TYPE mapping is not specified the generic mnemonic -# TYPE### is returned. - - -# typesbyval returns they TYPE mnemonic as a function of the TYPE -# code. If the TYPE mapping is not specified the generic mnemonic -# TYPE### is returned. -# - -sub typesbyname { - my $name = uc shift; - - return $typesbyname{$name} if defined $typesbyname{$name}; - - confess "Net::DNS::typesbyname() argument ($name) is not TYPE###" unless - $name =~ m/^\s*TYPE(\d+)\s*$/o; - - my $val = $1; - - confess 'Net::DNS::typesbyname() argument larger than ' . 0xffff if $val > 0xffff; - - return $val; -} - - - -sub typesbyval { - my $val = shift; - confess "Net::DNS::typesbyval() argument is not defined" unless defined $val; - confess "Net::DNS::typesbyval() argument ($val) is not numeric" unless - $val =~ s/^\s*0*(\d+)\s*$/$1/o; - - - - return $typesbyval{$val} if $typesbyval{$val}; - - confess 'Net::DNS::typesbyval() argument larger than '. 0xffff if - $val > 0xffff; - - return "TYPE$val"; -} - - - -# -# Do not use these classesby hashes directly. See below. -# - -%classesbyname = ( - 'IN' => 1, # RFC 1035 - 'CH' => 3, # RFC 1035 - 'HS' => 4, # RFC 1035 - 'NONE' => 254, # RFC 2136 - 'ANY' => 255, # RFC 1035 -); -%classesbyval = reverse %classesbyname; - - - -# classesbyval and classesbyname functions are wrappers around the -# similarly named hashes. They are used for 'unknown' DNS RR classess -# (RFC3597) - -# See typesbyval and typesbyname, these beasts have the same functionality - -sub classesbyname { - my $name = uc shift; - return $classesbyname{$name} if $classesbyname{$name}; - - confess "Net::DNS::classesbyval() argument is not CLASS### ($name)" unless - $name =~ m/^\s*CLASS(\d+)\s*$/o; - - my $val = $1; - - confess 'Net::DNS::classesbyval() argument larger than '. 0xffff if $val > 0xffff; - - return $val; -} - - - -sub classesbyval { - my $val = shift; - - confess "Net::DNS::classesbyname() argument is not numeric ($val)" unless - $val =~ s/^\s*0*([0-9]+)\s*$/$1/o; - - return $classesbyval{$val} if $classesbyval{$val}; - - confess 'Net::DNS::classesbyname() argument larger than ' . 0xffff if $val > 0xffff; - - return "CLASS$val"; -} - - - -# The qtypesbyval and metatypesbyval specify special typecodes -# See rfc2929 and the relevant IANA registry -# http://www.iana.org/assignments/dns-parameters - - -%qtypesbyname = ( - 'IXFR' => 251, # incremental transfer [RFC1995] - 'AXFR' => 252, # transfer of an entire zone [RFC1035] - 'MAILB' => 253, # mailbox-related RRs (MB, MG or MR) [RFC1035] - 'MAILA' => 254, # mail agent RRs (Obsolete - see MX) [RFC1035] - 'ANY' => 255, # all records [RFC1035] -); -%qtypesbyval = reverse %qtypesbyname; - - -%metatypesbyname = ( - 'TKEY' => 249, # Transaction Key [RFC2930] - 'TSIG' => 250, # Transaction Signature [RFC2845] - 'OPT' => 41, # RFC 2671 -); -%metatypesbyval = reverse %metatypesbyname; - - -%opcodesbyname = ( - 'QUERY' => 0, # RFC 1035 - 'IQUERY' => 1, # RFC 1035 - 'STATUS' => 2, # RFC 1035 - 'NS_NOTIFY_OP' => 4, # RFC 1996 - 'UPDATE' => 5, # RFC 2136 -); -%opcodesbyval = reverse %opcodesbyname; - - -%rcodesbyname = ( - 'NOERROR' => 0, # RFC 1035 - 'FORMERR' => 1, # RFC 1035 - 'SERVFAIL' => 2, # RFC 1035 - 'NXDOMAIN' => 3, # RFC 1035 - 'NOTIMP' => 4, # RFC 1035 - 'REFUSED' => 5, # RFC 1035 - 'YXDOMAIN' => 6, # RFC 2136 - 'YXRRSET' => 7, # RFC 2136 - 'NXRRSET' => 8, # RFC 2136 - 'NOTAUTH' => 9, # RFC 2136 - 'NOTZONE' => 10, # RFC 2136 -); -%rcodesbyval = reverse %rcodesbyname; - - -sub version { $VERSION; } -sub PACKETSZ () { 512; } -sub HFIXEDSZ () { 12; } -sub QFIXEDSZ () { 4; } -sub RRFIXEDSZ () { 10; } -sub INT32SZ () { 4; } -sub INT16SZ () { 2; } - - - -# mx() -# -# Usage: -# my @mxes = mx('example.com', 'IN'); -# -sub mx { - my $res = ref $_[0] ? shift : Net::DNS::Resolver->new; - - my ($name, $class) = @_; - $class ||= 'IN'; - - my $ans = $res->query($name, 'MX', $class) || return; - - # This construct is best read backwords. - # - # First we take the answer secion of the packet. - # Then we take just the MX records from that list - # Then we sort the list by preference - # Then we return it. - # We do this into an array to force list context. - my @ret = sort { $a->preference <=> $b->preference } - grep { $_->type eq 'MX'} $ans->answer; - - - return @ret; -} - -sub yxrrset { - return Net::DNS::RR->new_from_string(shift, 'yxrrset'); -} - -sub nxrrset { - return Net::DNS::RR->new_from_string(shift, 'nxrrset'); -} - -sub yxdomain { - return Net::DNS::RR->new_from_string(shift, 'yxdomain'); -} - -sub nxdomain { - return Net::DNS::RR->new_from_string(shift, 'nxdomain'); -} - -sub rr_add { - return Net::DNS::RR->new_from_string(shift, 'rr_add'); -} - -sub rr_del { - return Net::DNS::RR->new_from_string(shift, 'rr_del'); -} - - - -# Utility function -# -# name2labels to translate names from presentation format into an -# array of "wire-format" labels. - - -# in: $dname a string with a domain name in presentation format (1035 -# sect 5.1) -# out: an array of labels in wire format. - - -sub name2labels { - my $dname=shift; - my @names; - my $j=0; - while ($dname){ - ($names[$j],$dname)=presentation2wire($dname); - $j++; - } - - return @names; -} - - - - -sub wire2presentation { - my $wire=shift; - my $presentation=""; - my $length=length($wire); - # There must be a nice regexp to do this.. but since I failed to - # find one I scan the name string until I find a '\', at that time - # I start looking forward and do the magic. - - my $i=0; - - while ($i < $length ){ - my $char=unpack("x".$i."C1",$wire); - if ( $char < 33 || $char > 126 ){ - $presentation.= sprintf ("\\%03u" ,$char); - }elsif ( $char == ord( "\"" )) { - $presentation.= "\\\""; - }elsif ( $char == ord( "\$" )) { - $presentation.= "\\\$"; - }elsif ( $char == ord( "(" )) { - $presentation.= "\\("; - }elsif ( $char == ord( ")" )) { - $presentation.= "\\)"; - }elsif ( $char == ord( ";" )) { - $presentation.= "\\;"; - }elsif ( $char == ord( "@" )) { - $presentation.= "\\@"; - }elsif ( $char == ord( "\\" )) { - $presentation.= "\\\\" ; - }elsif ( $char==ord (".") ){ - $presentation.= "\\." ; - }else{ - $presentation.=chr($char) ; - } - $i++; - } - - return $presentation; - -} - - - -# ($wire,$leftover)=presentation2wire($leftover); - -# Will parse the input presentation format and return everything before -# the first non-escaped "." in the first element of the return array and -# all that has not been parsed yet in the 2nd argument. - - -sub presentation2wire { - my $presentation=shift; - my $wire=""; - my $length=length($presentation); - - my $i=0; - - while ($i < $length ){ - my $char=unpack("x".$i."C1",$presentation); - if ( $char == ord ('.')){ - return ($wire,substr($presentation,$i+1)); - } - if ( $char == ord ('\\')){ - #backslash found - pos($presentation)=$i+1; - if ($presentation=~/\G(\d\d\d)/){ - $wire.=pack("C",$1); - $i+=3; - }elsif($presentation=~/\Gx([0..9a..fA..F][0..9a..fA..F])/){ - $wire.=pack("H*",$1); - $i+=3; - }elsif($presentation=~/\G\./){ - $wire.="\."; - $i+=1; - }elsif($presentation=~/\G@/){ - $wire.="@"; - $i+=1; - }elsif($presentation=~/\G\(/){ - $wire.="("; - $i+=1; - }elsif($presentation=~/\G\)/){ - $wire.=")"; - $i+=1; - }elsif($presentation=~/\G\\/){ - $wire.="\\"; - $i+=1; - } - }else{ - $wire .= pack("C",$char); - } - $i++; - } - - return $wire; -} - - - - - -sub rrsort { - my ($rrtype,$attribute,@rr_array)=@_; - unless (exists($Net::DNS::typesbyname{uc($rrtype)})){ - # unvalid error type - return(); - } - unless (defined($attribute)){ - # no second argument... hence no array. - return(); - } - - # attribute is empty or not specified. - - if( ref($attribute)=~/^Net::DNS::RR::.*/){ - # push the attribute back on the array. - push @rr_array,$attribute; - undef($attribute); - - } - - my @extracted_rr; - foreach my $rr (@rr_array){ - push( @extracted_rr, $rr )if (uc($rr->type) eq uc($rrtype)); - } - return () unless @extracted_rr; - my $func=("Net::DNS::RR::".$rrtype)->get_rrsort_func($attribute); - my @sorted=sort $func @extracted_rr; - return @sorted; - -} - - - - - - - - - -1; -__END__ - -=head1 NAME - -Net::DNS - Perl interface to the DNS resolver - -=head1 SYNOPSIS - -C<use Net::DNS;> - -=head1 DESCRIPTION - -Net::DNS is a collection of Perl modules that act as a Domain -Name System (DNS) resolver. It allows the programmer to perform -DNS queries that are beyond the capabilities of C<gethostbyname> -and C<gethostbyaddr>. - -The programmer should be somewhat familiar with the format of -a DNS packet and its various sections. See RFC 1035 or -I<DNS and BIND> (Albitz & Liu) for details. - -=head2 Resolver Objects - -A resolver object is an instance of the -L<Net::DNS::Resolver|Net::DNS::Resolver> class. A program can have -multiple resolver objects, each maintaining its own state information -such as the nameservers to be queried, whether recursion is desired, -etc. - -=head2 Packet Objects - -L<Net::DNS::Resolver|Net::DNS::Resolver> queries return -L<Net::DNS::Packet|Net::DNS::Packet> objects. Packet objects have five -sections: - -=over 3 - -=item * - -The header section, a L<Net::DNS::Header|Net::DNS::Header> object. - -=item * - -The question section, a list of L<Net::DNS::Question|Net::DNS::Question> -objects. - -=item * - -The answer section, a list of L<Net::DNS::RR|Net::DNS::RR> objects. - -=item * - -The authority section, a list of L<Net::DNS::RR|Net::DNS::RR> objects. - -=item * - -The additional section, a list of L<Net::DNS::RR|Net::DNS::RR> objects. - -=back - -=head2 Update Objects - -The L<Net::DNS::Update|Net::DNS::Update> package is a subclass of -L<Net::DNS::Packet|Net::DNS::Packet> for creating packet objects to be -used in dynamic updates. - -=head2 Header Objects - -L<Net::DNS::Header|Net::DNS::Header> objects represent the header -section of a DNS packet. - -=head2 Question Objects - -L<Net::DNS::Question|Net::DNS::Question> objects represent the question -section of a DNS packet. - -=head2 RR Objects - -L<Net::DNS::RR|Net::DNS::RR> is the base class for DNS resource record -(RR) objects in the answer, authority, and additional sections of a DNS -packet. - -Don't assume that RR objects will be of the type you requested -- always -check an RR object's type before calling any of its methods. - -=head1 METHODS - -See the manual pages listed above for other class-specific methods. - -=head2 version - - print Net::DNS->version, "\n"; - -Returns the version of Net::DNS. - -=head2 mx - - # Use a default resolver -- can't get an error string this way. - use Net::DNS; - my @mx = mx("example.com"); - - # Use your own resolver object. - use Net::DNS; - my $res = Net::DNS::Resolver->new; - my @mx = mx($res, "example.com"); - -Returns a list of L<Net::DNS::RR::MX|Net::DNS::RR::MX> objects -representing the MX records for the specified name; the list will be -sorted by preference. Returns an empty list if the query failed or no MX -records were found. - -This method does not look up A records -- it only performs MX queries. - -See L</EXAMPLES> for a more complete example. - -=head2 yxrrset - -Use this method to add an "RRset exists" prerequisite to a dynamic -update packet. There are two forms, value-independent and -value-dependent: - - # RRset exists (value-independent) - $update->push(pre => yxrrset("host.example.com A")); - -Meaning: At least one RR with the specified name and type must -exist. - - # RRset exists (value-dependent) - $packet->push(pre => yxrrset("host.example.com A 10.1.2.3")); - -Meaning: At least one RR with the specified name and type must -exist and must have matching data. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - -=head2 nxrrset - -Use this method to add an "RRset does not exist" prerequisite to -a dynamic update packet. - - $packet->push(pre => nxrrset("host.example.com A")); - -Meaning: No RRs with the specified name and type can exist. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - -=head2 yxdomain - -Use this method to add a "name is in use" prerequisite to a dynamic -update packet. - - $packet->push(pre => yxdomain("host.example.com")); - -Meaning: At least one RR with the specified name must exist. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - -=head2 nxdomain - -Use this method to add a "name is not in use" prerequisite to a -dynamic update packet. - - $packet->push(pre => nxdomain("host.example.com")); - -Meaning: No RR with the specified name can exist. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - -=head2 rr_add - -Use this method to add RRs to a zone. - - $packet->push(update => rr_add("host.example.com A 10.1.2.3")); - -Meaning: Add this RR to the zone. - -RR objects created by this method should be added to the "update" -section of a dynamic update packet. The TTL defaults to 86400 -seconds (24 hours) if not specified. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - -=head2 rr_del - -Use this method to delete RRs from a zone. There are three forms: -delete an RRset, delete all RRsets, and delete an RR. - - # Delete an RRset. - $packet->push(update => rr_del("host.example.com A")); - -Meaning: Delete all RRs having the specified name and type. - - # Delete all RRsets. - $packet->push(update => rr_del("host.example.com")); - -Meaning: Delete all RRs having the specified name. - - # Delete an RR. - $packet->push(update => rr_del("host.example.com A 10.1.2.3")); - -Meaning: Delete all RRs having the specified name, type, and data. - -RR objects created by this method should be added to the "update" -section of a dynamic update packet. - -Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't -be created. - - -=head2 Sorting of RR arrays - -As of version 0.55 there is functionality to help you sort RR -arrays. 'rrsort()' is the function that is available to do the -sorting. In most cases rrsort will give you the answer that you -want but you can specify your own sorting method by using the -Net::DNS::RR::FOO->set_rrsort_func() class method. See L<Net::DNS::RR> -for details. - -=head3 rrsort() - - use Net::DNS qw(rrsort); - - my @prioritysorted=rrsort("SRV","priority",@rr_array); - - -rrsort() selects all RRs from the input array that are of the type -that are defined in the first argument. Those RRs are sorted based on -the attribute that is specified as second argument. - -There are a number of RRs for which the sorting function is -specifically defined for certain attributes. If such sorting function -is defined in the code (it can be set or overwritten using the -set_rrsort_func() class method) that function is used. - -For instance: - my @prioritysorted=rrsort("SRV","priority",@rr_array); -returns the SRV records sorted from lowest to heighest priority and -for equal priorities from heighes to lowes weight. - -If the function does not exist then a numerical sort on the attribute -value is performed. - my @portsorted=rrsort("SRV","port",@rr_array); - -If the attribute does not exist for a certain RR than the RRs are -sorted on string comparrisson of the rdata. - -If the attribute is not defined than either the default_sort function -will be defined or "Canonical sorting" (as defined by DNSSEC) will be -used. - -rrsort() returns a sorted array with only elements of the specified -RR type or undef. - -rrsort() returns undef when arguments are incorrect. - - - -=head1 EXAMPLES - -The following examples show how to use the C<Net::DNS> modules. -See the other manual pages and the demo scripts included with the -source code for additional examples. - -See the C<Net::DNS::Update> manual page for an example of performing -dynamic updates. - -=head2 Look up a host's addresses. - - use Net::DNS; - my $res = Net::DNS::Resolver->new; - my $query = $res->search("host.example.com"); - - if ($query) { - foreach my $rr ($query->answer) { - next unless $rr->type eq "A"; - print $rr->address, "\n"; - } - } else { - warn "query failed: ", $res->errorstring, "\n"; - } - -=head2 Find the nameservers for a domain. - - use Net::DNS; - my $res = Net::DNS::Resolver->new; - my $query = $res->query("example.com", "NS"); - - if ($query) { - foreach $rr (grep { $_->type eq 'NS' } $query->answer) { - print $rr->nsdname, "\n"; - } - } - else { - warn "query failed: ", $res->errorstring, "\n"; - } - -=head2 Find the MX records for a domain. - - use Net::DNS; - my $name = "example.com"; - my $res = Net::DNS::Resolver->new; - my @mx = mx($res, $name); - - if (@mx) { - foreach $rr (@mx) { - print $rr->preference, " ", $rr->exchange, "\n"; - } - } else { - warn "Can't find MX records for $name: ", $res->errorstring, "\n"; - } - - -=head2 Print a domain's SOA record in zone file format. - - use Net::DNS; - my $res = Net::DNS::Resolver->new; - my $query = $res->query("example.com", "SOA"); - - if ($query) { - ($query->answer)[0]->print; - } else { - print "query failed: ", $res->errorstring, "\n"; - } - -=head2 Perform a zone transfer and print all the records. - - use Net::DNS; - my $res = Net::DNS::Resolver->new; - $res->nameservers("ns.example.com"); - - my @zone = $res->axfr("example.com"); - - foreach $rr (@zone) { - $rr->print; - } - -=head2 Perform a background query and do some other work while waiting -for the answer. - - use Net::DNS; - my $res = Net::DNS::Resolver->new; - my $socket = $res->bgsend("host.example.com"); - - until ($res->bgisready($socket)) { - # do some work here while waiting for the answer - # ...and some more here - } - - my $packet = $res->bgread($socket); - $packet->print; - - -=head2 Send a background query and use select to determine when the answer -has arrived. - - use Net::DNS; - use IO::Select; - - my $timeout = 5; - my $res = Net::DNS::Resolver->new; - my $bgsock = $res->bgsend("host.example.com"); - my $sel = IO::Select->new($bgsock); - - # Add more sockets to $sel if desired. - my @ready = $sel->can_read($timeout); - if (@ready) { - foreach my $sock (@ready) { - if ($sock == $bgsock) { - my $packet = $res->bgread($bgsock); - $packet->print; - $bgsock = undef; - } - # Check for the other sockets. - $sel->remove($sock); - $sock = undef; - } - } else { - warn "timed out after $timeout seconds\n"; - } - -=head1 BUGS - -C<Net::DNS> is slow. - -For other items to be fixed, please see the TODO file included with -the source distribution. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman (RIPE NCC) -Portions Copyright (c) 2006 Olaf Kolkman (NLnet Labs) - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 AUTHOR INFORMATION - -Net::DNS is currently maintained at NLnet Labs (www.nlnetlabs.nl) by: - Olaf Kolkman - olaf@net-dns.org - -Between 2002 and 2004 Net::DNS was maintained by: - Chris Reinhardt - - -Net::DNS was created by: - Michael Fuhr - mike@fuhr.org - - - -For more information see: - http://www.net-dns.org/ - -Stay tuned and syncicate: - http://www.net-dns.org/blog/ - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, L<Net::DNS::Update>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, RFC 1035, -I<DNS and BIND> by Paul Albitz & Cricket Liu - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod deleted file mode 100644 index f1b4e5c707e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod +++ /dev/null @@ -1,45 +0,0 @@ -=head1 NAME - -Net::DNS::FAQ - Frequently Asked Net::DNS Questions - -=head1 SYNOPSIS - - perldoc Net::DNS::FAQ - -=head1 DESCRIPTION - -This document serves to answer the most frequently asked questions on both the -Net::DNS Mailing List and those sent to the author. - -The latest version of this FAQ can be found at - http://www.net-dns.org/docs/FAQ.html - -=head1 GENERAL - -=head2 What is Net::DNS? - -Net::DNS is a perl implementation of a DNS resolver. - -=head1 INSTALLATION - -=head2 Where can I find Test::More? - -Test::More is part of the Test-Simple packge, by Michael G Schwern. -You should be able to find the distrubution here: - - http://search.cpan.org/dist/Test-Simple/ - -=head1 USAGE - -=head2 Why does Net::DNS::Resolver::query() return undef when the ANSWER section is empty? - -The short answer is, don't use query(). Net::DNS::Resolver::send() -will always return the answer packet, as long as an answer was received. - -The longer answer is that query() is modeled after the res_query() function -from the libresolv C library, which has similar behaviors. - -=head1 VERSION - - $Id: FAQ.pod 264 2005-04-06 09:16:15Z olaf $ - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm deleted file mode 100644 index 26627accdc7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm +++ /dev/null @@ -1,371 +0,0 @@ -package Net::DNS::Header; -# -# $Id: Header.pm 704 2008-02-06 21:30:59Z olaf $ -# - -use strict; - -BEGIN { - eval { require bytes; } -} - - -use vars qw($VERSION $AUTOLOAD); - -use Carp; -use Net::DNS; - -use constant MAX_ID => 65535; - -$VERSION = (qw$LastChangedRevision: 704 $)[1]; - -=head1 NAME - -Net::DNS::Header - DNS packet header class - -=head1 SYNOPSIS - -C<use Net::DNS::Header;> - -=head1 DESCRIPTION - -A C<Net::DNS::Header> object represents the header portion of a DNS -packet. - -=head1 METHODS - -=head2 new - - $header = Net::DNS::Header->new; - -C<new> creates a header object appropriate for making a DNS query. - -=cut - -{ - sub nextid { - int rand(MAX_ID); - } -} - -sub new { - my $class = shift; - - my $self = { id => nextid(), - qr => 0, - opcode => $Net::DNS::opcodesbyval{0}, - aa => 0, - tc => 0, - rd => 1, - ra => 0, - ad => 0, - cd => 0, - rcode => $Net::DNS::rcodesbyval{0}, - qdcount => 0, - ancount => 0, - nscount => 0, - arcount => 0, - }; - - bless $self, $class; -} - - -=head2 parse - - ($header, $offset) = Net::DNS::Header->parse(\$data); - -Parses the header record at the start of a DNS packet. -The argument is a reference to the packet data. - -Returns a Net::DNS::Header object and the offset of the next location -in the packet. - -Parsing is aborted if the header object cannot be created (e.g., -corrupt or insufficient data). - -=cut - -use constant PACKED_LENGTH => length pack 'n C2 n4', (0)x7; - -sub parse { - my ($class, $data) = @_; - - die 'Exception: incomplete data' if length($$data) < PACKED_LENGTH; - - my ($id, $b2, $b3, $qd, $an, $ns, $ar) = unpack('n C2 n4', $$data); - - my $opval = ($b2 >> 3) & 0xf; - my $opcode = $Net::DNS::opcodesbyval{$opval} || $opval; - my $rval = $b3 & 0xf; - my $rcode = $Net::DNS::rcodesbyval{$rval} || $rval; - - my $self = { id => $id, - qr => ($b2 >> 7) & 0x1, - opcode => $opcode, - aa => ($b2 >> 2) & 0x1, - tc => ($b2 >> 1) & 0x1, - rd => $b2 & 0x1, - ra => ($b3 >> 7) & 0x1, - ad => ($b3 >> 5) & 0x1, - cd => ($b3 >> 4) & 0x1, - rcode => $rcode, - qdcount => $qd, - ancount => $an, - nscount => $ns, - arcount => $ar - }; - - bless $self, $class; - - return wantarray ? ($self, PACKED_LENGTH) : $self; -} - -# -# Some people have reported that Net::DNS dies because AUTOLOAD picks up -# calls to DESTROY. -# -sub DESTROY {} - -=head2 print - - $header->print; - -Prints the header record on the standard output. - -=cut - -sub print { print &string, "\n"; } - -=head2 string - - print $header->string; - -Returns a string representation of the header object. - -=cut - -sub string { - my $self = shift; - my $retval = ""; - - $retval .= ";; id = $self->{id}\n"; - - if ($self->{"opcode"} eq "UPDATE") { - $retval .= ";; qr = $self->{qr} " . - "opcode = $self->{opcode} " . - "rcode = $self->{rcode}\n"; - - $retval .= ";; zocount = $self->{qdcount} " . - "prcount = $self->{ancount} " . - "upcount = $self->{nscount} " . - "adcount = $self->{arcount}\n"; - } - else { - $retval .= ";; qr = $self->{qr} " . - "opcode = $self->{opcode} " . - "aa = $self->{aa} " . - "tc = $self->{tc} " . - "rd = $self->{rd}\n"; - - $retval .= ";; ra = $self->{ra} " . - "ad = $self->{ad} " . - "cd = $self->{cd} " . - "rcode = $self->{rcode}\n"; - - $retval .= ";; qdcount = $self->{qdcount} " . - "ancount = $self->{ancount} " . - "nscount = $self->{nscount} " . - "arcount = $self->{arcount}\n"; - } - - return $retval; -} - -=head2 id - - print "query id = ", $header->id, "\n"; - $header->id(1234); - -Gets or sets the query identification number. - -=head2 qr - - print "query response flag = ", $header->qr, "\n"; - $header->qr(0); - -Gets or sets the query response flag. - -=head2 opcode - - print "query opcode = ", $header->opcode, "\n"; - $header->opcode("UPDATE"); - -Gets or sets the query opcode (the purpose of the query). - -=head2 aa - - print "answer is ", $header->aa ? "" : "non-", "authoritative\n"; - $header->aa(0); - -Gets or sets the authoritative answer flag. - -=head2 tc - - print "packet is ", $header->tc ? "" : "not ", "truncated\n"; - $header->tc(0); - -Gets or sets the truncated packet flag. - -=head2 rd - - print "recursion was ", $header->rd ? "" : "not ", "desired\n"; - $header->rd(0); - -Gets or sets the recursion desired flag. - - -=head2 cd - - print "checking was ", $header->cd ? "not" : "", "desired\n"; - $header->cd(0); - -Gets or sets the checking disabled flag. - - - -=head2 ra - - print "recursion is ", $header->ra ? "" : "not ", "available\n"; - $header->ra(0); - -Gets or sets the recursion available flag. - - -=head2 ad - - print "The result has ", $header->ad ? "" : "not", "been verified\n" - - -Relevant in DNSSEC context. - -(The AD bit is only set on answers where signatures have been -cryptographically verified or the server is authoritative for the data -and is allowed to set the bit by policy.) - - -=head2 rcode - - print "query response code = ", $header->rcode, "\n"; - $header->rcode("SERVFAIL"); - -Gets or sets the query response code (the status of the query). - -=head2 qdcount, zocount - - print "# of question records: ", $header->qdcount, "\n"; - $header->qdcount(2); - -Gets or sets the number of records in the question section of the packet. -In dynamic update packets, this field is known as C<zocount> and refers -to the number of RRs in the zone section. - -=head2 ancount, prcount - - print "# of answer records: ", $header->ancount, "\n"; - $header->ancount(5); - -Gets or sets the number of records in the answer section of the packet. -In dynamic update packets, this field is known as C<prcount> and refers -to the number of RRs in the prerequisite section. - -=head2 nscount, upcount - - print "# of authority records: ", $header->nscount, "\n"; - $header->nscount(2); - -Gets or sets the number of records in the authority section of the packet. -In dynamic update packets, this field is known as C<upcount> and refers -to the number of RRs in the update section. - -=head2 arcount, adcount - - print "# of additional records: ", $header->arcount, "\n"; - $header->arcount(3); - -Gets or sets the number of records in the additional section of the packet. -In dynamic update packets, this field is known as C<adcount>. - -=cut - -sub zocount { &qdcount; } -sub prcount { &ancount; } -sub upcount { &nscount; } -sub adcount { &arcount; } - - -sub AUTOLOAD { - my $self = shift; - - my $name = $AUTOLOAD; - $name =~ s/.*://o; - - croak "$AUTOLOAD: no such method" unless exists $self->{$name}; - - return $self->{$name} unless @_; - - my $value = shift; - $self->{$name} = $value; -} - - -=head2 data - - $hdata = $header->data; - -Returns the header data in binary format, appropriate for use in a -DNS query packet. - -=cut - -sub data { - my $self = shift; - - my $opcode = $Net::DNS::opcodesbyname{ $self->{opcode} }; - my $rcode = $Net::DNS::rcodesbyname{ $self->{rcode} }; - - my $byte2 = ($self->{qr} ? 0x80 : 0) - | ($opcode << 3) - | ($self->{aa} ? 0x04 : 0) - | ($self->{tc} ? 0x02 : 0) - | ($self->{rd} ? 0x01 : 0); - - my $byte3 = ($self->{ra} ? 0x80 : 0) - | ($self->{ad} ? 0x20 : 0) - | ($self->{cd} ? 0x10 : 0) - | ($rcode || 0); - - pack('n C2 n4', $self->{id}, $byte2, $byte3, - map{$self->{$_} || 0} qw(qdcount ancount nscount arcount) ); -} - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2007 Dick Franks. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Update>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 4.1.1 - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm deleted file mode 100644 index a0ad2f34f5d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm +++ /dev/null @@ -1,703 +0,0 @@ -package Net::DNS::Nameserver; -# -# $Id: Nameserver.pm 709 2008-02-06 22:40:42Z olaf $ -# - -use Net::DNS; -use IO::Socket; -use IO::Socket::INET; -use IO::Select; -use Carp qw(cluck); - -use strict; -use vars qw( $VERSION - $has_inet6 - ); - -use constant FORCE_INET4 => 0; - -use constant DEFAULT_ADDR => 0; -use constant DEFAULT_PORT => 53; - -use constant STATE_ACCEPTED => 1; -use constant STATE_GOT_LENGTH => 2; -use constant STATE_SENDING => 3; - -$VERSION = (qw$LastChangedRevision: 709 $)[1]; - - - -BEGIN { - if ( FORCE_INET4 ) { - $has_inet6 = 0; - } elsif ( eval {require Socket6;} && - # INET6 earlier than V2.01 will not work; sorry. - eval {require IO::Socket::INET6; IO::Socket::INET6->VERSION("2.01");} ) { - import Socket6; - $has_inet6 = 1; - } else { - $has_inet6=0; - } -} - - -#------------------------------------------------------------------------------ - - -#------------------------------------------------------------------------------ -# Constructor. -#------------------------------------------------------------------------------ - -sub new { - my ($class, %self) = @_; - - unless ( ref $self{ReplyHandler} ) { - cluck "No reply handler!"; - return; - } - - # local server addresses must also be accepted by a resolver - my @LocalAddr = ref $self{LocalAddr} ? @{$self{LocalAddr}} : ($self{LocalAddr}); - my $resolver = Net::DNS::Resolver->new; - $resolver->force_v4(1) unless $has_inet6; - $resolver->nameservers(undef); - my @localaddresses = $resolver->nameservers(@LocalAddr); - - my $port = $self{LocalPort} || DEFAULT_PORT; - - my @sock_tcp; # All the TCP sockets we will listen to. - my @sock_udp; # All the UDP sockets we will listen to. - - # while we are here, print incomplete lines as they come along. - local $| = 1 if $self{Verbose}; - - foreach my $addr ( @localaddresses ? @localaddresses : DEFAULT_ADDR ){ - - #-------------------------------------------------------------------------- - # Create the TCP socket. - #-------------------------------------------------------------------------- - - print "\nCreating TCP socket $addr#$port - " if $self{Verbose}; - - my $sock_tcp = inet_new( - LocalAddr => $addr, - LocalPort => $port, - Listen => 64, - Proto => "tcp", - Reuse => 1, - ); - if ( $sock_tcp ) { - push @sock_tcp, $sock_tcp; - print "done.\n" if $self{Verbose}; - } else { - cluck "Couldn't create TCP socket: $!"; - } - - #-------------------------------------------------------------------------- - # Create the UDP Socket. - #-------------------------------------------------------------------------- - - print "Creating UDP socket $addr#$port - " if $self{Verbose}; - - my $sock_udp = inet_new( - LocalAddr => $addr, - LocalPort => $port, - Proto => "udp", - ); - - if ( $sock_udp ) { - push @sock_udp, $sock_udp; - print "done.\n" if $self{Verbose}; - } else { - cluck "Couldn't create UDP socket: $!"; - } - - } - - #-------------------------------------------------------------------------- - # Create the Select object. - #-------------------------------------------------------------------------- - - my $select = $self{select} = IO::Select->new; - - $select->add(@sock_tcp); - $select->add(@sock_udp); - - return undef unless $select->count; - - #-------------------------------------------------------------------------- - # Return the object. - #-------------------------------------------------------------------------- - - my $self = bless \%self, $class; - return $self; -} - -#------------------------------------------------------------------------------ -# inet_new - Calls the constructor in the correct module for making sockets. -#------------------------------------------------------------------------------ - -sub inet_new { - if ($has_inet6) { - return IO::Socket::INET6->new(@_); - } else { - return IO::Socket::INET->new(@_); - } -} - -#------------------------------------------------------------------------------ -# make_reply - Make a reply packet. -#------------------------------------------------------------------------------ - -sub make_reply { - my ($self, $query, $peerhost) = @_; - - my $reply = Net::DNS::Packet->new(); # create empty reply packet - $reply->header->qr(1); - - my $headermask; - - unless ($query) { - print "ERROR: invalid packet\n" if $self->{"Verbose"}; - $reply->header->rcode("FORMERR"); - return $reply; - } - - if ($query->header->qr()) { - print "ERROR: invalid packet (qr was set, dropping)\n" if $self->{"Verbose"}; - return; - } - - - # question section returned to caller - my @q = $query->question; - @q=( Net::DNS::Question->new('', 'ANY', 'ANY') ) unless @q; - - $reply->push("question", @q); - - if ($query->header->opcode eq "QUERY" || - $query->header->opcode eq "NS_NOTIFY_OP" #RFC1996 - ) { - if ($query->header->qdcount == 1) { - my ($qr) = @q; - my $qname = $qr->qname; - my $qtype = $qr->qtype; - my $qclass = $qr->qclass; - - print "query ", $query->header->id, - ": ($qname, $qclass, $qtype) - " if $self->{"Verbose"}; - - my ($rcode, $ans, $auth, $add); - - if ($query->header->opcode eq "QUERY"){ - ($rcode, $ans, $auth, $add, $headermask) = - &{$self->{"ReplyHandler"}}($qname, $qclass, $qtype, $peerhost, $query); - }else{ - $reply->header->rcode("SERVFAIL") unless - ( ref $self->{"NotifyHandler"} eq "CODE"); - ($rcode, $ans, $auth, $add, $headermask) = - &{$self->{"NotifyHandler"}}($qname, $qclass, $qtype, $peerhost, $query); - } - print "$rcode\n" if $self->{"Verbose"}; - - $reply->header->rcode($rcode); - - $reply->push("answer", @$ans) if $ans; - $reply->push("authority", @$auth) if $auth; - $reply->push("additional", @$add) if $add; - } else { - print "ERROR: qdcount ", $query->header->qdcount, - "unsupported\n" if $self->{"Verbose"}; - $reply->header->rcode("FORMERR"); - } - } else { - print "ERROR: opcode ", $query->header->opcode, " unsupported\n" - if $self->{"Verbose"}; - $reply->header->rcode("FORMERR"); - } - - - - if (!defined ($headermask)) { - $reply->header->ra(1); - $reply->header->ad(0); - } else { - $reply->header->aa(1) if $headermask->{'aa'}; - $reply->header->ra(1) if $headermask->{'ra'}; - $reply->header->ad(1) if $headermask->{'ad'}; - } - - - $reply->header->cd($query->header->cd); - $reply->header->rd($query->header->rd); - $reply->header->id($query->header->id); - - $reply->header->print if $self->{"Verbose"} && defined $headermask; - - return $reply; -} - -#------------------------------------------------------------------------------ -# readfromtcp - read from a TCP client -#------------------------------------------------------------------------------ - -sub readfromtcp { - my ($self, $sock) = @_; - return -1 unless defined $self->{"_tcp"}{$sock}; - my $peer = $self->{"_tcp"}{$sock}{"peer"}; - my $charsread = $sock->sysread( - $self->{"_tcp"}{$sock}{"inbuffer"}, - 16384); - $self->{"_tcp"}{$sock}{"timeout"} = time()+120; # Reset idle timer - print "Received $charsread octets from $peer\n" if $self->{"Verbose"}; - if ($charsread == 0) { # 0 octets means socket has closed - print "Connection to $peer closed or lost.\n" if $self->{"Verbose"}; - $self->{"select"}->remove($sock); - $sock->close(); - delete $self->{"_tcp"}{$sock}; - return $charsread; - } - return $charsread; -} - -#------------------------------------------------------------------------------ -# tcp_connection - Handle a TCP connection. -#------------------------------------------------------------------------------ - -sub tcp_connection { - my ($self, $sock) = @_; - - if (not $self->{"_tcp"}{$sock}) { - # We go here if we are called with a listener socket. - my $client = $sock->accept; - if (not defined $client) { - print "TCP connection closed by peer before we could accept it.\n" if $self->{"Verbose"}; - return 0; - } - my $peerport= $client->peerport; - my $peerhost = $client->peerhost; - - print "TCP connection from $peerhost:$peerport\n" if $self->{"Verbose"}; - $client->blocking(0); - $self->{"_tcp"}{$client}{"peer"} = "tcp:".$peerhost.":".$peerport; - $self->{"_tcp"}{$client}{"state"} = STATE_ACCEPTED; - $self->{"_tcp"}{$client}{"socket"} = $client; - $self->{"_tcp"}{$client}{"timeout"} = time()+120; - $self->{"select"}->add($client); - # After we accepted we will look at the socket again - # to see if there is any data there. ---Olaf - $self->loop_once(0); - } else { - # We go here if we are called with a client socket - my $peer = $self->{"_tcp"}{$sock}{"peer"}; - - if ($self->{"_tcp"}{$sock}{"state"} == STATE_ACCEPTED) { - if (not $self->{"_tcp"}{$sock}{"inbuffer"} =~ s/^(..)//s) { - return; # Still not 2 octets ready - } - my $msglen = unpack("n", $1); - print "Removed 2 octets from the input buffer from $peer.\n". - "$peer said his query contains $msglen octets.\n" - if $self->{"Verbose"}; - $self->{"_tcp"}{$sock}{"state"} = STATE_GOT_LENGTH; - $self->{"_tcp"}{$sock}{"querylength"} = $msglen; - } - # Not elsif, because we might already have all the data - if ($self->{"_tcp"}{$sock}{"state"} == STATE_GOT_LENGTH) { - # return if not all data has been received yet. - return if $self->{"_tcp"}{$sock}{"querylength"} > length $self->{"_tcp"}{$sock}{"inbuffer"}; - - my $qbuf = substr($self->{"_tcp"}{$sock}{"inbuffer"}, 0, $self->{"_tcp"}{$sock}{"querylength"}); - substr($self->{"_tcp"}{$sock}{"inbuffer"}, 0, $self->{"_tcp"}{$sock}{"querylength"}) = ""; - my $query = Net::DNS::Packet->new(\$qbuf); - my $reply = $self->make_reply($query, $sock->peerhost); - if (not defined $reply) { - print "I couldn't create a reply for $peer. Closing socket.\n" - if $self->{"Verbose"}; - $self->{"select"}->remove($sock); - $sock->close(); - delete $self->{"_tcp"}{$sock}; - return; - } - my $reply_data = $reply->data; - my $len = length $reply_data; - $self->{"_tcp"}{$sock}{"outbuffer"} = pack("n", $len) . $reply_data; - print "Queued ", - length $self->{"_tcp"}{$sock}{"outbuffer"}, - " octets to $peer\n" - if $self->{"Verbose"}; - # We are done. - $self->{"_tcp"}{$sock}{"state"} = STATE_SENDING; - } - } -} - -#------------------------------------------------------------------------------ -# udp_connection - Handle a UDP connection. -#------------------------------------------------------------------------------ - -sub udp_connection { - my ($self, $sock) = @_; - - my $buf = ""; - - $sock->recv($buf, &Net::DNS::PACKETSZ); - my ($peerhost,$peerport) = ($sock->peerhost, $sock->peerport); - - print "UDP connection from $peerhost:$peerport\n" if $self->{"Verbose"}; - - my $query = Net::DNS::Packet->new(\$buf); - - my $reply = $self->make_reply($query, $peerhost) || return; - my $reply_data = $reply->data; - - local $| = 1 if $self->{"Verbose"}; - print "Writing response - " if $self->{"Verbose"}; - - if ($sock->send($reply_data)) { # - print "done\n" if $self->{"Verbose"}; - } - else { - print "failed to send reply: $!\n" if $self->{"Verbose"}; - } - } - - -sub get_open_tcp { - my $self=shift; - return keys %{$self->{"_tcp"}}; -} - - -#------------------------------------------------------------------------------ -# loop_once - Just check "once" on sockets already set up -#------------------------------------------------------------------------------ - -# This function might not actually return immediately. If an AXFR request is -# coming in which will generate a huge reply, we will not relinquish control -# until our outbuffers are empty. - -# -# NB this method may be subject to change and is therefore left 'undocumented' -# - -sub loop_once { - my ($self, $timeout) = @_; - $timeout=0 unless defined($timeout); - print ";loop_once called with $timeout \n" if $self->{"Verbose"} >4; - foreach my $sock (keys %{$self->{"_tcp"}}) { - $timeout = 0.1 if $self->{"_tcp"}{$sock}{"outbuffer"}; - } - my @ready = $self->{"select"}->can_read($timeout); - - foreach my $sock (@ready) { - my $protonum = $sock->protocol; - # This is a weird and nasty hack. Although not incorrect, - # I just don't know why ->protocol won't tell me the protocol - # on a connected socket. --robert - $protonum = getprotobyname('tcp') if not defined $protonum and $self->{"_tcp"}{$sock}; - - my $proto = getprotobynumber($protonum); - if (!$proto) { - print "ERROR: connection with unknown protocol\n" - if $self->{"Verbose"}; - } elsif (lc($proto) eq "tcp") { - - $self->readfromtcp($sock) && - $self->tcp_connection($sock); - } elsif (lc($proto) eq "udp") { - $self->udp_connection($sock); - } else { - print "ERROR: connection with unsupported protocol $proto\n" - if $self->{"Verbose"}; - } - } - my $now = time(); - # Lets check if any of our TCP clients has pending actions. - # (outbuffer, timeout) - foreach my $s (keys %{$self->{"_tcp"}}) { - my $sock = $self->{"_tcp"}{$s}{"socket"}; - if ($self->{"_tcp"}{$s}{"outbuffer"}) { - # If we have buffered output, then send as much as the OS will accept - # and wait with the rest - my $len = length $self->{"_tcp"}{$s}{"outbuffer"}; - my $charssent = $sock->syswrite($self->{"_tcp"}{$s}{"outbuffer"}); - print "Sent $charssent of $len octets to ",$self->{"_tcp"}{$s}{"peer"},".\n" - if $self->{"Verbose"}; - substr($self->{"_tcp"}{$s}{"outbuffer"}, 0, $charssent) = ""; - if (length $self->{"_tcp"}{$s}{"outbuffer"} == 0) { - delete $self->{"_tcp"}{$s}{"outbuffer"}; - $self->{"_tcp"}{$s}{"state"} = STATE_ACCEPTED; - if (length $self->{"_tcp"}{$s}{"inbuffer"} >= 2) { - # See if the client has send us enough data to process the - # next query. - # We do this here, because we only want to process (and buffer!!) - # a single query at a time, per client. If we allowed a STATE_SENDING - # client to have new requests processed. We could be easilier - # victims of DoS (client sending lots of queries and never reading - # from it's socket). - # Note that this does not disable serialisation on part of the - # client. The split second it should take for us to lookip the - # next query, is likely faster than the time it takes to - # send the response... well, unless it's a lot of tiny queries, - # in which case we will be generating an entire TCP packet per - # reply. --robert - $self->tcp_connection($self->{"_tcp"}{"socket"}); - } - } - $self->{"_tcp"}{$s}{"timeout"} = time()+120; - } else { - # Get rid of idle clients. - my $timeout = $self->{"_tcp"}{$s}{"timeout"}; - if ($timeout - $now < 0) { - print $self->{"_tcp"}{$s}{"peer"}," has been idle for too long and will be disconnected.\n" - if $self->{"Verbose"}; - $self->{"select"}->remove($sock); - $sock->close(); - delete $self->{"_tcp"}{$s}; - } - } - } -} - -#------------------------------------------------------------------------------ -# main_loop - Main nameserver loop. -#------------------------------------------------------------------------------ - -sub main_loop { - my $self = shift; - - while (1) { - print "Waiting for connections...\n" if $self->{"Verbose"}; - # You really need an argument otherwise you'll be burning - # CPU. - $self->loop_once(10); - } -} - -1; - -__END__ - -=head1 NAME - -Net::DNS::Nameserver - DNS server class - -=head1 SYNOPSIS - -C<use Net::DNS::Nameserver;> - -=head1 DESCRIPTION - -Instances of the C<Net::DNS::Nameserver> class represent DNS server -objects. See L</EXAMPLE> for an example. - -=head1 METHODS - -=head2 new - - my $ns = Net::DNS::Nameserver->new( - LocalAddr => "10.1.2.3", - LocalPort => "5353", - ReplyHandler => \&reply_handler, - Verbose => 1 - ); - - - - my $ns = Net::DNS::Nameserver->new( - LocalAddr => ['::1' , '127.0.0.1' ], - LocalPort => "5353", - ReplyHandler => \&reply_handler, - Verbose => 1 - ); - -Creates a nameserver object. Attributes are: - - LocalAddr IP address on which to listen. Defaults to INADDR_ANY. - LocalPort Port on which to listen. Defaults to 53. - ReplyHandler Reference to reply-handling - subroutine Required. - NotifyHandler Reference to reply-handling - subroutine for queries with - opdcode NS_NOTIFY (RFC1996) - Verbose Print info about received - queries. Defaults to 0 (off). - - -The LocalAddr attribute may alternatively be specified as a list of IP -addresses to listen to. - -If IO::Socket::INET6 and Socket6 are available on the system you can -also list IPv6 addresses and the default is '0' (listen on all interfaces on -IPv6 and IPv4); - - -The ReplyHandler subroutine is passed the query name, query class, -query type and optionally an argument containing the peerhost the -incoming query. It must return the response code and references to the -answer, authority, and additional sections of the response. Common -response codes are: - - NOERROR No error - FORMERR Format error - SERVFAIL Server failure - NXDOMAIN Non-existent domain (name doesn't exist) - NOTIMP Not implemented - REFUSED Query refused - -For advanced usage it may also contain a headermaks containing an -hashref with the settings for the C<aa>, C<ra>, and C<ad> -header bits. The argument is of the form -C<< { ad => 1, aa => 0, ra => 1 } >>. - - -See RFC 1035 and the IANA dns-parameters file for more information: - - ftp://ftp.rfc-editor.org/in-notes/rfc1035.txt - http://www.isi.edu/in-notes/iana/assignments/dns-parameters - -The nameserver will listen for both UDP and TCP connections. On -Unix-like systems, the program will probably have to run as root -to listen on the default port, 53. A non-privileged user should -be able to listen on ports 1024 and higher. - -Returns a Net::DNS::Nameserver object, or undef if the object -couldn't be created. - -See L</EXAMPLE> for an example. - -=head2 main_loop - - $ns->main_loop; - -Start accepting queries. Calling main_loop never returns. - -=cut - -##### -# -# The functionality might change. Left "undocumented" for now. -# -=head2 loop_once - - $ns->loop_once( [TIMEOUT_IN_SECONDS] ); - -Start accepting queries, but returns. If called without a parameter, -the call will not return until a request has been received (and -replied to). If called with a number, that number specifies how many -seconds (even fractional) to maximum wait before returning. If called -with 0 it will return immediately unless there's something to do. - -Handling a request and replying obviously depends on the speed of -ReplyHandler. Assuming ReplyHandler is super fast, loop_once should spend -just a fraction of a second, if called with a timeout value of 0 seconds. -One exception is when an AXFR has requested a huge amount of data that -the OS is not ready to receive in full. In that case, it will keep -running through a loop (while servicing new requests) until the reply -has been sent. - -In case loop_once accepted a TCP connection it will immediatly check -if there is data to be read from the socket. If not it will return and -you will have to call loop_once() again to check if there is any data -waiting on the socket to be processed. In most cases you will have to -count on calling "loop_once" twice. - -A code fragment like: - $ns->loop_once(10); - while( $ns->get_open_tcp() ){ - $ns->loop_once(0); - } - -Would wait for 10 seconds for the initial connection and would then -process all TCP sockets until none is left. - -=head2 get_open_tcp - -In scalar context returns the number of TCP connections for which state -is maintained. In array context it returns IO::Socket objects, these could -be useful for troubleshooting but be careful using them. - -=head1 EXAMPLE - -The following example will listen on port 5353 and respond to all queries -for A records with the IP address 10.1.2.3. All other queries will be -answered with NXDOMAIN. Authority and additional sections are left empty. -The $peerhost variable catches the IP address of the peer host, so that -additional filtering on its basis may be applied. - - #!/usr/bin/perl - - use Net::DNS::Nameserver; - use strict; - use warnings; - - sub reply_handler { - my ($qname, $qclass, $qtype, $peerhost,$query) = @_; - my ($rcode, @ans, @auth, @add); - - print "Received query from $peerhost\n"; - $query->print; - - - if ($qtype eq "A" && $qname eq "foo.example.com" ) { - my ($ttl, $rdata) = (3600, "10.1.2.3"); - push @ans, Net::DNS::RR->new("$qname $ttl $qclass $qtype $rdata"); - $rcode = "NOERROR"; - }elsif( $qname eq "foo.example.com" ) { - $rcode = "NOERROR"; - - }else{ - $rcode = "NXDOMAIN"; - } - - - # mark the answer as authoritive (by setting the 'aa' flag - return ($rcode, \@ans, \@auth, \@add, { aa => 1 }); - } - - my $ns = Net::DNS::Nameserver->new( - LocalPort => 5353, - ReplyHandler => \&reply_handler, - Verbose => 1, - ) || die "couldn't create nameserver object\n"; - - $ns->main_loop; - -=head1 BUGS - -Limitations in perl 5.8.6 makes it impossible to guarantee that -replies to UDP queries from Net::DNS::Nameserver are sent from the -IP-address they were received on. This is a problem for machines with -multiple IP-addresses and causes violation of RFC2181 section 4. -Thus a UDP socket created listening to INADDR_ANY (all available -IP-addresses) will reply not necessarily with the source address being -the one to which the request was sent, but rather with the address that -the operating system choses. This is also often called "the closest -address". This should really only be a problem on a server which has -more than one IP-address (besides localhost - any experience with IPv6 -complications here, would be nice). If this is a problem for you, a -work-around would be to not listen to INADDR_ANY but to specify each -address that you want this module to listen on. A seperate set of -sockets will then be created for each IP-address. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2005-2007 O.M, Kolkman, RIPE NCC. - -Portions Copyright (c) 2005 Robert Martin-Legene. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::Question>, -L<Net::DNS::RR>, RFC 1035 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm deleted file mode 100644 index 9aabcac01e4..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm +++ /dev/null @@ -1,749 +0,0 @@ -package Net::DNS::Packet; -# -# $Id: Packet.pm 704 2008-02-06 21:30:59Z olaf $ -# -use strict; - -BEGIN { - eval { require bytes; } -} - -use vars qw(@ISA @EXPORT_OK $VERSION $AUTOLOAD); - -use Carp; -use Net::DNS ; -use Net::DNS::Question; -use Net::DNS::RR; - - - -require Exporter; -@ISA = qw(Exporter); -@EXPORT_OK = qw(dn_expand); - - -$VERSION = (qw$LastChangedRevision: 704 $)[1]; - - - -=head1 NAME - -Net::DNS::Packet - DNS packet object class - -=head1 SYNOPSIS - -C<use Net::DNS::Packet;> - -=head1 DESCRIPTION - -A C<Net::DNS::Packet> object represents a DNS packet. - -=head1 METHODS - -=head2 new - - $packet = Net::DNS::Packet->new("example.com"); - $packet = Net::DNS::Packet->new("example.com", "MX", "IN"); - - $packet = Net::DNS::Packet->new(\$data); - $packet = Net::DNS::Packet->new(\$data, 1); # set debugging - - ($packet, $err) = Net::DNS::Packet->new(\$data); - - $packet = Net::DNS::Packet->new(); - -If passed a domain, type, and class, C<new> creates a packet -object appropriate for making a DNS query for the requested -information. The type and class can be omitted; they default -to A and IN. - -If passed a reference to a scalar containing DNS packet data, -C<new> creates a packet object from that data. A second argument -can be passed to turn on debugging output for packet parsing. - -If called in array context, returns a packet object and an -error string. The error string will only be defined if the -packet object is undefined (i.e., couldn't be created). - -Returns B<undef> if unable to create a packet object (e.g., if -the packet data is truncated). - -If called with an empty argument list, C<new> creates an empty packet. - -=cut - -sub new { - my $class = shift; - my ($data) = @_; - return $class->parse(@_) if ref $data; - - my %self = ( header => Net::DNS::Header->new, - question => [], - answer => [], - authority => [], - additional => [] ); - - push @{$self{question}}, Net::DNS::Question->new(@_) if @_; - - bless \%self, $class; -} - - - -sub parse { - my $class = shift; - my $data = shift; - my $debug = shift || 0; - - my %self = ( question => [], - answer => [], - authority => [], - additional => [], - answersize => length $$data, - buffer => $data ); - - my $self = eval { - # Parse header section - my ($header, $offset) = Net::DNS::Header->parse($data); - $self{header} = $header; - - # Parse question/zone section - for ( 1 .. $header->qdcount ) { - my $qd; - ($qd, $offset) = Net::DNS::Question->parse($data, $offset); - push(@{$self{question}}, $qd); - } - - # Retain offset for on-demand parse of remaining data - $self{offset} = $offset; - - bless \%self, $class; - }; - - ($self || die $@)->print if $debug; - - return wantarray ? ($self, $@) : $self; -} - - - -=head2 data - - $data = $packet->data; - -Returns the packet data in binary format, suitable for sending to -a nameserver. - -=cut - -sub data { - my $self = shift; - my $data = ''; - my $header = $self->{header}; - - # Default question for empty packet - $self->push('question', Net::DNS::Question->new('','ANY','ANY')) - unless @{$self->{question}}; - - #---------------------------------------------------------------------- - # Set record counts in packet header - #---------------------------------------------------------------------- - $header->qdcount( scalar @{$self->{question}} ); - $header->ancount( scalar @{$self->{answer}} ); - $header->nscount( scalar @{$self->{authority}} ); - $header->arcount( scalar @{$self->{additional}} ); - - #---------------------------------------------------------------------- - # Get the data for each section in the packet - #---------------------------------------------------------------------- - $self->{compnames} = {}; - foreach my $component ( $header, - @{$self->{question}}, - @{$self->{answer}}, - @{$self->{authority}}, - @{$self->{additional}} ) { - $data .= $component->data($self, length $data); - } - - return $data; -} - - -=head2 header - - $header = $packet->header; - -Returns a C<Net::DNS::Header> object representing the header section -of the packet. - -=cut - -sub header { - return shift->{header}; -} - -=head2 question, zone - - @question = $packet->question; - -Returns a list of C<Net::DNS::Question> objects representing the -question section of the packet. - -In dynamic update packets, this section is known as C<zone> and -specifies the zone to be updated. - -=cut - -sub question { - return @{shift->{question}}; -} - -sub zone { &question } - -=head2 answer, pre, prerequisite - - @answer = $packet->answer; - -Returns a list of C<Net::DNS::RR> objects representing the answer -section of the packet. - -In dynamic update packets, this section is known as C<pre> or -C<prerequisite> and specifies the RRs or RRsets which must or -must not preexist. - -=cut - -sub answer { - my @rr = eval { &_answer }; - carp "$@ caught" if $@; - return @rr; -} - -sub _answer { - my ($self) = @_; - - my @rr = @{$self->{answer}}; - return @rr if @rr; # return if already parsed - - my $data = $self->{buffer}; # parse answer data - my $offset = $self->{offset} || return; - undef $self->{offset}; - my $ancount = $self->{header}->ancount; - my $rr; - while ( $ancount-- ) { - ($rr, $offset) = Net::DNS::RR->parse($data, $offset); - push(@rr, $rr); - } - $self->{offset} = $offset; # index next section - @{$self->{answer}} = @rr; -} - -sub pre { &answer } -sub prerequisite { &answer } - -=head2 authority, update - - @authority = $packet->authority; - -Returns a list of C<Net::DNS::RR> objects representing the authority -section of the packet. - -In dynamic update packets, this section is known as C<update> and -specifies the RRs or RRsets to be added or deleted. - -=cut - -sub authority { - my @rr = eval { &_authority }; - carp "$@ caught" if $@; - return @rr; -} - -sub _authority { - my ($self) = @_; - - my @rr = @{$self->{authority}}; - return @rr if @rr; # return if already parsed - - &_answer unless @{$self->{answer}}; # parse answer data - - my $data = $self->{buffer}; # parse authority data - my $offset = $self->{offset} || return; - undef $self->{offset}; - my $nscount = $self->{header}->nscount; - my $rr; - while ( $nscount-- ) { - ($rr, $offset) = Net::DNS::RR->parse($data, $offset); - push(@rr, $rr); - } - $self->{offset} = $offset; # index next section - @{$self->{authority}} = @rr; -} - -sub update { &authority } - -=head2 additional - - @additional = $packet->additional; - -Returns a list of C<Net::DNS::RR> objects representing the additional -section of the packet. - -=cut - -sub additional { - my @rr = eval { &_additional }; - carp "$@ caught" if $@; - return @rr; -} - -sub _additional { - my ($self) = @_; - - my @rr = @{$self->{additional}}; - return @rr if @rr; # return if already parsed - - &_authority unless @{$self->{authority}}; # parse authority data - - my $data = $self->{buffer}; # parse additional data - undef $self->{buffer}; # discard raw data after use - my $offset = $self->{offset} || return; - undef $self->{offset}; - my $arcount = $self->{header}->arcount; - my $rr; - while ( $arcount-- ) { - ($rr, $offset) = Net::DNS::RR->parse($data, $offset); - push(@rr, $rr); - } - @{$self->{additional}} = @rr; -} - - -=head2 print - - $packet->print; - -Prints the packet data on the standard output in an ASCII format -similar to that used in DNS zone files. - -=cut - -sub print { print &string; } - -=head2 string - - print $packet->string; - -Returns a string representation of the packet. - -=cut - -sub string { - my $self = shift; - - my $header = $self->{header}; - my $update = $header->opcode eq 'UPDATE'; - - my $server = $self->{answerfrom}; - my $string = $server ? ";; Answer received from $server ($self->{answersize} bytes)\n" : ""; - - $string .= ";; HEADER SECTION\n".$header->string; - - my $question = $update ? 'ZONE' : 'QUESTION'; - my @question = map{$_->string} $self->question; - my $qdcount = @question; - my $qds = $qdcount != 1 ? 's' : ''; - $string .= join "\n;; ", "\n;; $question SECTION ($qdcount record$qds)", @question; - - my $answer = $update ? 'PREREQUISITE' : 'ANSWER'; - my @answer = map{$_->string} $self->answer; - my $ancount = @answer; - my $ans = $ancount != 1 ? 's' : ''; - $string .= join "\n", "\n\n;; $answer SECTION ($ancount record$ans)", @answer; - - my $authority = $update ? 'UPDATE' : 'AUTHORITY'; - my @authority = map{$_->string} $self->authority; - my $nscount = @authority; - my $nss = $nscount != 1 ? 's' : ''; - $string .= join "\n", "\n\n;; $authority SECTION ($nscount record$nss)", @authority; - - my @additional = map{$_->string} $self->additional; - my $arcount = @additional; - my $ars = $arcount != 1 ? 's' : ''; - $string .= join "\n", "\n\n;; ADDITIONAL SECTION ($arcount record$ars)", @additional; - - return $string."\n\n"; -} - -=head2 answerfrom - - print "packet received from ", $packet->answerfrom, "\n"; - -Returns the IP address from which we received this packet. User-created -packets will return undef for this method. - -=cut - -sub answerfrom { - my $self = shift; - - return $self->{answerfrom} = shift if @_; - - return $self->{answerfrom}; -} - -=head2 answersize - - print "packet size: ", $packet->answersize, " bytes\n"; - -Returns the size of the packet in bytes as it was received from a -nameserver. User-created packets will return undef for this method -(use C<< length $packet->data >> instead). - -=cut - -sub answersize { - return shift->{answersize}; -} - -=head2 push - - $ancount = $packet->push(pre => $rr); - $nscount = $packet->push(update => $rr); - $arcount = $packet->push(additional => $rr); - - $nscount = $packet->push(update => $rr1, $rr2, $rr3); - $nscount = $packet->push(update => @rr); - -Adds RRs to the specified section of the packet. - -Returns the number of resource records in the specified section. - - -=cut - -sub push { - my $self = shift; - my $section = lc shift || ''; - my @rr = map{ref $_ ? $_ : ()} @_; - - my $hdr = $self->{header}; - for ( $section ) { - return $hdr->qdcount(push(@{$self->{question}}, @rr)) if /^question/; - - if ( $hdr->opcode eq 'UPDATE' ) { - my ($zone) = $self->zone; - my $zclass = $zone->zclass; - foreach ( @rr ) { - $_->class($zclass) unless $_->class =~ /ANY|NONE/; - } - } - - return $hdr->ancount(push(@{$self->{answer}}, @rr)) if /^ans|^pre/; - return $hdr->nscount(push(@{$self->{authority}}, @rr)) if /^auth|^upd/; - return $hdr->adcount(push(@{$self->{additional}}, @rr)) if /^add/; - } - - carp qq(invalid section "$section"); - return undef; # undefined record count -} - - -=head2 unique_push - - $ancount = $packet->unique_push(pre => $rr); - $nscount = $packet->unique_push(update => $rr); - $arcount = $packet->unique_push(additional => $rr); - - $nscount = $packet->unique_push(update => $rr1, $rr2, $rr3); - $nscount = $packet->unique_push(update => @rr); - -Adds RRs to the specified section of the packet provided that -the RRs do not already exist in the packet. - -Returns the number of resource records in the specified section. - -=cut - -sub unique_push { - my $self = shift; - my $section = shift; - my @rr = map{ref $_ ? $_ : ()} @_; - - my @unique = map{$self->{seen}->{ (lc $_->name) . $_->class . $_->type . $_->rdatastr }++ ? () : $_} @rr; - - return $self->push($section, @unique); -} - -=head2 safe_push - -A deprecated name for C<unique_push()>. - -=cut - -sub safe_push { - carp('safe_push() is deprecated, use unique_push() instead,'); - &unique_push; -} - - -=head2 pop - - my $rr = $packet->pop("pre"); - my $rr = $packet->pop("update"); - my $rr = $packet->pop("additional"); - my $rr = $packet->pop("question"); - -Removes RRs from the specified section of the packet. - -=cut - -sub pop { - my $self = shift; - my $section = lc shift || ''; - - for ( $section ) { - return pop(@{$self->{answer}}) if /^ans|^pre/; - return pop(@{$self->{question}}) if /^question/; - - $self->additional if $self->{buffer}; # parse remaining data - - return pop(@{$self->{authority}}) if /^auth|^upd/; - return pop(@{$self->{additional}}) if /^add/; - } - - carp qq(invalid section "$section"); - return undef; -} - - -=head2 dn_comp - - $compname = $packet->dn_comp("foo.example.com", $offset); - -Returns a domain name compressed for a particular packet object, to -be stored beginning at the given offset within the packet data. The -name will be added to a running list of compressed domain names for -future use. - -=cut - -sub dn_comp { - my ($self, $name, $offset) = @_; - # The Exporter module does not seem to catch this baby... - my @names=Net::DNS::name2labels($name); - my $namehash = $self->{compnames}; - my $compname=''; - - while (@names) { - my $dname = join('.', @names); - - if ( my $pointer = $namehash->{$dname} ) { - $compname .= pack('n', 0xc000 | $pointer); - last; - } - $namehash->{$dname} = $offset; - - my $label = shift @names; - my $length = length $label || next; # skip if null - if ( $length > 63 ) { - $length = 63; - $label = substr($label, 0, $length); - carp "\n$label...\ntruncated to $length octets (RFC1035 2.3.1)"; - } - $compname .= pack('C a*', $length, $label); - $offset += $length + 1; - } - - $compname .= pack('C', 0) unless @names; - - return $compname; -} - -=head2 dn_expand - - use Net::DNS::Packet qw(dn_expand); - ($name, $nextoffset) = dn_expand(\$data, $offset); - - ($name, $nextoffset) = Net::DNS::Packet::dn_expand(\$data, $offset); - -Expands the domain name stored at a particular location in a DNS -packet. The first argument is a reference to a scalar containing -the packet data. The second argument is the offset within the -packet where the (possibly compressed) domain name is stored. - -Returns the domain name and the offset of the next location in the -packet. - -Returns B<(undef)> if the domain name couldn't be expanded. - -=cut -# ' - -# This is very hot code, so we try to keep things fast. This makes for -# odd style sometimes. - -sub dn_expand { -#FYI my ($packet, $offset) = @_; - return dn_expand_XS(@_) if $Net::DNS::HAVE_XS; -# warn "USING PURE PERL dn_expand()\n"; - return dn_expand_PP(@_, {} ); # $packet, $offset, anonymous hash -} - -sub dn_expand_PP { - my ($packet, $offset, $visited) = @_; - my $packetlen = length $$packet; - my $name = ''; - - while ( $offset < $packetlen ) { - unless ( my $length = unpack("\@$offset C", $$packet) ) { - $name =~ s/\.$//o; - return ($name, ++$offset); - - } elsif ( ($length & 0xc0) == 0xc0 ) { # pointer - my $point = 0x3fff & unpack("\@$offset n", $$packet); - die 'Exception: unbounded name expansion' if $visited->{$point}++; - - my ($suffix) = dn_expand_PP($packet, $point, $visited); - - return ($name.$suffix, $offset+2) if defined $suffix; - - } else { - my $element = substr($$packet, ++$offset, $length); - $name .= Net::DNS::wire2presentation($element).'.'; - $offset += $length; - } - } - return undef; -} - -=head2 sign_tsig - - $key_name = "tsig-key"; - $key = "awwLOtRfpGE+rRKF2+DEiw=="; - - $update = Net::DNS::Update->new("example.com"); - $update->push("update", rr_add("foo.example.com A 10.1.2.3")); - - $update->sign_tsig($key_name, $key); - - $response = $res->send($update); - -Signs a packet with a TSIG resource record (see RFC 2845). Uses the -following defaults: - - algorithm = HMAC-MD5.SIG-ALG.REG.INT - time_signed = current time - fudge = 300 seconds - -If you wish to customize the TSIG record, you'll have to create it -yourself and call the appropriate Net::DNS::RR::TSIG methods. The -following example creates a TSIG record and sets the fudge to 60 -seconds: - - $key_name = "tsig-key"; - $key = "awwLOtRfpGE+rRKF2+DEiw=="; - - $tsig = Net::DNS::RR->new("$key_name TSIG $key"); - $tsig->fudge(60); - - $query = Net::DNS::Packet->new("www.example.com"); - $query->sign_tsig($tsig); - - $response = $res->send($query); - -You shouldn't modify a packet after signing it; otherwise authentication -will probably fail. - -=cut - -sub sign_tsig { - my $self = shift; - my $tsig = shift || return undef; - - unless ( ref $tsig && ($tsig->type eq "TSIG") ) { - my $key = shift || return undef; - $tsig = Net::DNS::RR->new("$tsig TSIG $key"); - } - - $self->push('additional', $tsig) if $tsig; - return $tsig; -} - - - -=head2 sign_sig0 - -SIG0 support is provided through the Net::DNS::RR::SIG class. This class is not part -of the default Net::DNS distribution but resides in the Net::DNS::SEC distribution. - - $update = Net::DNS::Update->new("example.com"); - $update->push("update", rr_add("foo.example.com A 10.1.2.3")); - $update->sign_sig0("Kexample.com+003+25317.private"); - - -SIG0 support is experimental see Net::DNS::RR::SIG for details. - -The method will call C<Carp::croak()> if Net::DNS::RR::SIG cannot be found. - - -=cut - -sub sign_sig0 { - my $self = shift; - my $arg = shift || return undef; - my $sig0; - - croak('sign_sig0() is only available when Net::DNS::SEC is installed') - unless $Net::DNS::DNSSEC; - - if ( ref $arg ) { - if ( UNIVERSAL::isa($arg,'Net::DNS::RR::SIG') ) { - $sig0 = $arg; - - } elsif ( UNIVERSAL::isa($arg,'Net::DNS::SEC::Private') ) { - $sig0 = Net::DNS::RR::SIG->create('', $arg); - - } elsif ( UNIVERSAL::isa($arg,'Net::DNS::RR::SIG::Private') ) { - carp ref($arg).' is deprecated - use Net::DNS::SEC::Private instead'; - $sig0 = Net::DNS::RR::SIG->create('', $arg); - - } else { - croak 'Incompatible class as argument to sign_sig0: '.ref($arg); - - } - - } else { - $sig0 = Net::DNS::RR::SIG->create('', $arg); - } - - $self->push('additional', $sig0) if $sig0; - return $sig0; -} - - - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2002-2005 Olaf Kolkman - -Portions Copyright (c) 2007-2008 Dick Franks - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - - - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Update>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 4.1, RFC 2136 Section 2, RFC 2845 - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm deleted file mode 100644 index a2094383e5e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm +++ /dev/null @@ -1,260 +0,0 @@ -package Net::DNS::Question; -# -# $Id: Question.pm 704 2008-02-06 21:30:59Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} - -use vars qw($VERSION $AUTOLOAD); - -use Carp; -use Net::DNS; - -$VERSION = (qw$LastChangedRevision: 704 $)[1]; - -=head1 NAME - -Net::DNS::Question - DNS question class - -=head1 SYNOPSIS - -C<use Net::DNS::Question> - -=head1 DESCRIPTION - -A C<Net::DNS::Question> object represents a record in the -question section of a DNS packet. - -=head1 METHODS - -=head2 new - - $question = Net::DNS::Question->new("example.com", "MX", "IN"); - -Creates a question object from the domain, type, and class passed -as arguments. - -RFC4291 and RFC4632 IP address/prefix notation is supported for -queries in in-addr.arpa and ip6.arpa subdomains. - -=cut - -sub new { - my $class = shift; - - my $qname = shift; - my $qtype = uc (shift || 'A'); - my $qclass = uc (shift || 'IN'); - - $qname = '' unless defined $qname; # || ''; is NOT same! - $qname =~ s/\.+$//o; # strip gratuitous trailing dot - - # Check if the caller has the type and class reversed. - # We are not that kind for unknown types.... :-) - ($qtype, $qclass) = ($qclass, $qtype) - if exists $Net::DNS::classesbyname{$qtype} - and exists $Net::DNS::typesbyname{$qclass}; - - # if argument is an IP address, do appropriate reverse lookup - my $reverse = _dns_addr($qname) if $qname =~ m/:|\d$/o; - if ( $reverse ) { - $qname = $reverse; - $qtype = 'PTR' if $qtype =~ m/^(A|AAAA)$/o; - } - - my $self = { qname => $qname, - qtype => $qtype, - qclass => $qclass - }; - - bless $self, $class; -} - - -sub _dns_addr { - my $arg = shift; # name or IP address - - # IP address must contain address characters only - return undef if $arg =~ m#[^a-fA-F0-9:./]#o; - - # if arg looks like IPv4 address then map to in-addr.arpa space - if ( $arg =~ m#(^|:.*:)((^|\d+\.)+\d+)(/(\d+))?$#o ) { - my @parse = split /\./, $2; - my $prefx = $5 || @parse<<3; - my $last = $prefx > 24 ? 3 : ($prefx-1)>>3; - return join '.', reverse( (@parse,(0)x3)[0 .. $last] ), 'in-addr.arpa'; - } - - # if arg looks like IPv6 address then map to ip6.arpa space - if ( $arg =~ m#^((\w*:)+)(\w*)(/(\d+))?$#o ) { - my @parse = split /:/, (reverse "0${1}0${3}"), 9; - my @xpand = map{/./ ? $_ : ('0')x(9-@parse)} @parse; # expand :: - my $prefx = $5 || @xpand<<4; # implicit length if unspecified - my $hex = pack 'A4'x8, map{$_.'000'} ('0')x(8-@xpand), @xpand; - my $len = $prefx > 124 ? 32 : ($prefx+3)>>2; - return join '.', split(//, substr($hex,-$len) ), 'ip6.arpa'; - } - - return undef; -} - - -=head2 parse - - ($question, $offset) = Net::DNS::Question->parse(\$data, $offset); - -Parses a question section record at the specified location within a DNS packet. -The first argument is a reference to the packet data. -The second argument is the offset within the packet where the question record begins. - -Returns a Net::DNS::Question object and the offset of the next location in the packet. - -Parsing is aborted if the question object cannot be created (e.g., corrupt or insufficient data). - -=cut - -use constant PACKED_LENGTH => length pack 'n2', (0)x2; - -sub parse { - my ($class, $data, $offset) = @_; - - my ($qname, $index) = Net::DNS::Packet::dn_expand($data, $offset); - die 'Exception: corrupt or incomplete data' unless $index; - - my $next = $index + PACKED_LENGTH; - die 'Exception: incomplete data' if length $$data < $next; - my ($qtype, $qclass) = unpack("\@$index n2", $$data); - - my $self = { qname => $qname, - qtype => Net::DNS::typesbyval($qtype), - qclass => Net::DNS::classesbyval($qclass) - }; - - bless $self, $class; - - return wantarray ? ($self, $next) : $self; -} - - -# -# Some people have reported that Net::DNS dies because AUTOLOAD picks up -# calls to DESTROY. -# -sub DESTROY {} - -=head2 qname, zname - - print "qname = ", $question->qname, "\n"; - print "zname = ", $question->zname, "\n"; - -Returns the domain name. In dynamic update packets, this field is -known as C<zname> and refers to the zone name. - -=head2 qtype, ztype - - print "qtype = ", $question->qtype, "\n"; - print "ztype = ", $question->ztype, "\n"; - -Returns the record type. In dymamic update packets, this field is -known as C<ztype> and refers to the zone type (must be SOA). - -=head2 qclass, zclass - - print "qclass = ", $question->qclass, "\n"; - print "zclass = ", $question->zclass, "\n"; - -Returns the record class. In dynamic update packets, this field is -known as C<zclass> and refers to the zone's class. - -=cut - -sub zname { &qname; } -sub ztype { &qtype; } -sub zclass { &qclass; } - - -sub AUTOLOAD { - my $self = shift; - - my $name = $AUTOLOAD; - $name =~ s/.*://o; - - croak "$AUTOLOAD: no such method" unless exists $self->{$name}; - - return $self->{$name} unless @_; - - my $value = shift; - $value =~ s/\.+$//o if defined $value; # strip gratuitous trailing dot - $self->{$name} = $value; -} - -=head2 print - - $question->print; - -Prints the question record on the standard output. - -=cut - -sub print { print &string, "\n"; } - -=head2 string - - print $qr->string, "\n"; - -Returns a string representation of the question record. - -=cut - -sub string { - my $self = shift; - return "$self->{qname}.\t$self->{qclass}\t$self->{qtype}"; -} - -=head2 data - - $qdata = $question->data($packet, $offset); - -Returns the question record in binary format suitable for inclusion -in a DNS packet. - -Arguments are a C<Net::DNS::Packet> object and the offset within -that packet's data where the C<Net::DNS::Question> record is to -be stored. This information is necessary for using compressed -domain names. - -=cut - -sub data { - my ($self, $packet, $offset) = @_; - - my $data = $packet->dn_comp($self->{qname}, $offset); - - $data .= pack('n2', Net::DNS::typesbyname(uc $self->{qtype}), - Net::DNS::classesbyname(uc $self->{qclass}) - ); - return $data; -} - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2003,2006-2007 Dick Franks. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::RR>, -RFC 1035 Section 4.1.2 - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm deleted file mode 100644 index c3e2b829f8d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm +++ /dev/null @@ -1,1022 +0,0 @@ -package Net::DNS::RR; -# -# $Id: RR.pm 705 2008-02-06 21:59:18Z olaf $ -# -use strict; - -BEGIN { - eval { require bytes; } -} - - -use vars qw($VERSION $AUTOLOAD %rrsortfunct ); -use Carp; -use Net::DNS; -use Net::DNS::RR::Unknown; - - - -$VERSION = (qw$LastChangedRevision: 705 $)[1]; - -=head1 NAME - -Net::DNS::RR - DNS Resource Record class - -=head1 SYNOPSIS - -C<use Net::DNS::RR> - -=head1 DESCRIPTION - -C<Net::DNS::RR> is the base class for DNS Resource Record (RR) objects. -See also the manual pages for each RR type. - -=head1 METHODS - -B<WARNING!!!> Don't assume the RR objects you receive from a query -are of a particular type -- always check an object's type before calling -any of its methods. If you call an unknown method, you'll get a nasty -warning message and C<Net::DNS::RR> will return C<undef> to the caller. - -=cut -#' Stupid Emacs (I Don't even USE emacs!) ' - -# %RR needs to be available within the scope of the BEGIN block. -# $RR_REGEX is a global just to be on the safe side. -# %_LOADED is used internally for autoloading the RR subclasses. -use vars qw(%RR %_LOADED $RR_REGEX); - -BEGIN { - - %RR = map { $_ => 1 } qw( - A - AAAA - AFSDB - CNAME - CERT - DNAME - EID - HINFO - ISDN - LOC - MB - MG - MINFO - MR - MX - NAPTR - NIMLOC - NS - NSAP - NULL - PTR - PX - RP - RT - SOA - SRV - TKEY - TSIG - TXT - X25 - OPT - SSHFP - SPF - IPSECKEY - ); - - # Only load DNSSEC if available - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::SIG; - }; - - unless ($@) { - $RR{'SIG'} = 1; - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::NXT; - }; - - unless ($@) { - $RR{'NXT'} = 1; - } else { - die $@; - } - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::KEY; - }; - - unless ($@) { - $RR{'KEY'} = 1; - } else { - die $@; - } - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::DS; - }; - - unless ($@) { - $RR{'DS'} = 1; - - } else { - die $@; - } - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::RRSIG; - }; - - unless ($@) { - $RR{'RRSIG'} = 1; - # If RRSIG is available so should the other DNSSEC types - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::NSEC; - }; - unless ($@) { - $RR{'NSEC'} = 1; - } else { - die $@; - } - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::DNSKEY; - }; - - unless ($@) { - $RR{'DNSKEY'} = 1; - } else { - die $@; - } - } - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::DLV; - }; - - unless ($@) { - $RR{'DLV'} =1; - } else { - # Die only if we are dealing with a version for which DLV is - # available - die $@ if defined ($Net::DNS::SEC::HAS_DLV) ; - - } - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::NSEC3; - }; - - unless ($@) { - $RR{'NSEC3'} =1; - } else { - # Die only if we are dealing with a version for which NSEC3 is # available - die $@ if defined ($Net::DNS::SEC::HAS_NSEC3); - } - - - eval { - local $SIG{'__DIE__'} = 'DEFAULT'; - require Net::DNS::RR::NSEC3PARAM; - }; - - unless ($@) { - $RR{'NSEC3PARAM'} =1; - } else { - # Die only if we are dealing with a version for which NSEC3 is - # available - - die $@ if defined($Net::DNS::SEC::SVNVERSION) && $Net::DNS::SEC::SVNVERSION > 619; # In the code since. (for users of the SVN trunk) - } - - - - } -} - -sub build_regex { - my $classes = join('|', keys %Net::DNS::classesbyname, 'CLASS\\d+'); - - # Longest ones go first, so the regex engine will match AAAA before A. - my $types = join('|', sort { length $b <=> length $a } keys %Net::DNS::typesbyname); - - $types .= '|TYPE\\d+'; - - $RR_REGEX = " ^ - \\s* - (\\S+) # name anything non-space will do - \\s* - (\\d+)? - \\s* - ($classes)? - \\s* - ($types)? - \\s* - (.*) - \$"; - -# print STDERR "Regex: $RR_REGEX\n"; -} - - -=head2 new (from string) - - $a = Net::DNS::RR->new("foo.example.com. 86400 A 10.1.2.3"); - $mx = Net::DNS::RR->new("example.com. 7200 MX 10 mailhost.example.com."); - $cname = Net::DNS::RR->new("www.example.com 300 IN CNAME www1.example.com"); - $txt = Net::DNS::RR->new('baz.example.com 3600 HS TXT "text record"'); - -Returns a C<Net::DNS::RR> object of the appropriate type and -initialized from the string passed by the user. The format of the -string is that used in zone files, and is compatible with the string -returned by C<< Net::DNS::RR->string >>. - -The name and RR type are required; all other information is optional. -If omitted, the TTL defaults to 0 and the RR class defaults to IN. -Omitting the optional fields is useful for creating the empty RDATA -sections required for certain dynamic update operations. See the -C<Net::DNS::Update> manual page for additional examples. - -All names must be fully qualified. The trailing dot (.) is optional. - -=head2 new (from hash) - - $rr = Net::DNS::RR->new( - name => "foo.example.com", - ttl => 86400, - class => "IN", - type => "A", - address => "10.1.2.3", - ); - - $rr = Net::DNS::RR->new( - name => "foo.example.com", - type => "A", - ); - -Returns an RR object of the appropriate type, or a C<Net::DNS::RR> -object if the type isn't implemented. See the manual pages for -each RR type to see what fields the type requires. - -The C<Name> and C<Type> fields are required; all others are optional. -If omitted, C<TTL> defaults to 0 and C<Class> defaults to IN. Omitting -the optional fields is useful for creating the empty RDATA sections -required for certain dynamic update operations. - -The fields are case-insensitive, but starting each with uppercase -is recommended. - -=cut - -#' Stupid Emacs - - -sub new { - return new_from_string(@_) if @_ == 2; - return new_from_string(@_) if @_ == 3; - - return new_from_hash(@_); -} - - -sub new_from_data { - my $class = shift; - my ($name, $rrtype, $rrclass, $ttl, $rdlength, $data, $offset) = @_; - - my $self = { name => $name, - type => $rrtype, - class => $rrclass, - ttl => $ttl, - rdlength => $rdlength, - rdata => substr($$data, $offset, $rdlength) - }; - - if ($RR{$rrtype}) { - my $subclass = $class->_get_subclass($rrtype); - return $subclass->new($self, $data, $offset); - } else { - return Net::DNS::RR::Unknown->new($self, $data, $offset); - } - -} - -sub new_from_string { - my ($class, $rrstring, $update_type) = @_; - - build_regex() unless $RR_REGEX; - - # strip out comments - # Test for non escaped ";" by means of the look-behind assertion - # (the backslash is escaped) - $rrstring =~ s/(?<!\\);.*//og; - - ($rrstring =~ m/$RR_REGEX/xso) || - confess qq|qInternal Error: "$rrstring" did not match RR pat.\nPlease report this to the author!\n|; - - my $name = $1; - my $ttl = $2 || 0; - my $rrclass = $3 || ''; - - - my $rrtype = $4 || ''; - my $rdata = $5 || ''; - - $rdata =~ s/\s+$//o if $rdata; - $name =~ s/\.$//o if $name; - - - - # RFC3597 tweaks - # This converts to known class and type if specified as TYPE### - $rrtype = Net::DNS::typesbyval(Net::DNS::typesbyname($rrtype)) if $rrtype =~ m/^TYPE\d+/o; - $rrclass = Net::DNS::classesbyval(Net::DNS::classesbyname($rrclass)) if $rrclass =~ m/^CLASS\d+/o; - - - if (!$rrtype && $rrclass && $rrclass eq 'ANY') { - $rrtype = 'ANY'; - $rrclass = 'IN'; - } elsif (!$rrclass) { - $rrclass = 'IN'; - } - - $rrtype ||= 'ANY'; - - - if ($update_type) { - $update_type = lc $update_type; - - if ($update_type eq 'yxrrset') { - $ttl = 0; - $rrclass = 'ANY' unless $rdata; - } elsif ($update_type eq 'nxrrset') { - $ttl = 0; - $rrclass = 'NONE'; - $rdata = ''; - } elsif ($update_type eq 'yxdomain') { - $ttl = 0; - $rrclass = 'ANY'; - $rrtype = 'ANY'; - $rdata = ''; - } elsif ($update_type eq 'nxdomain') { - $ttl = 0; - $rrclass = 'NONE'; - $rrtype = 'ANY'; - $rdata = ''; - } elsif ($update_type =~ /^(rr_)?add$/o) { - $ttl = 86400 unless $ttl; - } elsif ($update_type =~ /^(rr_)?del(ete)?$/o) { - $ttl = 0; - $rrclass = $rdata ? 'NONE' : 'ANY'; - } - } - - # We used to check if $rrtype was defined at this point. However, - # we just defaulted it to ANY earlier.... - - my $self = { - 'name' => $name, - 'type' => $rrtype, - 'class' => $rrclass, - 'ttl' => $ttl, - 'rdlength' => 0, - 'rdata' => '', - }; - - if ($RR{$rrtype} && $rdata !~ m/^\s*\\#/o ) { - my $subclass = $class->_get_subclass($rrtype); - return $subclass->new_from_string($self, $rdata); - } elsif ($RR{$rrtype}) { # A RR type known to Net::DNS starting with \# - $rdata =~ m/\\\#\s+(\d+)\s+(.*)$/o; - - my $rdlength = $1; - my $hexdump = $2; - $hexdump =~ s/\s*//og; - - die "$rdata is inconsistent; length does not match content" - if length($hexdump) != $rdlength*2; - - $rdata = pack('H*', $hexdump); - - return Net::DNS::RR->new_from_data( - $name, - $rrtype, - $rrclass, - $ttl, - $rdlength, - \$rdata, - length($rdata) - $rdlength - ); - } elsif ($rdata=~/\s*\\\#\s+\d+\s+/o) { - #We are now dealing with the truly unknown. - die 'Expected RFC3597 representation of RDATA' - unless $rdata =~ m/\\\#\s+(\d+)\s+(.*)$/o; - - my $rdlength = $1; - my $hexdump = $2; - $hexdump =~ s/\s*//og; - - die "$rdata is inconsistent; length does not match content" - if length($hexdump) != $rdlength*2; - - $rdata = pack('H*', $hexdump); - - return Net::DNS::RR->new_from_data( - $name, - $rrtype, - $rrclass, - $ttl, - $rdlength, - \$rdata, - length($rdata) - $rdlength - ); - } else { - #God knows how to handle these... bless them in the RR class. - bless $self, $class; - return $self - } - -} - -sub new_from_hash { - my $class = shift; - my %keyval = @_; - my $self = {}; - - while ( my ($key, $val) = each %keyval ) { - ( $self->{lc $key} = $val ) =~ s/\.+$// if defined $val; - } - - croak('RR name not specified') unless defined $self->{name}; - croak('RR type not specified') unless defined $self->{type}; - - $self->{'ttl'} ||= 0; - $self->{'class'} ||= 'IN'; - - $self->{'rdlength'} = length $self->{'rdata'} - if $self->{'rdata'}; - - if ($RR{$self->{'type'}}) { - my $subclass = $class->_get_subclass($self->{'type'}); - - if (uc $self->{'type'} ne 'OPT') { - bless $self, $subclass; - - return $self; - } else { - # Special processing of OPT. Since TTL and CLASS are - # set by other variables. See Net::DNS::RR::OPT - # documentation - return $subclass->new_from_hash($self); - } - } elsif ($self->{'type'} =~ /TYPE\d+/o) { - bless $self, 'Net::DNS::RR::Unknown'; - return $self; - } else { - bless $self, $class; - return $self; - } -} - - -=head2 parse - - ($rrobj, $offset) = Net::DNS::RR->parse(\$data, $offset); - -Parses a DNS resource record at the specified location within a DNS packet. -The first argument is a reference to the packet data. -The second argument is the offset within the packet where the resource record begins. - -Returns a Net::DNS::RR object and the offset of the next location in the packet. - -Parsing is aborted if the object could not be created (e.g., corrupt or insufficient data). - -=cut - -use constant PACKED_LENGTH => length pack 'n2 N n', (0)x4; - -sub parse { - my ($objclass, $data, $offset) = @_; - - my ($name, $index) = Net::DNS::Packet::dn_expand($data, $offset); - die 'Exception: corrupt or incomplete data' unless $index; - - my $rdindex = $index + PACKED_LENGTH; - die 'Exception: incomplete data' if length $$data < $rdindex; - my ($type, $class, $ttl, $rdlength) = unpack("\@$index n2 N n", $$data); - - my $next = $rdindex + $rdlength; - die 'Exception: incomplete data' if length $$data < $next; - - $type = Net::DNS::typesbyval($type) || $type; - - # Special case for OPT RR where CLASS should be - # interpreted as 16 bit unsigned (RFC2671, 4.3) - if ($type ne 'OPT') { - $class = Net::DNS::classesbyval($class) || $class; - } - # else just retain numerical value - - my $self = $objclass->new_from_data($name, $type, $class, $ttl, $rdlength, $data, $rdindex); - die 'Exception: corrupt or incomplete RR subtype data' unless defined $self; - - return wantarray ? ($self, $next) : $self; -} - - -# -# Some people have reported that Net::DNS dies because AUTOLOAD picks up -# calls to DESTROY. -# -sub DESTROY {} - -=head2 print - - $rr->print; - -Prints the record to the standard output. Calls the -B<string> method to get the RR's string representation. - -=cut -#' someone said that emacs gets screwy here. Who am I to claim otherwise... - -sub print { print &string, "\n"; } - -=head2 string - - print $rr->string, "\n"; - -Returns a string representation of the RR. Calls the -B<rdatastr> method to get the RR-specific data. - -=cut - -sub string { - my $self = shift; - my $data = $self->rdatastr || '; no data'; - - join "\t", "$self->{name}.", $self->{ttl}, $self->{class}, $self->{type}, $data; -} - -=head2 rdatastr - - $s = $rr->rdatastr; - -Returns a string containing RR-specific data. Subclasses will need -to implement this method. - -=cut - -sub rdatastr { - my $self = shift; - return exists $self->{'rdlength'} - ? "; rdlength = $self->{'rdlength'}" - : ''; -} - -=head2 name - - $name = $rr->name; - -Returns the record's domain name. - -=head2 type - - $type = $rr->type; - -Returns the record's type. - -=head2 class - - $class = $rr->class; - -Returns the record's class. - -=cut - -# Used to AUTOLOAD this, but apparently some versions of Perl (specifically -# 5.003_07, included with some Linux distributions) would return the -# class the object was blessed into, instead of the RR's class. - -sub class { - my $self = shift; - - if (@_) { - $self->{'class'} = shift; - } elsif (!exists $self->{'class'}) { - Carp::carp('class: no such method'); - return undef; - } - return $self->{'class'}; -} - - -=head2 ttl - - $ttl = $rr->ttl; - -Returns the record's time-to-live (TTL). - -=head2 rdlength - - $rdlength = $rr->rdlength; - -Returns the length of the record's data section. - -=head2 rdata - - $rdata = $rr->rdata - -Returns the record's data section as binary data. - -=cut -#' -sub rdata { - my $self = shift; - my $retval = undef; - - if (@_ == 2) { - my ($packet, $offset) = @_; - $retval = $self->rr_rdata($packet, $offset); - } - elsif (exists $self->{'rdata'}) { - $retval = $self->{'rdata'}; - } - - return $retval; -} - -sub rr_rdata { - my $self = shift; - return exists $self->{'rdata'} ? $self->{'rdata'} : ''; -} - -#------------------------------------------------------------------------------ -# sub data -# -# This method is called by Net::DNS::Packet->data to get the binary -# representation of an RR. -#------------------------------------------------------------------------------ - -sub data { - my ($self, $packet, $offset) = @_; - my $data; - - - # Don't compress TSIG or TKEY names and don't mess with EDNS0 packets - if (uc($self->{'type'}) eq 'TSIG' || uc($self->{'type'}) eq 'TKEY') { - my $tmp_packet = Net::DNS::Packet->new(); - $data = $tmp_packet->dn_comp($self->{'name'}, 0); - return undef unless defined $data; - } elsif (uc($self->{'type'}) eq 'OPT') { - my $tmp_packet = Net::DNS::Packet->new(); - $data = $tmp_packet->dn_comp('', 0); - } else { - $data = $packet->dn_comp($self->{'name'}, $offset); - return undef unless defined $data; - } - - my $qtype = uc($self->{'type'}); - my $qtype_val = ($qtype =~ m/^\d+$/o) ? $qtype : Net::DNS::typesbyname($qtype); - $qtype_val = 0 if !defined($qtype_val); - - my $qclass = uc($self->{'class'}); - my $qclass_val = ($qclass =~ m/^\d+$/o) ? $qclass : Net::DNS::classesbyname($qclass); - $qclass_val = 0 if !defined($qclass_val); - $data .= pack('n', $qtype_val); - - # If the type is OPT then class will need to contain a decimal number - # containing the UDP payload size. (RFC2671 section 4.3) - if (uc($self->{'type'}) ne 'OPT') { - $data .= pack('n', $qclass_val); - } else { - $data .= pack('n', $self->{'class'}); - } - - $data .= pack('N', $self->{'ttl'}); - - $offset += length($data) + &Net::DNS::INT16SZ; # allow for rdlength - - my $rdata = $self->rdata($packet, $offset); - - $data .= pack('n', length $rdata); - $data.=$rdata; - - return $data; -} - - - - - -#------------------------------------------------------------------------------ -# This method is called by SIG objects verify method. -# It is almost the same as data but needed to get an representation of the -# packets in wire format withoud domain name compression. -# It is essential to DNSSEC RFC 2535 section 8 -#------------------------------------------------------------------------------ - -sub _canonicaldata { - my $self = shift; - my $data=''; - { - my $name=$self->{'name'}; - my @dname=Net::DNS::name2labels($name); - for (my $i=0;$i<@dname;$i++){ - $data .= pack ('C',length $dname[$i] ); - $data .= lc($dname[$i] ); - } - $data .= pack ('C','0'); - } - $data .= pack('n', Net::DNS::typesbyname(uc($self->{'type'}))); - $data .= pack('n', Net::DNS::classesbyname(uc($self->{'class'}))); - $data .= pack('N', $self->{'ttl'}); - - - my $rdata = $self->_canonicalRdata; - - $data .= pack('n', length $rdata); - $data .= $rdata; - return $data; - - -} - -# These are methods that are used in the DNSSEC context... Some RR -# have domain names in them. Verification works only on RRs with -# uncompressed domain names. (Canonical format as in sect 8 of -# RFC2535) _canonicalRdata is overwritten in those RR objects that -# have domain names in the RDATA and _name2wire is used to convert a -# domain name to "wire format" - - -sub _canonicalRdata { - my $self=shift; - my $packet=Net::DNS::Packet->new(); - my $rdata = $self->rr_rdata($packet,0); - return $rdata; -} - - - - - -sub _name2wire { - my ($self, $name) = @_; - - my $rdata=""; - my $compname = ""; - my @dname = Net::DNS::name2labels($name); - - - for (@dname) { - $rdata .= pack('C', length $_); - $rdata .= $_ ; - } - - $rdata .= pack('C', '0'); - return $rdata; -} - - - - - -sub AUTOLOAD { - my ($self) = @_; # If we do shift here, it will mess up the goto below. - my ($name) = $AUTOLOAD =~ m/^.*::(.*)$/o; - if ($name =~ /set_rrsort_func/){ - return Net::DNS::RR::set_rrsort_func(@_); - } - if ($name =~ /get_rrsort_func/){ - return Net::DNS::RR::get_rrsort_func(@_); - } - # XXX -- We should test that we do in fact carp on unknown methods. - unless (exists $self->{$name}) { - my $rr_string = $self->string; - Carp::carp(<<"AMEN"); - -*** -*** WARNING!!! The program has attempted to call the method -*** "$name" for the following RR object: -*** -*** $rr_string -*** -*** This object does not have a method "$name". THIS IS A BUG -*** IN THE CALLING SOFTWARE, which has incorrectly assumed that -*** the object would be of a particular type. The calling -*** software should check the type of each RR object before -*** calling any of its methods. -*** -*** Net::DNS has returned undef to the caller. -*** - -AMEN -return; - } - - no strict q/refs/; - - # Build a method in the class. - *{$AUTOLOAD} = sub { - my ($self, $new_val) = @_; - - if (defined $new_val) { - $self->{$name} = $new_val; - } - - return $self->{$name}; - }; - - # And jump over to it. - goto &{$AUTOLOAD}; -} - - - -# -# Net::DNS::RR->_get_subclass($type) -# -# Return a subclass, after loading a subclass (if needed) -# -sub _get_subclass { - my ($class, $type) = @_; - - return unless $type and $RR{$type}; - - my $subclass = join('::', $class, $type); - - unless ($_LOADED{$subclass}) { - eval "require $subclass"; - die $@ if $@; - $_LOADED{$subclass}++; - } - - return $subclass; -} - - - - -=head1 Sorting of RR arrays - -As of version 0.55 there is functionality to help you sort RR -arrays. The sorting is done by Net::DNS::rrsort(), see the -L<Net::DNS> documentation. This package provides class methods to set -the sorting functions used for a particular RR based on a particular -attribute. - - -=head2 set_rrsort_func - -Net::DNS::RR::SRV->set_rrsort_func("priority", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->priority <=> $b->priority - || - $b->weight <=> $a->weight - } - -Net::DNS::RR::SRV->set_rrsort_func("default_sort", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->priority <=> $b->priority - || - $b->weight <=> $a->weight - } - -set_rrsort_func needs to be called as a class method. The first -argument is the attribute name on which the sorting will need to take -place. If you specify "default_sort" than that is the sort algorithm -that will be used in the case that rrsort() is called without an RR -attribute as argument. - -The second argument is a reference to a function that uses the -variables $a and $b global to the C<from Net::DNS>(!!)package for the -sorting. During the sorting $a and $b will contain references to -objects from the class you called the set_prop_sort from. In other -words, you can rest assured that the above sorting function will only -get Net::DNS::RR::SRV objects. - -The above example is the sorting function that actually is implemented in -SRV. - -=cut - - - - -sub set_rrsort_func{ - my $class=shift; - my $attribute=shift; - my $funct=shift; -# print "Using ".__PACKAGE__."set_rrsort: $class\n"; - my ($type) = $class =~ m/^.*::(.*)$/o; - $Net::DNS::RR::rrsortfunct{$type}{$attribute}=$funct; -} - -sub get_rrsort_func { - my $class=shift; - my $attribute=shift; #can be undefined. - my $sortsub; - my ($type) = $class =~ m/^.*::(.*)$/o; - - -# print "Using ".__PACKAGE__." get_rrsort: $class ($type,$attribute)\n"; -# use Data::Dumper; -# print Dumper %Net::DNS::rrsortfunct; - - if (defined($attribute) && - exists($Net::DNS::RR::rrsortfunct{$type}) && - exists($Net::DNS::RR::rrsortfunct{$type}{$attribute}) - ){ - # The default overwritten by the class variable in Net::DNS - return $Net::DNS::RR::rrsortfunct{$type}{$attribute}; - }elsif( - ! defined($attribute) && - exists($Net::DNS::RR::rrsortfunct{$type}) && - exists($Net::DNS::RR::rrsortfunct{$type}{'default_sort'}) - ){ - # The default overwritten by the class variable in Net::DNS - return $Net::DNS::RR::rrsortfunct{$type}{'default_sort'}; - } - elsif( defined($attribute) ){ - - return sub{ - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - ( exists($a->{$attribute}) && - $a->{$attribute} <=> $b->{$attribute}) - || - $a->_canonicaldata() cmp $b->_canonicaldata() - }; - }else{ - return sub{ - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->_canonicaldata() cmp $b->_canonicaldata() - }; - } - - return $sortsub; -} - - - - - - - -sub STORABLE_freeze { - my ($self, $cloning) = @_; - - return if $cloning; - - return ('', {%$self}); -} - -sub STORABLE_thaw { - my ($self, $cloning, undef, $data) = @_; - - %{$self} = %{$data}; - - __PACKAGE__->_get_subclass($self->{'type'}); - - return $self; -} - -=head1 BUGS - -This version of C<Net::DNS::RR> does little sanity checking on user-created -RR objects. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2005-2007 Olaf Kolkman - -Portions Copyright (c) 2007 Dick Franks - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -EDNS0 extensions by Olaf Kolkman. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::Question>, -RFC 1035 Section 4.1.3 - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm deleted file mode 100644 index 0ff7be36f75..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm +++ /dev/null @@ -1,95 +0,0 @@ -package Net::DNS::RR::A; -# -# $Id: A.pm 546 2005-12-16 15:23:03Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} - - -use vars qw(@ISA $VERSION); - -use Socket; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 546 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - $self->{"address"} = inet_ntoa(substr($$data, $offset, 4)); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\s*$/o) - && ($1 >= 0) && ($1 <= 255) - && ($2 >= 0) && ($2 <= 255) - && ($3 >= 0) && ($3 <= 255) - && ($4 >= 0) && ($4 <= 255) ) { - - $self->{"address"} = "$1.$2.$3.$4"; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"address"} || ''; -} - -sub rr_rdata { - my $self = shift; - - return exists $self->{"address"} - ? inet_aton($self->{"address"}) - : ""; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::A - DNS A resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Address (A) resource records. - -=head1 METHODS - -=head2 address - - print "address = ", $rr->address, "\n"; - -Returns the RR's address field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.4.1 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm deleted file mode 100644 index f8c6a212465..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm +++ /dev/null @@ -1,124 +0,0 @@ -package Net::DNS::RR::AAAA; -# -# $Id: AAAA.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} - -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my @addr = unpack("\@$offset n8", $$data); - $self->{"address"} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", @addr); - } - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - my @addr; - - # I think this is correct, per RFC 1884 Sections 2.2 & 2.4.4. - if ($string =~ /^(.*):(\d+)\.(\d+)\.(\d+)\.(\d+)$/) { - my ($front, $a, $b, $c, $d) = ($1, $2, $3, $4, $5); - $string = $front . sprintf(":%x:%x", - ($a << 8 | $b), - ($c << 8 | $d)); - } - - if ($string =~ /^(.*)::(.*)$/) { - my ($front, $back) = ($1, $2); - my @front = split(/:/, $front); - my @back = split(/:/, $back); - my $fill = 8 - (@front ? $#front + 1 : 0) - - (@back ? $#back + 1 : 0); - my @middle = (0) x $fill; - @addr = (@front, @middle, @back); - } - else { - @addr = split(/:/, $string); - if (@addr < 8) { - @addr = ((0) x (8 - @addr), @addr); - } - } - - $self->{"address"} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", - map { hex $_ } @addr); - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"address"} || ''; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"address"}) { - my @addr = split(/:/, $self->{"address"}); - $rdata .= pack("n8", map { hex $_ } @addr); - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::AAAA - DNS AAAA resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS IPv6 Address (AAAA) resource records. - -=head1 METHODS - -=head2 address - - print "address = ", $rr->address, "\n"; - -Returns the RR's address field. - -=head1 BUGS - -The C<string> method returns only the preferred method of address -representation ("x:x:x:x:x:x:x:x", as documented in RFC 1884, -Section 2.2, Para 1). - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1886 Section 2, RFC 1884 Sections 2.2 & 2.4.4 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm deleted file mode 100644 index 8b941adbfff..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm +++ /dev/null @@ -1,122 +0,0 @@ -package Net::DNS::RR::AFSDB; -# -# $Id: AFSDB.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; - -BEGIN { - eval { require bytes; } -} - -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($subtype) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - my($hostname) = Net::DNS::Packet::dn_expand($data, $offset); - $self->{"subtype"} = $subtype; - $self->{"hostname"} = $hostname; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) { - $self->{"subtype"} = $1; - $self->{"hostname"} = $2; - $self->{"hostname"} =~ s/\.+$//;; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return exists $self->{"subtype"} - ? "$self->{subtype} $self->{hostname}." - : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"subtype"}) { - $rdata .= pack("n", $self->{"subtype"}); - $rdata .= $packet->dn_comp($self->{"hostname"}, - $offset + length $rdata); - } - - return $rdata; -} - - - -sub _canonicalRdata { - # rdata contains a compressed domainname... we should not have that. - my ($self) = @_; - my $rdata; - if (exists $self->{"subtype"}) { - $rdata .= pack("n", $self->{"subtype"}); - $rdata .= $self->_name2wire(lc($self->{"hostname"})); - } - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::AFSDB - DNS AFSDB resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS AFS Data Base (AFSDB) resource records. - -=head1 METHODS - -=head2 subtype - - print "subtype = ", $rr->subtype, "\n"; - -Returns the RR's subtype field. Use of the subtype field is documented -in RFC 1183. - -=head2 hostname - - print "hostname = ", $rr->hostname, "\n"; - -Returns the RR's hostname field. See RFC 1183. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1183 Section 1 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm deleted file mode 100644 index 011d7871474..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm +++ /dev/null @@ -1,178 +0,0 @@ -package Net::DNS::RR::CERT; -# -# $Id: CERT.pm 388 2005-06-22 10:06:05Z olaf $ -# -# Written by Mike Schiraldi <raldi@research.netsol.com> for VeriSign - -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -use MIME::Base64; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -my %formats = ( - PKIX => 1, - SPKI => 2, - PGP => 3, - URI => 253, - OID => 254, -); - -my %r_formats = reverse %formats; - -my %algorithms = ( - RSAMD5 => 1, - DH => 2, - DSA => 3, - ECC => 4, - INDIRECT => 252, - PRIVATEDNS => 253, - PRIVATEOID => 254, -); - -my %r_algorithms = reverse %algorithms; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($format, $tag, $algorithm) = unpack("\@$offset n2C", $$data); - - $offset += 2 * Net::DNS::INT16SZ() + 1; - - my $length = $self->{"rdlength"} - (2 * Net::DNS::INT16SZ() + 1); - my $certificate = substr($$data, $offset, $length); - - $self->{"format"} = $format; - $self->{"tag"} = $tag; - $self->{"algorithm"} = $algorithm; - $self->{"certificate"} = $certificate; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - $string or return bless $self, $class; - - my ($format, $tag, $algorithm, @rest) = split " ", $string; - @rest or return bless $self, $class; - - # look up mnemonics - # the "die"s may be rash, but proceeding would be dangerous - if ($algorithm =~ /\D/) { - $algorithm = $algorithms{$algorithm} || die "Unknown algorithm mnemonic: '$algorithm'"; - } - - if ($format =~ /\D/) { - $format = $formats{$format} || die "Unknown format mnemonic: '$format'"; - } - - $self->{"format"} = $format; - $self->{"tag"} = $tag; - $self->{"algorithm"} = $algorithm; - $self->{"certificate"} = MIME::Base64::decode(join('', @rest)); - - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{"format"}) { - my $cert = MIME::Base64::encode $self->{certificate}; - $cert =~ s/\n//g; - - my $format = defined $r_formats{$self->{"format"}} - ? $r_formats{$self->{"format"}} : $self->{"format"}; - - my $algorithm = defined $r_algorithms{$self->{algorithm}} - ? $r_algorithms{$self->{algorithm}} : $self->{algorithm}; - - $rdatastr = "$format $self->{tag} $algorithm $cert"; - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - - my $rdata = ""; - - if (exists $self->{"format"}) { - $rdata .= pack("n2", $self->{"format"}, $self->{tag}); - $rdata .= pack("C", $self->{algorithm}); - $rdata .= $self->{certificate}; - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::CERT - DNS CERT resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Certificate (CERT) resource records. (see RFC 2538) - -=head1 METHODS - -=head2 format - - print "format = ", $rr->format, "\n"; - -Returns the format code for the certificate (in numeric form) - -=head2 tag - - print "tag = ", $rr->tag, "\n"; - -Returns the key tag for the public key in the certificate - -=head2 algorithm - - print "algorithm = ", $rr->algorithm, "\n"; - -Returns the algorithm used by the certificate (in numeric form) - -=head2 certificate - - print "certificate = ", $rr->certificate, "\n"; - -Returns the data comprising the certificate itself (in raw binary form) - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2782 - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm deleted file mode 100644 index d74a816beb1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm +++ /dev/null @@ -1,97 +0,0 @@ -package Net::DNS::RR::CNAME; -# -# $Id: CNAME.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} - -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"cname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"cname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"cname"} ? "$self->{cname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"cname"}) { - $rdata = $packet->dn_comp($self->{"cname"}, $offset); - } - - return $rdata; -} - -# rdata contains a compressed domainname... we should not have that. -sub _canonicalRdata { - my ($self) = @_; - return $self->_name2wire(lc($self->{"cname"})); -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::CNAME - DNS CNAME resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Canonical Name (CNAME) resource records. - -=head1 METHODS - -=head2 cname - - print "cname = ", $rr->cname, "\n"; - -Returns the RR's canonical name. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.1 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm deleted file mode 100644 index c64eea25d14..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm +++ /dev/null @@ -1,90 +0,0 @@ -package Net::DNS::RR::DNAME; -# -# $Id: DNAME.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"dname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"dname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"dname"} ? "$self->{dname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"dname"}) { - $rdata = $packet->dn_comp($self->{"dname"}, $offset); - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::DNAME - DNS DNAME resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Non-Terminal Name Redirection (DNAME) resource records. - -=head1 METHODS - -=head2 dname - - print "dname = ", $rr->dname, "\n"; - -Returns the DNAME target. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2672 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm deleted file mode 100644 index f46f584ecb5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm +++ /dev/null @@ -1,63 +0,0 @@ -package Net::DNS::RR::EID; -# -# $Id: EID.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - return bless $self, $class; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::EID - DNS EID resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Endpoint Identifier (EID) resource records. - -=head1 METHODS - -=head2 rdlength - - print "rdlength = ", $rr->rdlength, "\n"; - -Returns the length of the record's data section. - -=head2 rdata - - $rdata = $rr->rdata; - -Returns the record's data section as binary data. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -draft-ietf-nimrod-dns-I<xx>.txt - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm deleted file mode 100644 index b062a4371be..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm +++ /dev/null @@ -1,125 +0,0 @@ -package Net::DNS::RR::HINFO; -# -# $Id: HINFO.pm 639 2007-05-25 12:00:15Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); -use Net::DNS::RR::TXT; - -@ISA = qw(Net::DNS::RR Net::DNS::RR::TXT); -$VERSION = (qw$LastChangedRevision: 639 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($cpu, $os, $len); - - ($len) = unpack("\@$offset C", $$data); - ++$offset; - $cpu = substr($$data, $offset, $len); - $offset += $len; - - ($len) = unpack("\@$offset C", $$data); - ++$offset; - $os = substr($$data, $offset, $len); - $offset += $len; - - $self->{"cpu"} = $cpu; - $self->{"os"} = $os; - } - - return bless $self, $class; -} - -sub new_from_string { - my ( $class, $self, $rdata_string ) = @_ ; - - bless $self, $class; - - $self->_build_char_str_list($rdata_string); - my @elements= $self->char_str_list(); - if (@elements==2){ - - - $self->{"cpu"} = $elements[0]; - $self->{"os"} = $elements[1]; - }else{ - return; - } - - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"cpu"} - ? qq("$self->{cpu}" "$self->{os}") - : ''; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"cpu"}) { - $rdata .= pack("C", length $self->{"cpu"}); - $rdata .= $self->{"cpu"}; - - $rdata .= pack("C", length $self->{"os"}); - $rdata .= $self->{"os"}; - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::HINFO - DNS HINFO resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Host Information (HINFO) resource records. - -=head1 METHODS - -=head2 cpu - - print "cpu = ", $rr->cpu, "\n"; - -Returns the CPU type for this RR. - -=head2 os - - print "os = ", $rr->os, "\n"; - -Returns the operating system type for this RR. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. -Portions Copyright (c) 2002-2004 Chris Reinhardt -Portions Copyright (c) 2007 NLnet Labs - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.2 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm deleted file mode 100644 index dff03952617..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm +++ /dev/null @@ -1,237 +0,0 @@ -package Net::DNS::RR::IPSECKEY; - - -# -# $Id: IPSECKEY.pm 654 2007-06-20 15:02:50Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION ); -use Socket; - -use MIME::Base64; - -$VERSION = (qw$LastChangedRevision: 654 $)[1]; - -@ISA = qw(Net::DNS::RR); - - -#my %gatetype = ( -# 0 => "No gateway is present.", -# 1 => "A 4-byte IPv4 address is present.", -# 2 => "A 16-byte IPv6 address is present.", -# 3 => "A wire-encoded domain name is present.", -# ); - -#my %algtype = ( -# RSA => 1, -# DSA => 2, -#); - -#my %fingerprinttype = ( -# 'SHA-1' => 1, -#); - -#my %fingerprinttypebyval = reverse %fingerprinttype; -#my %gatetypebyval= reverse %gatetype; -#my %algtypebyval = reverse %algtype; - - -sub new { - my ($class, $self, $data, $offset) = @_; - - my $offsettoprec = $offset; - my $offsettogatetype = $offset+1; - my $offsettoalgor = $offset+2; - my $offsettogateway = $offset+3; - my $offsettopubkey; - - $self->{'precedence'} = unpack('C', substr($$data, $offsettoprec, 1)); - $self->{'gatetype'} = unpack('C', substr($$data, $offsettogatetype, 1)); - $self->{'algorithm'} = unpack('C', substr($$data, $offsettoalgor, 1)); - - if ($self->{'gatetype'}==0){ - $self->{'gateway'}='.'; - $offsettopubkey= $offsettogateway; - }elsif($self->{'gatetype'}==1){ - $self->{'gateway'} = inet_ntoa(substr($$data, $offsettogateway, 4)); - $offsettopubkey= $offsettogateway+4; - }elsif($self->{'gatetype'}==2){ - $offsettopubkey= $offsettogateway+16; - my @addr = unpack("\@$offsettogateway n8", $$data); - $self->{'gateway'} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", @addr); - }elsif($self->{'gatetype'}==3){ - ($self->{'gateway'}, $offsettopubkey) = Net::DNS::Packet::dn_expand($data, $offsettogateway); - - }else{ - die "Could not parse packet, no known gateway type (".$self->{'gatetype'}.")"; - } - my($pubmaterial)=substr($$data, $offsettopubkey, - ($self->{"rdlength"}-$offsettopubkey+$offset)); - - $self->{"pubbin"}=$pubmaterial; - - return bless $self, $class; -} - - - -sub new_from_string { - my ($class, $self, $string) = @_; - if ($string && ($string =~ /^(\d+)\s+(\d)\s+(\d)\s+(\S+)\s+(\S+)$/)) { - $self->{"precedence"} = $1; - $self->{"gatetype"} = $2; - $self->{"algorithm"} = $3; - if ($self->{"gatetype"}==2){ - # Using the AAAA.pm parsing functionality. - my $AAAA=Net::DNS::RR->new("FOO AAAA ".$4); - $self->{"gateway"}=$AAAA->rdatastr; - }else - { - $self->{"gateway"}= $4; - } - $self->{"pubkey"}= $5; - } - - - return bless $self, $class; -} - - -sub pubkey { - my $self=shift; - - $self->{"pubkey"}= encode_base64($self->{"pubbin"},"") unless defined $self->{"pubkey"}; - - return $self->{"pubkey"}; -} - - -sub pubbin { - my $self=shift; - $self->{"pubbin"}= decode_base64($self->{"pubkey"}) unless defined $self->{"pubbin"}; - - return $self->{"pubbin"}; -} - - -sub rdatastr { - my $self = shift; - my $rdatastr = ''; - return "" unless defined $self->{precedence}; - $rdatastr .= $self->{"precedence"} . " ". $self->{"gatetype"} . " " . - $self->{"algorithm"}. " "; - if ($self->{"gatetype"}==0){ - $rdatastr .= ". "; - }else{ - $rdatastr .= $self->{"gateway"}. " "; - } - $rdatastr .= $self->pubkey(); - - return $rdatastr; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - if (exists $self->{"precedence"}) { - $rdata .= pack("C", $self->{"precedence"}); - $rdata .= pack("C", $self->{"gatetype"}); - $rdata .= pack("C", $self->{"algorithm"}); - if ($self->{"gatetype"}==1 ){ - $rdata .= inet_aton($self->{"gateway"}); - }elsif($self->{"gatetype"}==2){ - my @addr = split(/:/, $self->{"gateway"}); - $rdata .= pack("n8", map { hex $_ } @addr); - }elsif($self->{"gatetype"}==3){ - # No Compression _name2wire will do. - $rdata .= $self->_name2wire($self->{"gateway"}); - } - $rdata .= $self->pubbin(); - } - - return $rdata; - -} - - - - - -1; - - -=head1 NAME - -Net::DNS::RR::IPSECKEY - DNS IPSECKEY resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -CLASS for the IPSECKEY RR. - -=head1 METHODS - -In addition to the regular methods - - -=head2 algorithm - -Returns the RR's algorithm field in decimal representation - - 1 = RSA - 2 = DSA - -=head2 precedence - -Returns the presedence - -=head2 gatetype - -Returns the gatetype. - - 0 "No gateway is present.", - 1 "A 4-byte IPv4 address is present.", - 2 "A 16-byte IPv6 address is present.", - 3 "A wire-encoded domain name is present.", - -=head2 gateway - -Returns the gateway in the relevant string notation. - -=head2 pubkey - -Returns the public key in base64 notation - -=head2 pubbin - -Returns the binary public key material in a string. - -=head1 TODO - -Check on validity of algorithm and gatetype. - -=head1 COPYRIGHT - -Copyright (c) 2007 NLnet LAbs, Olaf Kolkman. - -"All rights reserved, This program is free software; you may redistribute it -and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -draft-ietf-dnssext-delegation-signer - -=cut - - - - - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm deleted file mode 100644 index 117e178b43b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm +++ /dev/null @@ -1,129 +0,0 @@ -package Net::DNS::RR::ISDN; -# -# $Id: ISDN.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($address, $sa, $len); - - ($len) = unpack("\@$offset C", $$data); - ++$offset; - $address = substr($$data, $offset, $len); - $offset += $len; - - if ($len + 1 < $self->{"rdlength"}) { - ($len) = unpack("\@$offset C", $$data); - ++$offset; - $sa = substr($$data, $offset, $len); - $offset += $len; - } - else { - $sa = ""; - } - - $self->{"address"} = $address; - $self->{"sa"} = $sa; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && $string =~ /^['"](.*?)['"](.*)/s) { - $self->{"address"} = $1; - my $rest = $2; - - if ($rest =~ /^\s+['"](.*?)['"]$/) { - $self->{"sa"} = $1; - } - else { - $self->{"sa"} = ""; - } - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"address"} - ? qq("$self->{address}" "$self->{sa}") - : ''; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"address"}) { - $rdata .= pack("C", length $self->{"address"}); - $rdata .= $self->{"address"}; - - if ($self->{"sa"}) { - $rdata .= pack("C", length $self->{"sa"}); - $rdata .= $self->{"sa"}; - } - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::ISDN - DNS ISDN resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS ISDN resource records. - -=head1 METHODS - -=head2 address - - print "address = ", $rr->address, "\n"; - -Returns the RR's address field. - -=head2 sa - - print "subaddress = ", $rr->sa, "\n"; - -Returns the RR's subaddress field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1183 Section 3.2 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm deleted file mode 100644 index 61b84f5f1f5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm +++ /dev/null @@ -1,363 +0,0 @@ -package Net::DNS::RR::LOC; -# -# $Id: LOC.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw( - @ISA $VERSION @poweroften $reference_alt - $reference_latlon $conv_sec $conv_min $conv_deg - $default_min $default_sec $default_size - $default_horiz_pre $default_vert_pre -); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -# Powers of 10 from 0 to 9 (used to speed up calculations). -@poweroften = (1, 10, 100, 1_000, 10_000, 100_000, 1_000_000, - 10_000_000, 100_000_000, 1_000_000_000); - -# Reference altitude in centimeters (see RFC 1876). -$reference_alt = 100_000 * 100; - -# Reference lat/lon (see RFC 1876). -$reference_latlon = 2**31; - -# Conversions to/from thousandths of a degree. -$conv_sec = 1000; -$conv_min = 60 * $conv_sec; -$conv_deg = 60 * $conv_min; - -# Defaults (from RFC 1876, Section 3). -$default_min = 0; -$default_sec = 0; -$default_size = 1; -$default_horiz_pre = 10_000; -$default_vert_pre = 10; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($version) = unpack("\@$offset C", $$data); - ++$offset; - - $self->{"version"} = $version; - - if ($version == 0) { - my ($size) = unpack("\@$offset C", $$data); - $size = precsize_ntoval($size); - ++$offset; - - my ($horiz_pre) = unpack("\@$offset C", $$data); - $horiz_pre = precsize_ntoval($horiz_pre); - ++$offset; - - my ($vert_pre) = unpack("\@$offset C", $$data); - $vert_pre = precsize_ntoval($vert_pre); - ++$offset; - - my ($latitude) = unpack("\@$offset N", $$data); - $offset += Net::DNS::INT32SZ(); - - my ($longitude) = unpack("\@$offset N", $$data); - $offset += Net::DNS::INT32SZ(); - - my ($altitude) = unpack("\@$offset N", $$data); - $offset += Net::DNS::INT32SZ(); - - $self->{"size"} = $size; - $self->{"horiz_pre"} = $horiz_pre; - $self->{"vert_pre"} = $vert_pre; - $self->{"latitude"} = $latitude; - $self->{"longitude"} = $longitude; - $self->{"altitude"} = $altitude; - } - else { - # What to do for unsupported versions? - } - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && - $string =~ /^ (\d+) \s+ # deg lat - ((\d+) \s+)? # min lat - (([\d.]+) \s+)? # sec lat - (N|S) \s+ # hem lat - (\d+) \s+ # deg lon - ((\d+) \s+)? # min lon - (([\d.]+) \s+)? # sec lon - (E|W) \s+ # hem lon - (-?[\d.]+) m? # altitude - (\s+ ([\d.]+) m?)? # size - (\s+ ([\d.]+) m?)? # horiz precision - (\s+ ([\d.]+) m?)? # vert precision - /ix) { - - # What to do for other versions? - my $version = 0; - - my ($latdeg, $latmin, $latsec, $lathem) = ($1, $3, $5, $6); - my ($londeg, $lonmin, $lonsec, $lonhem) = ($7, $9, $11, $12); - my ($alt, $size, $horiz_pre, $vert_pre) = ($13, $15, $17, $19); - - $latmin = $default_min unless $latmin; - $latsec = $default_sec unless $latsec; - $lathem = uc($lathem); - - $lonmin = $default_min unless $lonmin; - $lonsec = $default_sec unless $lonsec; - $lonhem = uc($lonhem); - - $size = $default_size unless $size; - $horiz_pre = $default_horiz_pre unless $horiz_pre; - $vert_pre = $default_vert_pre unless $vert_pre; - - $self->{"version"} = $version; - $self->{"size"} = $size * 100; - $self->{"horiz_pre"} = $horiz_pre * 100; - $self->{"vert_pre"} = $vert_pre * 100; - $self->{"latitude"} = dms2latlon($latdeg, $latmin, $latsec, - $lathem); - $self->{"longitude"} = dms2latlon($londeg, $lonmin, $lonsec, - $lonhem); - $self->{"altitude"} = $alt * 100 + $reference_alt; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{"version"}) { - if ($self->{"version"} == 0) { - my $lat = $self->{"latitude"}; - my $lon = $self->{"longitude"}; - my $altitude = $self->{"altitude"}; - my $size = $self->{"size"}; - my $horiz_pre = $self->{"horiz_pre"}; - my $vert_pre = $self->{"vert_pre"}; - - $altitude = ($altitude - $reference_alt) / 100; - $size /= 100; - $horiz_pre /= 100; - $vert_pre /= 100; - - $rdatastr = latlon2dms($lat, "NS") . " " . - latlon2dms($lon, "EW") . " " . - sprintf("%.2fm", $altitude) . " " . - sprintf("%.2fm", $size) . " " . - sprintf("%.2fm", $horiz_pre) . " " . - sprintf("%.2fm", $vert_pre); - } else { - $rdatastr = "; version " . $self->{"version"} . " not supported"; - } - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"version"}) { - $rdata .= pack("C", $self->{"version"}); - if ($self->{"version"} == 0) { - $rdata .= pack("C3", precsize_valton($self->{"size"}), - precsize_valton($self->{"horiz_pre"}), - precsize_valton($self->{"vert_pre"})); - $rdata .= pack("N3", $self->{"latitude"}, - $self->{"longitude"}, - $self->{"altitude"}); - } - else { - # What to do for other versions? - } - } - - return $rdata; -} - -sub precsize_ntoval { - my $prec = shift; - - my $mantissa = (($prec >> 4) & 0x0f) % 10; - my $exponent = ($prec & 0x0f) % 10; - return $mantissa * $poweroften[$exponent]; -} - -sub precsize_valton { - my $val = shift; - - my $exponent = 0; - while ($val >= 10) { - $val /= 10; - ++$exponent; - } - return (int($val) << 4) | ($exponent & 0x0f); -} - -sub latlon2dms { - my ($rawmsec, $hems) = @_; - - # Tried to use modulus here, but Perl dumped core if - # the value was >= 2**31. - - my ($abs, $deg, $min, $sec, $msec, $hem); - - $abs = abs($rawmsec - $reference_latlon); - $deg = int($abs / $conv_deg); - $abs -= $deg * $conv_deg; - $min = int($abs / $conv_min); - $abs -= $min * $conv_min; - $sec = int($abs / $conv_sec); - $abs -= $sec * $conv_sec; - $msec = $abs; - - $hem = substr($hems, ($rawmsec >= $reference_latlon ? 0 : 1), 1); - - return sprintf("%d %02d %02d.%03d %s", $deg, $min, $sec, $msec, $hem); -} - -sub dms2latlon { - my ($deg, $min, $sec, $hem) = @_; - my ($retval); - - $retval = ($deg * $conv_deg) + ($min * $conv_min) + ($sec * $conv_sec); - $retval = -$retval if ($hem eq "S") || ($hem eq "W"); - $retval += $reference_latlon; - return $retval; -} - -sub latlon { - my $self = shift; - my ($retlat, $retlon); - - if ($self->{"version"} == 0) { - $retlat = latlon2deg($self->{"latitude"}); - $retlon = latlon2deg($self->{"longitude"}); - } - else { - $retlat = $retlon = undef; - } - - return ($retlat, $retlon); -} - -sub latlon2deg { - my $rawmsec = shift; - my $deg; - - $deg = ($rawmsec - $reference_latlon) / $conv_deg; - return $deg; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::LOC - DNS LOC resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Location (LOC) resource records. See RFC 1876 for -details. - -=head1 METHODS - -=head2 version - - print "version = ", $rr->version, "\n"; - -Returns the version number of the representation; programs should -always check this. C<Net::DNS> currently supports only version 0. - -=head2 size - - print "size = ", $rr->size, "\n"; - -Returns the diameter of a sphere enclosing the described entity, -in centimeters. - -=head2 horiz_pre - - print "horiz_pre = ", $rr->horiz_pre, "\n"; - -Returns the horizontal precision of the data, in centimeters. - -=head2 vert_pre - - print "vert_pre = ", $rr->vert_pre, "\n"; - -Returns the vertical precision of the data, in centimeters. - -=head2 latitude - - print "latitude = ", $rr->latitude, "\n"; - -Returns the latitude of the center of the sphere described by -the C<size> method, in thousandths of a second of arc. 2**31 -represents the equator; numbers above that are north latitude. - -=head2 longitude - - print "longitude = ", $rr->longitude, "\n"; - -Returns the longitude of the center of the sphere described by -the C<size> method, in thousandths of a second of arc. 2**31 -represents the prime meridian; numbers above that are east -longitude. - -=head2 latlon - - ($lat, $lon) = $rr->latlon; - system("xearth", "-pos", "fixed $lat $lon"); - -Returns the latitude and longitude as floating-point degrees. -Positive numbers represent north latitude or east longitude; -negative numbers represent south latitude or west longitude. - -=head2 altitude - - print "altitude = ", $rr->altitude, "\n"; - -Returns the altitude of the center of the sphere described by -the C<size> method, in centimeters, from a base of 100,000m -below the WGS 84 reference spheroid used by GPS. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. -Some of the code and documentation is based on RFC 1876 and on code -contributed by Christopher Davis. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1876 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm deleted file mode 100644 index e6b33eed0ae..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm +++ /dev/null @@ -1,99 +0,0 @@ -package Net::DNS::RR::MB; -# -# $Id: MB.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"madname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"madname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"madname"} ? "$self->{madname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"madname"}) { - $rdata .= $packet->dn_comp($self->{"madname"}, $offset); - } - - return $rdata; -} - -sub _canonicalRdata { - my $self=shift; - my $rdata = ""; - if (exists $self->{"madname"}) { - $rdata .= $self->_name2wire(lc($self->{"madname"})); - } - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::MB - DNS MB resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Mailbox (MB) resource records. - -=head1 METHODS - -=head2 madname - - print "madname = ", $rr->madname, "\n"; - -Returns the domain name of the host which has the specified mailbox. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.3 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm deleted file mode 100644 index c4950e20048..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm +++ /dev/null @@ -1,100 +0,0 @@ -package Net::DNS::RR::MG; -# -# $Id: MG.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"mgmname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"mgmname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return exists $self->{"mgmname"} ? "$self->{mgmname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"mgmname"}) { - $rdata .= $packet->dn_comp($self->{"mgmname"}, $offset); - } - - return $rdata; -} - - -sub _canonicalRdata { - my $self=shift; - my $rdata = ""; - if (exists $self->{"mgmname"}) { - $rdata .= $self->_name2wire(lc($self->{"mgmname"})); - } - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::MG - DNS MG resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Mail Group (MG) resource records. - -=head1 METHODS - -=head2 mgmname - - print "mgmname = ", $rr->mgmname, "\n"; - -Returns the RR's mailbox field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.6 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm deleted file mode 100644 index 3a3885b44fb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm +++ /dev/null @@ -1,118 +0,0 @@ -package Net::DNS::RR::MINFO; -# -# $Id: MINFO.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"rmailbx"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - ($self->{"emailbx"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\S+)\s+(\S+)$/)) { - $self->{"rmailbx"} = $1; - $self->{"emailbx"} = $2; - $self->{"rmailbx"} =~ s/\.+$//; - $self->{"emailbx"} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"rmailbx"} - ? "$self->{rmailbx}. $self->{emailbx}." - : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"rmailbx"}) { - $rdata .= $packet->dn_comp($self->{"rmailbx"}, $offset); - - $rdata .= $packet->dn_comp($self->{"emailbx"}, - $offset + length $rdata); - } - - return $rdata; -} - - -sub _canonicalRdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"rmailbx"}) { - $rdata .= $self->_name2wire(lc($self->{"rmailbx"})); - $rdata .= $self->_name2wire(lc($self->{"emailbx"})); - } - - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::MINFO - DNS MINFO resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Mailbox Information (MINFO) resource records. - -=head1 METHODS - -=head2 rmailbx - - print "rmailbx = ", $rr->rmailbx, "\n"; - -Returns the RR's responsible mailbox field. See RFC 1035. - -=head2 emailbx - - print "emailbx = ", $rr->emailbx, "\n"; - -Returns the RR's error mailbox field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.7 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm deleted file mode 100644 index 7f7b60d3d16..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm +++ /dev/null @@ -1,101 +0,0 @@ -package Net::DNS::RR::MR; -# -# $Id: MR.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"newname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"newname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"newname"} ? "$self->{newname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"newname"}) { - $rdata .= $packet->dn_comp($self->{"newname"}, $offset); - } - - return $rdata; -} - -sub _canonicalRdata { - my $self=shift; - my $rdata = ""; - if (exists $self->{"newname"}) { - $rdata .= $self->_name2wire(lc($self->{"newname"})); - } - return $rdata; -} - - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::MR - DNS MR resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Mail Rename (MR) resource records. - -=head1 METHODS - -=head2 newname - - print "newname = ", $rr->newname, "\n"; - -Returns the RR's new name field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.8 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm deleted file mode 100644 index 31fe499f2c7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm +++ /dev/null @@ -1,135 +0,0 @@ -package Net::DNS::RR::MX; -# -# $Id: MX.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - - -# Highest preference sorted first. -__PACKAGE__->set_rrsort_func("preference", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{'preference'} <=> $b->{'preference'} -} -); - - -__PACKAGE__->set_rrsort_func("default_sort", - __PACKAGE__->get_rrsort_func("preference") - - ); - - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"preference"}) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - - ($self->{"exchange"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) { - $self->{"preference"} = $1; - $self->{"exchange"} = $2; - $self->{"exchange"} =~ s/\.+$//;; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return defined $self->{"preference"} - ? "$self->{preference} $self->{exchange}." - : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - $rdata .= $packet->dn_comp($self->{"exchange"}, - $offset + length $rdata); - } - - return $rdata; -} - -sub _canonicalRdata { - my ($self) = @_; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - $rdata .= $self->_name2wire(lc($self->{"exchange"})) - } - - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::MX - DNS MX resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Mail Exchanger (MX) resource records. - -=head1 METHODS - -=head2 preference - - print "preference = ", $rr->preference, "\n"; - -Returns the preference for this mail exchange. - -=head2 exchange - - print "exchange = ", $rr->exchange, "\n"; - -Returns name of this mail exchange. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.9 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm deleted file mode 100644 index 1148ec99463..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm +++ /dev/null @@ -1,210 +0,0 @@ -package Net::DNS::RR::NAPTR; -# -# $Id: NAPTR.pm 583 2006-05-03 12:24:18Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 583 $)[1]; - - - - -__PACKAGE__->set_rrsort_func("order", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{'order'} <=> $b->{'order'} - || - $a->{'preference'} <=> $b->{'preference'} -} -); - - -__PACKAGE__->set_rrsort_func("default_sort", - __PACKAGE__->get_rrsort_func("order") - - ); - -__PACKAGE__->set_rrsort_func("preference", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{"preference"} <=> $b->{"preference"} - || - $a->{"order"} <=> $b->{"order"} -} -); - - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"order"} ) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - - ($self->{"preference"}) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - - my ($len) = unpack("\@$offset C", $$data); - ++$offset; - ($self->{"flags"}) = unpack("\@$offset a$len", $$data); - $offset += $len; - - $len = unpack("\@$offset C", $$data); - ++$offset; - ($self->{"service"}) = unpack("\@$offset a$len", $$data); - $offset += $len; - - $len = unpack("\@$offset C", $$data); - ++$offset; - ($self->{"regexp"}) = unpack("\@$offset a$len", $$data); - $offset += $len; - - ($self->{"replacement"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && $string =~ /^ (\d+) \s+ - (\d+) \s+ - ['"] (.*?) ['"] \s+ - ['"] (.*?) ['"] \s+ - ['"] (.*?) ['"] \s+ - (\S+) $/x) { - - $self->{"order"} = $1; - $self->{"preference"} = $2; - $self->{"flags"} = $3; - $self->{"service"} = $4; - $self->{"regexp"} = $5; - $self->{"replacement"} = $6; - $self->{"replacement"} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{"order"}) { - $rdatastr = $self->{"order"} . ' ' . - $self->{"preference"} . ' "' . - $self->{"flags"} . '" "' . - $self->{"service"} . '" "' . - $self->{"regexp"} . '" ' . - $self->{"replacement"} . '.'; - } - else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"order"}) { - - $rdata .= pack("n2", $self->{"order"}, $self->{"preference"}); - - $rdata .= pack("C", length $self->{"flags"}); - $rdata .= $self->{"flags"}; - - $rdata .= pack("C", length $self->{"service"}); - $rdata .= $self->{"service"}; - - $rdata .= pack("C", length $self->{"regexp"}); - $rdata .= $self->{"regexp"}; - - $rdata .= $self->_name2wire ($self->{"replacement"}); - - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::NAPTR - DNS NAPTR resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Naming Authority Pointer (NAPTR) resource records. - -=head1 METHODS - -=head2 order - - print "order = ", $rr->order, "\n"; - -Returns the order field. - -=head2 preference - - print "preference = ", $rr->preference, "\n"; - -Returns the preference field. - -=head2 flags - - print "flags = ", $rr->flags, "\n"; - -Returns the flags field. - -=head2 service - - print "service = ", $rr->service, "\n"; - -Returns the service field. - -=head2 regexp - - print "regexp = ", $rr->regexp, "\n"; - -Returns the regexp field. - -=head2 replacement - - print "replacement = ", $rr->replacement, "\n"; - -Returns the replacement field. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -B<Net::DNS::RR::NAPTR> is based on code contributed by Ryan Moats. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2168 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm deleted file mode 100644 index bec86aebe41..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm +++ /dev/null @@ -1,63 +0,0 @@ -package Net::DNS::RR::NIMLOC; -# -# $Id: NIMLOC.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - return bless $self, $class; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::NIMLOC - DNS NIMLOC resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Nimrod Locator (NIMLOC) resource records. - -=head1 METHODS - -=head2 rdlength - - print "rdlength = ", $rr->rdlength, "\n"; - -Returns the length of the record's data section. - -=head2 rdata - - $rdata = $rr->rdata; - -Returns the record's data section as binary data. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -draft-ietf-nimrod-dns-I<xx>.txt - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm deleted file mode 100644 index 96f60db7847..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm +++ /dev/null @@ -1,106 +0,0 @@ -# -# $Id: NS.pm 707 2008-02-06 22:27:28Z olaf $ -# -package Net::DNS::RR::NS; - -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 707 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"nsdname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"nsdname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"nsdname"} ? "$self->{nsdname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"nsdname"}) { - $rdata .= $packet->dn_comp($self->{"nsdname"}, $offset); - } - - return $rdata; -} - - - -sub _canonicalRdata { - # rdata contains a compressed domainname... we should not have that. - my ($self) = @_; - my $rdata; - $rdata= $self->_name2wire(lc($self->{"nsdname"})); - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::NS - DNS NS resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Name Server (NS) resource records. - -=head1 METHODS - -=head2 nsdname - - print "nsdname = ", $rr->nsdname, "\n"; - -Returns the name of the nameserver. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2005 O.M, Kolkman, RIPE NCC. - -Portions Copyright (c) 2005-2006 O.M, Kolkman, NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.11 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm deleted file mode 100644 index 6b432c90246..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm +++ /dev/null @@ -1,274 +0,0 @@ -package Net::DNS::RR::NSAP; -# -# $Id: NSAP.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my $afi = unpack("\@$offset C", $$data); - $self->{"afi"} = sprintf("%02x", $afi); - ++$offset; - - if ($self->{"afi"} eq "47") { - my @idi = unpack("\@$offset C2", $$data); - $offset += 2; - - my $dfi = unpack("\@$offset C", $$data); - $offset += 1; - - my @aa = unpack("\@$offset C3", $$data); - $offset += 3; - - my @rsvd = unpack("\@$offset C2", $$data); - $offset += 2; - - my @rd = unpack("\@$offset C2", $$data); - $offset += 2; - - my @area = unpack("\@$offset C2", $$data); - $offset += 2; - - my @id = unpack("\@$offset C6", $$data); - $offset += 6; - - my $sel = unpack("\@$offset C", $$data); - $offset += 1; - - $self->{"idi"} = sprintf("%02x" x 2, @idi); - $self->{"dfi"} = sprintf("%02x" x 1, $dfi); - $self->{"aa"} = sprintf("%02x" x 3, @aa); - $self->{"rsvd"} = sprintf("%02x" x 2, @rsvd); - $self->{"rd"} = sprintf("%02x" x 2, @rd); - $self->{"area"} = sprintf("%02x" x 2, @area); - $self->{"id"} = sprintf("%02x" x 6, @id); - $self->{"sel"} = sprintf("%02x" x 1, $sel); - - } else { - # What to do for unsupported versions? - } - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.//g; # remove all dots. - $string =~ s/^0x//; # remove leading 0x - - if ($string =~ /^[a-zA-Z0-9]{40}$/) { - @{ $self }{ qw(afi idi dfi aa rsvd rd area id sel) } = - unpack("A2A4A2A6A4A4A4A12A2", $string); - } - } - - return bless $self, $class; -} - - -sub idp { - my $self = shift; - - return join('', $self->{"afi"}, - $self->{"idi"}); -} - -sub dsp { - my $self = shift; - - return join('', - $self->{"dfi"}, - $self->{"aa"}, - $self->rsvd, - $self->{"rd"}, - $self->{"area"}, - $self->{"id"}, - $self->{"sel"}); -} - -sub rsvd { - my $self = shift; - - return exists $self->{"rsvd"} ? $self->{"rsvd"} : "0000"; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{"afi"}) { - if ($self->{"afi"} eq "47") { - $rdatastr = join('', $self->idp, $self->dsp); - } else { - $rdatastr = "; AFI $self->{'afi'} not supported"; - } - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"afi"}) { - $rdata .= pack("C", hex($self->{"afi"})); - - if ($self->{"afi"} eq "47") { - $rdata .= str2bcd($self->{"idi"}, 2); - $rdata .= str2bcd($self->{"dfi"}, 1); - $rdata .= str2bcd($self->{"aa"}, 3); - $rdata .= str2bcd(0, 2); # rsvd - $rdata .= str2bcd($self->{"rd"}, 2); - $rdata .= str2bcd($self->{"area"}, 2); - $rdata .= str2bcd($self->{"id"}, 6); - $rdata .= str2bcd($self->{"sel"}, 1); - } - - # Checks for other versions would go here. - } - - return $rdata; -} - -#------------------------------------------------------------------------------ -# Usage: str2bcd(STRING, NUM_BYTES) -# -# Takes a string representing a hex number of arbitrary length and -# returns an equivalent BCD string of NUM_BYTES length (with -# NUM_BYTES * 2 digits), adding leading zeros if necessary. -#------------------------------------------------------------------------------ - -# This can't be the best way.... -sub str2bcd { - my ($string, $bytes) = @_; - my $retval = ""; - - my $digits = $bytes * 2; - $string = sprintf("%${digits}s", $string); - $string =~ tr/ /0/; - - my $i; - for ($i = 0; $i < $bytes; ++$i) { - my $bcd = substr($string, $i*2, 2); - $retval .= pack("C", hex $bcd); - } - - return $retval; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::NSAP - DNS NSAP resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Network Service Access Point (NSAP) resource records. - -=head1 METHODS - -=head2 idp - - print "idp = ", $rr->idp, "\n"; - -Returns the RR's initial domain part (the AFI and IDI fields). - -=head2 dsp - - print "dsp = ", $rr->dsp, "\n"; - -Returns the RR's domain specific part (the DFI, AA, Rsvd, RD, Area, -ID, and SEL fields). - -=head2 afi - - print "afi = ", $rr->afi, "\n"; - -Returns the RR's authority and format identifier. C<Net::DNS> -currently supports only AFI 47 (GOSIP Version 2). - -=head2 idi - - print "idi = ", $rr->idi, "\n"; - -Returns the RR's initial domain identifier. - -=head2 dfi - - print "dfi = ", $rr->dfi, "\n"; - -Returns the RR's DSP format identifier. - -=head2 aa - - print "aa = ", $rr->aa, "\n"; - -Returns the RR's administrative authority. - -=head2 rsvd - - print "rsvd = ", $rr->rsvd, "\n"; - -Returns the RR's reserved field. - -=head2 rd - - print "rd = ", $rr->rd, "\n"; - -Returns the RR's routing domain identifier. - -=head2 area - - print "area = ", $rr->area, "\n"; - -Returns the RR's area identifier. - -=head2 id - - print "id = ", $rr->id, "\n"; - -Returns the RR's system identifier. - -=head2 sel - - print "sel = ", $rr->sel, "\n"; - -Returns the RR's NSAP selector. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself.. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1706. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm deleted file mode 100644 index db6e58651b0..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm +++ /dev/null @@ -1,65 +0,0 @@ -package Net::DNS::RR::NULL; -# -# $Id: NULL.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -use Net::DNS::Packet; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - return bless $self, $class; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::NULL - DNS NULL resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Null (NULL) resource records. - -=head1 METHODS - -=head2 rdlength - - print "rdlength = ", $rr->rdlength, "\n"; - -Returns the length of the record's data section. - -=head2 rdata - - $rdata = $rr->rdata; - -Returns the record's data section as binary data. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.10 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm deleted file mode 100644 index 67c9e1ba0af..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm +++ /dev/null @@ -1,286 +0,0 @@ -package Net::DNS::RR::OPT; -# -# $Id: OPT.pm 393 2005-07-01 19:21:52Z olaf $ -# - -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION %extendedrcodesbyname %extendedrcodesbyval $EDNSVERSION); - -use Carp; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 393 $)[1]; - -$EDNSVERSION = 0; - -%extendedrcodesbyname = ( - "ONLY_RDATA" => 0, # No name specified see 4.6 of 2671 - "UNDEF1" => 1, - "UNDEF2" => 2, - "UNDEF3" => 3, - "UNDEF4" => 4, - "UNDEF5" => 5, - "UNDEF6" => 6, - "UNDEF7" => 7, - "UNDEF8" => 8, - "UNDEF9" => 9, - "UNDEF10" => 10, - "UNDEF11" => 11, - "UNDEF12" => 12, - "UNDEF13" => 13, - "UNDEF14" => 14, - "UNDEF15" => 15, - "BADVERS" => 16, # RFC 2671 -); -%extendedrcodesbyval = reverse %extendedrcodesbyname; - - - -sub new { - my ($class, $self, $data, $offset) = @_; - - $self->{"name"} = "" ; # should allway be "root" - - if ($self->{"rdlength"} > 0) { - $self->{"optioncode"} = unpack("n", substr($$data, $offset, 2)); - $self->{"optionlength"} = unpack("n", substr($$data, $offset+2, 2)); - $self->{"optiondata"} = unpack("n", substr($$data, $offset+4, $self->{"optionlength"})); - } - - $self->{"_rcode_flags"} = pack("N",$self->{"ttl"}); - - $self->{"extendedrcode"} = unpack("C", substr($self->{"_rcode_flags"}, 0, 1)); - $self->{"ednsversion"} = unpack("C", substr($self->{"_rcode_flags"}, 1, 1)); - $self->{"ednsflags"} = unpack("n", substr($self->{"_rcode_flags"}, 2, 2)); - - - return bless $self, $class; -} - - - - - - -sub new_from_string { - my ($class, $self ) = @_; - - # There is no such thing as an OPT RR in a ZONE file. - # Not implemented! - croak "You should not try to create a OPT RR from a string\nNot implemented"; - return bless $self, $class; -} - - - -sub new_from_hash { - my ($class, $self ) = @_; - - $self->{"name"} = "" ; # should allway be "root" - # Setting the MTU smaller then 512 does not make sense - # should we test for a maximum here? - if ($self->{"class"} eq "IN" || $self->{"class"} < 512) { - $self->{"class"} = 512; # Default value... - } - - $self->{"extendedrcode"} = 0 unless exists $self->{"extendedrcode"}; - - $self->{"ednsflags"} = 0 unless exists $self->{"ednsflags"}; - $self->{"ednsversion"} = $EDNSVERSION unless exists $self->{"ednsversion"}; - $self->{"ttl"}= unpack ("N", - pack("C", $self->{"extendedrcode"}) . - pack("C", $self->{"ednsversion"}) . - pack("n", $self->{"ednsflags"}) - ); - - if (exists $self->{"optioncode"}) { - $self->{"optiondata"} = "" if ! exists $self->{"optiondata"}; - $self->{"optionlength"} = length $self->{"optiondata"} - } - - return bless $self, $class; - -} - - - - - -sub string { - my $self = shift; - return - "; EDNS Version " . $self->{"ednsversion"} . - "\t UDP Packetsize: " . $self->{"class"} . - "\n; EDNS-RCODE:\t" . $self->{"extendedrcode"} . - " (" . $extendedrcodesbyval{ $self->{"extendedrcode"} }. ")" . - "\n; EDNS-FLAGS:\t" . sprintf("0x%04x", $self->{"ednsflags"}) . - "\n"; -} - - -sub rdatastr { - return '; Parsing of OPT rdata is not yet implemented'; -} - - -sub rr_rdata { - my $self = shift; - my $rdata; - - if (exists $self->{"optioncode"}) { - $rdata = pack("n", $self->{"optioncode"}); - $rdata .= pack("n", $self->{"optionlength"}); - $rdata .= $self->{"optiondata"} - } else { - $rdata = ""; - } - - return $rdata; -} - - - - - - - -sub do{ - my $self=shift; - return ( 0x8000 & $self->{"ednsflags"} ); -} - - - -sub set_do{ - my $self=shift; - return $self->{"ednsflags"} = ( 0x8000 | $self->{"ednsflags"} ); - -} - - - -sub clear_do{ - my $self=shift; - return $self->{"ednsflags"} = ( ~0x8000 & $self->{"ednsflags"} ); - -} - - - -sub size { - my $self=shift; - my $size=shift; - $self->{"class"}=$size if defined($size); - return $self->{"class"}; -} - - - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::OPT - DNS OPT - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for EDNS pseudo resource record OPT. - -=head1 METHODS - -This object should only be used inside the Net::DNS classes itself. - -=head2 new - -Since "OPT" is a pseudo record and should not be stored in -masterfiles; Therefore we have not implemented a method to create this -RR from string. - -One may create the object from a hash. See RFC 2671 for details for -the meaning of the hash keys. - - $rr= new Net::DNS::RR { - name => "", # Ignored and set to "" - type => "OPT", - class => 1024, # sets UDP payload size - extendedrcode => 0x00, # sets the extended RCODE 1 octets - ednsflags => 0x0000, # sets the ednsflags (2octets) - optioncode => 0x0 # 2 octets - optiondata => 0x0 # optionlength octets - } - -The ednsversion is set to 0 for now. The ttl value is determined from -the extendedrcode, the ednsversion and the ednsflag. -The rdata is constructed from the optioncode and optiondata -see section 4.4 of RFC 2671 - -If optioncode is left undefined then we do not expect any RDATA. - -The defaults are no rdata. - - -=head2 do, set_do, clear_do - - $opt->set_do; - -Reads, sets and clears the do flag. (first bit in the ednssflags); - - -=head2 size - - $opt->size(1498); - print "Packet size:". $opt->size() ; - -Sets or gets the packet size. - - -=head1 TODO - -- This class is tailored to use with dnssec. - -- Do some range checking on the input. - -- This class probably needs subclasses once OPTION codes start to be defined. - -- look at use of extended labels - -=head1 COPYRIGHT - -Copyright (c) 2001, 2002 RIPE NCC. Author Olaf M. Kolkman - -All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of the author not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - - -THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL -AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Based on, and contains, code by Copyright (c) 1997-2002 Michael Fuhr. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2435 Section 3 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm deleted file mode 100644 index bf894f26c07..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm +++ /dev/null @@ -1,101 +0,0 @@ -package Net::DNS::RR::PTR; -# -# $Id: PTR.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"ptrdname"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ s/\.+$//; - $self->{"ptrdname"} = $string; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"ptrdname"} ? "$self->{ptrdname}." : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"ptrdname"}) { - $rdata .= $packet->dn_comp(lc($self->{"ptrdname"}), $offset); - } - - return $rdata; -} - -sub _canonicalRdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"ptrdname"}) { - $rdata .= $self->_name2wire($self->{"ptrdname"}); - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::PTR - DNS PTR resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Pointer (PTR) resource records. - -=head1 METHODS - -=head2 ptrdname - - print "ptrdname = ", $rr->ptrdname, "\n"; - -Returns the domain name associated with this record. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.12 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm deleted file mode 100644 index a9b4a3206e6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm +++ /dev/null @@ -1,153 +0,0 @@ -package Net::DNS::RR::PX; -# -# $Id: PX.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - - - -# Highest preference sorted first. - -__PACKAGE__->set_rrsort_func("preference", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{'preference'} <=> $b->{'preference'} -} -); - - -__PACKAGE__->set_rrsort_func("default_sort", - __PACKAGE__->get_rrsort_func("preference") - - ); - - - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"preference"}) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - - ($self->{"map822"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - ($self->{"mapx400"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\s+(\S+)\s+(\S+)$/)) { - $self->{"preference"} = $1; - $self->{"map822"} = $2; - $self->{"mapx400"} = $3; - $self->{"map822"} =~ s/\.+$//;; - $self->{"mapx400"} =~ s/\.+$//;; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"preference"} - ? "$self->{preference} $self->{map822}. $self->{mapx400}." - : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - - $rdata .= $packet->dn_comp($self->{"map822"}, - $offset + length $rdata); - - $rdata .= $packet->dn_comp($self->{"mapx400"}, - $offset + length $rdata); - } - - return $rdata; -} - - -sub _canonicalRdata { - my ($self) = shift; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - $rdata .= $self->_name2wire(lc($self->{"map822"})); - $rdata .= $self->_name2wire(lc($self->{"mapx400"})); - } - - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::PX - DNS PX resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS X.400 Mail Mapping Information (PX) resource records. - -=head1 METHODS - -=head2 preference - - print "preference = ", $rr->preference, "\n"; - -Returns the preference given to this RR. - -=head2 map822 - - print "map822 = ", $rr->map822, "\n"; - -Returns the RFC822 part of the RFC1327 mapping information. - -=head2 mapx400 - - print "mapx400 = ", $rr->mapx400, "\n"; - -Returns the X.400 part of the RFC1327 mapping information. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC822, RFC 1327, RFC 2163 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm deleted file mode 100644 index 7c422c3a17c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm +++ /dev/null @@ -1,121 +0,0 @@ -package Net::DNS::RR::RP; -# -# $Id: RP.pm 702 2008-01-21 10:01:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 702 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"mbox"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - ($self->{"txtdname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\S+)\s+(\S+)$/)) { - $self->{"mbox"} = $1; - $self->{"txtdname"} = $2; - $self->{"mbox"} =~ s/\.+$//; - $self->{"txtdname"} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - if (exists $self->{"mbox"}) { - return "$self->{mbox}. $self->{txtdname}."; - } - return ''; - -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"mbox"}) { - $rdata .= $packet->dn_comp($self->{"mbox"}, $offset); - $rdata .= $packet->dn_comp($self->{"txtdname"}, - $offset + length $rdata); - } - - return $rdata; -} - - -sub _canonicalRdata { - my $self = shift; - my $rdata = ""; - if (exists $self->{"mbox"}) { - $rdata .= $self->_name2wire(lc($self->{"mbox"})); - $rdata .= $self->_name2wire(lc($self->{"txtdname"})); - - - } - - return $rdata; -} - - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::RP - DNS RP resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Responsible Person (RP) resource records. - -=head1 METHODS - -=head2 mbox - - print "mbox = ", $rr->mbox, "\n"; - -Returns a domain name that specifies the mailbox for the responsible person. - -=head2 txtdname - - print "txtdname = ", $rr->txtdname, "\n"; - -Returns a domain name that specifies a TXT record containing further -information about the responsible person. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1183 Section 2.2 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm deleted file mode 100644 index 22f0891d944..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm +++ /dev/null @@ -1,133 +0,0 @@ -package Net::DNS::RR::RT; -# -# $Id: RT.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -# Highest preference sorted first. -__PACKAGE__->set_rrsort_func("preference", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{'preference'} <=> $b->{'preference'} -} -); - - -__PACKAGE__->set_rrsort_func("default_sort", - __PACKAGE__->get_rrsort_func("preference") - - ); - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"preference"}) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - - ($self->{"intermediate"}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) { - $self->{"preference"} = $1; - $self->{"intermediate"} = $2; - $self->{"intermediate"} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return $self->{"preference"} - ? "$self->{preference} $self->{intermediate}." - : ''; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - $rdata .= $packet->dn_comp($self->{"intermediate"}, - $offset + length $rdata); - } - - return $rdata; -} - -sub _canonicalRdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"preference"}) { - $rdata .= pack("n", $self->{"preference"}); - $rdata .= $self->_name2wire(lc($self->{"intermediate"})); - } - - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::RT - DNS RT resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Route Through (RT) resource records. - -=head1 METHODS - -=head2 preference - - print "preference = ", $rr->preference, "\n"; - -Returns the preference for this route. - -=head2 intermediate - - print "intermediate = ", $rr->intermediate, "\n"; - -Returns the domain name of the intermediate host. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1183 Section 3.3 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm deleted file mode 100644 index 9cf24d4def1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm +++ /dev/null @@ -1,176 +0,0 @@ -package Net::DNS::RR::SOA; -# -# $Id: SOA.pm 632 2007-03-12 13:24:21Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 632 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"mname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - ($self->{"rname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - - @{$self}{qw(serial refresh retry expire minimum)} = unpack("\@$offset N5", $$data); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ tr/()//d; - - # XXX do we need to strip out comments here now that RR.pm does it? - $string =~ s/;.*$//mg; - - @{$self}{qw(mname rname serial refresh retry expire minimum)} = $string =~ /(\S+)/g; - - $self->{'mname'} =~ s/\.+$//; - $self->{'rname'} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{"mname"}) { - $rdatastr = "$self->{mname}. $self->{rname}. (\n"; - $rdatastr .= "\t" x 5 . "$self->{serial}\t; Serial\n"; - $rdatastr .= "\t" x 5 . "$self->{refresh}\t; Refresh\n"; - $rdatastr .= "\t" x 5 . "$self->{retry}\t; Retry\n"; - $rdatastr .= "\t" x 5 . "$self->{expire}\t; Expire\n"; - $rdatastr .= "\t" x 5 . "$self->{minimum} )\t; Minimum TTL"; - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - # Assume that if one field exists, they all exist. Script will - # print a warning otherwise. - - if (exists $self->{"mname"}) { - $rdata .= $packet->dn_comp($self->{"mname"}, $offset); - $rdata .= $packet->dn_comp($self->{"rname"}, $offset + length $rdata); - - $rdata .= pack("N5", @{$self}{qw(serial refresh retry expire minimum)}); - } - - return $rdata; -} - - - -sub _canonicalRdata { - my $self=shift; - my $rdata = ""; - - # Assume that if one field exists, they all exist. Script will - # print a warning otherwise. - - if (exists $self->{"mname"}) { - $rdata .= $self->_name2wire(lc($self->{"mname"})); - $rdata .= $self->_name2wire(lc($self->{"rname"})); - $rdata .= pack("N5", @{$self}{qw(serial refresh retry expire minimum)}); - } - - return $rdata; -} - - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::SOA - DNS SOA resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Start of Authority (SOA) resource records. - -=head1 METHODS - -=head2 mname - - print "mname = ", $rr->mname, "\n"; - -Returns the domain name of the original or primary nameserver for -this zone. - -=head2 rname - - print "rname = ", $rr->rname, "\n"; - -Returns a domain name that specifies the mailbox for the person -responsible for this zone. - -=head2 serial - - print "serial = ", $rr->serial, "\n"; - -Returns the zone's serial number. - -=head2 refresh - - print "refresh = ", $rr->refresh, "\n"; - -Returns the zone's refresh interval. - -=head2 retry - - print "retry = ", $rr->retry, "\n"; - -Returns the zone's retry interval. - -=head2 expire - - print "expire = ", $rr->expire, "\n"; - -Returns the zone's expire interval. - -=head2 minimum - - print "minimum = ", $rr->minimum, "\n"; - -Returns the minimum (default) TTL for records in this zone. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.13 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm deleted file mode 100644 index d8cd48c8e51..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm +++ /dev/null @@ -1,48 +0,0 @@ -package Net::DNS::RR::SPF; -# -# $Id: SPF.pm 684 2007-10-10 12:32:22Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); -use Net::DNS::RR::TXT; - - -@ISA = qw(Net::DNS::RR::TXT); -$VERSION = (qw$LastChangedRevision: 684 $)[1]; - -1; - -=head1 NAME - -Net::DNS::RR::SPF - DNS SPF resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -This is a clone of the TXT record. This class therfore completely inherits -all properties of the Net::DNS::RR::TXT class. - -Please see the L<Net::DNS::RR::TXT> perldocumentation for details - -=head1 COPYRIGHT - -Copyright (c) 2005 Olaf Kolkman (NLnet Labs) - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.14, RFC 4408 - - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm deleted file mode 100644 index a80ded72ba5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm +++ /dev/null @@ -1,151 +0,0 @@ -package Net::DNS::RR::SRV; -# -# $Id: SRV.pm 583 2006-05-03 12:24:18Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 583 $)[1]; - - - -__PACKAGE__->set_rrsort_func("priority", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $a->{'priority'} <=> $b->{'priority'} - || - $b->{'weight'} <=> $a->{'weight'} -} -); - - -__PACKAGE__->set_rrsort_func("default_sort", - __PACKAGE__->get_rrsort_func("priority") - - ); - -__PACKAGE__->set_rrsort_func("weight", - sub { - my ($a,$b)=($Net::DNS::a,$Net::DNS::b); - $b->{"weight"} <=> $a->{"weight"} - || - $a->{"priority"} <=> $b->{"priority"} -} -); - - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{'rdlength'} > 0) { - @{$self}{qw(priority weight port)} = unpack("\@$offset n3", $$data); - $offset += 3 * Net::DNS::INT16SZ(); - - ($self->{'target'}) = Net::DNS::Packet::dn_expand($data, $offset); - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(\d+)\s+(\d+)\s+(\d+)\s+(\S+)$/)) { - @{$self}{qw(priority weight port target)} = ($1, $2, $3, $4); - - $self->{'target'} =~ s/\.+$//; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - my $rdatastr; - - if (exists $self->{'priority'}) { - $rdatastr = join(' ', @{$self}{qw(priority weight port target)}); - $rdatastr =~ s/(.*[^\.])$/$1./; - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ''; - - if (exists $self->{'priority'}) { - $rdata .= pack('n3', @{$self}{qw(priority weight port)}); - $rdata .= $self->_name2wire ($self->{"target"}); - - } - - return $rdata; -} - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::SRV - DNS SRV resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Service (SRV) resource records. - -=head1 METHODS - -=head2 priority - - print "priority = ", $rr->priority, "\n"; - -Returns the priority for this target host. - -=head2 weight - - print "weight = ", $rr->weight, "\n"; - -Returns the weight for this target host. - -=head2 port - - print "port = ", $rr->port, "\n"; - -Returns the port on this target host for the service. - -=head2 target - - print "target = ", $rr->target, "\n"; - -Returns the target host. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2782 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm deleted file mode 100644 index 4890c3766e3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm +++ /dev/null @@ -1,219 +0,0 @@ -package Net::DNS::RR::SSHFP; -# -# $Id: SSHFP.pm 626 2007-02-02 07:31:32Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION $HasBabble); - -BEGIN { - eval { - require Digest::BubbleBabble; - Digest::BubbleBabble->import(qw(bubblebabble)) - }; - - $HasBabble = $@ ? 0 : 1; - -} - -$VERSION = (qw$LastChangedRevision: 626 $)[1]; - -@ISA = qw(Net::DNS::RR); - -my %algtype = ( - RSA => 1, - DSA => 2, -); - -my %fingerprinttype = ( - 'SHA-1' => 1, -); - -my %fingerprinttypebyval = reverse %fingerprinttype; -my %algtypebyval = reverse %algtype; - - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{'rdlength'} > 0) { - my $offsettoalg = $offset; - my $offsettofptype = $offset+1; - my $offsettofp = $offset+2; - my $fplength = 20; # This will need to change if other fingerprint types - # are being deployed. - - - $self->{'algorithm'} = unpack('C', substr($$data, $offsettoalg, 1)); - $self->{'fptype'} = unpack('C', substr($$data, $offsettofptype, 1)); - - unless (defined $fingerprinttypebyval{$self->{'fptype'}}){ - warn "This fingerprint type $self->{'fptype'} has not yet been implemented, creation of SSHFP failed\n." ; - return undef; - } - - - # All this is SHA-1 dependend - $self->{'fpbin'} = substr($$data,$offsettofp, $fplength); # SHA1 digest 20 bytes long - - $self->{'fingerprint'} = uc unpack('H*', $self->{'fpbin'}); - } - - - return bless $self, $class; -} - - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string) { - $string =~ tr/()//d; - $string =~ s/;.*$//mg; - $string =~ s/\n//g; - - @{$self}{qw(algorithm fptype fingerprint)} = split(m/\s+/, $string, 3); - - # We allow spaces in the fingerprint. - $self->{'fingerprint'} =~ s/\s//g; - } - - return bless $self, $class; -} - - - -sub rdatastr { - my $self = shift; - my $rdatastr = ''; - - if (exists $self->{"algorithm"}) { - $rdatastr = join(' ', @{$self}{qw(algorithm fptype fingerprint)}) - .' ; ' . $self->babble; - } - - return $rdatastr; -} - -sub rr_rdata { - my $self = shift; - - if (exists $self->{"algorithm"}) { - return pack('C2', @{$self}{qw(algorithm fptype)}) . $self->fpbin; - } - - return ''; - -} - - - -sub babble { - my $self = shift; - - if ($HasBabble) { - return bubblebabble(Digest => $self->fpbin); - } else { - return ""; - } -} - - -sub fpbin { - my ($self) = @_; - - return $self->{'fpbin'} ||= pack('H*', $self->{'fingerprint'}); -} - - -1; - - -=head1 NAME - -Net::DNS::RR::SSHFP - DNS SSHFP resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for Delegation signer (SSHFP) resource records. - -=head1 METHODS - -In addition to the regular methods - - -=head2 algorithm - - print "algoritm" = ", $rr->algorithm, "\n"; - -Returns the RR's algorithm field in decimal representation - - 1 = RSA - 2 = DSS - - -=head2 fingerprint - - print "fingerprint" = ", $rr->fingerprint, "\n"; - -Returns the SHA1 fingerprint over the label and key in hexadecimal -representation. - - -=head2 fpbin - - $fpbin = $rr->fpbin; - -Returns the fingerprint as binary material. - - -=head2 fptype - - print "fingerprint type" . " = " . $rr->fptype ."\n"; - -Returns the fingerprint type of the SSHFP RR. - -=head2 babble - - print $rr->babble; - -If Digest::BubbleBabble is available on the sytem this method returns the -'BabbleBubble' representation of the fingerprint. The 'BabbleBubble' -string may be handy for telephone confirmation. - -The 'BabbleBubble' string returned as a comment behind the RDATA when -the string method is called. - -The method returns an empty string if Digest::BubbleBable is not installed. - -=head1 TODO - -=head1 ACKNOWLEDGEMENT - -Jakob Schlyter for code review and supplying patches. - -=head1 COPYRIGHT - -Copyright (c) 2004 RIPE NCC, Olaf Kolkman. - -"All rights reserved, This program is free software; you may redistribute it -and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -draft-ietf-dnssext-delegation-signer - -=cut - - - - - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm deleted file mode 100644 index 7bf838bb8e5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm +++ /dev/null @@ -1,208 +0,0 @@ -package Net::DNS::RR::TKEY; -# -# $Id: TKEY.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -use Digest::HMAC_MD5; -use MIME::Base64; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - # if we have some data then we are parsing an incoming TKEY packet - # see RFC2930 for the packet format - if ($self->{"rdlength"} > 0) { - ($self->{"algorithm"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - - @{$self}{qw(inception expiration)} = unpack("\@$offset NN", $$data); - $offset += Net::DNS::INT32SZ() + Net::DNS::INT32SZ(); - - @{$self}{qw(inception expiration)} = unpack("\@$offset nn", $$data); - $offset += Net::DNS::INT16SZ() + Net::DNS::INT16SZ(); - - my ($key_len) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - $self->{"key"} = substr($$data, $offset, $key_len); - $offset += $key_len; - - my ($other_len) = unpack("\@$offset n", $$data); - $offset += Net::DNS::INT16SZ(); - $self->{"other_data"} = substr($$data, $offset, $other_len); - $offset += $other_len; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(.*)$/)) { - $self->{"key"} = $1; - } - - $self->{"algorithm"} = "gss.microsoft.com"; - $self->{"inception"} = time; - $self->{"expiration"} = time + 24*60*60; - $self->{"mode"} = 3; # GSSAPI - $self->{"error"} = 0; - $self->{"other_len"} = 0; - $self->{"other_data"} = ""; - - return bless $self, $class; -} - -sub error { - my $self = shift; - - my $rcode; - my $error = $self->{"error"}; - - if (defined($error)) { - $rcode = $Net::DNS::rcodesbyval{$error} || $error; - } - - return $rcode; -} - -sub rdatastr { - my $self = shift; - - my $error = $self->error; - $error = "UNDEFINED" unless defined $error; - - my $rdatastr; - - if (exists $self->{"algorithm"}) { - $rdatastr = "$self->{algorithm}. $error"; - if ($self->{"other_len"} && defined($self->{"other_data"})) { - $rdatastr .= " $self->{other_data}"; - } - } else { - $rdatastr = ''; - } - - return $rdatastr; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - $packet->{"compnames"} = {}; - $rdata .= $packet->dn_comp($self->{"algorithm"}, 0); - $rdata .= pack("N", $self->{"inception"}); - $rdata .= pack("N", $self->{"expiration"}); - $rdata .= pack("n", $self->{"mode"}); - $rdata .= pack("n", 0); # error - $rdata .= pack("n", length($self->{"key"})); - $rdata .= $self->{"key"}; - $rdata .= pack("n", length($self->{"other_data"})); - $rdata .= $self->{"other_data"}; - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::TKEY - DNS TKEY resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS TKEY resource records. - -=head1 METHODS - -=head2 algorithm - - $rr->algorithm($algorithm_name); - print "algorithm = ", $rr->algorithm, "\n"; - -Gets or sets the domain name that specifies the name of the algorithm. -The default algorithm is gss.microsoft.com - -=head2 inception - - $rr->inception(time); - print "inception = ", $rr->inception, "\n"; - -Gets or sets the inception time as the number of seconds since 1 Jan 1970 -00:00:00 UTC. - -The default inception time is the current time. - -=head2 expiration - - $rr->expiration(time); - print "expiration = ", $rr->expiration, "\n"; - -Gets or sets the expiration time as the number of seconds since 1 Jan 1970 -00:00:00 UTC. - -The default expiration time is the current time plus 1 day. - -=head2 mode - - $rr->mode(3); - print "mode = ", $rr->mode, "\n"; - -Sets the key mode (see rfc2930). The default is 3 which corresponds to GSSAPI - -=head2 error - - print "error = ", $rr->error, "\n"; - -Returns the RCODE covering TKEY processing. See RFC 2930 for details. - -=head2 other_len - - print "other len = ", $rr->other_len, "\n"; - -Returns the length of the Other Data. Should be zero. - -=head2 other_data - - print "other data = ", $rr->other_data, "\n"; - -Returns the Other Data. This field should be empty. - -=head1 BUGS - -This code has not been extensively tested. Use with caution on -production systems. See http://samba.org/ftp/samba/tsig-gss/ for an -example usage. - -=head1 COPYRIGHT - -Copyright (c) 2000 Andrew Tridgell. All rights reserved. This program -is free software; you can redistribute it and/or modify it under -the same terms as Perl itself. - -=head1 ACKNOWLEDGMENT - -The Net::DNS::RR::TKEY module is based on the TSIG module by Michael -Fuhr and Chris Turbeville. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2845 - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm deleted file mode 100644 index 844072fd170..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm +++ /dev/null @@ -1,353 +0,0 @@ -package Net::DNS::RR::TSIG; -# -# $Id: TSIG.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -use Digest::HMAC_MD5; -use MIME::Base64; - -use constant DEFAULT_ALGORITHM => "HMAC-MD5.SIG-ALG.REG.INT"; -use constant DEFAULT_FUDGE => 300; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -# a signing function for the HMAC-MD5 algorithm. This can be overridden using -# the sign_func element -sub sign_hmac { - my ($key, $data) = @_; - - $key =~ s/ //g; - $key = decode_base64($key); - - my $hmac = Digest::HMAC_MD5->new($key); - $hmac->add($data); - - return $hmac->digest; -} - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - ($self->{"algorithm"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset); - - my ($time_high, $time_low) = unpack("\@$offset nN", $$data); - $self->{"time_signed"} = $time_low; # bug - $offset += Net::DNS::INT16SZ() + Net::DNS::INT32SZ(); - - @{$self}{qw(fudge mac_size)} = unpack("\@$offset nn", $$data); - $offset += Net::DNS::INT16SZ() + Net::DNS::INT16SZ(); - - $self->{"mac"} = substr($$data, $offset, $self->{'mac_size'}); - $offset += $self->{'mac_size'}; - - @{$self}{qw(original_id error other_len)} = unpack("\@$offset nnn", $$data); - $offset += Net::DNS::INT16SZ() * 3; - - my $odata = substr($$data, $offset, $self->{'other_len'}); - my ($odata_high, $odata_low) = unpack("nN", $odata); - $self->{"other_data"} = $odata_low; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && ($string =~ /^(.*)$/)) { - $self->{"key"} = $1; - } - - $self->{"algorithm"} = DEFAULT_ALGORITHM; - $self->{"time_signed"} = time; - $self->{"fudge"} = DEFAULT_FUDGE; - $self->{"mac_size"} = 0; - $self->{"mac"} = ""; - $self->{"original_id"} = 0; - $self->{"error"} = 0; - $self->{"other_len"} = 0; - $self->{"other_data"} = ""; - $self->{"sign_func"} = \&sign_hmac; - - # RFC 2845 Section 2.3 - $self->{"class"} = "ANY"; - - return bless $self, $class; -} - -sub error { - my $self = shift; - - my $rcode; - my $error = $self->{"error"}; - - if (defined($error)) { - $rcode = $Net::DNS::rcodesbyval{$error} || $error; - } - - return $rcode; -} - -sub mac_size { - my $self = shift; - return length(defined($self->{"mac"}) ? $self->{"mac"} : ""); -} - -sub mac { - my $self = shift; - my $mac = unpack("H*", $self->{"mac"}) if defined($self->{"mac"}); - return $mac; -} - -sub rdatastr { - my $self = shift; - - my $error = $self->error; - $error = "UNDEFINED" unless defined $error; - - my $rdatastr; - - if (exists $self->{"algorithm"}) { - $rdatastr = "$self->{algorithm}. $error"; - if ($self->{"other_len"} && defined($self->{"other_data"})) { - $rdatastr .= " $self->{other_data}"; - } - } else { - $rdatastr = ""; - } - - return $rdatastr; -} - -# return the data that needs to be signed/verified. This is useful for -# external TSIG verification routines -sub sig_data { - my ($self, $packet) = @_; - my ($newpacket, $sigdata); - - # XXX this is horrible. $pkt = Net::DNS::Packet->clone($packet); maybe? - bless($newpacket = {},"Net::DNS::Packet"); - %{$newpacket} = %{$packet}; - bless($newpacket->{"header"} = {},"Net::DNS::Header"); - $newpacket->{"additional"} = []; - %{$newpacket->{"header"}} = %{$packet->{"header"}}; - @{$newpacket->{"additional"}} = @{$packet->{"additional"}}; - shift(@{$newpacket->{"additional"}}); - $newpacket->{"header"}{"arcount"}--; - $newpacket->{"compnames"} = {}; - - # Add the request MAC if present (used to validate responses). - $sigdata .= pack("H*", $self->{"request_mac"}) - if $self->{"request_mac"}; - - $sigdata .= $newpacket->data; - - # Don't compress the record (key) name. - my $tmppacket = Net::DNS::Packet->new(""); - $sigdata .= $tmppacket->dn_comp(lc($self->{"name"}), 0); - - $sigdata .= pack("n", $Net::DNS::classesbyname{uc($self->{"class"})}); - $sigdata .= pack("N", $self->{"ttl"}); - - # Don't compress the algorithm name. - $tmppacket->{"compnames"} = {}; - $sigdata .= $tmppacket->dn_comp(lc($self->{"algorithm"}), 0); - - $sigdata .= pack("nN", 0, $self->{"time_signed"}); # bug - $sigdata .= pack("n", $self->{"fudge"}); - $sigdata .= pack("nn", $self->{"error"}, $self->{"other_len"}); - - $sigdata .= pack("nN", 0, $self->{"other_data"}) - if $self->{"other_data"}; - - return $sigdata; -} - -sub rr_rdata { - my ($self, $packet, $offset) = @_; - my $rdata = ""; - - if (exists $self->{"key"}) { - # form the data to be signed - my $sigdata = $self->sig_data($packet); - - # and call the signing function - $self->{"mac"} = &{$self->{"sign_func"}}($self->{"key"}, $sigdata); - $self->{"mac_size"} = length($self->{"mac"}); - - # construct the signed TSIG record - $packet->{"compnames"} = {}; - $rdata .= $packet->dn_comp($self->{"algorithm"}, 0); - - $rdata .= pack("nN", 0, $self->{"time_signed"}); # bug - $rdata .= pack("nn", $self->{"fudge"}, $self->{"mac_size"}); - $rdata .= $self->{"mac"}; - - $rdata .= pack("nnn",($packet->{"header"}->{"id"}, - $self->{"error"}, - $self->{"other_len"})); - - $rdata .= pack("nN", 0, $self->{"other_data"}) - if $self->{"other_data"}; - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::TSIG - DNS TSIG resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Transaction Signature (TSIG) resource records. - -=head1 METHODS - -=head2 algorithm - - $rr->algorithm($algorithm_name); - print "algorithm = ", $rr->algorithm, "\n"; - -Gets or sets the domain name that specifies the name of the algorithm. -The only algorithm currently supported is HMAC-MD5.SIG-ALG.REG.INT. - -=head2 time_signed - - $rr->time_signed(time); - print "time signed = ", $rr->time_signed, "\n"; - -Gets or sets the signing time as the number of seconds since 1 Jan 1970 -00:00:00 UTC. - -The default signing time is the current time. - -=head2 fudge - - $rr->fudge(60); - print "fudge = ", $rr->fudge, "\n"; - -Gets or sets the "fudge", i.e., the seconds of error permitted in the -signing time. - -The default fudge is 300 seconds. - -=head2 mac_size - - print "MAC size = ", $rr->mac_size, "\n"; - -Returns the number of octets in the message authentication code (MAC). -The programmer must call a Net::DNS::Packet object's data method -before this will return anything meaningful. - -=head2 mac - - print "MAC = ", $rr->mac, "\n"; - -Returns the message authentication code (MAC) as a string of hex -characters. The programmer must call a Net::DNS::Packet object's -data method before this will return anything meaningful. - -=head2 original_id - - $rr->original_id(12345); - print "original ID = ", $rr->original_id, "\n"; - -Gets or sets the original message ID. - -=head2 error - - print "error = ", $rr->error, "\n"; - -Returns the RCODE covering TSIG processing. Common values are -NOERROR, BADSIG, BADKEY, and BADTIME. See RFC 2845 for details. - -=head2 other_len - - print "other len = ", $rr->other_len, "\n"; - -Returns the length of the Other Data. Should be zero unless the -error is BADTIME. - -=head2 other_data - - print "other data = ", $rr->other_data, "\n"; - -Returns the Other Data. This field should be empty unless the -error is BADTIME, in which case it will contain the server's -time as the number of seconds since 1 Jan 1970 00:00:00 UTC. - -=head2 sig_data - - my $sigdata = $tsig->sig_data($packet); - -Returns the packet packed according to RFC2845 in a form for signing. This -is only needed if you want to supply an external signing function, such as is -needed for TSIG-GSS. - -=head2 sign_func - - sub my_sign_fn($$) { - my ($key, $data) = @_; - - return some_digest_algorithm($key, $data); - } - - $tsig->sign_func(\&my_sign_fn); - -This sets the signing function to be used for this TSIG record. - -The default signing function is HMAC-MD5. - -=head1 BUGS - -This code is still under development. Use with caution on production -systems. - -The time_signed and other_data fields should be 48-bit unsigned -integers (RFC 2845, Sections 2.3 and 4.5.2). The current implementation -ignores the upper 16 bits; this will cause problems for times later -than 19 Jan 2038 03:14:07 UTC. - -The only builtin algorithm currently supported is -HMAC-MD5.SIG-ALG.REG.INT. You can use other algorithms by supplying an -appropriate sign_func. - -=head1 COPYRIGHT - -Copyright (c) 2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 ACKNOWLEDGMENT - -Most of the code in the Net::DNS::RR::TSIG module was contributed -by Chris Turbeville. - -Support for external signing functions was added by Andrew Tridgell. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 2845 - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm deleted file mode 100644 index 1c8eb78e3b4..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm +++ /dev/null @@ -1,179 +0,0 @@ -package Net::DNS::RR::TXT; -# -# $Id: TXT.pm 582 2006-04-25 07:12:19Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -use Text::ParseWords; - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 582 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - my $rdlength = $self->{'rdlength'} or return bless $self, $class; - my $end = $offset + $rdlength; - - while ($offset < $end) { - my $strlen = unpack("\@$offset C", $$data); - ++$offset; - - my $char_str = substr($$data, $offset, $strlen); - $offset += $strlen; - - push(@{$self->{'char_str_list'}}, $char_str); - } - - return bless $self, $class; -} - -sub new_from_string { - my ( $class, $self, $rdata_string ) = @_ ; - - bless $self, $class; - - $self->_build_char_str_list($rdata_string); - - return $self; -} - -sub txtdata { - my $self = shift; - return join(' ', $self->char_str_list()); -} - -sub rdatastr { - my $self = shift; - - if ($self->char_str_list) { - return join(' ', map { - my $str = $_; - $str =~ s/"/\\"/g; - qq("$str"); - } @{$self->{'char_str_list'}}); - } - - return ''; -} - -sub _build_char_str_list { - my ($self, $rdata_string) = @_; - - my @words; - - @words= shellwords($rdata_string) if $rdata_string; - - $self->{'char_str_list'} = []; - - if (@words) { - foreach my $string (@words) { - $string =~ s/\\"/"/g; - push(@{$self->{'char_str_list'}}, $string); - } - } -} - -sub char_str_list { - my $self = shift; - - if (not $self->{'char_str_list'}) { - $self->_build_char_str_list( $self->{'txtdata'} ); - } - - return @{$self->{'char_str_list'}}; # unquoted strings -} - -sub rr_rdata { - my $self = shift; - my $rdata = ''; - - foreach my $string ($self->char_str_list) { - $rdata .= pack("C", length $string ); - $rdata .= $string; - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::TXT - DNS TXT resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS Text (TXT) resource records. - -=head1 METHODS - -=head2 txtdata - - print "txtdata = ", $rr->txtdata, "\n"; - -Returns the descriptive text as a single string, regardless of actual -number of <character-string> elements. Of questionable value. Should -be deprecated. - -Use C<< $txt->rdatastr() >> or C<< $txt->char_str_list() >> instead. - - -=head2 char_str_list - - print "Individual <character-string> list: \n\t", - join("\n\t", $rr->char_str_list()); - -Returns a list of the individual <character-string> elements, -as unquoted strings. Used by TXT->rdatastr and TXT->rr_rdata. - - -=head1 FEATURES - -The RR.pm module accepts semi-colons as a start of a comment. This is -to allow the RR.pm to deal with RFC1035 specified zonefile format. - -For some applications of the TXT RR the semicolon is relevant, you -will need to escape it on input. - -Also note that you should specify the several character strings -separately. The easiest way to do so is to include the whole argument -in single quotes and the several character strings in double -quotes. Double quotes inside the character strings will need to be -escaped. - -my $TXTrr=Net::DNS::RR->new('txt2.t.net-dns.org. 60 IN - TXT "Test1 \" \; more stuff" "Test2"'); - -would result in -$TXTrr->char_str_list())[0] containing 'Test1 " ; more stuff' -and -$TXTrr->char_str_list())[1] containing 'Test2' - - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman (NLnet Labs) - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1035 Section 3.3.14 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm deleted file mode 100644 index 5a32f1ff87f..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm +++ /dev/null @@ -1,82 +0,0 @@ -package Net::DNS::RR::Unknown; -# -# $Id: Unknown.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - my $length = $self->{'rdlength'}; - - if ($length > 0) { - $self->{'rdata'} = substr($$data, $offset,$length); - $self->{'rdatastr'} = "\\# $length " . unpack('H*', $self->{'rdata'}); - } - - return bless $self, $class; -} - - -sub rdatastr { - my $self = shift; - - if (exists $self->{'rdatastr'}) { - return $self->{'rdatastr'}; - } else { - if (exists $self->{"rdata"}){ - my $data= $self->{'rdata'}; - - return "\\# ". length($data) . " " . unpack('H*', $data); - } - } - - return "#NO DATA"; -} - - -# sub rr_rdata is inherited from RR.pm. Note that $self->{'rdata'} -# should always be defined - - - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::Unknown - Unknown RR record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for dealing with unknown RR types (RFC3597) - -=head1 METHODS - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -Portions Copyright (c) 2003 Olaf M. Kolkman, RIPE NCC. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<Net::DNS>, L<Net::DNS::RR>, RFC 3597 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm deleted file mode 100644 index 97841a836db..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm +++ /dev/null @@ -1,95 +0,0 @@ -package Net::DNS::RR::X25; -# -# $Id: X25.pm 388 2005-06-22 10:06:05Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw(@ISA $VERSION); - -@ISA = qw(Net::DNS::RR); -$VERSION = (qw$LastChangedRevision: 388 $)[1]; - -sub new { - my ($class, $self, $data, $offset) = @_; - - if ($self->{"rdlength"} > 0) { - my ($len) = unpack("\@$offset C", $$data); - ++$offset; - $self->{"psdn"} = substr($$data, $offset, $len); - $offset += $len; - } - - return bless $self, $class; -} - -sub new_from_string { - my ($class, $self, $string) = @_; - - if ($string && $string =~ /^\s*["']?(.*?)["']?\s*$/) { - $self->{"psdn"} = $1; - } - - return bless $self, $class; -} - -sub rdatastr { - my $self = shift; - - return exists $self->{"psdn"} - ? qq("$self->{psdn}") - : ''; -} - -sub rr_rdata { - my $self = shift; - my $rdata = ""; - - if (exists $self->{"psdn"}) { - $rdata .= pack("C", length $self->{"psdn"}); - $rdata .= $self->{"psdn"}; - } - - return $rdata; -} - -1; -__END__ - -=head1 NAME - -Net::DNS::RR::X25 - DNS X25 resource record - -=head1 SYNOPSIS - -C<use Net::DNS::RR>; - -=head1 DESCRIPTION - -Class for DNS X25 resource records. - -=head1 METHODS - -=head2 psdn - - print "psdn = ", $rr->psdn, "\n"; - -Returns the PSDN address. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -RFC 1183 Section 3.1 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm deleted file mode 100644 index c64d472445b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm +++ /dev/null @@ -1,750 +0,0 @@ -package Net::DNS::Resolver; -# -# $Id: Resolver.pm 614 2006-09-25 08:12:29Z olaf $ -# - -use strict; -use vars qw($VERSION @ISA); - -$VERSION = (qw$LastChangedRevision: 614 $)[1]; - -BEGIN { - if ($^O eq 'MSWin32') { - require Net::DNS::Resolver::Win32; - @ISA = qw(Net::DNS::Resolver::Win32); - } elsif ($^O eq 'cygwin') { - require Net::DNS::Resolver::Cygwin; - @ISA = qw(Net::DNS::Resolver::Cygwin); - } else { - require Net::DNS::Resolver::UNIX; - @ISA = qw(Net::DNS::Resolver::UNIX); - } -} - -__PACKAGE__->init(); - -1; - -__END__ - -=head1 NAME - -Net::DNS::Resolver - DNS resolver class - -=head1 SYNOPSIS - - use Net::DNS; - - my $res = Net::DNS::Resolver->new; - - # Perform a lookup, using the searchlist if appropriate. - my $answer = $res->search('example.com'); - - # Perform a lookup, without the searchlist - my $answer = $res->query('example.com', 'MX'); - - # Perform a lookup, without pre or post-processing - my $answer = $res->send('example.com', 'MX', 'CH'); - - # Send a prebuilt packet - my $packet = Net::DNS::Packet->new(...); - my $answer = $res->send($packet); - -=head1 DESCRIPTION - -Instances of the C<Net::DNS::Resolver> class represent resolver objects. -A program can have multiple resolver objects, each maintaining its -own state information such as the nameservers to be queried, whether -recursion is desired, etc. - -=head1 METHODS - -=head2 new - - # Use the system defaults - my $res = Net::DNS::Resolver->new; - - # Use my own configuration file - my $res = Net::DNS::Resolver->new(config_file => '/my/dns.conf'); - - # Set options in the constructor - my $res = Net::DNS::Resolver->new( - nameservers => [qw(10.1.1.128 10.1.2.128)], - recurse => 0, - debug => 1, - ); - -Returns a resolver object. If given no arguments, C<new()> returns an -object configured to your system's defaults. On UNIX systems the -defaults are read from the following files, in the order indicated: - - /etc/resolv.conf - $HOME/.resolv.conf - ./.resolv.conf - -The following keywords are recognized in resolver configuration files: - -=over 4 - -=item domain - -The default domain. - -=item search - -A space-separated list of domains to put in the search list. - -=item nameserver - -A space-separated list of nameservers to query. - -=back - -Files except for F</etc/resolv.conf> must be owned by the effective -userid running the program or they won't be read. In addition, several -environment variables can also contain configuration information; see -L</ENVIRONMENT>. - -On Windows systems, an attempt is made to determine the system defaults -using the registry. This is still a work in progress; systems with many -dynamically configured network interfaces may confuse Net::DNS. - -You can include a configuration file of your own when creating a -resolver object: - - # Use my own configuration file - my $res = Net::DNS::Resolver->new(config_file => '/my/dns.conf'); - -This is supported on both UNIX and Windows. Values pulled from a custom -configuration file override the the system's defaults, but can still be -overridden by the other arguments to new(). - -Explicit arguments to new override both the system's defaults and the -values of the custom configuration file, if any. The following -arguments to new() are supported: - -=over 4 - -=item nameservers - -An array reference of nameservers to query. - -=item searchlist - -An array reference of domains. - -=item recurse - -=item debug - -=item domain - -=item port - -=item srcaddr - -=item srcport - -=item tcp_timeout - -=item udp_timeout - -=item retrans - -=item retry - -=item usevc - -=item stayopen - -=item igntc - -=item defnames - -=item dnsrch - -=item persistent_tcp - -=item persistent_udp - -=item dnssec - -=back - -For more information on any of these options, please consult the method -of the same name. - -=head2 search - - $packet = $res->search('mailhost'); - $packet = $res->search('mailhost.example.com'); - $packet = $res->search('192.168.1.1'); - $packet = $res->search('example.com', 'MX'); - $packet = $res->search('user.passwd.example.com', 'TXT', 'HS'); - -Performs a DNS query for the given name, applying the searchlist -if appropriate. The search algorithm is as follows: - -=over 4 - -=item 1. - -If the name contains at least one dot, try it as is. - -=item 2. - -If the name doesn't end in a dot then append each item in -the search list to the name. This is only done if B<dnsrch> -is true. - -=item 3. - -If the name doesn't contain any dots, try it as is. - -=back - -The record type and class can be omitted; they default to A and -IN. If the name looks like an IP address (4 dot-separated numbers), -then an appropriate PTR query will be performed. - -Returns a "Net::DNS::Packet" object, or "undef" if no answers were -found. If you need to examine the response packet whether it contains -any answers or not, use the send() method instead. - -=head2 query - - $packet = $res->query('mailhost'); - $packet = $res->query('mailhost.example.com'); - $packet = $res->query('192.168.1.1'); - $packet = $res->query('example.com', 'MX'); - $packet = $res->query('user.passwd.example.com', 'TXT', 'HS'); - -Performs a DNS query for the given name; the search list is not -applied. If the name doesn't contain any dots and B<defnames> -is true then the default domain will be appended. - -The record type and class can be omitted; they default to A and -IN. If the name looks like an IP address (IPv4 or IPv6), -then an appropriate PTR query will be performed. - -Returns a "Net::DNS::Packet" object, or "undef" if no answers were -found. If you need to examine the response packet whether it contains -any answers or not, use the send() method instead. - -=head2 send - - $packet = $res->send($packet_object); - $packet = $res->send('mailhost.example.com'); - $packet = $res->send('example.com', 'MX'); - $packet = $res->send('user.passwd.example.com', 'TXT', 'HS'); - -Performs a DNS query for the given name. Neither the searchlist -nor the default domain will be appended. - -The argument list can be either a C<Net::DNS::Packet> object or a list -of strings. The record type and class can be omitted; they default to -A and IN. If the name looks like an IP address (Ipv4 or IPv6), -then an appropriate PTR query will be performed. - -Returns a C<Net::DNS::Packet> object whether there were any answers or not. -Use C<< $packet->header->ancount >> or C<< $packet->answer >> to find out -if there were any records in the answer section. Returns C<undef> if there -was an error. - -=head2 axfr - - @zone = $res->axfr; - @zone = $res->axfr('example.com'); - @zone = $res->axfr('passwd.example.com', 'HS'); - -Performs a zone transfer from the first nameserver listed in C<nameservers>. -If the zone is omitted, it defaults to the first zone listed in the resolver's -search list. If the class is omitted, it defaults to IN. - -Returns a list of C<Net::DNS::RR> objects, or C<undef> if the zone -transfer failed. - -The redundant SOA record that terminates the zone transfer is not -returned to the caller. - -See also L</axfr_start> and L</axfr_next>. - -Here's an example that uses a timeout: - - $res->tcp_timeout(10); - my @zone = $res->axfr('example.com'); - - if (@zone) { - foreach my $rr (@zone) { - $rr->print; - } - } else { - print 'Zone transfer failed: ', $res->errorstring, "\n"; - } - -=head2 axfr_start - - $res->axfr_start; - $res->axfr_start('example.com'); - $res->axfr_start('example.com', 'HS'); - -Starts a zone transfer from the first nameserver listed in C<nameservers>. -If the zone is omitted, it defaults to the first zone listed in the resolver's -search list. If the class is omitted, it defaults to IN. - -B<IMPORTANT>: - -This method currently returns the C<IO::Socket::INET> object that will -be used for reading, or C<undef> on error. DO NOT DEPEND ON C<axfr_start()> -returning a socket object. THIS MIGHT CHANGE in future releases. - -Use C<axfr_next> to read the zone records one at a time. - -=head2 axfr_next - - $res->axfr_start('example.com'); - - while (my $rr = $res->axfr_next) { - $rr->print; - } - -Reads records from a zone transfer one at a time. - -Returns C<undef> at the end of the zone transfer. The redundant -SOA record that terminates the zone transfer is not returned. - -See also L</axfr>. - -=head2 nameservers - - @nameservers = $res->nameservers; - $res->nameservers('192.168.1.1', '192.168.2.2', '192.168.3.3'); - -Gets or sets the nameservers to be queried. - -Also see the IPv6 transport notes below - -=head2 print - - $res->print; - -Prints the resolver state on the standard output. - -=head2 string - - print $res->string; - -Returns a string representation of the resolver state. - -=head2 searchlist - - @searchlist = $res->searchlist; - $res->searchlist('example.com', 'a.example.com', 'b.example.com'); - -Gets or sets the resolver search list. - -=head2 port - - print 'sending queries to port ', $res->port, "\n"; - $res->port(9732); - -Gets or sets the port to which we send queries. This can be useful -for testing a nameserver running on a non-standard port. The -default is port 53. - -=head2 srcport - - print 'sending queries from port ', $res->srcport, "\n"; - $res->srcport(5353); - -Gets or sets the port from which we send queries. The default is 0, -meaning any port. - -=head2 srcaddr - - print 'sending queries from address ', $res->srcaddr, "\n"; - $res->srcaddr('192.168.1.1'); - -Gets or sets the source address from which we send queries. Convenient -for forcing queries out a specific interfaces on a multi-homed host. -The default is 0.0.0.0, meaning any local address. - -=head2 bgsend - - $socket = $res->bgsend($packet_object) || die " $res->errorstring"; - - $socket = $res->bgsend('mailhost.example.com'); - $socket = $res->bgsend('example.com', 'MX'); - $socket = $res->bgsend('user.passwd.example.com', 'TXT', 'HS'); - - - -Performs a background DNS query for the given name, i.e., sends a -query packet to the first nameserver listed in C<< $res->nameservers >> -and returns immediately without waiting for a response. The program -can then perform other tasks while waiting for a response from the -nameserver. - -The argument list can be either a C<Net::DNS::Packet> object or a list -of strings. The record type and class can be omitted; they default to -A and IN. If the name looks like an IP address (4 dot-separated numbers), -then an appropriate PTR query will be performed. - -Returns an C<IO::Socket::INET> object or C<undef> on error in which -case the reason for failure can be found through a call to the -errorstring method. - -The program must determine when the socket is ready for reading and -call C<< $res->bgread >> to get the response packet. You can use C<< -$res->bgisready >> or C<IO::Select> to find out if the socket is ready -before reading it. - -=head2 bgread - - $packet = $res->bgread($socket); - undef $socket; - -Reads the answer from a background query (see L</bgsend>). The argument -is an C<IO::Socket> object returned by C<bgsend>. - -Returns a C<Net::DNS::Packet> object or C<undef> on error. - -The programmer should close or destroy the socket object after reading it. - -=head2 bgisready - - $socket = $res->bgsend('foo.example.com'); - until ($res->bgisready($socket)) { - # do some other processing - } - $packet = $res->bgread($socket); - $socket = undef; - -Determines whether a socket is ready for reading. The argument is -an C<IO::Socket> object returned by C<< $res->bgsend >>. - -Returns true if the socket is ready, false if not. - -=head2 tsig - - my $tsig = $res->tsig; - - $res->tsig(Net::DNS::RR->new("$key_name TSIG $key")); - - $tsig = Net::DNS::RR->new("$key_name TSIG $key"); - $tsig->fudge(60); - $res->tsig($tsig); - - $res->tsig($key_name, $key); - - $res->tsig(0); - -Get or set the TSIG record used to automatically sign outgoing -queries and updates. Call with an argument of 0 or '' to turn off -automatic signing. - -The default resolver behavior is not to sign any packets. You must -call this method to set the key if you'd like the resolver to sign -packets automatically. - -You can also sign packets manually -- see the C<Net::DNS::Packet> -and C<Net::DNS::Update> manual pages for examples. TSIG records -in manually-signed packets take precedence over those that the -resolver would add automatically. - -=head2 retrans - - print 'retrans interval: ', $res->retrans, "\n"; - $res->retrans(3); - -Get or set the retransmission interval. The default is 5. - -=head2 retry - - print 'number of tries: ', $res->retry, "\n"; - $res->retry(2); - -Get or set the number of times to try the query. The default is 4. - -=head2 recurse - - print 'recursion flag: ', $res->recurse, "\n"; - $res->recurse(0); - -Get or set the recursion flag. If this is true, nameservers will -be requested to perform a recursive query. The default is true. - -=head2 defnames - - print 'defnames flag: ', $res->defnames, "\n"; - $res->defnames(0); - -Get or set the defnames flag. If this is true, calls to B<query> will -append the default domain to names that contain no dots. The default -is true. - -=head2 dnsrch - - print 'dnsrch flag: ', $res->dnsrch, "\n"; - $res->dnsrch(0); - -Get or set the dnsrch flag. If this is true, calls to B<search> will -apply the search list. The default is true. - -=head2 debug - - print 'debug flag: ', $res->debug, "\n"; - $res->debug(1); - -Get or set the debug flag. If set, calls to B<search>, B<query>, -and B<send> will print debugging information on the standard output. -The default is false. - -=head2 usevc - - print 'usevc flag: ', $res->usevc, "\n"; - $res->usevc(1); - -Get or set the usevc flag. If true, then queries will be performed -using virtual circuits (TCP) instead of datagrams (UDP). The default -is false. - -=head2 tcp_timeout - - print 'TCP timeout: ', $res->tcp_timeout, "\n"; - $res->tcp_timeout(10); - -Get or set the TCP timeout in seconds. A timeout of C<undef> means -indefinite. The default is 120 seconds (2 minutes). - -=head2 udp_timeout - - print 'UDP timeout: ', $res->udp_timeout, "\n"; - $res->udp_timeout(10); - -Get or set the UDP timeout in seconds. A timeout of C<undef> means -the retry and retrans settings will be just utilized to perform the -retries until they are exhausted. The default is C<undef>. - -=head2 persistent_tcp - - print 'Persistent TCP flag: ', $res->persistent_tcp, "\n"; - $res->persistent_tcp(1); - -Get or set the persistent TCP setting. If set to true, Net::DNS -will keep a TCP socket open for each host:port to which it connects. -This is useful if you're using TCP and need to make a lot of queries -or updates to the same nameserver. - -This option defaults to false unless you're running under a -SOCKSified Perl, in which case it defaults to true. - -=head2 persistent_udp - - print 'Persistent UDP flag: ', $res->persistent_udp, "\n"; - $res->persistent_udp(1); - -Get or set the persistent UDP setting. If set to true, Net::DNS -will keep a single UDP socket open for all queries. -This is useful if you're using UDP and need to make a lot of queries -or updates. - -=head2 igntc - - print 'igntc flag: ', $res->igntc, "\n"; - $res->igntc(1); - -Get or set the igntc flag. If true, truncated packets will be -ignored. If false, truncated packets will cause the query to -be retried using TCP. The default is false. - -=head2 errorstring - - print 'query status: ', $res->errorstring, "\n"; - -Returns a string containing the status of the most recent query. - -=head2 answerfrom - - print 'last answer was from: ', $res->answerfrom, "\n"; - -Returns the IP address from which we received the last answer in -response to a query. - -=head2 answersize - - print 'size of last answer: ', $res->answersize, "\n"; - -Returns the size in bytes of the last answer we received in -response to a query. - - -=head2 dnssec - - print "dnssec flag: ", $res->dnssec, "\n"; - $res->dnssec(0); - -Enabled DNSSEC this will set the checking disabled flag in the query header -and add EDNS0 data as in RFC2671 and RFC3225 - -When set to true the answer and additional section of queries from -secured zones will contain DNSKEY, NSEC and RRSIG records. - -Setting calling the dnssec method with a non-zero value will set the -UDP packet size to the default value of 2048. If that is to small or -to big for your environement you should call the udppacketsize() -method immeditatly after. - - $res->dnssec(1); # turns on DNSSEC and sets udp packetsize to 2048 - $res->udppacketsize(1028); # lowers the UDP pakcet size - -The method will Croak::croak with the message "You called the -Net::DNS::Resolver::dnssec() method but do not have Net::DNS::SEC -installed at ..." if you call it without Net::DNS::SEC being in your -@INC path. - - - -=head2 cdflag - - print "checking disabled flag: ", $res->dnssec, "\n"; - $res->dnssec(1); - $res->cdflag(1); - -Sets or gets the CD bit for a dnssec query. This bit is always zero -for non dnssec queries. When the dnssec is enabled the flag can be set -to 1. - -=head2 udppacketsize - - print "udppacketsize: ", $res->udppacketsize, "\n"; - $res->udppacketsize(2048); - -udppacketsize will set or get the packet size. If set to a value greater than -Net::DNS::PACKETSZ() an EDNS extension will be added indicating suppport for MTU path -recovery. - -Default udppacketsize is Net::DNS::PACKETSZ() (512) - -=head1 CUSTOMIZING - -Net::DNS::Resolver is actually an empty subclass. At compile time a -super class is chosen based on the current platform. A side benefit of -this allows for easy modification of the methods in Net::DNS::Resolver. -You simply add a method to the namespace! - -For example, if we wanted to cache lookups: - - package Net::DNS::Resolver; - - my %cache; - - sub search { - my ($self, @args) = @_; - - return $cache{@args} ||= $self->SUPER::search(@args); - } - - -=head1 IPv6 transport - -The Net::DNS::Resolver library will use IPv6 transport if the -appropriate libraries (Socket6 and IO::Socket::INET6) are available -and the address the server tries to connect to is an IPv6 address. - -The print() will method will report if IPv6 transport is available. - -You can use the force_v4() method with a non-zero argument -to force IPv4 transport. - -The nameserver() method has IPv6 dependend behavior. If IPv6 is not -available or IPv4 transport has been forced the nameserver() method -will only return IPv4 addresses. - -For example - - $res->nameservers('192.168.1.1', '192.168.2.2', '2001:610:240:0:53:0:0:3'); - $res->force_v4(1); - print join (" ",$res->nameserver()); - -Will print: 192.168.1.1 192.168.2.2 - - - - -=head1 ENVIRONMENT - -The following environment variables can also be used to configure -the resolver: - -=head2 RES_NAMESERVERS - - # Bourne Shell - RES_NAMESERVERS="192.168.1.1 192.168.2.2 192.168.3.3" - export RES_NAMESERVERS - - # C Shell - setenv RES_NAMESERVERS "192.168.1.1 192.168.2.2 192.168.3.3" - -A space-separated list of nameservers to query. - -=head2 RES_SEARCHLIST - - # Bourne Shell - RES_SEARCHLIST="example.com sub1.example.com sub2.example.com" - export RES_SEARCHLIST - - # C Shell - setenv RES_SEARCHLIST "example.com sub1.example.com sub2.example.com" - -A space-separated list of domains to put in the search list. - -=head2 LOCALDOMAIN - - # Bourne Shell - LOCALDOMAIN=example.com - export LOCALDOMAIN - - # C Shell - setenv LOCALDOMAIN example.com - -The default domain. - -=head2 RES_OPTIONS - - # Bourne Shell - RES_OPTIONS="retrans:3 retry:2 debug" - export RES_OPTIONS - - # C Shell - setenv RES_OPTIONS "retrans:3 retry:2 debug" - -A space-separated list of resolver options to set. Options that -take values are specified as I<option>:I<value>. - -=head1 BUGS - -Error reporting and handling needs to be improved. - -The current implementation supports TSIG only on outgoing packets. -No validation of server replies is performed. - -bgsend does not honor the usevc flag and only uses UDP for transport. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf M. Kolkman, NLnet Labs. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Packet>, L<Net::DNS::Update>, -L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, -L<resolver(5)>, RFC 1035, RFC 1034 Section 4.3.5 - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm deleted file mode 100644 index 09778d9d597..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm +++ /dev/null @@ -1,1579 +0,0 @@ -package Net::DNS::Resolver::Base; -# -# $Id: Base.pm 704 2008-02-06 21:30:59Z olaf $ -# - -use strict; - -BEGIN { - eval { require bytes; } -} - -use vars qw( - $VERSION - $has_inet6 - $AUTOLOAD -); - -use Carp; -use Config (); -use Socket; -use IO::Socket; -use IO::Select; - -use Net::DNS; -use Net::DNS::Packet; - -$VERSION = (qw$LastChangedRevision: 704 $)[1]; - - -# -# A few implementation notes wrt IPv6 support. -# -# In general we try to be gracious to those stacks that do not have ipv6 support. -# We test that by means of the availability of Socket6 and IO::Socket::INET6 -# - - -# We have chosen to not use mapped IPv4 addresses, there seem to be -# issues with this; as a result we have to use sockets for both -# family types. To be able to deal with persistent sockets and -# sockets of both family types we use an array that is indexed by the -# socketfamily type to store the socket handlers. I think this could -# be done more efficiently. - - -# inet_pton is not available on WIN32, so we only use the getaddrinfo -# call to translate IP addresses to socketaddress - - - -# Set the $force_inet4_only variable inside the BEGIN block to force -# not to use the IPv6 stuff. You can use this for compatibility -# test. We do not see a need to do this from the calling code. - - -# Olaf Kolkman, RIPE NCC, December 2003. - - -BEGIN { - if ( - eval {require Socket6;} && - # INET6 prior to 2.01 will not work; sorry. - eval {require IO::Socket::INET6; IO::Socket::INET6->VERSION("2.00");} - ) { - import Socket6; - $has_inet6=1; - }else{ - $has_inet6=0; - } - } - - - - - - -# -# Set up a closure to be our class data. -# -{ - my %defaults = ( - nameservers => ['127.0.0.1'], - port => 53, - srcaddr => '0.0.0.0', - srcport => 0, - domain => '', - searchlist => [], - retrans => 5, - retry => 4, - usevc => 0, - stayopen => 0, - igntc => 0, - recurse => 1, - defnames => 1, - dnsrch => 1, - debug => 0, - errorstring => 'unknown error or no error', - tsig_rr => undef, - answerfrom => '', - querytime => undef, - tcp_timeout => 120, - udp_timeout => undef, - axfr_sel => undef, - axfr_rr => [], - axfr_soa_count => 0, - persistent_tcp => 0, - persistent_udp => 0, - dnssec => 0, - udppacketsize => 0, # The actual default is lower bound by Net::DNS::PACKETSZ - cdflag => 1, # this is only used when {dnssec} == 1 - force_v4 => 0, # force_v4 is only relevant when we have - # v6 support available - ignqrid => 0, # normally packets with non-matching ID - # or with the qr bit of are thrown away - # in 'ignqrid' these packets are - # are accepted. - # USE WITH CARE, YOU ARE VULNARABLE TO - # SPOOFING IF SET. - # This is may be a temporary feature - ); - - # If we're running under a SOCKSified Perl, use TCP instead of UDP - # and keep the sockets open. - if ($Config::Config{'usesocks'}) { - $defaults{'usevc'} = 1; - $defaults{'persistent_tcp'} = 1; - } - - sub defaults { \%defaults } -} - -# These are the attributes that we let the user specify in the new(). -# We also deprecate access to these with AUTOLOAD (some may be useful). -my %public_attr = map { $_ => 1 } qw( - nameservers - port - srcaddr - srcport - domain - searchlist - retrans - retry - usevc - stayopen - igntc - recurse - defnames - dnsrch - debug - tcp_timeout - udp_timeout - persistent_tcp - persistent_udp - dnssec - ignqrid -); - - -sub new { - my $class = shift; - my $self = bless({ %{$class->defaults} }, $class); - - $self->_process_args(@_) if @_ and @_ % 2 == 0; - return $self; -} - - - -sub _process_args { - my ($self, %args) = @_; - - if ($args{'config_file'}) { - $self->read_config_file($args{'config_file'}); - } - - foreach my $attr (keys %args) { - next unless $public_attr{$attr}; - - if ($attr eq 'nameservers' || $attr eq 'searchlist') { - - die "Net::DNS::Resolver->new(): $attr must be an arrayref\n" unless - defined($args{$attr}) && UNIVERSAL::isa($args{$attr}, 'ARRAY'); - - } - - if ($attr eq 'nameservers') { - $self->nameservers(@{$args{$attr}}); - } else { - $self->{$attr} = $args{$attr}; - } - } - - -} - - - - - -# -# Some people have reported that Net::DNS dies because AUTOLOAD picks up -# calls to DESTROY. -# -sub DESTROY {} - - -sub read_env { - my ($invocant) = @_; - my $config = ref $invocant ? $invocant : $invocant->defaults; - - $config->{'nameservers'} = [ $ENV{'RES_NAMESERVERS'} =~ m/(\S+)/g ] - if exists $ENV{'RES_NAMESERVERS'}; - - $config->{'searchlist'} = [ split(' ', $ENV{'RES_SEARCHLIST'}) ] - if exists $ENV{'RES_SEARCHLIST'}; - - $config->{'domain'} = $ENV{'LOCALDOMAIN'} - if exists $ENV{'LOCALDOMAIN'}; - - if (exists $ENV{'RES_OPTIONS'}) { - foreach ($ENV{'RES_OPTIONS'} =~ m/(\S+)/g) { - my ($name, $val) = split(m/:/); - $val = 1 unless defined $val; - $config->{$name} = $val if exists $config->{$name}; - } - } -} - -# -# $class->read_config_file($filename) or $self->read_config_file($file) -# -sub read_config_file { - my ($invocant, $file) = @_; - my $config = ref $invocant ? $invocant : $invocant->defaults; - - - my @ns; - my @searchlist; - - local *FILE; - - open(FILE, "< $file") or croak "Could not open $file: $!"; - local $/ = "\n"; - local $_; - - while (<FILE>) { - s/\s*[;#].*//; - - # Skip ahead unless there's non-whitespace characters - next unless m/\S/; - - SWITCH: { - /^\s*domain\s+(\S+)/ && do { - $config->{'domain'} = $1; - last SWITCH; - }; - - /^\s*search\s+(.*)/ && do { - push(@searchlist, split(' ', $1)); - last SWITCH; - }; - - /^\s*nameserver\s+(.*)/ && do { - foreach my $ns (split(' ', $1)) { - $ns = '0.0.0.0' if $ns eq '0'; -# next if $ns =~ m/:/; # skip IPv6 nameservers - push @ns, $ns; - } - last SWITCH; - }; - } - } - close FILE || croak "Could not close $file: $!"; - - $config->{'nameservers'} = [ @ns ] if @ns; - $config->{'searchlist'} = [ @searchlist ] if @searchlist; - } - - - - -sub print { print $_[0]->string } - -sub string { - my $self = shift; - - my $timeout = defined $self->{'tcp_timeout'} ? $self->{'tcp_timeout'} : 'indefinite'; - my $hasINET6line= $has_inet6 ?" (IPv6 Transport is available)":" (IPv6 Transport is not available)"; - my $ignqrid=$self->{'ignqrid'} ? "\n;; ACCEPTING ALL PACKETS (IGNQRID)":""; - return <<END; -;; RESOLVER state: -;; domain = $self->{domain} -;; searchlist = @{$self->{searchlist}} -;; nameservers = @{$self->{nameservers}} -;; port = $self->{port} -;; srcport = $self->{srcport} -;; srcaddr = $self->{srcaddr} -;; tcp_timeout = $timeout -;; retrans = $self->{retrans} retry = $self->{retry} -;; usevc = $self->{usevc} stayopen = $self->{stayopen} igntc = $self->{igntc} -;; defnames = $self->{defnames} dnsrch = $self->{dnsrch} -;; recurse = $self->{recurse} debug = $self->{debug} -;; force_v4 = $self->{force_v4} $hasINET6line $ignqrid -END - -} - - -sub searchlist { - my $self = shift; - $self->{'searchlist'} = [ @_ ] if @_; - return @{$self->{'searchlist'}}; -} - -sub nameservers { - my $self = shift; - - if (@_) { - my @a; - foreach my $ns (@_) { - next unless defined($ns); - if ( _ip_is_ipv4($ns) ) { - push @a, ($ns eq '0') ? '0.0.0.0' : $ns; - - } elsif ( _ip_is_ipv6($ns) ) { - push @a, ($ns eq '0') ? '::0' : $ns; - - } else { - my $defres = Net::DNS::Resolver->new; - my @names; - - if ($ns !~ /\./) { - if (defined $defres->searchlist) { - @names = map { $ns . '.' . $_ } - $defres->searchlist; - } elsif (defined $defres->domain) { - @names = ($ns . '.' . $defres->domain); - } - } - else { - @names = ($ns); - } - - my $packet = $defres->search($ns); - $self->errorstring($defres->errorstring); - if (defined($packet)) { - push @a, cname_addr([@names], $packet); - } - } - } - - - $self->{'nameservers'} = [ @a ]; - } - my @returnval; - foreach my $ns (@{$self->{'nameservers'}}){ - next if _ip_is_ipv6($ns) && (! $has_inet6 || $self->force_v4() ); - push @returnval, $ns; - } - - return @returnval; -} - -sub nameserver { &nameservers } - -sub cname_addr { - my $names = shift; - my $packet = shift; - my @addr; - my @names = @{$names}; - - my $oct2 = '(?:2[0-4]\d|25[0-5]|[0-1]?\d\d|\d)'; - - RR: foreach my $rr ($packet->answer) { - next RR unless grep {$rr->name} @names; - - if ($rr->type eq 'CNAME') { - push(@names, $rr->cname); - } elsif ($rr->type eq 'A') { - # Run a basic taint check. - next RR unless $rr->address =~ m/^($oct2\.$oct2\.$oct2\.$oct2)$/o; - - push(@addr, $1) - } - } - - - return @addr; -} - - -# if ($self->{"udppacketsize"} > Net::DNS::PACKETSZ() -# then we use EDNS and $self->{"udppacketsize"} -# should be taken as the maximum packet_data length -sub _packetsz { - my ($self) = @_; - - return $self->{"udppacketsize"} > Net::DNS::PACKETSZ() ? - $self->{"udppacketsize"} : Net::DNS::PACKETSZ(); -} - -sub _reset_errorstring { - my ($self) = @_; - - $self->errorstring($self->defaults->{'errorstring'}); -} - - -sub search { - my $self = shift; - my $name = shift || '.'; - - my $defdomain = $self->{domain} if $self->{defnames}; - my @searchlist = @{$self->{searchlist}} if $self->{dnsrch}; - - # resolve name by trying as absolute name, then applying searchlist - my @list = (undef, @searchlist); - for ($name) { - # resolve name with no dots or colons by applying searchlist (or domain) - @list = @searchlist ? @searchlist : ($defdomain) unless m/[:.]/; - # resolve name with trailing dot as absolute name - @list = (undef) if m/\.$/; - } - - foreach my $suffix ( @list ) { - my $fqname = join '.', $name, ($suffix || ()); - - print ';; search(', join(', ', $fqname, @_), ")\n" if $self->{debug}; - - my $packet = $self->send($fqname, @_) || return undef; - - next unless ($packet->header->rcode eq "NOERROR"); # something - #useful happened - return $packet if $packet->header->ancount; # answer found - next unless $packet->header->qdcount; # question empty? - - last if ($packet->question)[0]->qtype eq 'PTR'; # abort search if IP - } - return undef; -} - - -sub query { - my $self = shift; - my $name = shift || '.'; - - # resolve name containing no dots or colons by appending domain - my @suffix = ($self->{domain} || ()) if $name !~ m/[:.]/ and $self->{defnames}; - - my $fqname = join '.', $name, @suffix; - - print ';; query(', join(', ', $fqname, @_), ")\n" if $self->{debug}; - - my $packet = $self->send($fqname, @_) || return undef; - - return $packet if $packet->header->ancount; # answer found - return undef; -} - - -sub send { - my $self = shift; - my $packet = $self->make_query_packet(@_); - my $packet_data = $packet->data; - - - my $ans; - - if ($self->{'usevc'} || length $packet_data > $self->_packetsz) { - - $ans = $self->send_tcp($packet, $packet_data); - - } else { - $ans = $self->send_udp($packet, $packet_data); - - if ($ans && $ans->header->tc && !$self->{'igntc'}) { - print ";;\n;; packet truncated: retrying using TCP\n" if $self->{'debug'}; - $ans = $self->send_tcp($packet, $packet_data); - } - } - - return $ans; -} - - - -sub send_tcp { - my ($self, $packet, $packet_data) = @_; - my $lastanswer; - - my $srcport = $self->{'srcport'}; - my $srcaddr = $self->{'srcaddr'}; - my $dstport = $self->{'port'}; - - unless ( $self->nameservers()) { - $self->errorstring('no nameservers'); - print ";; ERROR: send_tcp: no nameservers\n" if $self->{'debug'}; - return; - } - - $self->_reset_errorstring; - - - NAMESERVER: foreach my $ns ($self->nameservers()) { - - print ";; attempt to send_tcp($ns:$dstport) (src port = $srcport)\n" - if $self->{'debug'}; - - - - my $sock; - my $sock_key = "$ns:$dstport"; - my ($host,$port); - if ($self->persistent_tcp && $self->{'sockets'}[AF_UNSPEC]{$sock_key}) { - $sock = $self->{'sockets'}[AF_UNSPEC]{$sock_key}; - print ";; using persistent socket\n" - if $self->{'debug'}; - unless ($sock->connected){ - print ";; persistent socket disconnected (trying to reconnect)" - if $self->{'debug'}; - undef($sock); - $sock= $self->_create_tcp_socket($ns); - next NAMESERVER unless $sock; - $self->{'sockets'}[AF_UNSPEC]{$sock_key} = $sock; - } - - } else { - $sock= $self->_create_tcp_socket($ns); - next NAMESERVER unless $sock; - - $self->{'sockets'}[AF_UNSPEC]{$sock_key} = $sock if - $self->persistent_tcp; - } - - - my $lenmsg = pack('n', length($packet_data)); - print ';; sending ', length($packet_data), " bytes\n" - if $self->{'debug'}; - - # note that we send the length and packet data in a single call - # as this produces a single TCP packet rather than two. This - # is more efficient and also makes things much nicer for sniffers. - # (ethereal doesn't seem to reassemble DNS over TCP correctly) - - - unless ($sock->send( $lenmsg . $packet_data)) { - $self->errorstring($!); - print ";; ERROR: send_tcp: data send failed: $!\n" - if $self->{'debug'}; - next NAMESERVER; - } - - my $sel = IO::Select->new($sock); - my $timeout=$self->{'tcp_timeout'}; - if ($sel->can_read($timeout)) { - my $buf = read_tcp($sock, Net::DNS::INT16SZ(), $self->{'debug'}); - next NAMESERVER unless length($buf); # Failure to get anything - my ($len) = unpack('n', $buf); - next NAMESERVER unless $len; # Cannot determine size - - unless ($sel->can_read($timeout)) { - $self->errorstring('timeout'); - print ";; TIMEOUT\n" if $self->{'debug'}; - next; - } - - $buf = read_tcp($sock, $len, $self->{'debug'}); - - $self->answerfrom($sock->peerhost); - - print ';; received ', length($buf), " bytes\n" - if $self->{'debug'}; - - unless (length($buf) == $len) { - $self->errorstring("expected $len bytes, " . - 'received ' . length($buf)); - next; - } - - my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'}); - if (defined $ans) { - $self->errorstring($ans->header->rcode); - $ans->answerfrom($self->answerfrom); - - if ($ans->header->rcode ne "NOERROR" && - $ans->header->rcode ne "NXDOMAIN"){ - # Remove this one from the stack - print "RCODE: ".$ans->header->rcode ."; trying next nameserver\n" if $self->{'debug'}; - $lastanswer=$ans; - next NAMESERVER ; - - } - - } - elsif (defined $err) { - $self->errorstring($err); - } - - return $ans; - } - else { - $self->errorstring('timeout'); - next; - } - } - - if ($lastanswer){ - $self->errorstring($lastanswer->header->rcode ); - return $lastanswer; - - } - - return; -} - - - -sub send_udp { - my ($self, $packet, $packet_data) = @_; - my $retrans = $self->{'retrans'}; - my $timeout = $retrans; - - my $lastanswer; - - my $stop_time = time + $self->{'udp_timeout'} if $self->{'udp_timeout'}; - - $self->_reset_errorstring; - - my @ns; - my $dstport = $self->{'port'}; - my $srcport = $self->{'srcport'}; - my $srcaddr = $self->{'srcaddr'}; - - my @sock; - - - if ($self->persistent_udp){ - if ($has_inet6){ - if ( defined ($self->{'sockets'}[AF_INET6()]{'UDP'})) { - $sock[AF_INET6()] = $self->{'sockets'}[AF_INET6()]{'UDP'}; - print ";; using persistent AF_INET6() family type socket\n" - if $self->{'debug'}; - } - } - if ( defined ($self->{'sockets'}[AF_INET]{'UDP'})) { - $sock[AF_INET] = $self->{'sockets'}[AF_INET]{'UDP'}; - print ";; using persistent AF_INET() family type socket\n" - if $self->{'debug'}; - } - } - - if ($has_inet6 && ! $self->force_v4() && !defined( $sock[AF_INET6()] )){ - - - # '::' Otherwise the INET6 socket will fail. - - my $srcaddr6 = $srcaddr eq '0.0.0.0' ? '::' : $srcaddr; - - print ";; Trying to set up a AF_INET6() family type UDP socket with srcaddr: $srcaddr ... " - if $self->{'debug'}; - - - # IO::Socket carps on errors if Perl's -w flag is turned on. - # Uncomment the next two lines and the line following the "new" - # call to turn off these messages. - - #my $old_wflag = $^W; - #$^W = 0; - - $sock[AF_INET6()] = IO::Socket::INET6->new( - LocalAddr => $srcaddr6, - LocalPort => ($srcport || undef), - Proto => 'udp', - ); - - - - - print (defined($sock[AF_INET6()])?"done\n":"failed\n") if $has_inet6 && $self->debug(); - - } - - # Always set up an AF_INET socket. - # It will be used if the address familly of for the endpoint is V4. - - if (!defined( $sock[AF_INET])) - - { - print ";; setting up an AF_INET() family type UDP socket\n" - if $self->{'debug'}; - - #my $old_wflag = $^W; - #$^W = 0; - - $sock[AF_INET] = IO::Socket::INET->new( - LocalAddr => $srcaddr, - LocalPort => ($srcport || undef), - Proto => 'udp', - ) ; - - #$^W = $old_wflag; - } - - - - unless (defined $sock[AF_INET] || ($has_inet6 && defined $sock[AF_INET6()])) { - - $self->errorstring("could not get socket"); #' - return; - } - - $self->{'sockets'}[AF_INET]{'UDP'} = $sock[AF_INET] if ($self->persistent_udp) && defined( $sock[AF_INET] ); - $self->{'sockets'}[AF_INET6()]{'UDP'} = $sock[AF_INET6()] if $has_inet6 && ($self->persistent_udp) && defined( $sock[AF_INET6()]) && ! $self->force_v4(); - - # Constructing an array of arrays that contain 3 elements: The - # nameserver IP address, its sockaddr and the sockfamily for - # which the sockaddr structure is constructed. - - my $nmbrnsfailed=0; - NSADDRESS: foreach my $ns_address ($self->nameservers()){ - # The logic below determines the $dst_sockaddr. - # If getaddrinfo is available that is used for both INET4 and INET6 - # If getaddrinfo is not avialable (Socket6 failed to load) we revert - # to the 'classic mechanism - if ($has_inet6 && ! $self->force_v4() ){ - # we can use getaddrinfo - no strict 'subs'; # Because of the eval statement in the BEGIN - # AI_NUMERICHOST is not available at compile time. - # The AI_NUMERICHOST surpresses lookups. - - my $old_wflag = $^W; #circumvent perl -w warnings about 'udp' - $^W = 0; - - - - my @res = getaddrinfo($ns_address, $dstport, AF_UNSPEC, SOCK_DGRAM, - 0, AI_NUMERICHOST); - - $^W=$old_wflag ; - - - use strict 'subs'; - - my ($sockfamily, $socktype_tmp, - $proto_tmp, $dst_sockaddr, $canonname_tmp) = @res; - - if (scalar(@res) < 5) { - die ("can't resolve \"$ns_address\" to address"); - } - - push @ns,[$ns_address,$dst_sockaddr,$sockfamily]; - - }else{ - next NSADDRESS unless( _ip_is_ipv4($ns_address)); - my $dst_sockaddr = sockaddr_in($dstport, inet_aton($ns_address)); - push @ns, [$ns_address,$dst_sockaddr,AF_INET]; - } - - } - - unless (@ns) { - print "No nameservers" if $self->debug(); - $self->errorstring('no nameservers'); - return; - } - - my $sel = IO::Select->new() ; - # We allready tested that one of the two socket exists - - $sel->add($sock[AF_INET]) if defined ($sock[AF_INET]); - $sel->add($sock[AF_INET6()]) if $has_inet6 && defined ($sock[AF_INET6()]) && ! $self->force_v4(); - - - # Perform each round of retries. - for (my $i = 0; - $i < $self->{'retry'}; - ++$i, $retrans *= 2, $timeout = int($retrans / (@ns || 1))) { - - $timeout = 1 if ($timeout < 1); - - # Try each nameserver. - NAMESERVER: foreach my $ns (@ns) { - next if defined $ns->[3]; - if ($stop_time) { - my $now = time; - if ($stop_time < $now) { - $self->errorstring('query timed out'); - return; - } - if ($timeout > 1 && $timeout > ($stop_time-$now)) { - $timeout = $stop_time-$now; - } - } - my $nsname = $ns->[0]; - my $nsaddr = $ns->[1]; - my $nssockfamily = $ns->[2]; - - # If we do not have a socket for the transport - # we are supposed to reach the namserver on we - # should skip it. - unless (defined ($sock[ $nssockfamily ])){ - print "Send error: cannot reach $nsname (". - - ( ($has_inet6 && $nssockfamily == AF_INET6()) ? "IPv6" : "" ). - ( ($nssockfamily == AF_INET) ? "IPv4" : "" ). - ") not available" - if $self->debug(); - - - $self->errorstring("Send error: cannot reach $nsname (" . - ( ($has_inet6 && $nssockfamily == AF_INET6()) ? "IPv6" : "" ). - ( ($nssockfamily == AF_INET) ? "IPv4" : "" ). - ") not available" - -); - next NAMESERVER ; - } - - print ";; send_udp($nsname:$dstport)\n" - if $self->{'debug'}; - - unless ($sock[$nssockfamily]->send($packet_data, 0, $nsaddr)) { - print ";; send error: $!\n" if $self->{'debug'}; - $self->errorstring("Send error: $!"); - $nmbrnsfailed++; - $ns->[3]="Send error".$self->errorstring(); - next; - } - - # See ticket 11931 but this works not quite yet - my $oldpacket_timeout=time+$timeout; - until ( $oldpacket_timeout && ($oldpacket_timeout < time())) { - my @ready = $sel->can_read($timeout); - SELECTOR: foreach my $ready (@ready) { - my $buf = ''; - - if ($ready->recv($buf, $self->_packetsz)) { - - $self->answerfrom($ready->peerhost); - - print ';; answer from ', - $ready->peerhost, ':', - $ready->peerport, ' : ', - length($buf), " bytes\n" - if $self->{'debug'}; - - my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'}); - - if (defined $ans) { - next SELECTOR unless ( $ans->header->qr || $self->{'ignqrid'}); - next SELECTOR unless ( ($ans->header->id == $packet->header->id) || $self->{'ignqrid'} ); - $self->errorstring($ans->header->rcode); - $ans->answerfrom($self->answerfrom); - if ($ans->header->rcode ne "NOERROR" && - $ans->header->rcode ne "NXDOMAIN"){ - # Remove this one from the stack - - print "RCODE: ".$ans->header->rcode ."; trying next nameserver\n" if $self->{'debug'}; - $nmbrnsfailed++; - $ns->[3]="RCODE: ".$ans->header->rcode(); - $lastanswer=$ans; - next NAMESERVER ; - - } - } elsif (defined $err) { - $self->errorstring($err); - } - return $ans; - } else { - $self->errorstring($!); - print ';; recv ERROR(', - $ready->peerhost, ':', - $ready->peerport, '): ', - $self->errorstring, "\n" - if $self->{'debug'}; - $ns->[3]="Recv error ".$self->errorstring(); - $nmbrnsfailed++; - # We want to remain in the SELECTOR LOOP... - # unless there are no more nameservers - return unless ($nmbrnsfailed < @ns); - print ';; Number of failed nameservers: $nmbrnsfailed out of '.scalar @ns."\n" if $self->{'debug'}; - - } - } #SELECTOR LOOP - } # until stop_time loop - } #NAMESERVER LOOP - - } - - if ($lastanswer){ - $self->errorstring($lastanswer->header->rcode ); - return $lastanswer; - - } - if ($sel->handles) { - # If there are valid hanndles than we have either a timeout or - # a send error. - $self->errorstring('query timed out') unless ($self->errorstring =~ /Send error:/); - } - else { - if ($nmbrnsfailed < @ns){ - $self->errorstring('Unexpected Error') ; - }else{ - $self->errorstring('all nameservers failed'); - } - } - return; -} - - -sub bgsend { - my $self = shift; - - unless ($self->nameservers()) { - $self->errorstring('no nameservers'); - return; - } - - $self->_reset_errorstring; - - my $packet = $self->make_query_packet(@_); - my $packet_data = $packet->data; - - my $srcaddr = $self->{'srcaddr'}; - my $srcport = $self->{'srcport'}; - - - my (@res, $sockfamily, $dst_sockaddr); - my $ns_address = ($self->nameservers())[0]; - my $dstport = $self->{'port'}; - - - # The logic below determines ther $dst_sockaddr. - # If getaddrinfo is available that is used for both INET4 and INET6 - # If getaddrinfo is not avialable (Socket6 failed to load) we revert - # to the 'classic mechanism - if ($has_inet6 && ! $self->force_v4()){ - - my ( $socktype_tmp, $proto_tmp, $canonname_tmp); - - no strict 'subs'; # Because of the eval statement in the BEGIN - # AI_NUMERICHOST is not available at compile time. - - # The AI_NUMERICHOST surpresses lookups. - my @res = getaddrinfo($ns_address, $dstport, AF_UNSPEC, SOCK_DGRAM, - 0 , AI_NUMERICHOST); - - use strict 'subs'; - - ($sockfamily, $socktype_tmp, - $proto_tmp, $dst_sockaddr, $canonname_tmp) = @res; - - if (scalar(@res) < 5) { - die ("can't resolve \"$ns_address\" to address (it could have been an IP address)"); - } - - }else{ - $sockfamily=AF_INET; - - if (! _ip_is_ipv4($ns_address)){ - $self->errorstring("bgsend(ipv4 only):$ns_address does not seem to be a valid IPv4 address"); - return; - } - - $dst_sockaddr = sockaddr_in($dstport, inet_aton($ns_address)); - } - my @socket; - - if ($sockfamily == AF_INET) { - $socket[$sockfamily] = IO::Socket::INET->new( - Proto => 'udp', - Type => SOCK_DGRAM, - LocalAddr => $srcaddr, - LocalPort => ($srcport || undef), - ); - } elsif ($has_inet6 && $sockfamily == AF_INET6() ) { - # Otherwise the INET6 socket will just fail - my $srcaddr6 = $srcaddr eq "0.0.0.0" ? '::' : $srcaddr; - $socket[$sockfamily] = IO::Socket::INET6->new( - Proto => 'udp', - Type => SOCK_DGRAM, - LocalAddr => $srcaddr6, - LocalPort => ($srcport || undef), - ); - } else { - die ref($self)." bgsend:Unsoported Socket Family: $sockfamily"; - } - - unless (scalar(@socket)) { - $self->errorstring("could not get socket"); #' - return; - } - - print ";; bgsend($ns_address : $dstport)\n" if $self->{'debug'} ; - - foreach my $socket (@socket){ - next if !defined $socket; - - unless ($socket->send($packet_data,0,$dst_sockaddr)){ - my $err = $!; - print ";; send ERROR($ns_address): $err\n" if $self->{'debug'}; - - $self->errorstring("Send: ".$err); - return; - } - return $socket; - } - $self->errorstring("Could not find a socket to send on"); - return; - -} - -sub bgread { - my ($self, $sock) = @_; - - my $buf = ''; - - my $peeraddr = $sock->recv($buf, $self->_packetsz); - - if ($peeraddr) { - print ';; answer from ', $sock->peerhost, ':', - $sock->peerport, ' : ', length($buf), " bytes\n" - if $self->{'debug'}; - - my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'}); - - if (defined $ans) { - $self->errorstring($ans->header->rcode); - $ans->answerfrom($sock->peerhost); - } elsif (defined $err) { - $self->errorstring($err); - } - - return $ans; - } else { - $self->errorstring($!); - return; - } -} - -sub bgisready { - my $self = shift; - my $sel = IO::Select->new(@_); - my @ready = $sel->can_read(0.0); - return @ready > 0; -} - -sub make_query_packet { - my $self = shift; - my $packet; - - if (ref($_[0]) and $_[0]->isa('Net::DNS::Packet')) { - $packet = shift; - } else { - $packet = Net::DNS::Packet->new(@_); - } - - if ($packet->header->opcode eq 'QUERY') { - $packet->header->rd($self->{'recurse'}); - } - - if ($self->{'dnssec'}) { - # RFC 3225 - print ";; Adding EDNS extention with UDP packetsize $self->{'udppacketsize'} and DNS OK bit set\n" - if $self->{'debug'}; - - my $optrr = Net::DNS::RR->new( - Type => 'OPT', - Name => '', - Class => $self->{'udppacketsize'}, # Decimal UDPpayload - ednsflags => 0x8000, # first bit set see RFC 3225 - ); - - - $packet->push('additional', $optrr) unless defined $packet->{'optadded'} ; - $packet->{'optadded'}=1; - } elsif ($self->{'udppacketsize'} > Net::DNS::PACKETSZ()) { - print ";; Adding EDNS extention with UDP packetsize $self->{'udppacketsize'}.\n" if $self->{'debug'}; - # RFC 3225 - my $optrr = Net::DNS::RR->new( - Type => 'OPT', - Name => '', - Class => $self->{'udppacketsize'}, # Decimal UDPpayload - TTL => 0x0000 # RCODE 32bit Hex - ); - - $packet->push('additional', $optrr) unless defined $packet->{'optadded'} ; - $packet->{'optadded'}=1; - } - - - if ($self->{'tsig_rr'}) { - if (!grep { $_->type eq 'TSIG' } $packet->additional) { - $packet->push('additional', $self->{'tsig_rr'}); - } - } - - return $packet; -} - -sub axfr { - my $self = shift; - my @zone; - - if ($self->axfr_start(@_)) { - my ($rr, $err); - while (($rr, $err) = $self->axfr_next, $rr && !$err) { - push @zone, $rr; - } - @zone = () if $err; - } - - return @zone; -} - -sub axfr_old { - croak "Use of Net::DNS::Resolver::axfr_old() is deprecated, use axfr() or axfr_start()."; -} - - -sub axfr_start { - my $self = shift; - my ($dname, $class) = @_; - $dname ||= $self->{'searchlist'}->[0]; - $class ||= 'IN'; - my $timeout = $self->{'tcp_timeout'}; - - unless ($dname) { - print ";; ERROR: axfr: no zone specified\n" if $self->{'debug'}; - $self->errorstring('no zone'); - return; - } - - - print ";; axfr_start($dname, $class)\n" if $self->{'debug'}; - - unless ($self->nameservers()) { - $self->errorstring('no nameservers'); - print ";; ERROR: no nameservers\n" if $self->{'debug'}; - return; - } - - my $packet = $self->make_query_packet($dname, 'AXFR', $class); - my $packet_data = $packet->data; - - my $ns = ($self->nameservers())[0]; - - - my $srcport = $self->{'srcport'}; - my $srcaddr = $self->{'srcaddr'}; - my $dstport = $self->{'port'}; - - print ";; axfr_start nameserver = $ns\n" if $self->{'debug'}; - print ";; axfr_start srcport: $srcport, srcaddr: $srcaddr, dstport: $dstport\n" if $self->{'debug'}; - - - my $sock; - my $sock_key = "$ns:$self->{'port'}"; - - - if ($self->persistent_tcp && $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key}) { - $sock = $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key}; - print ";; using persistent socket\n" - if $self->{'debug'}; - } else { - $sock=$self->_create_tcp_socket($ns); - - return unless ($sock); # all error messages - # are set by _create_tcp_socket - - - $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key} = $sock if - $self->persistent_tcp; - } - - my $lenmsg = pack('n', length($packet_data)); - - unless ($sock->send($lenmsg)) { - $self->errorstring($!); - return; - } - - unless ($sock->send($packet_data)) { - $self->errorstring($!); - return; - } - - my $sel = IO::Select->new($sock); - - $self->{'axfr_sel'} = $sel; - $self->{'axfr_rr'} = []; - $self->{'axfr_soa_count'} = 0; - - return $sock; -} - - -sub axfr_next { - my $self = shift; - my $err = ''; - - unless (@{$self->{'axfr_rr'}}) { - unless ($self->{'axfr_sel'}) { - my $err = 'no zone transfer in progress'; - - print ";; $err\n" if $self->{'debug'}; - $self->errorstring($err); - - return wantarray ? (undef, $err) : undef; - } - - my $sel = $self->{'axfr_sel'}; - my $timeout = $self->{'tcp_timeout'}; - - #-------------------------------------------------------------- - # Read the length of the response packet. - #-------------------------------------------------------------- - - my @ready = $sel->can_read($timeout); - unless (@ready) { - $err = 'timeout'; - $self->errorstring($err); - return wantarray ? (undef, $err) : undef; - } - - my $buf = read_tcp($ready[0], Net::DNS::INT16SZ(), $self->{'debug'}); - unless (length $buf) { - $err = 'truncated zone transfer'; - $self->errorstring($err); - return wantarray ? (undef, $err) : undef; - } - - my ($len) = unpack('n', $buf); - unless ($len) { - $err = 'truncated zone transfer'; - $self->errorstring($err); - return wantarray ? (undef, $err) : undef; - } - - #-------------------------------------------------------------- - # Read the response packet. - #-------------------------------------------------------------- - - @ready = $sel->can_read($timeout); - unless (@ready) { - $err = 'timeout'; - $self->errorstring($err); - return wantarray ? (undef, $err) : undef; - } - - $buf = read_tcp($ready[0], $len, $self->{'debug'}); - - print ';; received ', length($buf), " bytes\n" - if $self->{'debug'}; - - unless (length($buf) == $len) { - $err = "expected $len bytes, received " . length($buf); - $self->errorstring($err); - print ";; $err\n" if $self->{'debug'}; - return wantarray ? (undef, $err) : undef; - } - - my $ans; - ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'}); - - if ($ans) { - if ($ans->header->rcode ne 'NOERROR') { - $self->errorstring('Response code from server: ' . $ans->header->rcode); - print ';; Response code from server: ' . $ans->header->rcode . "\n" if $self->{'debug'}; - return wantarray ? (undef, $err) : undef; - } - if ($ans->header->ancount < 1) { - $err = 'truncated zone transfer'; - $self->errorstring($err); - print ";; $err\n" if $self->{'debug'}; - return wantarray ? (undef, $err) : undef; - } - } - else { - $err ||= 'unknown error during packet parsing'; - $self->errorstring($err); - print ";; $err\n" if $self->{'debug'}; - return wantarray ? (undef, $err) : undef; - } - - foreach my $rr ($ans->answer) { - if ($rr->type eq 'SOA') { - if (++$self->{'axfr_soa_count'} < 2) { - push @{$self->{'axfr_rr'}}, $rr; - } - } - else { - push @{$self->{'axfr_rr'}}, $rr; - } - } - - if ($self->{'axfr_soa_count'} >= 2) { - $self->{'axfr_sel'} = undef; - # we need to mark the transfer as over if the responce was in - # many answers. Otherwise, the user will call axfr_next again - # and that will cause a 'no transfer in progress' error. - push(@{$self->{'axfr_rr'}}, undef); - } - } - - my $rr = shift @{$self->{'axfr_rr'}}; - - return wantarray ? ($rr, undef) : $rr; -} - - - - -sub dnssec { - my ($self, $new_val) = @_; - if (defined $new_val) { - $self->{"dnssec"} = $new_val; - # Setting the udppacket size to some higher default - $self->udppacketsize(2048) if $new_val; - } - - Carp::carp ("You called the Net::DNS::Resolver::dnssec() method but do not have Net::DNS::SEC installed") if $self->{"dnssec"} && ! $Net::DNS::DNSSEC; - return $self->{"dnssec"}; -}; - - - -sub tsig { - my $self = shift; - - if (@_ == 1) { - if ($_[0] && ref($_[0])) { - $self->{'tsig_rr'} = $_[0]; - } - else { - $self->{'tsig_rr'} = undef; - } - } - elsif (@_ == 2) { - my ($key_name, $key) = @_; - $self->{'tsig_rr'} = Net::DNS::RR->new("$key_name TSIG $key"); - } - - return $self->{'tsig_rr'}; -} - -# -# Usage: $data = read_tcp($socket, $nbytes, $debug); -# -sub read_tcp { - my ($sock, $nbytes, $debug) = @_; - my $buf = ''; - - while (length($buf) < $nbytes) { - my $nread = $nbytes - length($buf); - my $read_buf = ''; - - print ";; read_tcp: expecting $nread bytes\n" if $debug; - - # During some of my tests recv() returned undef even - # though there wasn't an error. Checking for the amount - # of data read appears to work around that problem. - - unless ($sock->recv($read_buf, $nread)) { - if (length($read_buf) < 1) { - my $errstr = $!; - - print ";; ERROR: read_tcp: recv failed: $!\n" - if $debug; - - if ($errstr eq 'Resource temporarily unavailable') { - warn "ERROR: read_tcp: recv failed: $errstr\n"; - warn "ERROR: try setting \$res->timeout(undef)\n"; - } - - last; - } - } - - print ';; read_tcp: received ', length($read_buf), " bytes\n" - if $debug; - - last unless length($read_buf); - $buf .= $read_buf; - } - - return $buf; -} - - - -sub _create_tcp_socket { - my $self=shift; - my $ns=shift; - my $sock; - - my $srcport = $self->{'srcport'}; - my $srcaddr = $self->{'srcaddr'}; - my $dstport = $self->{'port'}; - - my $timeout = $self->{'tcp_timeout'}; - # IO::Socket carps on errors if Perl's -w flag is - # turned on. Uncomment the next two lines and the - # line following the "new" call to turn off these - # messages. - - #my $old_wflag = $^W; - #$^W = 0; - - if ($has_inet6 && ! $self->force_v4() && _ip_is_ipv6($ns) ){ - # XXX IO::Socket::INET6 fails in a cryptic way upon send() - # on AIX5L if "0" is passed in as LocalAddr - # $srcaddr="0" if $srcaddr eq "0.0.0.0"; # Otherwise the INET6 socket will just fail - - my $srcaddr6 = $srcaddr eq '0.0.0.0' ? '::' : $srcaddr; - - $sock = - IO::Socket::INET6->new( - PeerPort => $dstport, - PeerAddr => $ns, - LocalAddr => $srcaddr6, - LocalPort => ($srcport || undef), - Proto => 'tcp', - Timeout => $timeout, - ); - - unless($sock){ - $self->errorstring('connection failed(IPv6 socket failure)'); - print ";; ERROR: send_tcp: IPv6 connection to $ns". - "failed: $!\n" if $self->{'debug'}; - return(); - } - } - - # At this point we have sucessfully obtained an - # INET6 socket to an IPv6 nameserver, or we are - # running forced v4, or we do not have v6 at all. - # Try v4. - - unless($sock){ - if (_ip_is_ipv6($ns)){ - $self->errorstring( - 'connection failed (trying IPv6 nameserver without having IPv6)'); - print - ';; ERROR: send_tcp: You are trying to connect to '. - $ns . " but you do not have IPv6 available\n" - if $self->{'debug'}; - return(); - } - - - $sock = IO::Socket::INET->new( - PeerAddr => $ns, - PeerPort => $dstport, - LocalAddr => $srcaddr, - LocalPort => ($srcport || undef), - Proto => 'tcp', - Timeout => $timeout - ) - } - - #$^W = $old_wflag; - - unless ($sock) { - $self->errorstring('connection failed'); - print ';; ERROR: send_tcp: connection ', - "failed: $!\n" if $self->{'debug'}; - return(); - } - - return $sock; -} - - -# Lightweight versions of subroutines from Net::IP module, recoded to fix rt#28198 - -sub _ip_is_ipv4 { - my @field = split /\./, shift; - - return 0 if @field > 4; # too many fields - return 0 if @field == 0; # no fields at all - - foreach ( @field ) { - return 0 unless /./; # reject if empty - return 0 if /[^0-9]/; # reject non-digit - return 0 if $_ > 255; # reject bad value - } - - - return 1; -} - - -sub _ip_is_ipv6 { - - for ( shift ) { - my @field = split /:/; # split into fields - return 0 if (@field < 3) or (@field > 8); - - return 0 if /::.*::/; # reject multiple :: - - if ( /\./ ) { # IPv6:IPv4 - return 0 unless _ip_is_ipv4(pop @field); - } - - foreach ( @field ) { - next unless /./; # skip :: - return 0 if /[^0-9a-f]/i; # reject non-hexdigit - return 0 if length $_ > 4; # reject bad value - } - } - return 1; -} - - - -sub AUTOLOAD { - my ($self) = @_; - - my $name = $AUTOLOAD; - $name =~ s/.*://; - - Carp::croak "$name: no such method" unless exists $self->{$name}; - - no strict q/refs/; - - - *{$AUTOLOAD} = sub { - my ($self, $new_val) = @_; - - if (defined $new_val) { - $self->{"$name"} = $new_val; - } - - return $self->{"$name"}; - }; - - - goto &{$AUTOLOAD}; -} - -1; - -__END__ - -=head1 NAME - -Net::DNS::Resolver::Base - Common Resolver Class - -=head1 SYNOPSIS - - use base qw/Net::DNS::Resolver::Base/; - -=head1 DESCRIPTION - -This class is the common base class for the different platform -sub-classes of L<Net::DNS::Resolver|Net::DNS::Resolver>. - -No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver> -for all your resolving needs. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. -Portions Copyright (c) 2005 Olaf Kolkman <olaf@net-dns.org> -Portions Copyright (c) 2006 Dick Franks. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver> - -=cut - - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm deleted file mode 100644 index bae2d311d0c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm +++ /dev/null @@ -1,180 +0,0 @@ -package Net::DNS::Resolver::Cygwin; -# -# $Id: Cygwin.pm 696 2007-12-28 13:46:20Z olaf $ -# - -use strict; -use vars qw(@ISA $VERSION); - -use Net::DNS::Resolver::Base (); - -@ISA = qw(Net::DNS::Resolver::Base); -$VERSION = (qw$LastChangedRevision: 696 $)[1]; - -sub getregkey { - my $key = $_[0] . $_[1]; - my $value = ''; - - local *LM; - - if (open(LM, "<$key")) { - $value = <LM>; - $value =~ s/\0+$//; - close(LM); - } - - return $value; -} - -sub init { - my ($class) = @_; - my $defaults = $class->defaults; - - local *LM; - - my $root = '/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/'; - - unless (-d $root) { - # Doesn't exist, maybe we are on 95/98/Me? - $root = '/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VxD/MSTCP/'; - -d $root || Carp::croak "can't read registry: $!"; - } - - # Best effort to find a useful domain name for the current host - # if domain ends up blank, we're probably (?) not connected anywhere - # a DNS server is interesting either... - my $domain = getregkey($root, 'Domain') || getregkey($root, 'DhcpDomain') || ''; - - # If nothing else, the searchlist should probably contain our own domain - # also see below for domain name devolution if so configured - # (also remove any duplicates later) - my $searchlist = "$domain "; - $searchlist .= getregkey($root, 'SearchList'); - - # This is (probably) adequate on NT4 - my $nt4nameservers = getregkey($root, 'NameServer') || getregkey($root, 'DhcpNameServer'); - my $nameservers = ""; - # - # but on W2K/XP the registry layout is more advanced due to dynamically - # appearing connections. So we attempt to handle them, too... - # opt to silently fail if something isn't ok (maybe we're on NT4) - # If this doesn't fail override any NT4 style result we found, as it - # may be there but is not valid. - # drop any duplicates later - my $dnsadapters = $root . "DNSRegisteredAdapters/"; - if (opendir(LM, $dnsadapters)) { - my @adapters = grep($_ ne "." && $_ ne "..", readdir(LM)); - closedir(LM); - foreach my $adapter (@adapters) { - my $regadapter = $dnsadapters . $adapter . '/'; - if (-e $regadapter) { - my $ns = getregkey($regadapter, 'DNSServerAddresses') || ''; - while (length($ns) >= 4) { - my $addr = join('.', unpack("C4", substr($ns,0,4,""))); - $nameservers .= " $addr"; - } - } - } - } - - my $interfaces = $root . "Interfaces/"; - if (opendir(LM, $interfaces)) { - my @ifacelist = grep($_ ne "." && $_ ne "..", readdir(LM)); - closedir(LM); - foreach my $iface (@ifacelist) { - my $regiface = $interfaces . $iface . '/'; - if (opendir(LM, $regiface)) { - closedir(LM); - - my $ns; - my $ip; - $ip = getregkey($regiface, "DhcpIPAddress") || getregkey($regiface, "IPAddress"); - $ns = getregkey($regiface, "NameServer") || - getregkey($regiface, "DhcpNameServer") || '' unless !$ip || ($ip =~ /0\.0\.0\.0/); - - $nameservers .= " $ns" if $ns; - } - } - } - - if (!$nameservers) { - $nameservers = $nt4nameservers; - } - - if ($domain) { - $defaults->{'domain'} = $domain; - } - - my $usedevolution = getregkey($root, 'UseDomainNameDevolution'); - if ($searchlist) { - # fix devolution if configured, and simultaneously make sure no dups (but keep the order) - my @a; - my %h; - foreach my $entry (split(m/[\s,]+/, $searchlist)) { - push(@a, $entry) unless $h{$entry}; - $h{$entry} = 1; - if ($usedevolution) { - # as long there's more than two pieces, cut - while ($entry =~ m#\..+\.#) { - $entry =~ s#^[^\.]+\.(.+)$#$1#; - push(@a, $entry) unless $h{$entry}; - $h{$entry} = 1; - } - } - } - $defaults->{'searchlist'} = \@a; - } - - if ($nameservers) { - # just in case dups were introduced... - my @a; - my %h; - foreach my $ns (split(m/[\s,]+/, $nameservers)) { - push @a, $ns unless (!$ns || $h{$ns}); - $h{$ns} = 1; - } - $defaults->{'nameservers'} = [map { m/(.*)/ } @a]; - } - - $class->read_env; - - if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) { - $defaults->{'domain'} = $defaults->{'searchlist'}[0]; - } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) { - $defaults->{'searchlist'} = [ $defaults->{'domain'} ]; - } -} - -1; -__END__ - - -=head1 NAME - -Net::DNS::Resolver::Cygwin - Cygwin Resolver Class - -=head1 SYNOPSIS - - use Net::DNS::Resolver; - -=head1 DESCRIPTION - -This class implements the cygwin specific portions of C<Net::DNS::Resolver>. - -No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver> -for all your resolving needs. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm deleted file mode 100644 index 24e834b9c0a..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm +++ /dev/null @@ -1,485 +0,0 @@ -package Net::DNS::Resolver::Recurse; -# -# $Id: Recurse.pm 591 2006-05-22 21:32:38Z olaf $ -# -use strict; -use Net::DNS::Resolver; - -use vars qw($VERSION @ISA); - -$VERSION = (qw$LastChangedRevision: 591 $)[1]; -@ISA = qw(Net::DNS::Resolver); - -sub hints { - my $self = shift; - my @hints = @_; - print ";; hints(@hints)\n" if $self->{'debug'}; - if (!@hints && $self->nameservers) { - $self->hints($self->nameservers); - } else { - $self->nameservers(@hints); - } - - print ";; verifying (root) zone...\n" if $self->{'debug'}; - # bind always asks one of the hint servers - # for who it thinks is authoritative for - # the (root) zone as a sanity check. - # Nice idea. - - $self->recurse(1); - my $packet=$self->query(".", "NS", "IN"); - $self->recurse(0); - my %hints = (); - if ($packet) { - if (my @ans = $packet->answer) { - foreach my $rr (@ans) { - if ($rr->name =~ /^\.?$/ and - $rr->type eq "NS") { - # Found root authority - my $server = lc $rr->rdatastr; - $server =~ s/\.$//; - print ";; FOUND HINT: $server\n" if $self->{'debug'}; - $hints{$server} = []; - } - } - foreach my $rr ($packet->additional) { - print ";; ADDITIONAL: ",$rr->string,"\n" if $self->{'debug'}; - if (my $server = lc $rr->name){ - if ( $rr->type eq "A") { - #print ";; ADDITIONAL HELP: $server -> [".$rr->rdatastr."]\n" if $self->{'debug'}; - if ($hints{$server}) { - print ";; STORING IP: $server IN A ",$rr->rdatastr,"\n" if $self->{'debug'}; - push @{ $hints{$server} }, $rr->rdatastr; - } - } - if ( $rr->type eq "AAAA") { - #print ";; ADDITIONAL HELP: $server -> [".$rr->rdatastr."]\n" if $self->{'debug'}; - if ($hints{$server}) { - print ";; STORING IP6: $server IN AAAA ",$rr->rdatastr,"\n" if $self->{'debug'}; - push @{ $hints{$server} }, $rr->rdatastr; - } - } - - } - } - } - foreach my $server (keys %hints) { - if (!@{ $hints{$server} }) { - # Wipe the servers without lookups - delete $hints{$server}; - } - } - $self->{'hints'} = \%hints; - } else { - $self->{'hints'} = {}; - } - if (%{ $self->{'hints'} }) { - if ($self->{'debug'}) { - print ";; USING THE FOLLOWING HINT IPS:\n"; - foreach my $ips (values %{ $self->{'hints'} }) { - foreach my $server (@{ $ips }) { - print ";; $server\n"; - } - } - } - } else { - warn "Server [".($self->nameservers)[0]."] did not give answers"; - } - - # Disable recursion flag. - - - return $self->nameservers( map { @{ $_ } } values %{ $self->{'hints'} } ); -} - - -sub recursion_callback { - my ($self, $sub) = @_; - - if ($sub && UNIVERSAL::isa($sub, 'CODE')) { - $self->{'callback'} = $sub; - } - - return $self->{'callback'}; -} - - -# $res->query_dorecursion( args ); -# Takes same args as Net::DNS::Resolver->query -# Purpose: Do that "hot pototo dance" on args. -sub query_dorecursion { - my $self = shift; - my @query = @_; - - # Make sure the hint servers are initialized. - $self->hints unless $self->{'hints'}; - $self->recurse(0); - # Make sure the authority cache is clean. - # It is only used to store A and AAAA records of - # the suposedly authoritative name servers. - $self->{'authority_cache'} = {}; - - # Obtain real question Net::DNS::Packet - my $query_packet = $self->make_query_packet(@query); - - # Seed name servers with hints - return $self->_dorecursion( $query_packet, ".", $self->{'hints'}, 0); -} - -sub _dorecursion { - my $self = shift; - my $query_packet = shift; - my $known_zone = shift; - my $known_authorities = shift; - my $depth = shift; - my $cache = $self->{'authority_cache'}; - - # die "Recursion too deep, aborting..." if $depth > 255; - if ( $depth > 255 ) { - print ";; _dorecursion() Recursion too deep, aborting...\n" if - $self->{'debug'}; - $self->errorstring="Recursion to deep, abborted"; - return undef; - } - - $known_zone =~ s/\.*$/./; - - # Get IPs from authorities - my @ns = (); - foreach my $ns (keys %{ $known_authorities }) { - if (scalar @{ $known_authorities->{$ns} }) { - $cache->{$ns} = $known_authorities->{$ns}; - push (@ns, @{ $cache->{$ns} }); - } elsif ($cache->{$ns}) { - $known_authorities->{$ns} = $cache->{$ns}; - push (@ns, @{ $cache->{$ns} }); - } - } - - if (!@ns) { - my $found_auth = 0; - if ($self->{'debug'}) { - require Data::Dumper; - print ";; _dorecursion() Failed to extract nameserver IPs:\n"; - print Data::Dumper::Dumper([$known_authorities,$cache]); - } - foreach my $ns (keys %{ $known_authorities }) { - if (!@{ $known_authorities->{$ns} }) { - print ";; _dorecursion() Manual lookup for authority [$ns]\n" if $self->{'debug'}; - - my $auth_packet; - my @ans; - - # Don't query for V6 if its not there. - if ($Net::DNS::Resolver::Base::has_inet6 && ! $self->{force_v4}){ - $auth_packet = - $self->_dorecursion - ($self->make_query_packet($ns,"AAAA"), # packet - ".", # known_zone - $self->{'hints'}, # known_authorities - $depth+1); # depth - @ans = $auth_packet->answer if $auth_packet; - } - - $auth_packet = - $self->_dorecursion - ($self->make_query_packet($ns,"A"), # packet - ".", # known_zone - $self->{'hints'}, # known_authorities - $depth+1); # depth - - push (@ans,$auth_packet->answer ) if $auth_packet; - - if ( @ans ) { - print ";; _dorecursion() Answers found for [$ns]\n" if $self->{'debug'}; - foreach my $rr (@ans) { - print ";; RR:".$rr->string."\n" if $self->{'debug'}; - if ($rr->type eq "CNAME") { - # Follow CNAME - if (my $server = lc $rr->name) { - $server =~ s/\.*$/./; - if ($server eq $ns) { - my $cname = lc $rr->rdatastr; - $cname =~ s/\.*$/./; - print ";; _dorecursion() Following CNAME ns [$ns] -> [$cname]\n" if $self->{'debug'}; - $known_authorities->{$cname} ||= []; - delete $known_authorities->{$ns}; - next; - } - } - } elsif ($rr->type eq "A" ||$rr->type eq "AAAA" ) { - if (my $server = lc $rr->name) { - $server =~ s/\.*$/./; - if ($known_authorities->{$server}) { - my $ip = $rr->rdatastr; - print ";; _dorecursion() Found ns: $server IN A $ip\n" if $self->{'debug'}; - $cache->{$server} = $known_authorities->{$server}; - push (@{ $cache->{$ns} }, $ip); - $found_auth++; - next; - } - } - } - print ";; _dorecursion() Ignoring useless answer: ",$rr->string,"\n" if $self->{'debug'}; - } - } else { - print ";; _dorecursion() Could not find A records for [$ns]\n" if $self->{'debug'}; - } - } - } - if ($found_auth) { - print ";; _dorecursion() Found $found_auth new NS authorities...\n" if $self->{'debug'}; - return $self->_dorecursion( $query_packet, $known_zone, $known_authorities, $depth+1); - } - print ";; _dorecursion() No authority information could be obtained.\n" if $self->{'debug'}; - return undef; - } - - # Cut the deck of IPs in a random place. - print ";; _dorecursion() cutting deck of (".scalar(@ns).") authorities...\n" if $self->{'debug'}; - splice(@ns, 0, 0, splice(@ns, int(rand @ns))); - - - LEVEL: foreach my $levelns (@ns){ - print ";; _dorecursion() Trying nameserver [$levelns]\n" if $self->{'debug'}; - $self->nameservers($levelns); - - if (my $packet = $self->send( $query_packet )) { - - if ($self->{'callback'}) { - $self->{'callback'}->($packet); - } - - my $of = undef; - print ";; _dorecursion() Response received from [",$self->answerfrom,"]\n" if $self->{'debug'}; - if (my $status = $packet->header->rcode) { - if ($status eq "NXDOMAIN") { - # I guess NXDOMAIN is the best we'll ever get - print ";; _dorecursion() returning NXDOMAIN\n" if $self->{'debug'}; - return $packet; - } elsif (my @ans = $packet->answer) { - print ";; _dorecursion() Answers were found.\n" if $self->{'debug'}; - return $packet; - } elsif (my @authority = $packet->authority) { - my %auth = (); - foreach my $rr (@authority) { - if ($rr->type =~ /^(NS|SOA)$/) { - my $server = lc ($1 eq "NS" ? $rr->nsdname : $rr->mname); - $server =~ s/\.*$/./; - $of = lc $rr->name; - $of =~ s/\.*$/./; - print ";; _dorecursion() Received authority [$of] [",$rr->type(),"] [$server]\n" if $self->{'debug'}; - if (length $of <= length $known_zone) { - print ";; _dorecursion() Deadbeat name server did not provide new information.\n" if $self->{'debug'}; - next LEVEL; - } elsif ($of =~ /$known_zone$/) { - print ";; _dorecursion() FOUND closer authority for [$of] at [$server].\n" if $self->{'debug'}; - $auth{$server} ||= []; - } else { - print ";; _dorecursion() Confused name server [",$self->answerfrom,"] thinks [$of] is closer than [$known_zone]?\n" if $self->{'debug'}; - last; - } - } else { - print ";; _dorecursion() Ignoring NON NS entry found in authority section: ",$rr->string,"\n" if $self->{'debug'}; - } - } - foreach my $rr ($packet->additional) { - if ($rr->type eq "CNAME") { - # Store this CNAME into %auth too - if (my $server = lc $rr->name) { - $server =~ s/\.*$/./; - if ($auth{$server}) { - my $cname = lc $rr->rdatastr; - $cname =~ s/\.*$/./; - print ";; _dorecursion() FOUND CNAME authority: ",$rr->string,"\n" if $self->{'debug'}; - $auth{$cname} ||= []; - $auth{$server} = $auth{$cname}; - next; - } - } - } elsif ($rr->type eq "A" || $rr->type eq "AAAA") { - if (my $server = lc $rr->name) { - $server =~ s/\.*$/./; - if ($auth{$server}) { - print ";; _dorecursion() STORING: $server IN A ",$rr->rdatastr,"\n" if $self->{'debug'} && $rr->type eq "A"; - print ";; _dorecursion() STORING: $server IN AAAA ",$rr->rdatastr,"\n" if $self->{'debug'}&& $rr->type eq "AAAA"; - push @{ $auth{$server} }, $rr->rdatastr; - next; - } - } - } - print ";; _dorecursion() Ignoring useless: ",$rr->string,"\n" if $self->{'debug'}; - } - if ($of =~ /$known_zone$/) { - return $self->_dorecursion( $query_packet, $of, \%auth, $depth+1 ); - } else { - return $self->_dorecursion( $query_packet, $known_zone, $known_authorities, $depth+1 ); - } - } - } - } - } - - return undef; -} - -1; - -__END__ - - -=head1 NAME - -Net::DNS::Resolver::Recurse - Perform recursive dns lookups - -=head1 SYNOPSIS - - use Net::DNS::Resolver::Recurse; - my $res = Net::DNS::Resolver::Recurse->new; - -=head1 DESCRIPTION - -This module is a sub class of Net::DNS::Resolver. So the methods for -Net::DNS::Resolver still work for this module as well. There are just a -couple methods added: - -=head2 hints - -Initialize the hint servers. Recursive queries need a starting name -server to work off of. This method takes a list of IP addresses to use -as the starting servers. These name servers should be authoritative for -the root (.) zone. - - $res->hints(@ips); - -If no hints are passed, the default nameserver is asked for the hints. -Normally these IPs can be obtained from the following location: - - ftp://ftp.internic.net/domain/named.root - -=head2 recursion_callback - -This method is takes a code reference, which is then invoked each time a -packet is received during the recursive lookup. For example to emulate -dig's C<+trace> function: - - $res->recursion_callback(sub { - my $packet = shift; - - $_->print for $packet->additional; - - printf(";; Received %d bytes from %s\n\n", - $packet->answersize, - $packet->answerfrom - ); - }); - -=head2 query_dorecursion - -This method is much like the normal query() method except it disables -the recurse flag in the packet and explicitly performs the recursion. - - $packet = $res->query_dorecursion( "www.netscape.com.", "A"); - - -=head1 IPv6 transport - -If the appropriate IPv6 libraries are installed the recursive resolver -will randomly choose between IPv6 and IPv4 addresses of the -nameservers it encounters during recursion. - -If you want to force IPv4 transport use the force_v4() method. Also see -the IPv6 transport notes in the Net::DNS::Resolver documentation. - -=head1 AUTHOR - -Rob Brown, bbb@cpan.org - -=head1 SEE ALSO - -L<Net::DNS::Resolver>, - -=head1 COPYRIGHT - -Copyright (c) 2002, Rob Brown. All rights reserved. -Portions Copyright (c) 2005, Olaf M Kolkman. - -This module is free software; you can redistribute -it and/or modify it under the same terms as Perl itself. - -$Id: Recurse.pm 591 2006-05-22 21:32:38Z olaf $ - -=cut - -Example lookup process: - -[root@box root]# dig +trace www.rob.com.au. - -; <<>> DiG 9.2.0 <<>> +trace www.rob.com.au. -;; global options: printcmd -. 507343 IN NS C.ROOT-SERVERS.NET. -. 507343 IN NS D.ROOT-SERVERS.NET. -. 507343 IN NS E.ROOT-SERVERS.NET. -. 507343 IN NS F.ROOT-SERVERS.NET. -. 507343 IN NS G.ROOT-SERVERS.NET. -. 507343 IN NS H.ROOT-SERVERS.NET. -. 507343 IN NS I.ROOT-SERVERS.NET. -. 507343 IN NS J.ROOT-SERVERS.NET. -. 507343 IN NS K.ROOT-SERVERS.NET. -. 507343 IN NS L.ROOT-SERVERS.NET. -. 507343 IN NS M.ROOT-SERVERS.NET. -. 507343 IN NS A.ROOT-SERVERS.NET. -. 507343 IN NS B.ROOT-SERVERS.NET. -;; Received 436 bytes from 127.0.0.1#53(127.0.0.1) in 9 ms - ;;; But these should be hard coded as the hints - - ;;; Ask H.ROOT-SERVERS.NET gave: -au. 172800 IN NS NS2.BERKELEY.EDU. -au. 172800 IN NS NS1.BERKELEY.EDU. -au. 172800 IN NS NS.UU.NET. -au. 172800 IN NS BOX2.AUNIC.NET. -au. 172800 IN NS SEC1.APNIC.NET. -au. 172800 IN NS SEC3.APNIC.NET. -;; Received 300 bytes from 128.63.2.53#53(H.ROOT-SERVERS.NET) in 322 ms - ;;; A little closer than before - - ;;; Ask NS2.BERKELEY.EDU gave: -com.au. 259200 IN NS ns4.ausregistry.net. -com.au. 259200 IN NS dns1.telstra.net. -com.au. 259200 IN NS au2ld.CSIRO.au. -com.au. 259200 IN NS audns01.syd.optus.net. -com.au. 259200 IN NS ns.ripe.net. -com.au. 259200 IN NS ns1.ausregistry.net. -com.au. 259200 IN NS ns2.ausregistry.net. -com.au. 259200 IN NS ns3.ausregistry.net. -com.au. 259200 IN NS ns3.melbourneit.com. -;; Received 387 bytes from 128.32.206.12#53(NS2.BERKELEY.EDU) in 10312 ms - ;;; A little closer than before - - ;;; Ask ns4.ausregistry.net gave: -com.au. 259200 IN NS ns1.ausregistry.net. -com.au. 259200 IN NS ns2.ausregistry.net. -com.au. 259200 IN NS ns3.ausregistry.net. -com.au. 259200 IN NS ns4.ausregistry.net. -com.au. 259200 IN NS ns3.melbourneit.com. -com.au. 259200 IN NS dns1.telstra.net. -com.au. 259200 IN NS au2ld.CSIRO.au. -com.au. 259200 IN NS ns.ripe.net. -com.au. 259200 IN NS audns01.syd.optus.net. -;; Received 259 bytes from 137.39.1.3#53(ns4.ausregistry.net) in 606 ms - ;;; Uh... yeah... I already knew this - ;;; from what NS2.BERKELEY.EDU told me. - ;;; ns4.ausregistry.net must have brain damage - - ;;; Ask ns1.ausregistry.net gave: -rob.com.au. 86400 IN NS sy-dns02.tmns.net.au. -rob.com.au. 86400 IN NS sy-dns01.tmns.net.au. -;; Received 87 bytes from 203.18.56.41#53(ns1.ausregistry.net) in 372 ms - ;;; Ah, much better. Something more useful. - - ;;; Ask sy-dns02.tmns.net.au gave: -www.rob.com.au. 7200 IN A 139.134.5.123 -rob.com.au. 7200 IN NS sy-dns01.tmns.net.au. -rob.com.au. 7200 IN NS sy-dns02.tmns.net.au. -;; Received 135 bytes from 139.134.2.18#53(sy-dns02.tmns.net.au) in 525 ms - ;;; FINALLY, THE ANSWER! diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm deleted file mode 100644 index 7cff8c76960..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm +++ /dev/null @@ -1,74 +0,0 @@ -package Net::DNS::Resolver::UNIX; -# -# $Id: UNIX.pm 482 2005-09-02 13:34:33Z olaf $ -# - -use strict; -use vars qw(@ISA $VERSION); - -use Net::DNS::Resolver::Base (); - -@ISA = qw(Net::DNS::Resolver::Base); -$VERSION = (qw$LastChangedRevision: 482 $)[1]; - -my $resolv_conf = '/etc/resolv.conf'; -my $dotfile = '.resolv.conf'; - -my @config_path; -push(@config_path, $ENV{'HOME'}) if exists $ENV{'HOME'}; -push(@config_path, '.'); - -sub init { - my ($class) = @_; - - $class->read_config_file($resolv_conf) if -f $resolv_conf && -r _; - - foreach my $dir (@config_path) { - my $file = "$dir/$dotfile"; - $class->read_config_file($file) if -f $file && -r _ && -o _; - } - - $class->read_env; - - my $defaults = $class->defaults; - - if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) { - $defaults->{'domain'} = $defaults->{'searchlist'}[0]; - } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) { - $defaults->{'searchlist'} = [ $defaults->{'domain'} ]; - } -} - -1; -__END__ - - -=head1 NAME - -Net::DNS::Resolver::UNIX - UNIX Resolver Class - -=head1 SYNOPSIS - - use Net::DNS::Resolver; - -=head1 DESCRIPTION - -This class implements the UNIX specific portions of C<Net::DNS::Resolver>. - -No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver> -for all your resolving needs. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm deleted file mode 100644 index a86d28b8ecf..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm +++ /dev/null @@ -1,225 +0,0 @@ -package Net::DNS::Resolver::Win32; -# -# $Id: Win32.pm 588 2006-05-22 20:28:00Z olaf $ -# - -use strict; -use vars qw(@ISA $VERSION); - -use Net::DNS::Resolver::Base (); - -@ISA = qw(Net::DNS::Resolver::Base); -$VERSION = (qw$LastChangedRevision: 588 $)[1]; - -use Win32::Registry; - -sub init { - - my $debug=0; - my ($class) = @_; - - my $defaults = $class->defaults; - - my ($resobj, %keys); - - my $root = 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters'; - - unless ($main::HKEY_LOCAL_MACHINE->Open($root, $resobj)) { - # Didn't work, maybe we are on 95/98/Me? - $root = 'SYSTEM\CurrentControlSet\Services\VxD\MSTCP'; - $main::HKEY_LOCAL_MACHINE->Open($root, $resobj) - or Carp::croak "can't read registry: $!"; - } - - $resobj->GetValues(\%keys) - or Carp::croak "can't read registry values: $!"; - - # Best effort to find a useful domain name for the current host - # if domain ends up blank, we're probably (?) not connected anywhere - # a DNS server is interesting either... - my $domain = $keys{'Domain'}->[2] || $keys{'DhcpDomain'}->[2] || ''; - - # If nothing else, the searchlist should probably contain our own domain - # also see below for domain name devolution if so configured - # (also remove any duplicates later) - my $searchlist = "$domain "; - $searchlist .= $keys{'SearchList'}->[2]; - - # This is (probably) adequate on NT4 - # NameServer overrides DhcpNameServer if both exist - my $nt4nameservers = $keys{'NameServer'}->[2] || $keys{'DhcpNameServer'}->[2]; - my $nameservers = ""; - - - -# -# -# This code is agued to be broken see ticket rt.cpan.org ticket 11931 -# There seems to be sufficient reason to remove this code -# -# For details see https://rt.cpan.org/Ticket/Display.html?id=11931 -# -# -# # -# # but on W2K/XP the registry layout is more advanced due to dynamically -# # appearing connections. So we attempt to handle them, too... -# # opt to silently fail if something isn't ok (maybe we're on NT4) -# # drop any duplicates later, but must ignore NT4 style entries if in 2K/XP -# my $dnsadapters; -# $resobj->Open("DNSRegisteredAdapters", $dnsadapters); -# if ($dnsadapters) { -# my @adapters; -# $dnsadapters->GetKeys(\@adapters); -# foreach my $adapter (@adapters) { -# my $regadapter; -# $dnsadapters->Open($adapter, $regadapter); -# if ($regadapter) { -# my($type,$ns); -# $regadapter->QueryValueEx("DNSServerAddresses", $type, $ns); -# while (length($ns) >= 4) { -# my $addr = join('.', unpack("C4", substr($ns,0,4,""))); -# $nameservers .= " $addr"; -# } -# } -# } -# } - - - - - # This code was introduced by Hanno Stock, see ticket 1193 dd May 19 2006 - # - # it should work on Win2K and XP and looks for the DNS services - # using the BIND key - # - - my $bind_linkage; - my @sorted_interfaces; - print ";; DNS: Getting sorted interface list\n" if $debug; - $main::HKEY_LOCAL_MACHINE->Open('SYSTEM\CurrentControlSet\Services\Tcpip\Linkage', - $bind_linkage); - if($bind_linkage){ - my $bind_linkage_list; - my $type; - $bind_linkage->QueryValueEx('Bind', $type, $bind_linkage_list); - if($bind_linkage_list){ - @sorted_interfaces = split(m/[^\w{}\\-]+/s, $bind_linkage_list); - } - foreach my $interface (@sorted_interfaces){ - $interface =~ s/^\\device\\//i; - print ";; DNS:Interface: $interface\n" if $debug; - } - } - - - my $interfaces; - $resobj->Open("Interfaces", $interfaces); - if ($interfaces) { - my @ifacelist; - if(@sorted_interfaces){ - @ifacelist = @sorted_interfaces; - }else{ - $interfaces->GetKeys(\@ifacelist); - } - foreach my $iface (@ifacelist) { - my $regiface; - $interfaces->Open($iface, $regiface); - - if ($regiface) { - my $ns; - my $type; - my $ip; - my $ipdhcp; - $regiface->QueryValueEx("IPAddress", $type, $ip); - $regiface->QueryValueEx("DhcpIPAddress", $type, $ipdhcp); - if (($ip && !($ip =~ /0\.0\.0\.0/)) || ($ipdhcp && !($ipdhcp =~ /0\.0 -\.0\.0/))) { - # NameServer overrides DhcpNameServer if both exist - $regiface->QueryValueEx("NameServer", $type, $ns); - $regiface->QueryValueEx("DhcpNameServer", $type, $ns) unless $ns; - $nameservers .= " $ns" if $ns; - } - } - } - } - if (!$nameservers) { - $nameservers = $nt4nameservers; - } - - if ($domain) { - $defaults->{'domain'} = $domain; - } - - my $usedevolution = $keys{'UseDomainNameDevolution'}->[2]; - if ($searchlist) { - # fix devolution if configured, and simultaneously make sure no dups (but keep the order) - my @a; - my %h; - foreach my $entry (split(m/[\s,]+/, $searchlist)) { - push(@a, $entry) unless $h{$entry}; - $h{$entry} = 1; - if ($usedevolution) { - # as long there's more than two pieces, cut - while ($entry =~ m#\..+\.#) { - $entry =~ s#^[^\.]+\.(.+)$#$1#; - push(@a, $entry) unless $h{$entry}; - $h{$entry} = 1; - } - } - } - $defaults->{'searchlist'} = \@a; - } - - if ($nameservers) { - # remove blanks and dupes - my @a; - my %h; - foreach my $ns (split(m/[\s,]+/, $nameservers)) { - push @a, $ns unless (!$ns || $h{$ns}); - $h{$ns} = 1; - } - $defaults->{'nameservers'} = [map { m/(.*)/ } @a]; - } - - $class->read_env; - - if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) { - $defaults->{'domain'} = $defaults->{'searchlist'}[0]; - } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) { - $defaults->{'searchlist'} = [ $defaults->{'domain'} ]; - } -} - -1; -__END__ - - -=head1 NAME - -Net::DNS::Resolver::Win32 - Windows Resolver Class - -=head1 SYNOPSIS - - use Net::DNS::Resolver; - -=head1 DESCRIPTION - -This class implements the windows specific portions of C<Net::DNS::Resolver>. - -No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver> -for all your resolving needs. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm deleted file mode 100644 index e4b38c47d34..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm +++ /dev/null @@ -1,200 +0,0 @@ -package Net::DNS::Update; -# -# $Id: Update.pm 517 2005-11-21 08:38:47Z olaf $ -# -use strict; -BEGIN { - eval { require bytes; } -} -use vars qw($VERSION @ISA); - -use Net::DNS; - -@ISA = qw(Net::DNS::Packet); -$VERSION = (qw$LastChangedRevision: 517 $)[1]; - -=head1 NAME - -Net::DNS::Update - Create a DNS update packet - -=head1 SYNOPSIS - -C<use Net::DNS::Update;> - -=head1 DESCRIPTION - -C<Net::DNS::Update> is a subclass of C<Net::DNS::Packet>, -to be used for making DNS dynamic updates. Programmers -should refer to RFC 2136 for the semantics of dynamic updates. - -WARNING: This code is still under development. Please use with -caution on production nameservers. - -=head1 METHODS - -=head2 new - - $packet = Net::DNS::Update->new; - $packet = Net::DNS::Update->new('example.com'); - $packet = Net::DNS::Update->new('example.com', 'HS'); - -Returns a C<Net::DNS::Update> object suitable for performing a DNS -dynamic update. Specifically, it creates a packet with the header -opcode set to UPDATE and the zone record type to SOA (per RFC 2136, -Section 2.3). - -Programs must use the C<push> method to add RRs to the prerequisite, -update, and additional sections before performing the update. - -Arguments are the zone name and the class. If the zone is omitted, -the default domain will be taken from the resolver configuration. -If the class is omitted, it defaults to IN. - -Future versions of C<Net::DNS> may provide a simpler interface -for making dynamic updates. - -=cut - -sub new { - my ($package, $zone, $class) = @_; - - unless ($zone) { - my $res = Net::DNS::Resolver->new; - $zone = ($res->searchlist)[0]; - return unless $zone; - } - - my $type = 'SOA'; - $class ||= 'IN'; - - my $self = $package->SUPER::new($zone, $type, $class) || return; - - $self->header->opcode('UPDATE'); - $self->header->rd(0); - - $self->{'seen'} = {}; - - - return $self; -} - - -=head1 EXAMPLES - -The first example below shows a complete program; subsequent examples -show only the creation of the update packet. - -=head2 Add a new host - - #!/usr/bin/perl -w - - use Net::DNS; - use strict; - - # Create the update packet. - my $update = Net::DNS::Update->new('example.com'); - - # Prerequisite is that no A records exist for the name. - $update->push(pre => nxrrset('foo.example.com. A')); - - # Add two A records for the name. - $update->push(update => rr_add('foo.example.com. 86400 A 192.168.1.2')); - $update->push(update => rr_add('foo.example.com. 86400 A 172.16.3.4')); - - # Send the update to the zone's primary master. - my $res = Net::DNS::Resolver->new; - $res->nameservers('primary-master.example.com'); - - my $reply = $res->send($update); - - # Did it work? - if ($reply) { - if ($reply->header->rcode eq 'NOERROR') { - print "Update succeeded\n"; - } else { - print 'Update failed: ', $reply->header->rcode, "\n"; - } - } else { - print 'Update failed: ', $res->errorstring, "\n"; - } - -=head2 Add an MX record for a name that already exists - - my $update = Net::DNS::Update->new('example.com'); - $update->push(pre => yxdomain('example.com')); - $update->push(update => rr_add('example.com MX 10 mailhost.example.com')); - -=head2 Add a TXT record for a name that doesn't exist - - my $update = Net::DNS::Update->new('example.com'); - $update->push(pre => nxdomain('info.example.com')); - $update->push(update => rr_add('info.example.com TXT "yabba dabba doo"')); - -=head2 Delete all A records for a name - - my $update = Net::DNS::Update->new('example.com'); - $update->push(pre => yxrrset('foo.example.com A')); - $update->push(update => rr_del('foo.example.com A')); - -=head2 Delete all RRs for a name - - my $update = Net::DNS::Update->new('example.com'); - $update->push(pre => yxdomain('byebye.example.com')); - $update->push(update => rr_del('byebye.example.com')); - -=head2 Perform a signed update - - my $key_name = 'tsig-key'; - my $key = 'awwLOtRfpGE+rRKF2+DEiw=='; - - my $update = Net::DNS::Update->new('example.com'); - $update->push(update => rr_add('foo.example.com A 10.1.2.3')); - $update->push(update => rr_add('bar.example.com A 10.4.5.6')); - $update->sign_tsig($key_name, $key); - -=head2 Another way to perform a signed update - - my $key_name = 'tsig-key'; - my $key = 'awwLOtRfpGE+rRKF2+DEiw=='; - - my $update = Net::DNS::Update->new('example.com'); - $update->push(update => rr_add('foo.example.com A 10.1.2.3')); - $update->push(update => rr_add('bar.example.com A 10.4.5.6')); - $update->push(additional => Net::DNS::RR->new("$key_name TSIG $key")); - -=head2 Perform a signed update with a customized TSIG record - - my $key_name = 'tsig-key'; - my $key = 'awwLOtRfpGE+rRKF2+DEiw=='; - - my $tsig = Net::DNS::RR->new("$key_name TSIG $key"); - $tsig->fudge(60); - - my $update = Net::DNS::Update->new('example.com'); - $update->push(update => rr_add('foo.example.com A 10.1.2.3')); - $update->push(update => rr_add('bar.example.com A 10.4.5.6')); - $update->push(additional => $tsig); - -=head1 BUGS - -This code is still under development. Please use with caution on -production nameservers. - -=head1 COPYRIGHT - -Copyright (c) 1997-2002 Michael Fuhr. - -Portions Copyright (c) 2002-2004 Chris Reinhardt. - -All rights reserved. This program is free software; you may redistribute -it and/or modify it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Header>, -L<Net::DNS::Packet>, L<Net::DNS::Question>, L<Net::DNS::RR>, RFC 2136, -RFC 2845 - -=cut - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm deleted file mode 100644 index 7c14f3e38ea..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm +++ /dev/null @@ -1,154 +0,0 @@ -package PadWalker; - -use strict; -use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS); - -require Exporter; -require DynaLoader; - -require 5.008; - -@ISA = qw(Exporter DynaLoader); -@EXPORT_OK = qw(peek_my peek_our closed_over peek_sub var_name); -%EXPORT_TAGS = (all => \@EXPORT_OK); - -$VERSION = '1.7'; - -bootstrap PadWalker $VERSION; - -sub peek_my; -sub peek_our; -sub closed_over; -sub peek_sub; -sub var_name; - -1; -__END__ - -=head1 NAME - -PadWalker - play with other peoples' lexical variables - -=head1 SYNOPSIS - - use PadWalker qw(peek_my peek_our peek_sub closed_over); - ... - -=head1 DESCRIPTION - -PadWalker is a module which allows you to inspect (and even change!) -lexical variables in any subroutine which called you. It will only -show those variables which are in scope at the point of the call. - -PadWalker is particularly useful for debugging. It's even -used by Perl's built-in debugger. (It can also be used -for evil, of course.) - -I wouldn't recommend using PadWalker directly in production -code, but it's your call. Some of the modules that use -PadWalker internally are certainly safe for and useful -in production. - -=over 4 - -=item peek_my LEVEL - -=item peek_our LEVEL - -The LEVEL argument is interpreted just like the argument to C<caller>. -So C<peek_my(0)> returns a reference to a hash of all the C<my> -variables that are currently in scope; -C<peek_my(1)> returns a reference to a hash of all the C<my> -variables that are in scope at the point where the current -sub was called, and so on. - -C<peek_our> works in the same way, except that it lists -the C<our> variables rather than the C<my> variables. - -The hash associates each variable name with a reference -to its value. The variable names include the sigil, so -the variable $x is represented by the string '$x'. - -For example: - - my $x = 12; - my $h = peek_my (0); - ${$h->{'$x'}}++; - - print $x; # prints 13 - -Or a more complex example: - - sub increment_my_x { - my $h = peek_my (1); - ${$h->{'$x'}}++; - } - - my $x=5; - increment_my_x; - print $x; # prints 6 - -=item peek_sub SUB - -The C<peek_sub> routine takes a coderef as its argument, and returns a hash -of the C<my> variables used in that sub. The values will usually be undefined -unless the sub is in use (i.e. in the call-chain) at the time. On the other -hand: - - my $x = "Hello!"; - my $r = peek_sub(sub {$x})->{'$x'}; - print "$$r\n"; # prints 'Hello!' - -If the sub defines several C<my> variables with the same name, you'll get the -last one. I don't know of any use for C<peek_sub> that isn't broken as a result -of this, and it will probably be deprecated in a future version in favour of -some alternative interface. - -=item closed_over SUB - -C<closed_over> is similar to C<peek_sub>, except that it only lists -the C<my> variables which are used in the subroutine but defined outside: -in other words, the variables which it closes over. This I<does> have -reasonable uses: see L<Data::Dump::Streamer>, for example (a future version -of which may in fact use C<closed_over>). - -=item var_name LEVEL, VAR_REF - -=item var_name SUB, VAR_REF - -C<var_name(sub, var_ref)> returns the name of the variable referred to -by C<var_ref>, provided it is a C<my> variable used in the sub. The C<sub> -parameter can be either a CODE reference or a number. If it's a number, -it's treated the same way as the argument to C<peek_my>. - -For example, - - my $foo; - print var_name(0, \$foo); # prints '$foo' - - sub my_name { - return var_name(1, shift); - } - print my_name(\$foo); # ditto - -=back - -=head1 AUTHOR - -Robin Houston <robin@cpan.org> - -With contributions from Richard Soberberg, bug-spotting -from Peter Scott and Dave Mitchell, and suggestions from -demerphq. - -=head1 SEE ALSO - -Devel::LexAlias, Devel::Caller, Sub::Parameters - -=head1 COPYRIGHT - -Copyright (c) 2000-2007, Robin Houston. All Rights Reserved. -This module is free software. It may be used, redistributed -and/or modified under the same terms as Perl itself. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm deleted file mode 100644 index 9e8f1642543..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm +++ /dev/null @@ -1,111 +0,0 @@ -# -# Kill all instances of a process by pattern-matching the command-line -# -# (c) 2000 by Aaron Sherman, see documentation, below for details. - -package Proc::Killall; - -require Exporter; -use Carp; -use Proc::ProcessTable; -use Config; -use strict; -use vars qw(@EXPORT @EXPORT_OK @ISA $VERSION); - -@EXPORT=qw(killall); -@EXPORT_OK=qw(killall); -@ISA=qw(Exporter); - -$VERSION='1.0'; -sub VERSION {$VERSION} - -# Private function for checking to see if a signal identifier is -# valid. -sub is_sig { - my $sig = shift; - if (defined($sig)) { - if ($sig =~ /^-?(\d+)/) { - my $n = $1; - my @sigs = split ' ', $Config{sig_num}; - return grep {$_ == $n} @sigs; - } elsif ($sig =~ /^[A-Z][A-Z0-9]+$/) { - my @sigs = split ' ', $Config{sig_name}; - return grep {$_ eq $sig} @sigs; - } else { - return 0; - } - } else { - return 0; - } -} - -# usage: killall(signal, pattern) -# return: number of procs killed -sub killall { - croak("Usage: killall(signal, pattern)") unless @_==2; - my $signal = shift; - my $pat = shift; - my $self = shift; - $self = 0 unless defined $self; - my $nkilled = 0; - croak("killall: Unsupported signal: $signal") unless is_sig($signal); - my $t = new Proc::ProcessTable; - my $BANG = undef; - foreach my $p (@{$t->table}) { - my $cmndline = $p->{cmndline} || $p->{fname}; - if ($cmndline =~ /$pat/) { - next unless $p->pid != $$ || $self; - if (kill $signal, $p->pid) { - $nkilled++; - } else { - $BANG = $!; - } - } - } - $! = $BANG if defined $BANG; - return $nkilled; -} - -1; - -__END__ - -=head1 NAME - -killall - Kill all instances of a process by pattern matching the command-line - -=head1 SYNOPSIS - - use Proc::Killall; - - killall('HUP', 'xterm'); # SIGHUP all xterms - killall('KILL', '^netscape$'); # SIGKILL to "netscape" - -=head1 DESCRIPTION - -This module provides one function, C<killall()>, which takes two parameters: -a signal name or number (see C<kill()>) and a process pattern. This pattern -is matched against the process' command-line as the C<ps> command would -show it (C<ps> is not used internally, instead a package called -C<Proc::ProcessTable> is used). - -C<killall> searches the process table and sends that signal to all processes -which match the pattern. The return value is the number of processes that -were succesfully signaled. If any kills failed, the C<$!> variable -will be set based on that last one that failed (even if a successful kill -happened afterward). - -=head1 AUTHOR - -Written in 2000 by Aaron Sherman E<lt>ajs@ajs.comE<gt> - -C<Proc::Killall> is copyright 2000 by Aaron Sherman, and may be -distributed under the same terms as Perl itself. - -=head1 PREREQUISITES - -C<Proc::ProcessTable> is required for C<Proc::Killall> to function. - -=head1 SEE ALSO - -L<perl>, L<perlfunc>, L<perlvar>, L<Proc::ProcessTable> diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm deleted file mode 100644 index 6f785cb5616..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm +++ /dev/null @@ -1,83 +0,0 @@ -$Proc::Killfam::VERSION = '1.0'; - -package Proc::Killfam; - -use Exporter; -use base qw/Exporter/; -use subs qw/get_pids/; -use vars qw/@EXPORT @EXPORT_OK $ppt_OK/; -use strict; - -@EXPORT = qw/killfam/; -@EXPORT_OK = qw/killfam/; - -BEGIN { - $ppt_OK = 1; - eval "require Proc::ProcessTable"; - if ($@) { - $ppt_OK = 0; - warn "Proc::ProcessTable missing, can't kill sub-children."; - } -} - -sub killfam { - - my($signal, @pids) = @_; - - if ($ppt_OK) { - my $pt = Proc::ProcessTable->new; - my(@procs) = @{$pt->table}; - my(@kids) = get_pids \@procs, @pids; - @pids = (@pids, @kids); - } - - kill $signal, @pids; - -} # end killfam - -sub get_pids { - - my($procs, @kids) = @_; - - my @pids; - foreach my $kid (@kids) { - foreach my $proc (@$procs) { - if ($proc->ppid == $kid) { - my $pid = $proc->pid; - push @pids, $pid, get_pids $procs, $pid; - } - } - } - @pids; - -} # end get_pids - -1; - -__END__ - -=head1 NAME - -Proc::Killfam - kill a list of pids, and all their sub-children - -=head1 SYNOPSIS - - use Proc::Killfam; - killfam $signal, @pids; - -=head1 DESCRIPTION - -B<killfam> accepts the same arguments as the Perl builtin B<kill> command, -but, additionally, recursively searches the process table for children and -kills them as well. - -=head1 EXAMPLE - -B<killfam 'TERM', ($pid1, $pid2, @more_pids)>; - -=head1 KEYWORDS - -kill, signal - -=cut - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm deleted file mode 100644 index a82cdd4b42f..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm +++ /dev/null @@ -1,232 +0,0 @@ -package Proc::ProcessTable; - -require 5.6.0; - -use strict; -use Carp; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); - -require Exporter; -require DynaLoader; - -@ISA = qw(Exporter DynaLoader); -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. -@EXPORT = qw( - -); -$VERSION = '0.42'; - -sub AUTOLOAD { - # This AUTOLOAD is used to 'autoload' constants from the constant() - # XS function. If a constant is not found then control is passed - # to the AUTOLOAD in AutoLoader. - - my $constname; - ($constname = $AUTOLOAD) =~ s/.*:://; - my $val = constant($constname, @_ ? $_[0] : 0); - if ($! != 0) { - if ($! =~ /Invalid/) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; - goto &AutoLoader::AUTOLOAD; - } - else { - croak "Your vendor has not defined Proc::ProcessTable macro $constname"; - } - } - eval "sub $AUTOLOAD { $val }"; - goto &$AUTOLOAD; -} - -bootstrap Proc::ProcessTable $VERSION; - -# Preloaded methods go here. -use Proc::ProcessTable::Process; -use File::Find; - -my %TTYDEVS; -my $TTYDEVSFILE = "/tmp/TTYDEVS"; # Where we store the TTYDEVS hash - -sub new -{ - my ($this, %args) = @_; - my $class = ref($this) || $this; - my $self = {}; - bless $self, $class; - - mutex_new(1); - if ( exists $args{cache_ttys} && $args{cache_ttys} == 1 ) - { - $self->{cache_ttys} = 1 - } - - my $status = $self->initialize; - mutex_new(0); - if($status) - { - return $self; - } - else - { - return undef; - } -} - -sub initialize -{ - my ($self) = @_; - - # Get the mapping of TTYs to device nums - # reading/writing the cache if we are caching - if( $self->{cache_ttys} ) - { - - require Storable; - - if( -r $TTYDEVSFILE ) - { - $_ = Storable::retrieve($TTYDEVSFILE); - %Proc::ProcessTable::TTYDEVS = %$_; - } - else - { - $self->_get_tty_list; - my $old_umask = umask; - umask 022; - Storable::store(\%Proc::ProcessTable::TTYDEVS, $TTYDEVSFILE); - umask $old_umask; - } - } - else - { - $self->_get_tty_list; - } - - # Call the os-specific initialization - $self->_initialize_os; - - return 1; -} - -############################################### -# Generate a hash mapping TTY numbers to paths. -# This might be faster in Table.xs, -# but it's a lot more portable here -############################################### -sub _get_tty_list -{ - my ($self) = @_; - undef %Proc::ProcessTable::TTYDEVS; - find({ wanted => - sub{ - $File::Find::prune = 1 if -d $_ && ! -x $_; - my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, - $atime,$mtime,$ctime,$blksize,$blocks) = stat($File::Find::name); - $Proc::ProcessTable::TTYDEVS{$rdev} = $File::Find::name - if(-c $File::Find::name); - }, no_chdir => 1}, - "/dev" - ); -} - -# Apparently needed for mod_perl -sub DESTROY {} - -1; -__END__ - -=head1 NAME - -Proc::ProcessTable - Perl extension to access the unix process table - -=head1 SYNOPSIS - - use Proc::ProcessTable; - - $p = new Proc::ProcessTable( 'cache_ttys' => 1 ); - @fields = $p->fields; - $ref = $p->table; - -=head1 DESCRIPTION - -Perl interface to the unix process table. - -=head1 METHODS - -=over 4 - -=item new - -Creates a new ProcessTable object. The constructor can take one flag: - -cache_ttys -- causes the constructor to look for and use a file that -caches a mapping of tty names to device numbers, and to create the -file if it doesn't exist (this file is /tmp/TTYDEVS by default). This -feature requires the Storable module. - -=item fields - -Returns a list of the field names supported by the module on the -current architecture. - -=item table - -Reads the process table and returns a reference to an array of -Proc::ProcessTable::Process objects. Attributes of a process object -are returned by accessors named for the attribute; for example, to get -the uid of a process just do: - -$process->uid - -The priority and pgrp methods also allow values to be set, since these -are supported directly by internal perl functions. - -=back - -=head1 EXAMPLES - - # A cheap and sleazy version of ps - use Proc::ProcessTable; - - $FORMAT = "%-6s %-10s %-8s %-24s %s\n"; - $t = new Proc::ProcessTable; - printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND"); - foreach $p ( @{$t->table} ){ - printf($FORMAT, - $p->pid, - $p->ttydev, - $p->state, - scalar(localtime($p->start)), - $p->cmndline); - } - - - # Dump all the information in the current process table - use Proc::ProcessTable; - - $t = new Proc::ProcessTable; - - foreach $p (@{$t->table}) { - print "--------------------------------\n"; - foreach $f ($t->fields){ - print $f, ": ", $p->{$f}, "\n"; - } - } - - -=head1 CAVEATS - -Please see the file README in the distribution for a list of supported -operating systems. Please see the file PORTING for information on how -to help make this work on your OS. - -=head1 AUTHOR - -D. Urist, durist@frii.com - -=head1 SEE ALSO - -Proc::ProcessTable::Process.pm, perl(1). - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm deleted file mode 100644 index cc1f990f9e7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm +++ /dev/null @@ -1,182 +0,0 @@ -package Proc::ProcessTable::Process; - -use strict; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); - -require Exporter; -require AutoLoader; - -@ISA = qw(Exporter AutoLoader); -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. -@EXPORT = qw( - -); -$VERSION = '0.02'; - - -# Preloaded methods go here. -use Carp; -use File::Basename; - -sub AUTOLOAD { - my $self = shift; - my $type = ref($self) - or croak "$self is not an object"; - - my $name = $AUTOLOAD; - $name =~ s/.*://; # strip fully-qualified portion - - unless (exists $self->{$name} ) { - croak "Can't access `$name' field in class $type"; - } - - if (@_) { - return $self->{$name} = shift; - } else { - return $self->{$name}; - } -} - -######################################################## -# Kill; just a wrapper for perl's kill at the moment -######################################################## -sub kill { - my ($self, $signal) = @_; - return( kill($signal, $self->pid) ); -} - -######################################################## -# Get/set accessors for priority and process group -# (everything else is just a get, so handled by autoload) -######################################################### - -# Hmmm... These could use the perl functions to get if not stored on the object -sub priority { - my ($self, $priority) = @_; - if( defined($priority) ){ - setpriority(0, $self->pid, $priority); - if( getpriority(0, $self->pid) == $priority ){ # Yuck; getpriority doesn't return a status - $self->{priority} = $priority; - } - } - return $self->{priority}; -} - -sub pgrp { - my ($self, $pgrp) = @_; - if( defined($pgrp) ){ - setpgrp($self->pid, $pgrp); - if( getpgrp($self->pid) == $pgrp ){ # Ditto setpgrp - $self->{pgrp} = $pgrp; - } - } - return $self->{pgrp}; -} - - -# Apparently needed for mod_perl -sub DESTROY {} - -# Autoload methods go after =cut, and are processed by the autosplit program. - -1; -__END__ - -=head1 NAME - -Proc::ProcessTable::Process - Perl process objects - -=head1 SYNOPSIS - - $process->kill(9); - $process->priority(19); - $process->pgrp(500); - $uid = $process->uid; - ... - -=head1 DESCRIPTION - -This is a stub module to provide OO process attribute access for -Proc::ProcessTable. Proc::ProcessTable::Process objects are -constructed directly by Proc::ProcessTable; there is no constructor -method, only accessors. - -=head1 METHODS - -=over 4 - -=item kill - -Sends a signal to the process; just an aesthetic wrapper for perl's -kill. Takes the signal (name or number) as an argument. Returns number -of processes signalled. - -=item priority - -Get/set accessor; if called with a numeric argument, attempts to reset -the process's priority to that number using perl's <B>setpriority -function. Returns the process priority. - -=item pgrp - -Same as above for the process group. - -=item all other methods... - -are simple accessors that retrieve the process attributes for which -they are named. Currently supported are: - - uid UID of process - gid GID of process - euid effective UID of process (Solaris only) - egid effective GID of process (Solaris only) - pid process ID - ppid parent process ID - spid sprod ID (IRIX only) - pgrp process group - sess session ID - cpuid CPU ID of processor running on (IRIX only) - priority priority of process - ttynum tty number of process - flags flags of process - minflt minor page faults (Linux only) - cminflt child minor page faults (Linux only) - majflt major page faults (Linux only) - cmajflt child major page faults (Linux only) - utime user mode time (1/100s of seconds) (Linux only) - stime kernel mode time (Linux only) - cutime child utime (Linux only) - cstime child stime (Linux only) - time user + system time - ctime child user + system time - timensec user + system nanoseconds part (Solaris only) - ctimensec child user + system nanoseconds (Solaris only) - qtime cumulative cpu time (IRIX only) - size virtual memory size (bytes) - rss resident set size (bytes) - wchan address of current system call - fname file name - start start time (seconds since the epoch) - pctcpu percent cpu used since process started - state state of process - pctmem percent memory - cmndline full command line of process - ttydev path of process's tty - clname scheduling class name (IRIX only) - -See the "README.osname" files in the distribution for more -up-to-date information. - -=back - -=head1 AUTHOR - -D. Urist, durist@frii.com - -=head1 SEE ALSO - -Proc::ProcessTable.pm, perl(1). - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl deleted file mode 100644 index f84728428cb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/perl - -use Proc::ProcessTable; - -$ref = new Proc::ProcessTable; - -foreach $proc (@{$ref->table}) { - if(@ARGV) { - next unless grep {$_ == $proc->{pid}} @ARGV; - } - - print "--------------------------------\n"; - foreach $field ($ref->fields){ - print $field, ": ", $proc->{$field}, "\n"; - } -} diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm deleted file mode 100644 index 077ab5de1a1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm +++ /dev/null @@ -1,564 +0,0 @@ -# -# $Id: ReadKey.pm,v 2.23 2005/01/11 21:16:31 jonathan Exp $ -# - -=head1 NAME - -Term::ReadKey - A perl module for simple terminal control - -=head1 SYNOPSIS - - use Term::ReadKey; - ReadMode 4; # Turn off controls keys - while (not defined ($key = ReadKey(-1))) { - # No key yet - } - print "Get key $key\n"; - ReadMode 0; # Reset tty mode before exiting - -=head1 DESCRIPTION - -Term::ReadKey is a compiled perl module dedicated to providing simple -control over terminal driver modes (cbreak, raw, cooked, etc.,) support for -non-blocking reads, if the architecture allows, and some generalized handy -functions for working with terminals. One of the main goals is to have the -functions as portable as possible, so you can just plug in "use -Term::ReadKey" on any architecture and have a good likelyhood of it working. - -=over 8 - -=item ReadMode MODE [, Filehandle] - -Takes an integer argument, which can currently be one of the following -values: - - 0 Restore original settings. - 1 Change to cooked mode. - 2 Change to cooked mode with echo off. - (Good for passwords) - 3 Change to cbreak mode. - 4 Change to raw mode. - 5 Change to ultra-raw mode. - (LF to CR/LF translation turned off) - - Or, you may use the synonyms: - - restore - normal - noecho - cbreak - raw - ultra-raw - -These functions are automatically applied to the STDIN handle if no -other handle is supplied. Modes 0 and 5 have some special properties -worth mentioning: not only will mode 0 restore original settings, but it -cause the next ReadMode call to save a new set of default settings. Mode -5 is similar to mode 4, except no CR/LF translation is performed, and if -possible, parity will be disabled (only if not being used by the terminal, -however. It is no different from mode 4 under Windows.) - -If you are executing another program that may be changing the terminal mode, -you will either want to say - - ReadMode 1 - system('someprogram'); - ReadMode 1; - -which resets the settings after the program has run, or: - - $somemode=1; - ReadMode 0; - system('someprogram'); - ReadMode 1; - -which records any changes the program may have made, before resetting the -mode. - -=item ReadKey MODE [, Filehandle] - -Takes an integer argument, which can currently be one of the following -values: - - 0 Perform a normal read using getc - -1 Perform a non-blocked read - >0 Perform a timed read - -(If the filehandle is not supplied, it will default to STDIN.) If there is -nothing waiting in the buffer during a non-blocked read, then undef will be -returned. Note that if the OS does not provide any known mechanism for -non-blocking reads, then a C<ReadKey -1> can die with a fatal error. This -will hopefully not be common. - -If MODE is greater then zero, then ReadKey will use it as a timeout value in -seconds (fractional seconds are allowed), and won't return C<undef> until -that time expires. (Note, again, that some OS's may not support this timeout -behaviour.) If MODE is less then zero, then this is treated as a timeout -of zero, and thus will return immediately if no character is waiting. A MODE -of zero, however, will act like a normal getc. - -There are currently some limitations with this call under Windows. It may be -possible that non-blocking reads will fail when reading repeating keys from -more then one console. - -=item ReadLine MODE [, Filehandle] - -Takes an integer argument, which can currently be one of the following -values: - - 0 Perform a normal read using scalar(<FileHandle>) - -1 Perform a non-blocked read - >0 Perform a timed read - -If there is nothing waiting in the buffer during a non-blocked read, then -undef will be returned. Note that if the OS does not provide any known -mechanism for non-blocking reads, then a C<ReadLine 1> can die with a fatal -error. This will hopefully not be common. Note that a non-blocking test is -only performed for the first character in the line, not the entire line. -This call will probably B<not> do what you assume, especially with -ReadMode's higher then 1. For example, pressing Space and then Backspace -would appear to leave you where you started, but any timeouts would now -be suspended. - -This call is currently not available under Windows. - -=item GetTerminalSize [Filehandle] - -Returns either an empty array if this operation is unsupported, or a four -element array containing: the width of the terminal in characters, the -height of the terminal in character, the width in pixels, and the height in -pixels. (The pixel size will only be valid in some environments.) - -Under Windows, this function must be called with an "output" filehandle, -such as STDOUT, or a handle opened to CONOUT$. - -=item SetTerminalSize WIDTH,HEIGHT,XPIX,YPIX [, Filehandle] - -Return -1 on failure, 0 otherwise. Note that this terminal size is only for -B<informative> value, and changing the size via this mechanism will B<not> -change the size of the screen. For example, XTerm uses a call like this when -it resizes the screen. If any of the new measurements vary from the old, the -OS will probably send a SIGWINCH signal to anything reading that tty or pty. - -This call does not work under Windows. - -=item GetSpeeds [, Filehandle] - -Returns either an empty array if the operation is unsupported, or a two -value array containing the terminal in and out speeds, in B<decimal>. E.g, -an in speed of 9600 baud and an out speed of 4800 baud would be returned as -(9600,4800). Note that currently the in and out speeds will always be -identical in some OS's. No speeds are reported under Windows. - -=item GetControlChars [, Filehandle] - -Returns an array containing key/value pairs suitable for a hash. The pairs -consist of a key, the name of the control character/signal, and the value -of that character, as a single character. This call does nothing under Windows. - -Each key will be an entry from the following list: - - DISCARD - DSUSPEND - EOF - EOL - EOL2 - ERASE - ERASEWORD - INTERRUPT - KILL - MIN - QUIT - QUOTENEXT - REPRINT - START - STATUS - STOP - SUSPEND - SWITCH - TIME - -Thus, the following will always return the current interrupt character, -regardless of platform. - - %keys = GetControlChars; - $int = $keys{INTERRUPT}; - -=item SetControlChars [, Filehandle] - -Takes an array containing key/value pairs, as a hash will produce. The pairs -should consist of a key that is the name of a legal control -character/signal, and the value should be either a single character, or a -number in the range 0-255. SetControlChars will die with a runtime error if -an invalid character name is passed or there is an error changing the -settings. The list of valid names is easily available via - - %cchars = GetControlChars(); - @cnames = keys %cchars; - -This call does nothing under Windows. - -=back - -=head1 AUTHOR - -Kenneth Albanowski <kjahds@kjahds.com> - -Currently maintained by Jonathan Stowe <jns@gellyfish.com> - -=cut - -package Term::ReadKey; - -$VERSION = '2.30'; - -require Exporter; -require AutoLoader; -require DynaLoader; -use Carp; - -@ISA = qw(Exporter AutoLoader DynaLoader); - -# Items to export into callers namespace by default -# (move infrequently used names to @EXPORT_OK below) - -@EXPORT = qw( - ReadKey - ReadMode - ReadLine - GetTerminalSize - SetTerminalSize - GetSpeed - GetControlChars - SetControlChars -); - -@EXPORT_OK = qw(); - -bootstrap Term::ReadKey; - -# Preloaded methods go here. Autoload methods go after __END__, and are -# processed by the autosplit program. - -# Should we use LINES and COLUMNS to try and get the terminal size? -# Change this to zero if you have systems where these are commonly -# set to erroneous values. (But if either are nero zero, they won't be -# used anyhow.) - -$UseEnv = 1; - -%modes = ( - original => 0, - restore => 0, - normal => 1, - noecho => 2, - cbreak => 3, - raw => 4, - 'ultra-raw' => 5 -); - -sub ReadMode -{ - my ($mode) = $modes{ $_[0] }; - my ($fh) = normalizehandle( ( @_ > 1 ? $_[1] : \*STDIN ) ); - if ( defined($mode) ) { SetReadMode( $mode, $fh ) } - elsif ( $_[0] =~ /^\d/ ) { SetReadMode( $_[0], $fh ) } - else { croak("Unknown terminal mode `$_[0]'"); } -} - -sub normalizehandle -{ - my ($file) = @_; - - # print "Handle = $file\n"; - if ( ref($file) ) { return $file; } # Reference is fine - - # if($file =~ /^\*/) { return $file; } # Type glob is good - if ( ref( \$file ) eq 'GLOB' ) { return $file; } # Glob is good - - # print "Caller = ",(caller(1))[0],"\n"; - return \*{ ( ( caller(1) )[0] ) . "::$file" }; -} - -sub GetTerminalSize -{ - my ($file) = normalizehandle( ( @_ > 1 ? $_[1] : \*STDOUT ) ); - my (@results) = (); - my (@fail); - - if ( &termsizeoptions() & 1 ) # VIO - { - @results = GetTermSizeVIO($file); - push( @fail, "VIOGetMode call" ); - } - elsif ( &termsizeoptions() & 2 ) # GWINSZ - { - @results = GetTermSizeGWINSZ($file); - push( @fail, "TIOCGWINSZ ioctl" ); - } - elsif ( &termsizeoptions() & 4 ) # GSIZE - { - @results = GetTermSizeGSIZE($file); - push( @fail, "TIOCGSIZE ioctl" ); - } - elsif ( &termsizeoptions() & 8 ) # WIN32 - { - @results = GetTermSizeWin32($file); - push( @fail, "Win32 GetConsoleScreenBufferInfo call" ); - } - else - { - @results = (); - } - - if ( @results < 4 and $UseEnv ) - { - my ($C) = defined( $ENV{COLUMNS} ) ? $ENV{COLUMNS} : 0; - my ($L) = defined( $ENV{LINES} ) ? $ENV{LINES} : 0; - if ( ( $C >= 2 ) and ( $L >= 2 ) ) - { - @results = ( $C + 0, $L + 0, 0, 0 ); - } - push( @fail, "COLUMNS and LINES environment variables" ); - } - - if ( @results < 4 ) - { - my ($prog) = "resize"; - - # Workaround for Solaris path sillyness - if ( -f "/usr/openwin/bin/resize" ) { - $prog = "/usr/openwin/bin/resize"; - } - - my ($resize) = scalar(`$prog 2>/dev/null`); - if ( - defined $resize - and ( $resize =~ /COLUMNS\s*=\s*(\d+)/ - or $resize =~ /setenv\s+COLUMNS\s+'?(\d+)/ ) - ) - { - $results[0] = $1; - if ( $resize =~ /LINES\s*=\s*(\d+)/ - or $resize =~ /setenv\s+LINES\s+'?(\d+)/ ) - { - $results[1] = $1; - @results[ 2, 3 ] = ( 0, 0 ); - } - else - { - @results = (); - } - } - else - { - @results = (); - } - push( @fail, "resize program" ); - } - - if ( @results < 4 ) - { - die "Unable to get Terminal Size." - . join( "", map( " The $_ didn't work.", @fail ) ); - } - - @results; -} - -if ( &blockoptions() & 1 ) # Use nodelay -{ - if ( &blockoptions() & 2 ) #poll - { - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if (defined $_[0] && $_[0] > 0) { - if ($_[0]) { - return undef if &pollfile($File,$_[0]) == 0; - } - } - if (defined $_[0] && $_[0] < 0) { - &setnodelay($File,1); - } - my ($value) = getc $File; - if (defined $_[0] && $_[0] < 0) { - &setnodelay($File,0); - } - $value; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - - if (defined $_[0] && $_[0] > 0) { - if ($_[0]) { - return undef if &pollfile($File,$_[0]) == 0; - } - } - if (defined $_[0] && $_[0] < 0) { - &setnodelay($File,1) - }; - my ($value) = scalar(<$File>); - if ( defined $_[0] && $_[0]<0 ) { - &setnodelay($File,0) - }; - $value; - } -DONE - } - elsif ( &blockoptions() & 4 ) #select - { - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0]>0) { - if($_[0]) {return undef if &selectfile($File,$_[0])==0} - } - if(defined $_[0] && $_[0]<0) {&setnodelay($File,1);} - my($value) = getc $File; - if(defined $_[0] && $_[0]<0) {&setnodelay($File,0);} - $value; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0]>0) { - if($_[0]) {return undef if &selectfile($File,$_[0])==0} - } - if(defined $_[0] && $_[0]<0) {&setnodelay($File,1)}; - my($value)=scalar(<$File>); - if(defined $_[0] && $_[0]<0) {&setnodelay($File,0)}; - $value; - } -DONE - } - else - { #nothing - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0]>0) { - # Nothing better seems to exist, so I just use time-of-day - # to timeout the read. This isn't very exact, though. - $starttime=time; - $endtime=$starttime+$_[0]; - &setnodelay($File,1); - my($value)=undef; - while(time<$endtime) { # This won't catch wraparound! - $value = getc $File; - last if defined($value); - } - &setnodelay($File,0); - return $value; - } - if(defined $_[0] && $_[0]<0) {&setnodelay($File,1);} - my($value) = getc $File; - if(defined $_[0] && $_[0]<0) {&setnodelay($File,0);} - $value; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0]>0) { - # Nothing better seems to exist, so I just use time-of-day - # to timeout the read. This isn't very exact, though. - $starttime=time; - $endtime=$starttime+$_[0]; - &setnodelay($File,1); - my($value)=undef; - while(time<$endtime) { # This won't catch wraparound! - $value = scalar(<$File>); - last if defined($value); - } - &setnodelay($File,0); - return $value; - } - if(defined $_[0] && $_[0]<0) {&setnodelay($File,1)}; - my($value)=scalar(<$File>); - if(defined $_[0] && $_[0]<0) {&setnodelay($File,0)}; - $value; - } -DONE - } -} -elsif ( &blockoptions() & 2 ) # Use poll -{ - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0] != 0) { - return undef if &pollfile($File,$_[0]) == 0 - } - getc $File; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0]!=0) { - return undef if &pollfile($File,$_[0]) == 0; - } - scalar(<$File>); - } -DONE -} -elsif ( &blockoptions() & 4 ) # Use select -{ - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0] !=0 ) { - return undef if &selectfile($File,$_[0])==0 - } - getc $File; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if(defined $_[0] && $_[0] != 0) { - return undef if &selectfile($File,$_[0]) == 0; - } - scalar(<$File>); - } -DONE -} -elsif ( &blockoptions() & 8 ) # Use Win32 -{ - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if ($_[0]) { - Win32PeekChar($File, $_[0]); - } else { - getc $File; - } - #if ($_[0]!=0) {return undef if !Win32PeekChar($File, $_[0])}; - #getc $File; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - #if ($_[0]!=0) {return undef if !Win32PeekChar($File, $_[0])}; - #scalar(<$File>); - if($_[0]) - {croak("Non-blocking ReadLine is not supported on this architecture")} - scalar(<$File>); - } -DONE -} -else -{ - eval <<'DONE'; - sub ReadKey { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if($_[0]) - {croak("Non-blocking ReadKey is not supported on this architecture")} - getc $File; - } - sub ReadLine { - my($File) = normalizehandle((@_>1?$_[1]:\*STDIN)); - if($_[0]) - {croak("Non-blocking ReadLine is not supported on this architecture")} - scalar(<$File>); - } -DONE -} - -package Term::ReadKey; # return to package ReadKey so AutoSplit is happy -1; - -__END__; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm deleted file mode 100644 index 392211d9242..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm +++ /dev/null @@ -1,1921 +0,0 @@ -# -# Gnu.pm --- The GNU Readline/History Library wrapper module -# -# $Id: Gnu.pm,v 1.97 2008-02-07 23:12:23+09 hiroo Exp $ -# -# Copyright (c) 2008 Hiroo Hayashi. All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. -# -# Some of documentation strings in this file are cited from the -# GNU Readline/History Library Manual. - -package Term::ReadLine::Gnu; - -=head1 NAME - -Term::ReadLine::Gnu - Perl extension for the GNU Readline/History Library - -=head1 SYNOPSIS - - use Term::ReadLine; - $term = new Term::ReadLine 'ProgramName'; - while ( defined ($_ = $term->readline('prompt>')) ) { - ... - } - -=head1 DESCRIPTION - -=head2 Overview - -This is an implementation of Term::ReadLine using the GNU -Readline/History Library. - -For basic functions object oriented interface is provided. These are -described in the section L<"Standard Methods"|"Standard Methods"> and -L<"C<Term::ReadLine::Gnu> Functions"|"C<Term::ReadLine::Gnu> Functions">. - -This package also has the interface with the almost all functions and -variables which are documented in the GNU Readline/History Library -Manual. They are documented in the section -L<"C<Term::ReadLine::Gnu> Functions"|"C<Term::ReadLine::Gnu> Functions"> -and -L<"C<Term::ReadLine::Gnu> Variables"|"C<Term::ReadLine::Gnu> Variables"> -briefly. For more detail of the GNU Readline/History Library, see -'GNU Readline Library Manual' and 'GNU History Library Manual'. - -The sample programs under C<eg/> directory and test programs under -C<t/> directory in the C<Term::ReadLine::Gnu> distribution include -many example of this module. - -=head2 Standard Methods - -These methods are standard methods defined by B<Term::ReadLine>. - -=cut - -use strict; -use Carp; - -# This module can't be loaded directly. -BEGIN { - if (not defined $Term::ReadLine::VERSION) { - croak <<END; -It is invalid to load Term::ReadLine::Gnu directly. Please consult -the Term::ReadLine documentation for more information. -END - } -} - -{ - use Exporter (); - use DynaLoader; - use vars qw($VERSION @ISA @EXPORT_OK); - - $VERSION = '1.17'; - - # Term::ReadLine::Gnu::AU makes a function in - # `Term::ReadLine::Gnu::XS' as a method. - # The namespace of Term::ReadLine::Gnu::AU is searched before ones - # of other classes - @ISA = qw(Term::ReadLine::Gnu::AU Term::ReadLine::Stub - Exporter DynaLoader); - - @EXPORT_OK = qw(RL_PROMPT_START_IGNORE RL_PROMPT_END_IGNORE - NO_MATCH SINGLE_MATCH MULT_MATCH - ISFUNC ISKMAP ISMACR - UNDO_DELETE UNDO_INSERT UNDO_BEGIN UNDO_END - RL_STATE_NONE RL_STATE_INITIALIZING - RL_STATE_INITIALIZED RL_STATE_TERMPREPPED - RL_STATE_READCMD RL_STATE_METANEXT - RL_STATE_DISPATCHING RL_STATE_MOREINPUT - RL_STATE_ISEARCH RL_STATE_NSEARCH - RL_STATE_SEARCH RL_STATE_NUMERICARG - RL_STATE_MACROINPUT RL_STATE_MACRODEF - RL_STATE_OVERWRITE RL_STATE_COMPLETING - RL_STATE_SIGHANDLER RL_STATE_UNDOING - RL_STATE_DONE); - - bootstrap Term::ReadLine::Gnu $VERSION; # DynaLoader -} -require Term::ReadLine::Gnu::XS; - -# Global Variables - -use vars qw(%Attribs %Features); - -# Each variable in the GNU Readline Library is tied to an entry of -# this hash (%Attribs). By accessing the hash entry, you can read -# and/or write the variable in the GNU Readline Library. See the -# package definition of Term::ReadLine::Gnu::Var and following code -# for more details. - -# Normal (non-tied) entries -%Attribs = ( - MinLength => 1, - do_expand => 0, - completion_word => [], - term_set => ['', '', '', ''], - ); -%Features = ( - appname => 1, minline => 1, autohistory => 1, - getHistory => 1, setHistory => 1, addHistory => 1, - readHistory => 1, writeHistory => 1, - preput => 1, attribs => 1, newTTY => 1, - tkRunning => Term::ReadLine::Stub->Features->{'tkRunning'}, - ornaments => Term::ReadLine::Stub->Features->{'ornaments'}, - stiflehistory => 1, - ); - -sub Attribs { \%Attribs; } -sub Features { \%Features; } - -# -# GNU Readline/History Library constant definition -# These are included in @EXPORT_OK. - -# I can define these variables in XS code to use the value defined in -# readline.h, etc. But it needs some calling convention change and -# will cause compatiblity problem. I hope the definition of these -# constant value will not be changed. - -# for non-printing characters in prompt string -sub RL_PROMPT_START_IGNORE { "\001"; } -sub RL_PROMPT_END_IGNORE { "\002"; } - -# for rl_filename_quoting_function -sub NO_MATCH { 0; } -sub SINGLE_MATCH { 1; } -sub MULT_MATCH { 2; } - -# for rl_generic_bind, rl_function_of_keyseq -sub ISFUNC { 0; } -sub ISKMAP { 1; } -sub ISMACR { 2; } - -# for rl_add_undo -sub UNDO_DELETE { 0; } -sub UNDO_INSERT { 1; } -sub UNDO_BEGIN { 2; } -sub UNDO_END { 3; } - -# for rl_readline_state -sub RL_STATE_NONE { 0x00000; } # no state; before first call -sub RL_STATE_INITIALIZING { 0x00001; } # initializing -sub RL_STATE_INITIALIZED { 0x00002; } # initialization done -sub RL_STATE_TERMPREPPED { 0x00004; } # terminal is prepped -sub RL_STATE_READCMD { 0x00008; } # reading a command key -sub RL_STATE_METANEXT { 0x00010; } # reading input after ESC -sub RL_STATE_DISPATCHING { 0x00020; } # dispatching to a command -sub RL_STATE_MOREINPUT { 0x00040; } # reading more input in a command function -sub RL_STATE_ISEARCH { 0x00080; } # doing incremental search -sub RL_STATE_NSEARCH { 0x00100; } # doing non-inc search -sub RL_STATE_SEARCH { 0x00200; } # doing a history search -sub RL_STATE_NUMERICARG { 0x00400; } # reading numeric argument -sub RL_STATE_MACROINPUT { 0x00800; } # getting input from a macro -sub RL_STATE_MACRODEF { 0x01000; } # defining keyboard macro -sub RL_STATE_OVERWRITE { 0x02000; } # overwrite mode -sub RL_STATE_COMPLETING { 0x04000; } # doing completion -sub RL_STATE_SIGHANDLER { 0x08000; } # in readline sighandler -sub RL_STATE_UNDOING { 0x10000; } # doing an undo -sub RL_STATE_DONE { 0x80000; } # done; accepted line - -# -# Methods Definition -# - -=over 4 - -=item C<ReadLine> - -returns the actual package that executes the commands. If you have -installed this package, possible value is C<Term::ReadLine::Gnu>. - -=cut - -sub ReadLine { 'Term::ReadLine::Gnu'; } - -=item C<new(NAME,[IN[,OUT]])> - -returns the handle for subsequent calls to following functions. -Argument is the name of the application. Optionally can be followed -by two arguments for C<IN> and C<OUT> file handles. These arguments -should be globs. - -=cut - -# The origin of this function is Term::ReadLine::Perl.pm by Ilya Zakharevich. -sub new { - my $this = shift; # Package - my $class = ref($this) || $this; - - my $name = shift; - - my $self = \%Attribs; - bless $self, $class; - - # set rl_readline_name before .inputrc is read in rl_initialize() - $Attribs{readline_name} = $name; - - # some version of Perl cause segmentation fault, if XS module - # calls setenv() before the 1st assignment to $ENV{}. - $ENV{_TRL_DUMMY} = ''; - - # initialize the GNU Readline Library and termcap library - $self->initialize(); - - # enable ornaments to be compatible with perl5.004_05(?) - unless ($ENV{PERL_RL} and $ENV{PERL_RL} =~ /\bo\w*=0/) { - local $^W = 0; # Term::ReadLine is not warning flag free - # Without the next line Term::ReadLine::Stub::ornaments is used. - # Why does Term::ReadLine::Gnu::AU selects it at first?!!! - # If you know why this happens, please let me know. Thanks. - undef &Term::ReadLine::Gnu::ornaments; - $self->ornaments(1); - } - - if (!@_) { - my ($IN,$OUT) = $self->findConsole(); - open(IN,"<$IN") || croak "Cannot open $IN for read"; - open(OUT,">$OUT") || croak "Cannot open $OUT for write"; - # borrowed from Term/ReadLine.pm - my $sel = select(OUT); - $| = 1; # for DB::OUT - select($sel); - $Attribs{instream} = \*IN; - $Attribs{outstream} = \*OUT; - } else { - $Attribs{instream} = shift; - $Attribs{outstream} = shift; - } - - $self; -} - -sub DESTROY {} - -=item C<readline(PROMPT[,PREPUT])> - -gets an input line, with actual C<GNU Readline> support. Trailing -newline is removed. Returns C<undef> on C<EOF>. C<PREPUT> is an -optional argument meaning the initial value of input. - -The optional argument C<PREPUT> is granted only if the value C<preput> -is in C<Features>. - -C<PROMPT> may include some escape sequences. Use -C<RL_PROMPT_START_IGNORE> to begin a sequence of non-printing -characters, and C<RL_PROMPT_END_IGNORE> to end of such a sequence. - -=cut - -# to peacify -w -$Term::ReadLine::registered = $Term::ReadLine::registered; - -sub readline { # should be ReadLine - my $self = shift; - my ($prompt, $preput) = @_; - - # ornament support (now prompt only) - $prompt = ${$Attribs{term_set}}[0] . $prompt . ${$Attribs{term_set}}[1]; - - # `completion_function' support for compatibility with - # Term:ReadLine::Perl. Prefer $completion_entry_function, since a - # program which uses $completion_entry_function should know - # Term::ReadLine::Gnu and have better completion function using - # the variable. - $Attribs{completion_entry_function} = $Attribs{_trp_completion_function} - if (!defined $Attribs{completion_entry_function} - && defined $Attribs{completion_function}); - - # TkRunning support - if (not $Term::ReadLine::registered and $Term::ReadLine::toloop - and defined &Tk::DoOneEvent) { - $self->register_Tk; - $Attribs{getc_function} = $Attribs{Tk_getc}; - } - - # call readline() - my $line; - if (defined $preput) { - my $saved_startup_hook = $Attribs{startup_hook}; - $Attribs{startup_hook} = sub { - $self->rl_insert_text($preput); - &$saved_startup_hook - if defined $saved_startup_hook; - }; - $line = $self->rl_readline($prompt); - $Attribs{startup_hook} = $saved_startup_hook; - } else { - $line = $self->rl_readline($prompt); - } - return undef unless defined $line; - - # history expansion - if ($Attribs{do_expand}) { - my $result; - ($result, $line) = $self->history_expand($line); - my $outstream = $Attribs{outstream}; - print $outstream "$line\n" if ($result); - - # return without adding line into history - if ($result < 0 || $result == 2) { - return ''; # don't return `undef' which means EOF. - } - } - - # add to history buffer - $self->add_history($line) - if (defined $self->{MinLength} && $self->{MinLength} > 0 - && length($line) >= $self->{MinLength}); - - return $line; -} - -=item C<AddHistory(LINE1, LINE2, ...)> - -adds the lines to the history of input, from where it can be used if -the actual C<readline> is present. - -=cut - -use vars '*addhistory'; -*addhistory = \&AddHistory; # for backward compatibility - -sub AddHistory { - my $self = shift; - foreach (@_) { - $self->add_history($_); - } -} - -=item C<IN>, C<OUT> - -return the file handles for input and output or C<undef> if -C<readline> input and output cannot be used for Perl. - -=cut - -sub IN { $Attribs{instream}; } -sub OUT { $Attribs{outstream}; } - -=item C<MinLine([MAX])> - -If argument C<MAX> is specified, it is an advice on minimal size of -line to be included into history. C<undef> means do not include -anything into history. Returns the old value. - -=cut - -sub MinLine { - my $self = shift; - my $old_minlength = $self->{MinLength}; - $self->{MinLength} = shift; - $old_minlength; -} - -# findConsole is defined in ReadLine.pm. - -=item C<findConsole> - -returns an array with two strings that give most appropriate names for -files for input and output using conventions C<"E<lt>$in">, C<"E<gt>$out">. - -=item C<Attribs> - -returns a reference to a hash which describes internal configuration -(variables) of the package. Names of keys in this hash conform to -standard conventions with the leading C<rl_> stripped. - -See section "Variables" for supported variables. - -=item C<Features> - -Returns a reference to a hash with keys being features present in -current implementation. Several optional features are used in the -minimal interface: C<appname> should be present if the first argument -to C<new> is recognized, and C<minline> should be present if -C<MinLine> method is not dummy. C<autohistory> should be present if -lines are put into history automatically (maybe subject to -C<MinLine>), and C<addHistory> if C<AddHistory> method is not dummy. -C<preput> means the second argument to C<readline> method is processed. -C<getHistory> and C<setHistory> denote that the corresponding methods are -present. C<tkRunning> denotes that a Tk application may run while ReadLine -is getting input. - -=cut - -# Not tested yet. How do I use this? -sub newTTY { - my ($self, $in, $out) = @_; - $Attribs{instream} = $in; - $Attribs{outstream} = $out; - my $sel = select($out); - $| = 1; # for DB::OUT - select($sel); -} - -=back - -=cut - -# documented later -sub CallbackHandlerInstall { - my $self = shift; - my ($prompt, $lhandler) = @_; - - $Attribs{_callback_handler} = $lhandler; - - # ornament support (now prompt only) - $prompt = ${$Attribs{term_set}}[0] . $prompt . ${$Attribs{term_set}}[1]; - - $Attribs{completion_entry_function} = $Attribs{_trp_completion_function} - if (!defined $Attribs{completion_entry_function} - && defined $Attribs{completion_function}); - - $self->rl_callback_handler_install($prompt, - \&Term::ReadLine::Gnu::XS::_ch_wrapper); -} - - -# -# Additional Supported Methods -# - -# Documentation is after '__END__' for efficiency. - -# for backward compatibility -use vars qw(*AddDefun *BindKey *UnbindKey *ParseAndBind *StifleHistory); -*AddDefun = \&add_defun; -*BindKey = \&bind_key; -*UnbindKey = \&unbind_key; -*ParseAndBind = \&parse_and_bind; -*StifleHistory = \&stifle_history; - -sub SetHistory { - my $self = shift; - $self->clear_history(); - $self->AddHistory(@_); -} - -sub GetHistory { - my $self = shift; - $self->history_list(); -} - -sub ReadHistory { - my $self = shift; - ! $self->read_history_range(@_); -} - -sub WriteHistory { - my $self = shift; - ! $self->write_history(@_); -} - -# -# Access Routines for GNU Readline/History Library Variables -# -package Term::ReadLine::Gnu::Var; -use Carp; -use strict; -use vars qw(%_rl_vars); - -%_rl_vars - = ( - rl_line_buffer => ['S', 0], - rl_prompt => ['S', 1], - rl_library_version => ['S', 2], - rl_terminal_name => ['S', 3], - rl_readline_name => ['S', 4], - rl_basic_word_break_characters => ['S', 5], - rl_basic_quote_characters => ['S', 6], - rl_completer_word_break_characters => ['S', 7], - rl_completer_quote_characters => ['S', 8], - rl_filename_quote_characters => ['S', 9], - rl_special_prefixes => ['S', 10], - history_no_expand_chars => ['S', 11], - history_search_delimiter_chars => ['S', 12], - rl_executing_macro => ['S', 13], # GRL4.2 - history_word_delimiters => ['S', 14], # GRL4.2 - - rl_point => ['I', 0], - rl_end => ['I', 1], - rl_mark => ['I', 2], - rl_done => ['I', 3], - rl_pending_input => ['I', 4], - rl_completion_query_items => ['I', 5], - rl_completion_append_character => ['C', 6], - rl_ignore_completion_duplicates => ['I', 7], - rl_filename_completion_desired => ['I', 8], - rl_filename_quoting_desired => ['I', 9], - rl_inhibit_completion => ['I', 10], - history_base => ['I', 11], - history_length => ['I', 12], - history_max_entries => ['I', 13], - max_input_history => ['I', 13], # before GRL 4.2 - history_write_timestamps => ['I', 14], # GRL 5.0 - history_expansion_char => ['C', 15], - history_subst_char => ['C', 16], - history_comment_char => ['C', 17], - history_quotes_inhibit_expansion => ['I', 18], - rl_erase_empty_line => ['I', 19], # GRL 4.0 - rl_catch_signals => ['I', 20], # GRL 4.0 - rl_catch_sigwinch => ['I', 21], # GRL 4.0 - rl_already_prompted => ['I', 22], # GRL 4.1 - rl_num_chars_to_read => ['I', 23], # GRL 4.2 - rl_dispatching => ['I', 24], # GRL 4.2 - rl_gnu_readline_p => ['I', 25], # GRL 4.2 - rl_readline_state => ['I', 26], # GRL 4.2 - rl_explicit_arg => ['I', 27], # GRL 4.2 - rl_numeric_arg => ['I', 28], # GRL 4.2 - rl_editing_mode => ['I', 29], # GRL 4.2 - rl_attempted_completion_over => ['I', 30], # GRL 4.2 - rl_completion_type => ['I', 31], # GRL 4.2 - rl_readline_version => ['I', 32], # GRL 4.2a - rl_completion_suppress_append => ['I', 33], # GRL 4.3 - rl_completion_quote_character => ['C', 34], # GRL 5.0 - rl_completion_suppress_quote => ['I', 35], # GRL 5.0 - rl_completion_found_quote => ['I', 36], # GRL 5.0 - rl_completion_mark_symlink_dirs => ['I', 37], # GRL 4.3 - rl_prefer_env_winsize => ['I', 38], # GRL 5.1 - - rl_startup_hook => ['F', 0], - rl_event_hook => ['F', 1], - rl_getc_function => ['F', 2], - rl_redisplay_function => ['F', 3], - rl_completion_entry_function => ['F', 4], - rl_attempted_completion_function => ['F', 5], - rl_filename_quoting_function => ['F', 6], - rl_filename_dequoting_function => ['F', 7], - rl_char_is_quoted_p => ['F', 8], - rl_ignore_some_completions_function => ['F', 9], - rl_directory_completion_hook => ['F', 10], - history_inhibit_expansion_function => ['F', 11], - rl_pre_input_hook => ['F', 12], # GRL 4.0 - rl_completion_display_matches_hook => ['F', 13], # GRL 4.0 - rl_completion_word_break_hook => ['F', 14], # GRL 5.0 - rl_prep_term_function => ['F', 15], # GRL 4.2 - rl_deprep_term_function => ['F', 16], # GRL 4.2 - - rl_instream => ['IO', 0], - rl_outstream => ['IO', 1], - - rl_executing_keymap => ['K', 0], - rl_binding_keymap => ['K', 1], - - rl_last_func => ['LF', 0], - ); - -sub TIESCALAR { - my $class = shift; - my $name = shift; - return bless \$name, $class; -} - -sub FETCH { - my $self = shift; - confess "wrong type" unless ref $self; - - my $name = $$self; - if (! defined $_rl_vars{$name}) { - confess "Term::ReadLine::Gnu::Var::FETCH: Unknown variable name `$name'\n"; - return undef ; - } - - my ($type, $id) = @{$_rl_vars{$name}}; - if ($type eq 'S') { - return _rl_fetch_str($id); - } elsif ($type eq 'I') { - return _rl_fetch_int($id); - } elsif ($type eq 'C') { - return chr(_rl_fetch_int($id)); - } elsif ($type eq 'F') { - return _rl_fetch_function($id); - } elsif ($type eq 'IO') { - return _rl_fetch_iostream($id); - } elsif ($type eq 'K') { - return _rl_fetch_keymap($id); - } elsif ($type eq 'LF') { - return _rl_fetch_last_func(); - } else { - carp "Term::ReadLine::Gnu::Var::FETCH: Illegal type `$type'\n"; - return undef; - } -} - -sub STORE { - my $self = shift; - confess "wrong type" unless ref $self; - - my $name = $$self; - if (! defined $_rl_vars{$name}) { - confess "Term::ReadLine::Gnu::Var::STORE: Unknown variable name `$name'\n"; - return undef ; - } - - my $value = shift; - my ($type, $id) = @{$_rl_vars{$name}}; - if ($type eq 'S') { - if ($name eq 'rl_line_buffer') { - return _rl_store_rl_line_buffer($value); - } else { - return _rl_store_str($value, $id); - } - } elsif ($type eq 'I') { - return _rl_store_int($value, $id); - } elsif ($type eq 'C') { - return chr(_rl_store_int(ord($value), $id)); - } elsif ($type eq 'F') { - return _rl_store_function($value, $id); - } elsif ($type eq 'IO') { - return _rl_store_iostream($value, $id); - } elsif ($type eq 'K' || $type eq 'LF') { - carp "Term::ReadLine::Gnu::Var::STORE: read only variable `$name'\n"; - return undef; - } else { - carp "Term::ReadLine::Gnu::Var::STORE: Illegal type `$type'\n"; - return undef; - } -} - -package Term::ReadLine::Gnu; -use Carp; -use strict; - -# -# set value of %Attribs -# - -# Tie all Readline/History variables -foreach (keys %Term::ReadLine::Gnu::Var::_rl_vars) { - my $name; - ($name = $_) =~ s/^rl_//; # strip leading `rl_' - tie $Attribs{$name}, 'Term::ReadLine::Gnu::Var', $_; -} - -# add reference to some functions -{ - my ($name, $fname); - no strict 'refs'; # allow symbolic reference - map { - ($name = $_) =~ s/^rl_//; # strip leading `rl_' - $fname = 'Term::ReadLine::Gnu::XS::' . $_; - $Attribs{$name} = \&$fname; # symbolic reference - } qw(rl_getc - rl_redisplay - rl_callback_read_char - rl_display_match_list - rl_filename_completion_function - rl_username_completion_function - list_completion_function - _trp_completion_function); - # auto-split subroutine cannot be processed in the map loop above - use strict 'refs'; - $Attribs{shadow_redisplay} = \&Term::ReadLine::Gnu::XS::shadow_redisplay; - $Attribs{Tk_getc} = \&Term::ReadLine::Gnu::XS::Tk_getc; - $Attribs{list_completion_function} = \&Term::ReadLine::Gnu::XS::list_completion_function; -} - -package Term::ReadLine::Gnu::AU; -use Carp; -no strict qw(refs vars); - -sub AUTOLOAD { - { $AUTOLOAD =~ s/.*:://; } # preserve match data - my $name; - if (exists $Term::ReadLine::Gnu::XS::{"rl_$AUTOLOAD"}) { - $name = "Term::ReadLine::Gnu::XS::rl_$AUTOLOAD"; - } elsif (exists $Term::ReadLine::Gnu::XS::{"$AUTOLOAD"}) { - $name = "Term::ReadLine::Gnu::XS::$AUTOLOAD"; - } else { - croak "Cannot do `$AUTOLOAD' in Term::ReadLine::Gnu"; - } - local $^W = 0; # Why is this line necessary ? - *$AUTOLOAD = sub { shift; &$name(@_); }; - goto &$AUTOLOAD; -} -1; -__END__ - - -=head2 C<Term::ReadLine::Gnu> Functions - -All these GNU Readline/History Library functions are callable via -method interface and have names which conform to standard conventions -with the leading C<rl_> stripped. - -Almost methods have lower level functions in -C<Term::ReadLine::Gnu::XS> package. To use them full qualified name -is required. Using method interface is preferred. - -=over 4 - -=item Readline Convenience Functions - -=over 4 - -=item Naming Function - -=over 4 - -=item C<add_defun(NAME, FUNC [,KEY=-1])> - -Add name to the Perl function C<FUNC>. If optional argument C<KEY> is -specified, bind it to the C<FUNC>. Returns reference to -C<FunctionPtr>. - - Example: - # name name `reverse-line' to a function reverse_line(), - # and bind it to "\C-t" - $term->add_defun('reverse-line', \&reverse_line, ord "\ct"); - -=back - -=item Selecting a Keymap - -=over 4 - -=item C<make_bare_keymap> - - Keymap rl_make_bare_keymap() - -=item C<copy_keymap(MAP)> - - Keymap rl_copy_keymap(Keymap|str map) - -=item C<make_keymap> - - Keymap rl_make_keymap() - -=item C<discard_keymap(MAP)> - - Keymap rl_discard_keymap(Keymap|str map) - -=item C<get_keymap> - - Keymap rl_get_keymap() - -=item C<set_keymap(MAP)> - - Keymap rl_set_keymap(Keymap|str map) - -=item C<get_keymap_by_name(NAME)> - - Keymap rl_get_keymap_by_name(str name) - -=item C<get_keymap_name(MAP)> - - str rl_get_keymap_name(Keymap map) - -=back - -=item Binding Keys - -=over 4 - -=item C<bind_key(KEY, FUNCTION [,MAP])> - - int rl_bind_key(int key, FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) - -Bind C<KEY> to the C<FUNCTION>. C<FUNCTION> is the name added by the -C<add_defun> method. If optional argument C<MAP> is specified, binds -in C<MAP>. Returns non-zero in case of error. - -=item C<bind_key_if_unbound(KEY, FUNCTION [,MAP])> - - int rl_bind_key_if_unbound(int key, FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) #GRL5.0 - -=item C<unbind_key(KEY [,MAP])> - - int rl_unbind_key(int key, Keymap|str map = rl_get_keymap()) - -Bind C<KEY> to the null function. Returns non-zero in case of error. - -=item C<unbind_function(FUNCTION [,MAP])> - - int rl_unbind_function(FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) - -=item C<unbind_command(COMMAND [,MAP])> - - int rl_unbind_command(str command, - Keymap|str map = rl_get_keymap()) - -=item C<bind_keyseq(KEYSEQ, FUNCTION [,MAP])> - - int rl_bind_keyseq(str keyseq, FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) # GRL 5.0 - -=item C<set_key(KEYSEQ, FUNCTION [,MAP])> - - int rl_set_key(str keyseq, FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) - -=item C<bind_keyseq_if_unbound(KEYSEQ, FUNCTION [,MAP])> - - int rl_bind_keyseq_if_unbound(str keyseq, FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) # GRL 5.0 - -=item C<generic_bind(TYPE, KEYSEQ, DATA, [,MAP])> - - int rl_generic_bind(int type, str keyseq, - FunctionPtr|Keymap|str data, - Keymap|str map = rl_get_keymap()) - -=item C<parse_and_bind(LINE)> - - void rl_parse_and_bind(str line) - -Parse C<LINE> as if it had been read from the F<~/.inputrc> file and -perform any key bindings and variable assignments found. For more -detail see 'GNU Readline Library Manual'. - -=item C<read_init_file([FILENAME])> - - int rl_read_init_file(str filename = '~/.inputrc') - -=back - -=item Associating Function Names and Bindings - -=over 4 - -=item C<named_function(NAME)> - - FunctionPtr rl_named_function(str name) - -=item C<get_function_name(FUNCTION)> - - str rl_get_function_name(FunctionPtr function) - -=item C<function_of_keyseq(KEYMAP [,MAP])> - - (FunctionPtr|Keymap|str data, int type) - rl_function_of_keyseq(str keyseq, - Keymap|str map = rl_get_keymap()) - -=item C<invoking_keyseqs(FUNCTION [,MAP])> - - (@str) rl_invoking_keyseqs(FunctionPtr|str function, - Keymap|str map = rl_get_keymap()) - -=item C<function_dumper([READABLE])> - - void rl_function_dumper(int readable = 0) - -=item C<list_funmap_names> - - void rl_list_funmap_names() - -=item C<funmap_names> - - (@str) rl_funmap_names() - -=item C<add_funmap_entry(NAME, FUNCTION)> - - int rl_add_funmap_entry(char *name, FunctionPtr|str function) - -=back - -=item Allowing Undoing - -=over 4 - -=item C<begin_undo_group> - - int rl_begin_undo_group() - -=item C<end_undo_group> - - int rl_end_undo_group() - -=item C<add_undo(WHAT, START, END, TEXT)> - - int rl_add_undo(int what, int start, int end, str text) - -=item C<free_undo_list> - - void rl_free_undo_list() - -=item C<do_undo> - - int rl_do_undo() - -=item C<modifying([START [,END]])> - - int rl_modifying(int start = 0, int end = rl_end) - -=back - -=item Redisplay - -=over 4 - -=item C<redisplay> - - void rl_redisplay() - -=item C<forced_update_display> - - int rl_forced_update_display() - -=item C<on_new_line> - - int rl_on_new_line() - -=item C<on_new_line_with_prompt> - - int rl_on_new_line_with_prompt() # GRL 4.1 - -=item C<reset_line_state> - - int rl_reset_line_state() - -=item C<rl_show_char(C)> - - int rl_show_char(int c) - -=item C<message(FMT[, ...])> - - int rl_message(str fmt, ...) - -=item C<crlf> - - int rl_crlf() # GRL 4.2 - -=item C<clear_message> - - int rl_clear_message() - -=item C<save_prompt> - - void rl_save_prompt() - -=item C<restore_prompt> - - void rl_restore_prompt() - -=item C<expand_prompt(PROMPT)> - - int rl_expand_prompt(str prompt) # GRL 4.2 - -=item C<set_prompt(PROMPT)> - - int rl_set_prompt(const str prompt) # GRL 4.2 - -=back - -=item Modifying Text - -=over 4 - -=item C<insert_text(TEXT)> - - int rl_insert_text(str text) - -=item C<delete_text([START [,END]])> - - int rl_delete_text(int start = 0, int end = rl_end) - -=item C<copy_text([START [,END]])> - - str rl_copy_text(int start = 0, int end = rl_end) - -=item C<kill_text([START [,END]])> - - int rl_kill_text(int start = 0, int end = rl_end) - -=item C<push_macro_input(MACRO)> - - int rl_push_macro_input(str macro) - -=back - -=item Character Input - -=over 4 - -=item C<read_key> - - int rl_read_key() - -=item C<getc(STREAM)> - - int rl_getc(FILE *STREAM) - -=item C<stuff_char(C)> - - int rl_stuff_char(int c) - -=item C<execute_next(C)> - - int rl_execute_next(int c) # GRL 4.2 - -=item C<clear_pending_input()> - - int rl_clear_pending_input() # GRL 4.2 - -=item C<set_keyboard_input_timeout(uSEC)> - - int rl_set_keyboard_input_timeout(int usec) # GRL 4.2 - -=back - -=item Terminal Management - -=over 4 - -=item C<prep_terminal(META_FLAG)> - - void rl_prep_terminal(int META_FLAG) # GRL 4.2 - -=item C<deprep_terminal()> - - void rl_deprep_terminal() # GRL 4.2 - -=item C<tty_set_default_bindings(KMAP)> - - void rl_tty_set_default_bindings([Keymap KMAP]) # GRL 4.2 - -=item C<tty_unset_default_bindings(KMAP)> - - void rl_tty_unset_default_bindings([Keymap KMAP]) # GRL 5.0 - -=item C<reset_terminal([TERMINAL_NAME])> - - int rl_reset_terminal(str terminal_name = getenv($TERM)) # GRL 4.2 - -=back - -=item Utility Functions - -=over 4 - -=item C<replace_line(TEXT [,CLEAR_UNDO]> - - int rl_replace_line(str text, int clear_undo) # GRL 4.3 - -=item C<initialize> - - int rl_initialize() - -=item C<ding> - - int rl_ding() - -=item C<alphabetic(C)> - - int rl_alphabetic(int C) - -=item C<display_match_list(MATCHES [,LEN [,MAX]])> - - void rl_display_match_list(\@matches, len = $#maches, max) # GRL 4.0 - -Since the first element of an array @matches as treated as a possible -completion, it is not displayed. See the descriptions of -C<completion_matches()>. - -When C<MAX> is ommited, the max length of an item in @matches is used. - -=back - -=item Miscellaneous Functions - -=over 4 - -=item C<macro_bind(KEYSEQ, MACRO [,MAP])> - - int rl_macro_bind(const str keyseq, const str macro, Keymap map) - -=item C<macro_dumper(READABLE)> - - int rl_macro_dumper(int readline) - -=item C<variable_bind(VARIABLE, VALUE)> - - int rl_variable_bind(const str variable, const str value) - -=item C<variable_value(VARIABLE)> - - str rl_variable_value(const str variable) # GRL 5.1 - -=item C<variable_dumper(READABLE)> - - int rl_variable_dumper(int readline) - -=item C<set_paren_blink_timeout(uSEC)> - - int rl_set_paren_blink_timeout(usec) # GRL 4.2 - -=item C<get_termcap(cap)> - - str rl_get_termcap(cap) - -=back - -=item Alternate Interface - -=over 4 - -=item C<callback_handler_install(PROMPT, LHANDLER)> - - void rl_callback_handler_install(str prompt, pfunc lhandler) - -=item C<callback_read_char> - - void rl_callback_read_char() - -=item C<callback_handler_remove> - - void rl_callback_handler_remove() - -=back - -=back - -=item Readline Signal Handling - -=over 4 - -=item C<cleanup_after_signal> - - void rl_cleanup_after_signal() # GRL 4.0 - -=item C<free_line_state> - - void rl_free_line_state() # GRL 4.0 - -=item C<reset_after_signal> - - void rl_reset_after_signal() # GRL 4.0 - -=item C<resize_terminal> - - void rl_resize_terminal() # GRL 4.0 - -=item C<set_screen_size(ROWS, COLS)> - - void rl_set_screen_size(int ROWS, int COLS) # GRL 4.2 - -=item C<get_screen_size()> - - (int rows, int cols) rl_get_screen_size() # GRL 4.2 - -=item C<reset_screen_size()> - - void rl_reset_screen_size() # GRL 5.1 - -=item C<set_signals> - - int rl_set_signals() # GRL 4.0 - -=item C<clear_signals> - - int rl_clear_signals() # GRL 4.0 - -=back - -=item Completion Functions - -=over 4 - -=item C<complete_internal([WHAT_TO_DO])> - - int rl_complete_internal(int what_to_do = TAB) - -=item C<completion_mode(FUNCTION)> - - int rl_completion_mode(FunctionPtr|str function) - -=item C<completion_matches(TEXT [,FUNC])> - - (@str) rl_completion_matches(str text, - pfunc func = filename_completion_function) - -=item C<filename_completion_function(TEXT, STATE)> - - str rl_filename_completion_function(str text, int state) - -=item C<username_completion_function(TEXT, STATE)> - - str rl_username_completion_function(str text, int state) - -=item C<list_completion_function(TEXT, STATE)> - - str list_completion_function(str text, int state) - -=back - -=item History Functions - -=over 4 - -=item Initializing History and State Management - -=over 4 - -=item C<using_history> - - void using_history() - -=back - -=item History List Management - -=over 4 - -=item C<addhistory(STRING[, STRING, ...])> - - void add_history(str string) - -=item C<StifleHistory(MAX)> - - int stifle_history(int max|undef) - -stifles the history list, remembering only the last C<MAX> entries. -If C<MAX> is undef, remembers all entries. This is a replacement -of unstifle_history(). - -=item C<unstifle_history> - - int unstifle_history() - -This is equivalent with 'stifle_history(undef)'. - -=item C<SetHistory(LINE1 [, LINE2, ...])> - -sets the history of input, from where it can be used if the actual -C<readline> is present. - -=item C<add_history_time(STRING)> - - void add_history_time(str string) # GRL 5.0 - -=item C<remove_history(WHICH)> - - str remove_history(int which) - -=item C<replace_history_entry(WHICH, LINE)> - - str replace_history_entry(int which, str line) - -=item C<clear_history> - - void clear_history() - -=item C<history_is_stifled> - - int history_is_stifled() - -=back - -=item Information About the History List - -=over 4 - -=item C<where_history> - - int where_history() - -=item C<current_history> - - str current_history() - -=item C<history_get(OFFSET)> - - str history_get(offset) - -=item C<history_get_time(OFFSET)> - - time_t history_get_time(offset) - -=item C<history_total_bytes> - - int history_total_bytes() - -=item C<GetHistory> - -returns the history of input as a list, if actual C<readline> is present. - -=back - -=item Moving Around the History List - -=over 4 - -=item C<history_set_pos(POS)> - - int history_set_pos(int pos) - -=item C<previous_history> - - str previous_history() - -=item C<next_history> - - str next_history() - -=back - -=item Searching the History List - -=over 4 - -=item C<history_search(STRING [,DIRECTION])> - - int history_search(str string, int direction = -1) - -=item C<history_search_prefix(STRING [,DIRECTION])> - - int history_search_prefix(str string, int direction = -1) - -=item C<history_search_pos(STRING [,DIRECTION [,POS]])> - - int history_search_pos(str string, - int direction = -1, - int pos = where_history()) - -=back - -=item Managing the History File - -=over 4 - -=item C<ReadHistory([FILENAME [,FROM [,TO]]])> - - int read_history(str filename = '~/.history', - int from = 0, int to = -1) - - int read_history_range(str filename = '~/.history', - int from = 0, int to = -1) - -adds the contents of C<FILENAME> to the history list, a line at a -time. If C<FILENAME> is false, then read from F<~/.history>. Start -reading at line C<FROM> and end at C<TO>. If C<FROM> is omitted or -zero, start at the beginning. If C<TO> is omitted or less than -C<FROM>, then read until the end of the file. Returns true if -successful, or false if not. C<read_history()> is an aliase of -C<read_history_range()>. - -=item C<WriteHistory([FILENAME])> - - int write_history(str filename = '~/.history') - -writes the current history to C<FILENAME>, overwriting C<FILENAME> if -necessary. If C<FILENAME> is false, then write the history list to -F<~/.history>. Returns true if successful, or false if not. - - -=item C<append_history(NELEMENTS [,FILENAME])> - - int append_history(int nelements, str filename = '~/.history') - -=item C<history_truncate_file([FILENAME [,NLINES]])> - - int history_truncate_file(str filename = '~/.history', - int nlines = 0) - -=back - -=item History Expansion - -=over 4 - -=item C<history_expand(LINE)> - - (int result, str expansion) history_expand(str line) - -Note that this function returns C<expansion> in scalar context. - -=item C<get_history_event(STRING, CINDEX [,QCHAR])> - - (str text, int cindex) = get_history_event(str string, - int cindex, - char qchar = '\0') - -=item C<history_tokenize(LINE)> - - (@str) history_tokenize(str line) - -=item C<history_arg_extract(LINE, [FIRST [,LAST]])> - - str history_arg_extract(str line, int first = 0, int last = '$') - -=back - -=back - -=back - -=head2 C<Term::ReadLine::Gnu> Variables - -Following GNU Readline/History Library variables can be accessed from -Perl program. See 'GNU Readline Library Manual' and ' GNU History -Library Manual' for each variable. You can access them with -C<Attribs> methods. Names of keys in this hash conform to standard -conventions with the leading C<rl_> stripped. - -Examples: - - $attribs = $term->Attribs; - $v = $attribs->{library_version}; # rl_library_version - $v = $attribs->{history_base}; # history_base - -=over 4 - -=item Readline Variables - - str rl_line_buffer - int rl_point - int rl_end - int rl_mark - int rl_done - int rl_num_chars_to_read (GRL 4.2) - int rl_pending_input - int rl_dispatching (GRL 4.2) - int rl_erase_empty_line (GRL 4.0) - str rl_prompt (read only) - int rl_already_prompted (GRL 4.1) - str rl_library_version (read only) - int rl_readline_version (read only) - int rl_gnu_readline_p (GRL 4.2) - str rl_terminal_name - str rl_readline_name - filehandle rl_instream - filehandle rl_outstream - int rl_prefer_env_winsize (GRL 5.1) - pfunc rl_last_func (GRL 4.2) - pfunc rl_startup_hook - pfunc rl_pre_input_hook (GRL 4.0) - pfunc rl_event_hook - pfunc rl_getc_function - pfunc rl_redisplay_function - pfunc rl_prep_term_function (GRL 4.2) - pfunc rl_deprep_term_function (GRL 4.2) - Keymap rl_executing_keymap (read only) - Keymap rl_binding_keymap (read only) - str rl_executing_macro (GRL 4.2) - int rl_readline_state (GRL 4.2) - int rl_explicit_arg (GRL 4.2) - int rl_numeric_arg (GRL 4.2) - int rl_editing_mode (GRL 4.2) - -=item Signal Handling Variables - - int rl_catch_signals (GRL 4.0) - int rl_catch_sigwinch (GRL 4.0) - -=item Completion Variables - - pfunc rl_completion_entry_function - pfunc rl_attempted_completion_function - pfunc rl_filename_quoting_function - pfunc rl_filename_dequoting_function - pfunc rl_char_is_quoted_p - int rl_completion_query_items - str rl_basic_word_break_characters - str rl_basic_quote_characters - str rl_completer_word_break_characters - pfunc rl_completion_word_break_hook (GRL 5.0) - str rl_completer_quote_characters - str rl_filename_quote_characters - str rl_special_prefixes - int rl_completion_append_character - int rl_completion_suppress_append (GRL 4.3) - int rl_completion_quote_charactor (GRL 5.0) - int rl_completion_suppress_quote (GRL 5.0) - int rl_completion_found_quote (GRL 5.0) - int rl_completion_mark_symlink_dirs (GRL 4.3) - int rl_ignore_completion_duplicates - int rl_filename_completion_desired - int rl_filename_quoting_desired - int rl_attempted_completion_over (GRL 4.2) - int rl_completion_type (GRL 4.2) - int rl_inhibit_completion - pfunc rl_ignore_some_completion_function - pfunc rl_directory_completion_hook - pfunc rl_completion_display_matches_hook (GRL 4.0) - -=item History Variables - - int history_base - int history_length - int history_max_entries (called `max_input_history'. read only) - int history_write_timestamps (GRL 5.0) - char history_expansion_char - char history_subst_char - char history_comment_char - str history_word_delimiters (GRL 4.2) - str history_no_expand_chars - str history_search_delimiter_chars - int history_quotes_inhibit_expansion - pfunc history_inhibit_expansion_function - -=item Function References - - rl_getc - rl_redisplay - rl_callback_read_char - rl_display_match_list - rl_filename_completion_function - rl_username_completion_function - list_completion_function - shadow_redisplay - Tk_getc - -=back - -=head2 Custom Completion - -In this section variables and functions for custom completion is -described with examples. - -Most of descriptions in this section is cited from GNU Readline -Library manual. - -=over 4 - -=item C<rl_completion_entry_function> - -This variable holds reference refers to a generator function for -C<completion_matches()>. - -A generator function is called repeatedly from -C<completion_matches()>, returning a string each time. The arguments -to the generator function are C<TEXT> and C<STATE>. C<TEXT> is the -partial word to be completed. C<STATE> is zero the first time the -function is called, allowing the generator to perform any necessary -initialization, and a positive non-zero integer for each subsequent -call. When the generator function returns C<undef> this signals -C<completion_matches()> that there are no more possibilities left. - -If the value is undef, built-in C<filename_completion_function> is -used. - -A sample generator function, C<list_completion_function>, is defined -in Gnu.pm. You can use it as follows; - - use Term::ReadLine; - ... - my $term = new Term::ReadLine 'sample'; - my $attribs = $term->Attribs; - ... - $attribs->{completion_entry_function} = - $attribs->{list_completion_function}; - ... - $attribs->{completion_word} = - [qw(reference to a list of words which you want to use for completion)]; - $term->readline("custom completion>"); - -See also C<completion_matches>. - -=item C<rl_attempted_completion_function> - -A reference to an alternative function to create matches. - -The function is called with C<TEXT>, C<LINE_BUFFER>, C<START>, and -C<END>. C<LINE_BUFFER> is a current input buffer string. C<START> -and C<END> are indices in C<LINE_BUFFER> saying what the boundaries of -C<TEXT> are. - -If this function exists and returns null list or C<undef>, or if this -variable is set to C<undef>, then an internal function -C<rl_complete()> will call the value of -C<$rl_completion_entry_function> to generate matches, otherwise the -array of strings returned will be used. - -The default value of this variable is C<undef>. You can use it as follows; - - use Term::ReadLine; - ... - my $term = new Term::ReadLine 'sample'; - my $attribs = $term->Attribs; - ... - sub sample_completion { - my ($text, $line, $start, $end) = @_; - # If first word then username completion, else filename completion - if (substr($line, 0, $start) =~ /^\s*$/) { - return $term->completion_matches($text, - $attribs->{'username_completion_function'}); - } else { - return (); - } - } - ... - $attribs->{attempted_completion_function} = \&sample_completion; - -=item C<completion_matches(TEXT, ENTRY_FUNC)> - -Returns an array of strings which is a list of completions for -C<TEXT>. If there are no completions, returns C<undef>. The first -entry in the returned array is the substitution for C<TEXT>. The -remaining entries are the possible completions. - -C<ENTRY_FUNC> is a generator function which has two arguments, and -returns a string. The first argument is C<TEXT>. The second is a -state argument; it is zero on the first call, and non-zero on -subsequent calls. C<ENTRY_FUNC> returns a C<undef> to the caller when -there are no more matches. - -If the value of C<ENTRY_FUNC> is undef, built-in -C<filename_completion_function> is used. - -C<completion_matches> is a Perl wrapper function of an internal -function C<completion_matches()>. See also -C<$rl_completion_entry_function>. - -=item C<completion_function> - -A variable whose content is a reference to a function which returns a -list of candidates to complete. - -This variable is compatible with C<Term::ReadLine::Perl> and very easy -to use. - - use Term::ReadLine; - ... - my $term = new Term::ReadLine 'sample'; - my $attribs = $term->Attribs; - ... - $attribs->{completion_function} = sub { - my ($text, $line, $start) = @_; - return qw(a list of candidates to complete); - } - -=item C<list_completion_function(TEXT, STATE)> - -A sample generator function defined by C<Term::ReadLine::Gnu>. -Example code at C<rl_completion_entry_function> shows how to use this -function. - -=back - -=head2 C<Term::ReadLine::Gnu> Specific Features - -=over 4 - -=item C<Term::ReadLine::Gnu> Specific Functions - -=over 4 - -=item C<CallbackHandlerInstall(PROMPT, LHANDLER)> - -This method provides the function C<rl_callback_handler_install()> -with the following addtional feature compatible with C<readline> -method; ornament feature, C<Term::ReadLine::Perl> compatible -completion function, histroy expansion, and addition to history -buffer. - -=item C<call_function(FUNCTION, [COUNT [,KEY]])> - - int rl_call_function(FunctionPtr|str function, count = 1, key = -1) - -=item C<rl_get_all_function_names> - -Returns a list of all function names. - -=item C<shadow_redisplay> - -A redisplay function for password input. You can use it as follows; - - $attribs->{redisplay_function} = $attribs->{shadow_redisplay}; - $line = $term->readline("password> "); - -=item C<rl_filename_list> - -Returns candidates of filename to complete. This function can be used -with C<completion_function> and is implemented for the compatibility -with C<Term::ReadLine::Perl>. - -=item C<list_completion_function> - -See the description of section L<"Custom Completion"|"Custom Completion">. - -=back - -=item C<Term::ReadLine::Gnu> Specific Variables - -=over 4 - -=item C<do_expand> - -When true, the history expansion is enabled. By default false. - -=item C<completion_function> - -See the description of section L<"Custom Completion"|"Custom Completion">. - -=item C<completion_word> - -A reference to a list of candidates to complete for -C<list_completion_function>. - -=back - -=item C<Term::ReadLine::Gnu> Specific Commands - -=over 4 - -=item C<history-expand-line> - -The equivalent of the Bash C<history-expand-line> editing command. - -=item C<operate-and-get-next> - -The equivalent of the Korn shell C<operate-and-get-next-history-line> -editing command and the Bash C<operate-and-get-next>. - -This command is bound to C<\C-o> by default for the compatibility with -the Bash and C<Term::ReadLine::Perl>. - -=item C<display-readline-version> - -Shows the version of C<Term::ReadLine::Gnu> and the one of the GNU -Readline Library. - -=item C<change-ornaments> - -Change ornaments interactively. - -=back - -=back - -=head1 FILES - -=over 4 - -=item F<~/.inputrc> - -Readline init file. Using this file it is possible that you would -like to use a different set of key bindings. When a program which -uses the Readline library starts up, the init file is read, and the -key bindings are set. - -Conditional key binding is also available. The program name which is -specified by the first argument of C<new> method is used as the -application construct. - -For example, when your program call C<new> method like this; - - ... - $term = new Term::ReadLine 'PerlSh'; - ... - -your F<~/.inputrc> can define key bindings only for it as follows; - - ... - $if PerlSh - Meta-Rubout: backward-kill-word - "\C-x\C-r": re-read-init-file - "\e[11~": "Function Key 1" - $endif - ... - -=back - -=head1 EXPORTS - -None. - -=head1 SEE ALSO - -=over 4 - -=item GNU Readline Library Manual - -=item GNU History Library Manual - -=item C<Term::ReadLine> - -=item C<Term::ReadLine::Perl> (Term-ReadLine-Perl-xx.tar.gz) - -=item F<eg/*> and F<t/*> in the Term::ReadLine::Gnu distribution - -=item Articles related to Term::ReadLine::Gnu - -=over 4 - -=item effective perl programming - - http://www.usenix.org/publications/login/2000-7/features/effective.html - -This article demonstrates how to integrate Term::ReadLine::Gnu into an -interactive command line program. - -=item eijiro (Japanese) - - http://bulknews.net/lib/columns/02_eijiro/column.html - -A command line interface to Eijiro, Japanese-English dictionary -service on WWW. - - -=back - -=item Works which use Term::ReadLine::Gnu - -=over 4 - -=item Perl Debugger - - perl -d - -=item The Perl Shell (psh) - - http://www.focusresearch.com/gregor/psh/ - -The Perl Shell is a shell that combines the interactive nature of a -Unix shell with the power of Perl. - -A programmable completion feature compatible with bash is implemented. - -=item SPP (Synopsys Plus Perl) - - http://www.stanford.edu/~jsolomon/SPP/ - -SPP (Synopsys Plus Perl) is a Perl module that wraps around Synopsys' -shell programs. SPP is inspired by the original dc_perl written by -Steve Golson, but it's an entirely new implementation. Why is it -called SPP and not dc_perl? Well, SPP was written to wrap around any -of Synopsys' shells. - -=item PFM (Personal File Manager for Unix/Linux) - - http://p-f-m.sourceforge.net/ - -Pfm is a terminal-based file manager written in Perl, based on PFM.COM -for MS-DOS (originally by Paul Culley and Henk de Heer). - -=item The soundgrab - - http://rawrec.sourceforge.net/soundgrab/soundgrab.html - -soundgrab is designed to help you slice up a big long raw audio file -(by default 44.1 kHz 2 channel signed sixteen bit little endian) and -save your favorite sections to other files. It does this by providing -you with a cassette player like command line interface. - -=item PDL (The Perl Data Language) - - http://pdl.perl.org/index_en.html - -PDL (``Perl Data Language'') gives standard Perl the ability to -compactly store and speedily manipulate the large N-dimensional data -arrays which are the bread and butter of scientific computing. - -=item PIQT (Perl Interactive DBI Query Tool) - - http://piqt.sourceforge.net/ - -PIQT is an interactive query tool using the Perl DBI database -interface. It supports ReadLine, provides a built in scripting language -with a Lisp like syntax, an online help system, and uses wrappers to -interface to the DBD modules. - -=item Ghostscript Shell - - http://www.panix.com/~jdf/gshell/ - -It provides a friendly way to play with the Ghostscript interpreter, -including command history and auto-completion of Postscript font names -and reserved words. - -=item vshnu (the New Visual Shell) - - http://www.cs.indiana.edu/~kinzler/vshnu/ - -A visual shell and CLI shell supplement. - -=back - -If you know any other works which can be listed here, please let me -know. - -=back - -=head1 AUTHOR - -Hiroo Hayashi C<E<lt>hiroo.hayashi@computer.orgE<gt>> - -C<http://www.perl.org/CPAN/authors/Hiroo_HAYASHI/> - -=head1 TODO - -GTK+ support in addition to Tk. - -=head1 BUGS - -C<rl_add_defun()> can define up to 16 functions. - -Ornament feature works only on prompt strings. It requires very hard -hacking of C<display.c:rl_redisplay()> in GNU Readline library to -ornament input line. - -C<newTTY()> is not tested yet. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm deleted file mode 100644 index 6b2667c780e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm +++ /dev/null @@ -1,590 +0,0 @@ -#!/usr/local/bin/perl -# -# XS.pm : perl function definition for Term::ReadLine::Gnu -# -# $Id: XS.pm,v 1.23 2008-02-08 00:43:46+09 hiroo Exp $ -# -# Copyright (c) 2008 Hiroo Hayashi. All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -package Term::ReadLine::Gnu::XS; - -use Carp; -use strict; -use AutoLoader 'AUTOLOAD'; - -use vars qw($VERSION); -$VERSION='1.17'; # added for CPAN - -# make aliases -use vars qw(%Attribs); -*Attribs = \%Term::ReadLine::Gnu::Attribs; - -use vars qw(*read_history); -*read_history = \&read_history_range; - -# alias for 8 characters limitation imposed by AutoSplit -use vars qw(*rl_unbind_key *rl_unbind_function *rl_unbind_command - *history_list *history_arg_extract); -*rl_unbind_key = \&unbind_key; -*rl_unbind_function = \&unbind_function; -*rl_unbind_command = \&unbind_command; -*history_list = \&hist_list; -*history_arg_extract = \&hist_arg_extract; - -# For backward compatibility. Using these name (*_in_map) is deprecated. -use vars qw(*rl_unbind_function_in_map *rl_unbind_command_in_map); -*rl_unbind_function_in_map = \&unbind_function; -*rl_unbind_command_in_map = \&unbind_command; - -rl_add_defun('history-expand-line', \&history_expand_line); -# bind operate-and-get-next to \C-o by default for the compatibility -# with bash and Term::ReadLine::Perl -rl_add_defun('operate-and-get-next', \&operate_and_get_next, ord "\co"); -rl_add_defun('display-readline-version', \&display_readline_version); -rl_add_defun('change-ornaments', \&change_ornaments); - -# for ornaments() - -# Prompt-start, prompt-end, command-line-start, command-line-end -# -- zero-width beautifies to emit around prompt and the command line. -# string encoded: -my $rl_term_set = ',,,'; - -# These variables are used by completion functions. Don't use for -# other purpose. -my $_i; -my @_matches; -my @_tstrs; -my $_tstrs_init = 0; - -1; - -# Uncomment the following line to enable AutoSplit. If you are using -# AutoLoader.pm distributed with Perl 5.004 or earlier, you must -# update AutoLoader.pm due to its bug. - -#__END__ - - -# -# Readline Library function wrappers -# - -# Convert keymap name to Keymap if the argument is not reference to Keymap -sub _str2map ($) { - return ref $_[0] ? $_[0] - : (rl_get_keymap_by_name($_[0]) || carp "unknown keymap name \`$_[0]\'\n"); -} - -# Convert function name to Function if the argument is not reference -# to Function -sub _str2fn ($) { - return ref $_[0] ? $_[0] - : (rl_named_function($_[0]) || carp "unknown function name \`$_[0]\'\n"); -} - -sub rl_copy_keymap ($) { return _rl_copy_keymap(_str2map($_[0])); } -sub rl_discard_keymap ($) { return _rl_discard_keymap(_str2map($_[0])); } -sub rl_set_keymap ($) { return _rl_set_keymap(_str2map($_[0])); } - -# rl_bind_key -sub rl_bind_key ($$;$) { - if (defined $_[2]) { - return _rl_bind_key($_[0], _str2fn($_[1]), _str2map($_[2])); - } else { - return _rl_bind_key($_[0], _str2fn($_[1])); - } -} - -# rl_bind_key_if_unbound -sub rl_bind_key_if_unbound ($$;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 5.0) { - carp "rl_bind_key_if_unbound() is not supported. Ignored\n"; - return; - } - if (defined $_[2]) { - return _rl_bind_key_if_unbound($_[0], _str2fn($_[1]), _str2map($_[2])); - } else { - return _rl_bind_key_if_unbound($_[0], _str2fn($_[1])); - } -} - -# rl_unbind_key -sub unbind_key ($;$) { - if (defined $_[1]) { - return _rl_unbind_key($_[0], _str2map($_[1])); - } else { - return _rl_unbind_key($_[0]); - } -} - -# rl_unbind_function -sub unbind_function ($;$) { - # libreadline.* in Debian GNU/Linux 2.0 tells wrong value as '2.1-bash' - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 2.2) { - carp "rl_unbind_function() is not supported. Ignored\n"; - return; - } - if (defined $_[1]) { - return _rl_unbind_function($_[0], _str2map($_[1])); - } else { - return _rl_unbind_function($_[0]); - } -} - -# rl_unbind_command -sub unbind_command ($;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 2.2) { - carp "rl_unbind_command() is not supported. Ignored\n"; - return; - } - if (defined $_[1]) { - return _rl_unbind_command($_[0], _str2map($_[1])); - } else { - return _rl_unbind_command($_[0]); - } -} - -# rl_bind_keyseq -sub rl_bind_keyseq ($$;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 5.0) { - carp "rl_bind_keyseq() is not supported. Ignored\n"; - return; - } - if (defined $_[2]) { - return _rl_bind_keyseq($_[0], _str2fn($_[1]), _str2map($_[2])); - } else { - return _rl_bind_keyseq($_[0], _str2fn($_[1])); - } -} - -sub rl_set_key ($$;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 4.2) { - carp "rl_set_key() is not supported. Ignored\n"; - return; - } - if (defined $_[2]) { - return _rl_set_key($_[0], _str2fn($_[1]), _str2map($_[2])); - } else { - return _rl_set_key($_[0], _str2fn($_[1])); - } -} - -# rl_bind_keyseq_if_unbound -sub rl_bind_keyseq_if_unbound ($$;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 5.0) { - carp "rl_bind_keyseq_if_unbound() is not supported. Ignored\n"; - return; - } - if (defined $_[2]) { - return _rl_bind_keyseq_if_unbound($_[0], _str2fn($_[1]), _str2map($_[2])); - } else { - return _rl_bind_keyseq_if_unbound($_[0], _str2fn($_[1])); - } -} - -sub rl_macro_bind ($$;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if (defined $_[2]) { - return _rl_macro_bind($_[0], $_[1], _str2map($_[2])); - } else { - return _rl_macro_bind($_[0], $_[1]); - } -} - -sub rl_generic_bind ($$$;$) { - if ($_[0] == Term::ReadLine::Gnu::ISFUNC) { - if (defined $_[3]) { - _rl_generic_bind_function($_[1], _str2fn($_[2]), _str2map($_[3])); - } else { - _rl_generic_bind_function($_[1], _str2fn($_[2])); - } - } elsif ($_[0] == Term::ReadLine::Gnu::ISKMAP) { - if (defined $_[3]) { - _rl_generic_bind_keymap($_[1], _str2map($_[2]), _str2map($_[3])); - } else { - _rl_generic_bind_keymap($_[1], _str2map($_[2])); - } - } elsif ($_[0] == Term::ReadLine::Gnu::ISMACR) { - if (defined $_[3]) { - _rl_generic_bind_macro($_[1], $_[2], _str2map($_[3])); - } else { - _rl_generic_bind_macro($_[1], $_[2]); - } - } else { - carp("Term::ReadLine::Gnu::rl_generic_bind: invalid \`type\'\n"); - } -} - -sub rl_call_function ($;$$) { - if (defined $_[2]) { - return _rl_call_function(_str2fn($_[0]), $_[1], $_[2]); - } elsif (defined $_[1]) { - return _rl_call_function(_str2fn($_[0]), $_[1]); - } else { - return _rl_call_function(_str2fn($_[0])); - } -} - -sub rl_invoking_keyseqs ($;$) { - if (defined $_[1]) { - return _rl_invoking_keyseqs(_str2fn($_[0]), _str2map($_[1])); - } else { - return _rl_invoking_keyseqs(_str2fn($_[0])); - } -} - -sub rl_add_funmap_entry ($$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 4.2) { - carp "rl_add_funmap_entry() is not supported. Ignored\n"; - return; - } - return _rl_add_funmap_entry($_[0], _str2fn($_[1])); -} - -sub rl_tty_set_default_bindings (;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 4.2) { - carp "rl_tty_set_default_bindings() is not supported. Ignored\n"; - return; - } - if (defined $_[0]) { - return _rl_tty_set_defaut_bindings(_str2map($_[1])); - } else { - return _rl_tty_set_defaut_bindings(); - } -} - -sub rl_tty_unset_default_bindings (;$) { - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 5.0) { - carp "rl_tty_unset_default_bindings() is not supported. Ignored\n"; - return; - } - if (defined $_[0]) { - return _rl_tty_unset_defaut_bindings(_str2map($_[1])); - } else { - return _rl_tty_unset_defaut_bindings(); - } -} - -sub rl_message { - my $fmt = shift; - my $line = sprintf($fmt, @_); - _rl_message($line); -} - -sub rl_completion_mode { - # libreadline.* in Debian GNU/Linux 2.0 tells wrong value as '2.1-bash' - my ($version) = $Attribs{library_version} - =~ /(\d+\.\d+)/; - if ($version < 4.3) { - carp "rl_completion_mode() is not supported. Ignored\n"; - return; - } - return _rl_completion_mode(_str2fn($_[0])); -} - -# -# for compatibility with Term::ReadLine::Perl -# -sub rl_filename_list { - my ($text) = @_; - - # lcd : lowest common denominator - my ($lcd, @matches) = rl_completion_matches($text, - \&rl_filename_completion_function); - return @matches ? @matches : $lcd; -} - -# -# History Library function wrappers -# -# history_list -sub hist_list () { - my ($i, $history_base, $history_length, @d); - $history_base = $Attribs{history_base}; - $history_length = $Attribs{history_length}; - for ($i = $history_base; $i < $history_base + $history_length; $i++) { - push(@d, history_get($i)); - } - @d; -} - -# history_arg_extract -sub hist_arg_extract ( ;$$$ ) { - my ($line, $first, $last) = @_; - $line = $_ unless defined $line; - $first = 0 unless defined $first; - $last = ord '$' unless defined $last; # ' - $first = ord '$' if defined $first and $first eq '$'; # ' - $last = ord '$' if defined $last and $last eq '$'; # ' - &_history_arg_extract($line, $first, $last); -} - -sub get_history_event ( $$;$ ) { - _get_history_event($_[0], $_[1], defined $_[2] ? ord $_[2] : 0); -} - -# -# Ornaments -# - -# This routine originates in Term::ReadLine.pm. - -# Debian GNU/Linux discourages users from using /etc/termcap. A -# subroutine ornaments() defined in Term::ReadLine.pm uses -# Term::Caps.pm which requires /etc/termcap. - -# This module calls termcap (or its compatible) library, which the GNU -# Readline Library already uses, instead of Term::Caps.pm. - -# Some terminals do not support 'ue' (underline end). -use vars qw(%term_no_ue); -%term_no_ue = ( kterm => 1 ); - -sub ornaments { - return $rl_term_set unless @_; - $rl_term_set = shift; - $rl_term_set ||= ',,,'; - $rl_term_set = $term_no_ue{$ENV{TERM}} ? 'us,me,,' : 'us,ue,,' - if $rl_term_set eq '1'; - my @ts = split /,/, $rl_term_set, 4; - my @rl_term_set - = map { - # non-printing characters must be informed to readline - my $t; - ($_ and $t = tgetstr($_)) - ? (Term::ReadLine::Gnu::RL_PROMPT_START_IGNORE - . $t - . Term::ReadLine::Gnu::RL_PROMPT_END_IGNORE) - : ''; - } @ts; - $Attribs{term_set} = \@rl_term_set; - return $rl_term_set; -} - -# -# a sample custom function -# - -# The equivalent of the Bash shell M-^ history-expand-line editing -# command. - -# This routine was borrowed from bash. -sub history_expand_line { - my ($count, $key) = @_; - my ($expanded, $new_line) = history_expand($Attribs{line_buffer}); - if ($expanded > 0) { - rl_modifying(0, $Attribs{end}); # save undo information - $Attribs{line_buffer} = $new_line; - } elsif ($expanded < 0) { - my $OUT = $Attribs{outstream}; - print $OUT "\n$new_line\n"; - rl_on_new_line(); - } # $expanded == 0 : no change -} - -# The equivalent of the Korn shell C-o operate-and-get-next-history-line -# editing command. - -# This routine was borrowed from bash. -sub operate_and_get_next { - my ($count, $key) = @_; - - my $saved_history_line_to_use = -1; - my $old_rl_startup_hook; - - # Accept the current line. - rl_call_function('accept-line', 1, $key); - - # Find the current line, and find the next line to use. */ - my $where = where_history(); - if ((history_is_stifled() - && ($Attribs{history_length} >= $Attribs{max_input_history})) - || ($where >= $Attribs{history_length} - 1)) { - $saved_history_line_to_use = $where; - } else { - $saved_history_line_to_use = $where + 1; - } - $old_rl_startup_hook = $Attribs{startup_hook}; - $Attribs{startup_hook} = sub { - if ($saved_history_line_to_use >= 0) { - rl_call_function('previous-history', - $Attribs{history_length} - - $saved_history_line_to_use, - 0); - $Attribs{startup_hook} = $old_rl_startup_hook; - $saved_history_line_to_use = -1; - } - }; -} - -sub display_readline_version { # show version - my($count, $key) = @_; # ignored in this function - my $OUT = $Attribs{outstream}; - print $OUT - ("\nTerm::ReadLine::Gnu version: $Term::ReadLine::Gnu::VERSION"); - print $OUT - ("\nGNU Readline Library version: $Attribs{library_version}\n"); - rl_on_new_line(); -} - -# sample function of rl_message() -sub change_ornaments { - my($count, $key) = @_; # ignored in this function - rl_save_prompt; - rl_message("[S]tandout, [U]nderlining, [B]old, [R]everse, [V]isible bell: "); - my $c = chr rl_read_key; - if ($c =~ /s/i) { - ornaments('so,me,,'); - } elsif ($c =~ /u/i) { - ornaments('us,me,,'); - } elsif ($c =~ /b/i) { - ornaments('md,me,,'); - } elsif ($c =~ /r/i) { - ornaments('mr,me,,'); - } elsif ($c =~ /v/i) { - ornaments('vb,,,'); - } else { - rl_ding; - } - rl_restore_prompt; - rl_clear_message; -} - -# -# for tkRunning -# -sub Tk_getc { - &Term::ReadLine::Tk::Tk_loop - if $Term::ReadLine::toloop && defined &Tk::DoOneEvent; - my $FILE = $Attribs{instream}; - return rl_getc($FILE); -} - -# redisplay function for secret input like password -# usage: -# $a->{redisplay_function} = $a->{shadow_redisplay}; -# $line = $t->readline("password> "); -sub shadow_redisplay { - @_tstrs = _tgetstrs() unless $_tstrs_init; - # remove prompt start/end mark from prompt string - my $prompt = $Attribs{prompt}; my $s; - $s = Term::ReadLine::Gnu::RL_PROMPT_START_IGNORE; $prompt =~ s/$s//g; - $s = Term::ReadLine::Gnu::RL_PROMPT_END_IGNORE; $prompt =~ s/$s//g; - my $OUT = $Attribs{outstream}; - my $oldfh = select($OUT); $| = 1; select($oldfh); - print $OUT ($_tstrs[0], # carriage return - $_tstrs[1], # clear to EOL - $prompt, '*' x length($Attribs{line_buffer})); - print $OUT ($_tstrs[2] # cursor left - x (length($Attribs{line_buffer}) - $Attribs{point})); - $oldfh = select($OUT); $| = 0; select($oldfh); -} - -sub _tgetstrs { - my @s = (tgetstr('cr'), # carriage return - tgetstr('ce'), # clear to EOL - tgetstr('le')); # cursor left - warn <<"EOM" unless (defined($s[0]) && defined($s[1]) && defined($s[2])); -Your terminal 'TERM=$ENV{TERM}' does not support enough function. -Check if your environment variable 'TERM' is set correctly. -EOM - # suppress warning "Use of uninitialized value in print at ..." - $s[0] = $s[0] || ''; $s[1] = $s[1] || ''; $s[2] = $s[2] || ''; - $_tstrs_init = 1; - return @s; -} - -# callback handler wrapper function for CallbackHandlerInstall method -sub _ch_wrapper { - my $line = shift; - - if (defined $line) { - if ($Attribs{do_expand}) { - my $result; - ($result, $line) = history_expand($line); - my $outstream = $Attribs{outstream}; - print $outstream "$line\n" if ($result); - - # return without adding line into history - if ($result < 0 || $result == 2) { - return ''; # don't return `undef' which means EOF. - } - } - - # add to history buffer - add_history($line) - if ($Attribs{MinLength} > 0 - && length($line) >= $Attribs{MinLength}); - } - &{$Attribs{_callback_handler}}($line); -} - -# -# List Completion Function -# -sub list_completion_function ( $$ ) { - my($text, $state) = @_; - - $_i = $state ? $_i + 1 : 0; # clear counter at the first call - my $cw = $Attribs{completion_word}; - for (; $_i <= $#{$cw}; $_i++) { - return $cw->[$_i] if ($cw->[$_i] =~ /^\Q$text/); - } - return undef; -} - -# -# wrapper completion function of 'completion_function' -# for compatibility with Term::ReadLine::Perl -# -sub _trp_completion_function ( $$ ) { - my($text, $state) = @_; - - my $cf; - return undef unless defined ($cf = $Attribs{completion_function}); - - if ($state) { - $_i++; - } else { - # the first call - $_i = 0; # clear index - @_matches = &$cf($text, - $Attribs{line_buffer}, - $Attribs{point} - length($text)); - # return here since $#_matches is 0 instead of -1 when - # @_matches = undef - return undef unless defined $_matches[0]; - } - - for (; $_i <= $#_matches; $_i++) { - return $_matches[$_i] if ($_matches[$_i] =~ /^\Q$text/); - } - return undef; -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm deleted file mode 100644 index 6b7d6d845c5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm +++ /dev/null @@ -1,1778 +0,0 @@ -# $Id: LibXML.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML; - -use strict; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS - $skipDTD $skipXMLDeclaration $setTagCompression - $MatchCB $ReadCB $OpenCB $CloseCB - ); -use Carp; - -use XML::LibXML::Common qw(:encoding :libxml); - -use constant XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/'; -use constant XML_XML_NS => 'http://www.w3.org/XML/1998/namespace'; - -use XML::LibXML::NodeList; -use XML::LibXML::XPathContext; -use IO::Handle; # for FH reads called as methods - -BEGIN { - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE -require Exporter; -require DynaLoader; -@ISA = qw(DynaLoader Exporter); - -#-------------------------------------------------------------------------# -# export information # -#-------------------------------------------------------------------------# -%EXPORT_TAGS = ( - all => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - encodeToUTF8 - decodeFromUTF8 - XML_XMLNS_NS - XML_XML_NS - )], - libxml => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - )], - encoding => [qw( - encodeToUTF8 - decodeFromUTF8 - )], - ns => [qw( - XML_XMLNS_NS - XML_XML_NS - )], - ); - -@EXPORT_OK = ( - @{$EXPORT_TAGS{all}}, - ); - -@EXPORT = ( - @{$EXPORT_TAGS{all}}, - ); - -#-------------------------------------------------------------------------# -# initialization of the global variables # -#-------------------------------------------------------------------------# -$skipDTD = 0; -$skipXMLDeclaration = 0; -$setTagCompression = 0; - -$MatchCB = undef; -$ReadCB = undef; -$OpenCB = undef; -$CloseCB = undef; - -#-------------------------------------------------------------------------# -# bootstrapping # -#-------------------------------------------------------------------------# -bootstrap XML::LibXML $VERSION; -undef &AUTOLOAD; - -} # BEGIN - -#-------------------------------------------------------------------------# -# test exact version (up to patch-level) # -#-------------------------------------------------------------------------# -{ - my ($runtime_version) = LIBXML_RUNTIME_VERSION() =~ /^(\d+)/; - if ( $runtime_version < LIBXML_VERSION ) { - warn "Warning: XML::LibXML compiled against libxml2 ".LIBXML_VERSION. - ", but runtime libxml2 is older $runtime_version\n"; - } -} - -#-------------------------------------------------------------------------# -# parser constructor # -#-------------------------------------------------------------------------# -sub new { - my $class = shift; - my %options = @_; - if ( not exists $options{XML_LIBXML_KEEP_BLANKS} ) { - $options{XML_LIBXML_KEEP_BLANKS} = 1; - } - - if ( defined $options{catalog} ) { - $class->load_catalog( $options{catalog} ); - delete $options{catalog}; - } - - my $self = bless \%options, $class; - if ( defined $options{Handler} ) { - $self->set_handler( $options{Handler} ); - } - - $self->{XML_LIBXML_EXT_DTD} = 1; - $self->{_State_} = 0; - return $self; -} - -#-------------------------------------------------------------------------# -# Threads support methods # -#-------------------------------------------------------------------------# - -# threads doc says CLONE's API may change in future, which would break -# an XS method prototype -sub CLONE { XML::LibXML::_CLONE( $_[0] ) } - -#-------------------------------------------------------------------------# -# DOM Level 2 document constructor # -#-------------------------------------------------------------------------# - -sub createDocument { - my $self = shift; - if (!@_ or $_[0] =~ m/^\d\.\d$/) { - # for backward compatibility - return XML::LibXML::Document->new(@_); - } - else { - # DOM API: createDocument(namespaceURI, qualifiedName, doctype?) - my $doc = XML::LibXML::Document-> new; - my $el = $doc->createElementNS(shift, shift); - $doc->setDocumentElement($el); - $doc->setExternalSubset(shift) if @_; - return $doc; - } -} - -#-------------------------------------------------------------------------# -# callback functions # -#-------------------------------------------------------------------------# - -sub input_callbacks { - my $self = shift; - my $icbclass = shift; - - if ( defined $icbclass ) { - $self->{XML_LIBXML_CALLBACK_STACK} = $icbclass; - } - return $self->{XML_LIBXML_CALLBACK_STACK}; -} - -sub match_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_MATCH_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_MATCH_CB}; - } - else { - $MatchCB = shift if scalar @_; - return $MatchCB; - } -} - -sub read_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_READ_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_READ_CB}; - } - else { - $ReadCB = shift if scalar @_; - return $ReadCB; - } -} - -sub close_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_CLOSE_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_CLOSE_CB}; - } - else { - $CloseCB = shift if scalar @_; - return $CloseCB; - } -} - -sub open_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_OPEN_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_OPEN_CB}; - } - else { - $OpenCB = shift if scalar @_; - return $OpenCB; - } -} - -sub callbacks { - my $self = shift; - if ( ref $self ) { - if (@_) { - my ($match, $open, $read, $close) = @_; - @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)} = ($match, $open, $read, $close); - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - else { - return @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)}; - } - } - else { - if (@_) { - ( $MatchCB, $OpenCB, $ReadCB, $CloseCB ) = @_; - } - else { - return ( $MatchCB, $OpenCB, $ReadCB, $CloseCB ); - } - } -} - -#-------------------------------------------------------------------------# -# member variable manipulation # -#-------------------------------------------------------------------------# -sub validation { - my $self = shift; - $self->{XML_LIBXML_VALIDATION} = shift if scalar @_; - return $self->{XML_LIBXML_VALIDATION}; -} - -sub recover { - my $self = shift; - $self->{XML_LIBXML_RECOVER} = shift if scalar @_; - return $self->{XML_LIBXML_RECOVER}; -} - -sub recover_silently { - my $self = shift; - my $arg = shift; - (($arg == 1) ? $self->recover(2) : $self->recover($arg)) if defined($arg); - return ($self->recover() == 2) ? 1 : 0; -} - -sub expand_entities { - my $self = shift; - $self->{XML_LIBXML_EXPAND_ENTITIES} = shift if scalar @_; - return $self->{XML_LIBXML_EXPAND_ENTITIES}; -} - -sub keep_blanks { - my $self = shift; - $self->{XML_LIBXML_KEEP_BLANKS} = shift if scalar @_; - return $self->{XML_LIBXML_KEEP_BLANKS}; -} - -sub pedantic_parser { - my $self = shift; - $self->{XML_LIBXML_PEDANTIC} = shift if scalar @_; - return $self->{XML_LIBXML_PEDANTIC}; -} - -sub line_numbers { - my $self = shift; - $self->{XML_LIBXML_LINENUMBERS} = shift if scalar @_; - return $self->{XML_LIBXML_LINENUMBERS}; -} - -sub no_network { - my $self = shift; - $self->{XML_LIBXML_NONET} = shift if scalar @_; - return $self->{XML_LIBXML_NONET}; -} - -sub load_ext_dtd { - my $self = shift; - $self->{XML_LIBXML_EXT_DTD} = shift if scalar @_; - return $self->{XML_LIBXML_EXT_DTD}; -} - -sub complete_attributes { - my $self = shift; - $self->{XML_LIBXML_COMPLETE_ATTR} = shift if scalar @_; - return $self->{XML_LIBXML_COMPLETE_ATTR}; -} - -sub expand_xinclude { - my $self = shift; - $self->{XML_LIBXML_EXPAND_XINCLUDE} = shift if scalar @_; - return $self->{XML_LIBXML_EXPAND_XINCLUDE}; -} - -sub base_uri { - my $self = shift; - $self->{XML_LIBXML_BASE_URI} = shift if scalar @_; - return $self->{XML_LIBXML_BASE_URI}; -} - -sub gdome_dom { - my $self = shift; - $self->{XML_LIBXML_GDOME} = shift if scalar @_; - return $self->{XML_LIBXML_GDOME}; -} - -sub clean_namespaces { - my $self = shift; - $self->{XML_LIBXML_NSCLEAN} = shift if scalar @_; - return $self->{XML_LIBXML_NSCLEAN}; -} - -#-------------------------------------------------------------------------# -# set the optional SAX(2) handler # -#-------------------------------------------------------------------------# -sub set_handler { - my $self = shift; - if ( defined $_[0] ) { - $self->{HANDLER} = $_[0]; - - $self->{SAX_ELSTACK} = []; - $self->{SAX} = {State => 0}; - } - else { - # undef SAX handling - $self->{SAX_ELSTACK} = []; - delete $self->{HANDLER}; - delete $self->{SAX}; - } -} - -#-------------------------------------------------------------------------# -# helper functions # -#-------------------------------------------------------------------------# -sub _auto_expand { - my ( $self, $result, $uri ) = @_; - - $result->setBaseURI( $uri ) if defined $uri; - - if ( defined $self->{XML_LIBXML_EXPAND_XINCLUDE} - and $self->{XML_LIBXML_EXPAND_XINCLUDE} == 1 ) { - $self->{_State_} = 1; - eval { $self->processXIncludes($result); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - $self->_cleanup_callbacks(); - $result = undef; - croak $err; - } - } - return $result; -} - -sub _init_callbacks { - my $self = shift; - my $icb = $self->{XML_LIBXML_CALLBACK_STACK}; - - unless ( defined $icb ) { - $self->{XML_LIBXML_CALLBACK_STACK} = XML::LibXML::InputCallback->new(); - $icb = $self->{XML_LIBXML_CALLBACK_STACK}; - } - - my $mcb = $self->match_callback(); - my $ocb = $self->open_callback(); - my $rcb = $self->read_callback(); - my $ccb = $self->close_callback(); - - if ( defined $mcb and defined $ocb and defined $rcb and defined $ccb ) { - $icb->register_callbacks( [$mcb, $ocb, $rcb, $ccb] ); - } - - $icb->init_callbacks(); -} - -sub _cleanup_callbacks { - my $self = shift; - $self->{XML_LIBXML_CALLBACK_STACK}->cleanup_callbacks(); - my $mcb = $self->match_callback(); - $self->{XML_LIBXML_CALLBACK_STACK}->unregister_callbacks( [$mcb] ); -} - -sub __read { - read($_[0], $_[1], $_[2]); -} - -sub __write { - if ( ref( $_[0] ) ) { - $_[0]->write( $_[1], $_[2] ); - } - else { - $_[0]->write( $_[1] ); - } -} - -# currently this is only used in the XInlcude processor -# but in the future, all parsing functions should turn to -# the new libxml2 parsing API internally and this will -# become handy -sub _parser_options { - my ($self,$opts)=@_; - $opts = {} unless ref $opts; - my $flags = 0; - $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover; - $flags |= 2 if exists $opts->{expand_entities} ? $opts->{expand_entities} : $self->expand_entities; - $flags |= 4 if exists $opts->{load_ext_dtd} ? $opts->{load_ext_dtd} : $self->load_ext_dtd; - $flags |= 8 if exists $opts->{complete_attributes} ? $opts->{complete_attributes} : $self->complete_attributes; - $flags |= 16 if exists $opts->{validation} ? $opts->{validation} : $self->validation; - $flags |= 32 if $opts->{suppress_errors}; - $flags |= 64 if $opts->{suppress_warnings}; - $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser; - $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks(); - $flags |= 1024 if exists $opts->{expand_xinclude} ? $opts->{expand_xinclude} : $self->expand_xinclude; - $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : $self->no_network; - $flags |= 8192 if exists $opts->{clean_namespaces} ? $opts->{clean_namespaces} : $self->clean_namespaces; - $flags |= 16384 if $opts->{no_cdata}; - $flags |= 32768 if $opts->{no_xinclude_nodes}; - return ($flags); -} - - -#-------------------------------------------------------------------------# -# parsing functions # -#-------------------------------------------------------------------------# -# all parsing functions handle normal as SAX parsing at the same time. -# note that SAX parsing is handled incomplete! use XML::LibXML::SAX for -# complete parsing sequences -#-------------------------------------------------------------------------# -sub parse_string { - my $self = shift; - croak("parse_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - - unless ( defined $_[0] and length $_[0] ) { - croak("Empty String"); - } - - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - my $string = shift; - $self->{SAX_ELSTACK} = []; - - eval { $result = $self->_parse_sax_string($string); }; - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_string( @_ ); }; - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} ); - } - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_fh { - my $self = shift; - croak("parse_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - $self->{SAX_ELSTACK} = []; - eval { $self->_parse_sax_fh( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_fh( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} ); - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_file { - my $self = shift; - croak("parse_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - $self->{SAX_ELSTACK} = []; - eval { $self->_parse_sax_file( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_file(@_); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result ); - } - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_xml_chunk { - my $self = shift; - # max 2 parameter: - # 1: the chunk - # 2: the encoding of the string - croak("parse_xml_chunk is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; my $result; - - unless ( defined $_[0] and length $_[0] ) { - croak("Empty String"); - } - - $self->{_State_} = 1; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - eval { - $self->_parse_sax_xml_chunk( @_ ); - - # this is required for XML::GenericChunk. - # in normal case is_filter is not defined, an thus the parsing - # will be terminated. in case of a SAX filter the parsing is not - # finished at that state. therefore we must not reset the parsing - unless ( $self->{IS_FILTER} ) { - $result = $self->{HANDLER}->end_document(); - } - }; - } - else { - eval { $result = $self->_parse_xml_chunk( @_ ); }; - } - - $self->_cleanup_callbacks(); - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - croak $err; - } - - return $result; -} - -sub parse_balanced_chunk { - my $self = shift; - $self->_init_callbacks(); - my $rv; - eval { - $rv = $self->parse_xml_chunk( @_ ); - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $err; - } - return $rv -} - -# java style -sub processXIncludes { - my $self = shift; - my $doc = shift; - my $opts = shift; - my $options = $self->_parser_options($opts); - if ( $self->{_State_} != 1 ) { - $self->_init_callbacks(); - } - my $rv; - eval { - $rv = $self->_processXIncludes($doc || " ", $options); - }; - my $err = $@; - if ( $self->{_State_} != 1 ) { - $self->_cleanup_callbacks(); - } - - if ( $err ) { - chomp $err; - croak $err; - } - return $rv; -} - -# perl style -sub process_xincludes { - my $self = shift; - my $doc = shift; - my $opts = shift; - my $options = $self->_parser_options($opts); - - my $rv; - $self->_init_callbacks(); - eval { - $rv = $self->_processXIncludes($doc || " ", $options); - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $@; - } - return $rv; -} - -#-------------------------------------------------------------------------# -# HTML parsing functions # -#-------------------------------------------------------------------------# - -sub _html_options { - my ($self,$opts)=@_; - $opts = {} unless ref $opts; - # return (undef,undef) unless ref $opts; - my $flags = 0; - $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover; - $flags |= 32 if $opts->{suppress_errors}; - $flags |= 64 if $opts->{suppress_warnings}; - $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser; - $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks; - $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : !$self->no_network; - return ($opts->{URI},$opts->{encoding},$flags); -} - -sub parse_html_string { - my ($self,$str,$opts) = @_; - croak("parse_html_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - - unless ( defined $str and length $str ) { - croak("Empty String"); - } - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - eval { - $result = $self->_parse_html_string( $str, - $self->_html_options($opts) - ); - }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_html_file { - my ($self,$file,$opts) = @_; - croak("parse_html_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - eval { $result = $self->_parse_html_file($file, - $self->_html_options($opts) - ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_html_fh { - my ($self,$fh,$opts) = @_; - croak("parse_html_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - - my $result; - $self->_init_callbacks(); - eval { $result = $self->_parse_html_fh( $fh, - $self->_html_options($opts) - ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - $self->_cleanup_callbacks(); - - return $result; -} - -#-------------------------------------------------------------------------# -# push parser interface # -#-------------------------------------------------------------------------# -sub init_push { - my $self = shift; - - if ( defined $self->{CONTEXT} ) { - delete $self->{CONTEXT}; - } - - if ( defined $self->{SAX} ) { - $self->{CONTEXT} = $self->_start_push(1); - } - else { - $self->{CONTEXT} = $self->_start_push(0); - } -} - -sub push { - my $self = shift; - - $self->_init_callbacks(); - - if ( not defined $self->{CONTEXT} ) { - $self->init_push(); - } - - eval { - foreach ( @_ ) { - $self->_push( $self->{CONTEXT}, $_ ); - } - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $err; - } -} - -# this function should be promoted! -# the reason is because libxml2 uses xmlParseChunk() for this purpose! -sub parse_chunk { - my $self = shift; - my $chunk = shift; - my $terminate = shift; - - if ( not defined $self->{CONTEXT} ) { - $self->init_push(); - } - - if ( defined $chunk and length $chunk ) { - $self->_push( $self->{CONTEXT}, $chunk ); - } - - if ( $terminate ) { - return $self->finish_push(); - } -} - - -sub finish_push { - my $self = shift; - my $restore = shift || 0; - return undef unless defined $self->{CONTEXT}; - - my $retval; - - if ( defined $self->{SAX} ) { - eval { - $self->_end_sax_push( $self->{CONTEXT} ); - $retval = $self->{HANDLER}->end_document( {} ); - }; - } - else { - eval { $retval = $self->_end_push( $self->{CONTEXT}, $restore ); }; - } - delete $self->{CONTEXT}; - my $err = $@; - if ( $err ) { - chomp $err; - croak( $err ); - } - return $retval; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Node Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Node; - -sub isSupported { - my $self = shift; - my $feature = shift; - return $self->can($feature) ? 1 : 0; -} - -sub getChildNodes { my $self = shift; return $self->childNodes(); } - -sub childNodes { - my $self = shift; - my @children = $self->_childNodes(); - return wantarray ? @children : XML::LibXML::NodeList->new_from_ref(\@children , 1); -} - -sub attributes { - my $self = shift; - my @attr = $self->_attributes(); - return wantarray ? @attr : XML::LibXML::NamedNodeMap->new( @attr ); -} - - -sub findnodes { - my ($node, $xpath) = @_; - my @nodes = $node->_findnodes($xpath); - if (wantarray) { - return @nodes; - } - else { - return XML::LibXML::NodeList->new_from_ref(\@nodes, 1); - } -} - -sub findvalue { - my ($node, $xpath) = @_; - my $res; - eval { - $res = $node->find($xpath); - }; - if ( $@ ) { - die $@; - } - return $res->to_literal->value; -} - -sub find { - my ($node, $xpath) = @_; - my ($type, @params) = $node->_find($xpath); - if ($type) { - return $type->new(@params); - } - return undef; -} - -sub setOwnerDocument { - my ( $self, $doc ) = @_; - $doc->adoptNode( $self ); -} - -sub toStringC14N { - my ($self, $comments, $xpath) = (shift, shift, shift); - return $self->_toStringC14N( $comments || 0, - (defined $xpath ? $xpath : undef), - 0, - undef ); -} -sub toStringEC14N { - my ($self, $comments, $xpath, $inc_prefix_list) = @_; - if (defined($inc_prefix_list) and !UNIVERSAL::isa($inc_prefix_list,'ARRAY')) { - croak("toStringEC14N: inclusive_prefix_list must be undefined or ARRAY"); - } - return $self->_toStringC14N( $comments || 0, - (defined $xpath ? $xpath : undef), - 1, - (defined $inc_prefix_list ? $inc_prefix_list : undef)); -} - -*serialize_c14n = \&toStringC14N; -*serialize_exc_c14n = \&toStringEC14N; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Document Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Document; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub actualEncoding { - my $doc = shift; - my $enc = $doc->encoding; - return (defined $enc and length $enc) ? $enc : 'UTF-8'; -} - -sub setDocumentElement { - my $doc = shift; - my $element = shift; - - my $oldelem = $doc->documentElement; - if ( defined $oldelem ) { - $doc->removeChild($oldelem); - } - - $doc->_setDocumentElement($element); -} - -sub toString { - my $self = shift; - my $flag = shift; - - my $retval = ""; - - if ( defined $XML::LibXML::skipXMLDeclaration - and $XML::LibXML::skipXMLDeclaration == 1 ) { - foreach ( $self->childNodes ){ - next if $_->nodeType == XML::LibXML::XML_DTD_NODE() - and $XML::LibXML::skipDTD; - $retval .= $_->toString; - } - } - else { - $flag ||= 0 unless defined $flag; - $retval = $self->_toString($flag); - } - - return $retval; -} - -sub serialize { - my $self = shift; - return $self->toString( @_ ); -} - -#-------------------------------------------------------------------------# -# bad style xinclude processing # -#-------------------------------------------------------------------------# -sub process_xinclude { - my $self = shift; - my $opts = shift; - XML::LibXML->new->processXIncludes( $self, $opts ); -} - -sub insertProcessingInstruction { - my $self = shift; - my $target = shift; - my $data = shift; - - my $pi = $self->createPI( $target, $data ); - my $root = $self->documentElement; - - if ( defined $root ) { - # this is actually not correct, but i guess it's what the user - # intends - $self->insertBefore( $pi, $root ); - } - else { - # if no documentElement was found we just append the PI - $self->appendChild( $pi ); - } -} - -sub insertPI { - my $self = shift; - $self->insertProcessingInstruction( @_ ); -} - -#-------------------------------------------------------------------------# -# DOM L3 Document functions. -# added after robins implicit feature requst -#-------------------------------------------------------------------------# -*getElementsByTagName = \&XML::LibXML::Element::getElementsByTagName; -*getElementsByTagNameNS = \&XML::LibXML::Element::getElementsByTagNameNS; -*getElementsByLocalName = \&XML::LibXML::Element::getElementsByLocalName; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::DocumentFragment Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::DocumentFragment; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub toString { - my $self = shift; - my $retval = ""; - if ( $self->hasChildNodes() ) { - foreach my $n ( $self->childNodes() ) { - $retval .= $n->toString(@_); - } - } - return $retval; -} - -*serialize = \&toString; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Element Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Element; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); -use XML::LibXML qw(:ns :libxml); -use Carp; - -sub setNamespace { - my $self = shift; - my $n = $self->nodeName; - if ( $self->_setNamespace(@_) ){ - if ( scalar @_ < 3 || $_[2] == 1 ){ - $self->setNodeName( $n ); - } - return 1; - } - return 0; -} - -sub getAttribute { - my $self = shift; - my $name = $_[0]; - if ( $name =~ /^xmlns(?::|$)/ ) { - # user wants to get a namespace ... - (my $prefix = $name )=~s/^xmlns:?//; - $self->_getNamespaceDeclURI($prefix); - } - else { - $self->_getAttribute(@_); - } -} - -sub setAttribute { - my ( $self, $name, $value ) = @_; - if ( $name =~ /^xmlns(?::|$)/ ) { - # user wants to set the special attribute for declaring XML namespace ... - - # this is fine but not exactly DOM conformant behavior, btw (according to DOM we should - # probably declare an attribute which looks like XML namespace declaration - # but isn't) - (my $nsprefix = $name )=~s/^xmlns:?//; - my $nn = $self->nodeName; - if ( $nn =~ /^\Q${nsprefix}\E:/ ) { - # the element has the same prefix - $self->setNamespaceDeclURI($nsprefix,$value) || - $self->setNamespace($value,$nsprefix,1); - ## - ## We set the namespace here. - ## This is helpful, as in: - ## - ## | $e = XML::LibXML::Element->new('foo:bar'); - ## | $e->setAttribute('xmlns:foo','http://yoyodine') - ## - } - else { - # just modify the namespace - $self->setNamespaceDeclURI($nsprefix, $value) || - $self->setNamespace($value,$nsprefix,0); - } - } - else { - $self->_setAttribute($name, $value); - } -} - -sub getAttributeNS { - my $self = shift; - my ($nsURI, $name) = @_; - croak("invalid attribute name") if !defined($name) or $name eq q{}; - if ( defined($nsURI) and $nsURI eq XML_XMLNS_NS ) { - $self->_getNamespaceDeclURI($name eq 'xmlns' ? undef : $name); - } - else { - $self->_getAttributeNS(@_); - } -} - -sub setAttributeNS { - my ($self, $nsURI, $qname, $value)=@_; - unless (defined $qname and length $qname) { - croak("bad name"); - } - if (defined($nsURI) and $nsURI eq XML_XMLNS_NS) { - if ($qname !~ /^xmlns(?::|$)/) { - croak("NAMESPACE ERROR: Namespace declartions must have the prefix 'xmlns'"); - } - $self->setAttribute($qname,$value); # see implementation above - return; - } - if ($qname=~/:/ and not (defined($nsURI) and length($nsURI))) { - croak("NAMESPACE ERROR: Attribute without a prefix cannot be in a namespace"); - } - if ($qname=~/^xmlns(?:$|:)/) { - croak("NAMESPACE ERROR: 'xmlns' prefix and qualified-name are reserved for the namespace ".XML_XMLNS_NS); - } - if ($qname=~/^xml:/ and not (defined $nsURI and $nsURI eq XML_XML_NS)) { - croak("NAMESPACE ERROR: 'xml' prefix is reserved for the namespace ".XML_XML_NS); - } - $self->_setAttributeNS( defined $nsURI ? $nsURI : undef, $qname, $value ); -} - -sub getElementsByTagName { - my ( $node , $name ) = @_; - my $xpath = $name eq '*' ? "descendant::*" : "descendant::*[name()='$name']"; - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getElementsByTagNameNS { - my ( $node, $nsURI, $name ) = @_; - my $xpath; - if ( $name eq '*' ) { - if ( $nsURI eq '*' ) { - $xpath = "descendant::*"; - } else { - $xpath = "descendant::*[namespace-uri()='$nsURI']"; - } - } elsif ( $nsURI eq '*' ) { - $xpath = "descendant::*[local-name()='$name']"; - } else { - $xpath = "descendant::*[local-name()='$name' and namespace-uri()='$nsURI']"; - } - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getElementsByLocalName { - my ( $node,$name ) = @_; - my $xpath; - if ($name eq '*') { - $xpath = "descendant::*"; - } else { - $xpath = "descendant::*[local-name()='$name']"; - } - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByTagName { - my ( $node, $name ) = @_; - my @nodes; - if ($name eq '*') { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() } - $node->childNodes(); - } else { - @nodes = grep { $_->nodeName eq $name } $node->childNodes(); - } - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByLocalName { - my ( $node, $name ) = @_; - my @nodes; - if ($name eq '*') { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() } - $node->childNodes(); - } else { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() and - $_->localName eq $name } $node->childNodes(); - } - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByTagNameNS { - my ( $node, $nsURI, $name ) = @_; - my @nodes = $node->_getChildrenByTagNameNS($nsURI,$name); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub appendWellBalancedChunk { - my ( $self, $chunk ) = @_; - - my $local_parser = XML::LibXML->new(); - my $frag = $local_parser->parse_xml_chunk( $chunk ); - - $self->appendChild( $frag ); -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Text Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Text; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub attributes { return undef; } - -sub deleteDataString { - my $node = shift; - my $string = shift; - my $all = shift; - my $data = $node->nodeValue(); - $string =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g; - if ( $all ) { - $data =~ s/$string//g; - } - else { - $data =~ s/$string//; - } - $node->setData( $data ); -} - -sub replaceDataString { - my ( $node, $left, $right,$all ) = @_; - - #ashure we exchange the strings and not expressions! - $left =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g; - my $datastr = $node->nodeValue(); - if ( $all ) { - $datastr =~ s/$left/$right/g; - } - else{ - $datastr =~ s/$left/$right/; - } - $node->setData( $datastr ); -} - -sub replaceDataRegEx { - my ( $node, $leftre, $rightre, $flags ) = @_; - return unless defined $leftre; - $rightre ||= ""; - - my $datastr = $node->nodeValue(); - my $restr = "s/" . $leftre . "/" . $rightre . "/"; - $restr .= $flags if defined $flags; - - eval '$datastr =~ '. $restr; - - $node->setData( $datastr ); -} - -1; - -package XML::LibXML::Comment; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Text'); - -1; - -package XML::LibXML::CDATASection; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Text'); - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Attribute Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Attr; -use vars qw( @ISA ) ; -@ISA = ('XML::LibXML::Node') ; - -sub setNamespace { - my ($self,$href,$prefix) = @_; - my $n = $self->nodeName; - if ( $self->_setNamespace($href,$prefix) ) { - $self->setNodeName($n); - return 1; - } - - return 0; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Dtd Interface # -#-------------------------------------------------------------------------# -# this is still under construction -# -package XML::LibXML::Dtd; -use vars qw( @ISA ); -@ISA = ('XML::LibXML::Node'); - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::PI Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::PI; -use vars qw( @ISA ); -@ISA = ('XML::LibXML::Node'); - -sub setData { - my $pi = shift; - - my $string = ""; - if ( scalar @_ == 1 ) { - $string = shift; - } - else { - my %h = @_; - $string = join " ", map {$_.'="'.$h{$_}.'"'} keys %h; - } - - # the spec says any char but "?>" [17] - $pi->_setData( $string ) unless $string =~ /\?>/; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Namespace Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Namespace; - -# this is infact not a node! -sub prefix { return "xmlns"; } -sub getPrefix { return "xmlns"; } -sub getNamespaceURI { return "http://www.w3.org/2000/xmlns/" }; - -sub getNamespaces { return (); } - -sub nodeName { - my $self = shift; - my $nsP = $self->localname; - return ( defined($nsP) && length($nsP) ) ? "xmlns:$nsP" : "xmlns"; -} -sub name { goto &nodeName } -sub getName { goto &nodeName } - -sub isEqualNode { - my ( $self, $ref ) = @_; - if ( ref($ref) eq "XML::LibXML::Namespace" ) { - return $self->_isEqual($ref); - } - return 0; -} - -sub isSameNode { - my ( $self, $ref ) = @_; - if ( $$self == $$ref ){ - return 1; - } - return 0; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::NamedNodeMap Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::NamedNodeMap; - -use XML::LibXML::Common qw(:libxml); - -sub new { - my $class = shift; - my $self = bless { Nodes => [@_] }, $class; - $self->{NodeMap} = { map { $_->nodeName => $_ } @_ }; - return $self; -} - -sub length { return scalar( @{$_[0]->{Nodes}} ); } -sub nodes { return $_[0]->{Nodes}; } -sub item { $_[0]->{Nodes}->[$_[1]]; } - -sub getNamedItem { - my $self = shift; - my $name = shift; - - return $self->{NodeMap}->{$name}; -} - -sub setNamedItem { - my $self = shift; - my $node = shift; - - my $retval; - if ( defined $node ) { - if ( scalar @{$self->{Nodes}} ) { - my $name = $node->nodeName(); - if ( $node->nodeType() == XML_NAMESPACE_DECL ) { - return; - } - if ( defined $self->{NodeMap}->{$name} ) { - if ( $node->isSameNode( $self->{NodeMap}->{$name} ) ) { - return; - } - $retval = $self->{NodeMap}->{$name}->replaceNode( $node ); - } - else { - $self->{Nodes}->[0]->addSibling($node); - } - - $self->{NodeMap}->{$name} = $node; - push @{$self->{Nodes}}, $node; - } - else { - # not done yet - # can this be properly be done??? - warn "not done yet\n"; - } - } - return $retval; -} - -sub removeNamedItem { - my $self = shift; - my $name = shift; - my $retval; - if ( $name =~ /^xmlns/ ) { - warn "not done yet\n"; - } - elsif ( exists $self->{NodeMap}->{$name} ) { - $retval = $self->{NodeMap}->{$name}; - $retval->unbindNode; - delete $self->{NodeMap}->{$name}; - $self->{Nodes} = [grep {not($retval->isSameNode($_))} @{$self->{Nodes}}]; - } - - return $retval; -} - -sub getNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $name = shift; - return undef; -} - -sub setNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $node = shift; - return undef; -} - -sub removeNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $name = shift; - return undef; -} - -1; - -package XML::LibXML::_SAXParser; - -# this is pseudo class!!! and it will be removed as soon all functions -# moved to XS level - -use XML::SAX::Exception; - -# these functions will use SAX exceptions as soon i know how things really work -sub warning { - my ( $parser, $message, $line, $col ) = @_; - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->warning( $error ); -} - -sub error { - my ( $parser, $message, $line, $col ) = @_; - - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->error( $error ); -} - -sub fatal_error { - my ( $parser, $message, $line, $col ) = @_; - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->fatal_error( $error ); -} - -1; - -package XML::LibXML::RelaxNG; - -sub new { - my $class = shift; - my %args = @_; - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->parse_location( $args{location} ); - } - elsif ( defined $args{string} ) { - $self = $class->parse_buffer( $args{string} ); - } - elsif ( defined $args{DOM} ) { - $self = $class->parse_document( $args{DOM} ); - } - - return $self; -} - -1; - -package XML::LibXML::Schema; - -sub new { - my $class = shift; - my %args = @_; - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->parse_location( $args{location} ); - } - elsif ( defined $args{string} ) { - $self = $class->parse_buffer( $args{string} ); - } - - return $self; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::InputCallback Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::InputCallback; - -use vars qw($_CUR_CB @_GLOBAL_CALLBACKS @_CB_STACK); - -$_CUR_CB = undef; - -@_GLOBAL_CALLBACKS = (); -@_CB_STACK = (); - -#-------------------------------------------------------------------------# -# global callbacks # -#-------------------------------------------------------------------------# -sub _callback_match { - my $uri = shift; - my $retval = 0; - - # loop through the callbacks and and find the first matching - # The callbacks are stored in execution order (reverse stack order) - # any new global callbacks are shifted to the callback stack. - foreach my $cb ( @_GLOBAL_CALLBACKS ) { - - # callbacks have to return 1, 0 or undef, while 0 and undef - # are handled the same way. - # in fact, if callbacks return other values, the global match - # assumes silently that the callback failed. - - $retval = $cb->[0]->($uri); - - if ( defined $retval and $retval == 1 ) { - # make the other callbacks use this callback - $_CUR_CB = $cb; - unshift @_CB_STACK, $cb; - last; - } - } - - return $retval; -} - -sub _callback_open { - my $uri = shift; - my $retval = undef; - - # the open callback has to return a defined value. - # if one works on files this can be a file handle. But - # depending on the needs of the callback it also can be a - # database handle or a integer labeling a certain dataset. - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[1]->( $uri ); - - # reset the callbacks, if one callback cannot open an uri - if ( not defined $retval or $retval == 0 ) { - shift @_CB_STACK; - $_CUR_CB = $_CB_STACK[0]; - } - } - - return $retval; -} - -sub _callback_read { - my $fh = shift; - my $buflen = shift; - - my $retval = undef; - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[2]->( $fh, $buflen ); - } - - return $retval; -} - -sub _callback_close { - my $fh = shift; - my $retval = 0; - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[3]->( $fh ); - shift @_CB_STACK; - $_CUR_CB = $_CB_STACK[0]; - } - - return $retval; -} - -#-------------------------------------------------------------------------# -# member functions and methods # -#-------------------------------------------------------------------------# - -sub new { - my $CLASS = shift; - return bless {'_CALLBACKS' => []}, $CLASS; -} - -# add a callback set to the callback stack -# synopsis: $icb->register_callbacks( [$match_cb, $open_cb, $read_cb, $close_cb] ); -sub register_callbacks { - my $self = shift; - my $cbset = shift; - - # test if callback set is complete - if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) { - unshift @{$self->{_CALLBACKS}}, $cbset; - } -} - -# remove a callback set to the callback stack -# if a callback set is passed, this function will check for the match function -sub unregister_callbacks { - my $self = shift; - my $cbset = shift; - if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) { - $self->{_CALLBACKS} = [grep { $_->[0] != $cbset->[0] } @{$self->{_CALLBACKS}}]; - } - else { - shift @{$self->{_CALLBACKS}}; - } -} - -# make libxml2 use the callbacks -sub init_callbacks { - my $self = shift; - - $_CUR_CB = undef; - @_CB_STACK = (); - - @_GLOBAL_CALLBACKS = @{ $self->{_CALLBACKS} }; - - if ( defined $XML::LibXML::match_cb and - defined $XML::LibXML::open_cb and - defined $XML::LibXML::read_cb and - defined $XML::LibXML::close_cb ) { - push @_GLOBAL_CALLBACKS, [$XML::LibXML::match_cb, - $XML::LibXML::open_cb, - $XML::LibXML::read_cb, - $XML::LibXML::close_cb]; - } - - $self->lib_init_callbacks(); -} - -# reset libxml2's callbacks -sub cleanup_callbacks { - my $self = shift; - - $_CUR_CB = undef; - @_GLOBAL_CALLBACKS = (); - @_CB_STACK = (); - - $self->lib_cleanup_callbacks(); -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod deleted file mode 100644 index f4f59f9e518..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod +++ /dev/null @@ -1,433 +0,0 @@ -=head1 NAME - -XML::LibXML - Perl Binding for libxml2 - -=head1 SYNOPSIS - - - - use XML::LibXML; - my $parser = XML::LibXML->new(); - - my $doc = $parser->parse_string(<<'EOT'); - <some-xml/> - EOT - - $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION; - $Version_ID = XML::LibXML::LIBXML_VERSION; - $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION; - $libxmlnode = XML::LibXML->import_GDOME( $node, $deep ); - $gdomenode = XML::LibXML->export_GDOME( $node, $deep ); - -=head1 DESCRIPTION - -This module is an interface to libxml2, providing XML and HTML parsers with -DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 interface and -a XML::XPath-like interface to XPath API of libxml2. The module is split into -several packages which are not described in this section; unless stated -otherwise, you only need to C<<<<<< use XML::LibXML; >>>>>> in your programs. - -For further information, please check the following documentation: - -=over 4 - -=item B<> - -Parsing XML Files with XML::LibXML - - -=item B<> - -XML::LibXML DOM Implementation - - -=item B<> - -XML::LibXML direct SAX parser - - -=item B<> - -Reading XML with a pull-parser - - -=item B<> - -XML::LibXML DOM Document Class - - -=item B<> - -Abstract Base Class of XML::LibXML Nodes - - -=item B<> - -XML::LibXML Class for Element Nodes - - -=item B<> - -XML::LibXML Class for Text Nodes - - -=item B<> - -XML::LibXML Comment Nodes - - -=item B<> - -XML::LibXML Class for CDATA Sections - - -=item B<> - -XML::LibXML Attribute Class - - -=item B<> - -XML::LibXML's DOM L2 Document Fragment Implementation - - -=item B<> - -XML::LibXML Namespace Implementation - - -=item B<> - -XML::LibXML Processing Instructions - - -=item B<> - -XML::LibXML DTD Support - - -=item B<> - -XML::LibXML frontend for RelaxNG schema validation - - -=item B<> - -XML::LibXML frontend for W3C Schema schema validation - - -=item B<> - -API for evaluating XPath expressions with enhanced support for the evaluation -context - - - -=back - - -=head1 ENCODINGS SUPPORT IN XML::LIBXML - -Recall that since version 5.6.1, Perl distinguishes between character strings -(internally encoded in UTF-8) and so called binary data and, accordingly, -applies either character or byte semantics to them. A scalar representing a -character string is distinguished from a byte string by special flag (UTF8). -Please refer to I<<<<<< perlunicode >>>>>> for details. - -XML::LibXML's API is designed to deal with many encodings of XML documents -completely transparently, so that the application using XML::LibXML can be -completely ignorant about the encoding of the XML documents it works with. On -the other hand, functions like C<<<<<< XML::LibXML::Document->setEncoding >>>>>> give the user control over the document encoding. - -To ensure the aforementioned transparency and uniformity, most functions of -XML::LibXML that work with in-memory trees accept and return data as character -strings (i.e. UTF-8 encoded with the UTF8 flag on) regardless of the original -document encoding; however, the functions related to I/O operations (i.e. -parsing and saving) operate with binary data (in the original document -encoding) obeying the encoding declaration of the XML documents. - -Below we summarize basic rules and principles regarding encoding: - - -=over 4 - -=item 1. - -Do NOT apply any encoding-related PerlIO layers (C<<<<<< :utf8 >>>>>> or C<<<<<< :encoding(...) >>>>>>) to file handles that are an imput for the parses or an ouptut for a -serializer of (full) XML documents. This is because the conversion of the data -to/from the internal character representation is provided by libxml2 itself -which must be able to enforce the encoding specified by the C<<<<<< <?xml version="1.0" encoding="..."?> >>>>>> declaration. Here is an example to follow: - - use XML::LibXML; - my $parser = XML::LibXML->new; - open my $fh, "file.xml"; - binmode $fh; # drop all PerlIO layers possibly created by a use open pragma - $doc = $parser->parse_fh($fh); - open my $out, "out.xml"; - binmode $fh; # as above - $doc->toFh($fh); - # or - print $fh $doc->toString(); - - - - - -=item 2. - -All functions working with DOM accept and return character strings (UTF-8 -encoded with UTF8 flag on). E.g. - - my $doc = XML::LibXML:Document->new('1.0',$some_encoding); - my $element = $doc->createElement($name); - $element->appendText($text); - $xml_fragment = $element->toString(); # returns a character string - $xml_document = $doc->toString(); # returns a byte string - -where C<<<<<< $some_encoding >>>>>> is the document encoding that will be used when saving the document, and C<<<<<< $name >>>>>> and C<<<<<< $text >>>>>> contain character strings (UTF-8 encoded with UTF8 flag on). Note that the -method C<<<<<< toString >>>>>> returns XML as a character string if applied to other node than the Document -node and a byte string containing the apropriate - - <?xml version="1.0" encoding="..."?> - -declaration if appliled to a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - - -=item 3. - -DOM methods also accept binary strings in the original encoding of the document -to which the node belongs (UTF-8 is assumed if the node is not attached to any -document). Exploiting this feature is NOT RECOMMENDED since it is considered a -bad practice. - - - - my $doc = XML::LibXML:Document->new('1.0','iso-8859-2'); - my $text = $doc->createTextNode($some_latin2_encoded_byte_string); - # WORKS, BUT NOT RECOMMENDED! - - - -=back - -I<<<<<< NOTE: >>>>>> libxml2 support for many encodings is based on the iconv library. The actual -list of supported encodings may vary from platform to platform. To test if your -platform works correctly with your language encoding, build a simple document -in the particular encoding and try to parse it with XML::LibXML to see if the -parser produces any errors. Occasional crashes were reported on rare platforms -that ship with a broken version of iconv. - - -=head1 VERSION INFORMATION - -Sometimes it is useful to figure out, for which version XML::LibXML was -compiled for. In most cases this is for debugging or to check if a given -installation meets all functionality for the package. The functions -XML::LibXML::LIBXML_DOTTED_VERSION and XML::LibXML::LIBXML_VERSION provide this -version information. Both functions simply pass through the values of the -similar named macros of libxml2. Similarly, XML::LibXML::LIBXML_RUNTIME_VERSION -returns the version of the (usually dynamically) linked libxml2. - -=over 4 - -=item B<XML::LibXML::LIBXML_DOTTED_VERSION> - - $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION; - -Returns the version string of the libxml2 version XML::LibXML was compiled for. -This will be "2.6.2" for "libxml2 2.6.2". - - -=item B<XML::LibXML::LIBXML_VERSION> - - $Version_ID = XML::LibXML::LIBXML_VERSION; - -Returns the version id of the libxml2 version XML::LibXML was compiled for. -This will be "20602" for "libxml2 2.6.2". Don't mix this version id with -$XML::LibXML::VERSION. The latter contains the version of XML::LibXML itself -while the first contains the version of libxml2 XML::LibXML was compiled for. - - -=item B<XML::LibXML::LIBXML_RUNTIME_VERSION> - - $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION; - -Returns a version string of the libxml2 which is (usually dynamically) linked -by XML::LibXML. This will be "20602" for libxml2 released as "2.6.2" and -something like "20602-CVS2032" for a CVS build of libxml2. - -XML::LibXML issues a warning if the version of libxml2 dynamically linked to it -is less than the version of libxml2 which it was compiled against. - - - -=back - - -=head1 EXPORTS - -By default the module exports all constants and functions listed in the :all -tag, described below. - - -=head1 EXPORT TAGS - -=over 4 - -=item B<:all> - -Includes the tags C<<<<<< :libxml >>>>>>, C<<<<<< :encoding >>>>>>, and C<<<<<< :ns >>>>>> described below. - - -=item B<:libxml> - -Exports integer constants for DOM node types (defined in a separately -distributed XML::LibXML::Common module). - - - - XML_ELEMENT_NODE => 1 - XML_ATTRIBUTE_NODE => 2 - XML_TEXT_NODE => 3 - XML_CDATA_SECTION_NODE => 4 - XML_ENTITY_REF_NODE => 5 - XML_ENTITY_NODE => 6 - XML_PI_NODE => 7 - XML_COMMENT_NODE => 8 - XML_DOCUMENT_NODE => 9 - XML_DOCUMENT_TYPE_NODE => 10 - XML_DOCUMENT_FRAG_NODE => 11 - XML_NOTATION_NODE => 12 - XML_HTML_DOCUMENT_NODE => 13 - XML_DTD_NODE => 14 - XML_ELEMENT_DECL => 15 - XML_ATTRIBUTE_DECL => 16 - XML_ENTITY_DECL => 17 - XML_NAMESPACE_DECL => 18 - XML_XINCLUDE_START => 19 - XML_XINCLUDE_END => 20 - - -=item B<:encoding> - -Exports two encoding conversion functions from the (separate) module -XML::LibXML::Common. - - - - encodeToUTF8() - decodeFromUTF8() - - -=item B<:libxml> - -Exports two convenience constants: the implicit namespace of the reserved C<<<<<< xml: >>>>>> prefix, and the implicit namespace for the reserved C<<<<<< xmlns: >>>>>> prefix. - - - - XML_XML_NS => 'http://www.w3.org/XML/1998/namespace' - XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/' - - - -=back - - -=head1 RELATED MODULES - -The modules described in this section are not part of the XML::LibXML package -itself. As they support some additional features, they are mentioned here. - -=over 4 - -=item B<XML::LibXSLT> - -XSLT 1.0 Processor using libxslt and XML::LibXML - - -=item B<XML::LibXML::Common> - -Common functions for XML::LibXML related Classes - - -=item B<XML::LibXML::Iterator> - -XML::LibXML Implementation of the DOM Traversal Specification - - - -=back - - -=head1 XML::LIBXML AND XML::GDOME - -Note: I<<<<<< THE FUNCTIONS DESCRIBED HERE ARE STILL EXPERIMENTAL >>>>>> - -Although both modules make use of libxml2's XML capabilities, the DOM -implementation of both modules are not compatible. But still it is possible to -exchange nodes from one DOM to the other. The concept of this exchange is -pretty similar to the function cloneNode(): The particular node is copied on -the low-level to the opposite DOM implementation. - -Since the DOM implementations cannot coexist within one document, one is forced -to copy each node that should be used. Because you are always keeping two nodes -this may cause quite an impact on a machines memory usage. - -XML::LibXML provides two functions to export or import GDOME nodes: -import_GDOME() and export_GDOME(). Both function have two parameters: the node -and a flag for recursive import. The flag works as in cloneNode(). - -The two functions allow to export and import XML::GDOME nodes explicitly, -however, XML::LibXML allows also the transparent import of XML::GDOME nodes in -functions such as appendChild(), insertAfter() and so on. While native nodes -are automatically adopted in most functions XML::GDOME nodes are always cloned -in advance. Thus if the original node is modified after the operation, the node -in the XML::LibXML document will not have this information. - -=over 4 - -=item B<import_GDOME> - - $libxmlnode = XML::LibXML->import_GDOME( $node, $deep ); - -This clones an XML::GDOME node to a XML::LibXML node explicitly. - - -=item B<export_GDOME> - - $gdomenode = XML::LibXML->export_GDOME( $node, $deep ); - -Allows to clone an XML::LibXML node into a XML::GDOME node. - - - -=back - - -=head1 CONTACTS - -For bug reports, please use the CPAN request tracker on -http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-LibXML - -For suggestions etc., and other issues related to XML::LibXML you may use the -perl XML mailing list (C<<<<<< perl-xml@listserv.ActiveState.com >>>>>>), where most XML-related Perl modules are discussed. In case of problems you -should check the archives of that list first. Many problems are already -discussed there. You can find the list's archives and subscription options at L<<<<<< http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml|http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml >>>>>>. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod deleted file mode 100644 index d20d4234163..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod +++ /dev/null @@ -1,130 +0,0 @@ -=head1 NAME - -XML::LibXML::Attr - XML::LibXML Attribute Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Attribute nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $attr = XML::LibXML::Attr->new($name [,$value]); - $string = $attr->getValue(); - $string = $attr->value; - $attr->setValue( $string ); - $node = $attr->getOwnerElement(); - $attr->setNamespace($nsURI, $prefix); - $bool = $attr->isId; - $string = $attr->serializeContent; - -=head1 DESCRIPTION - -This is the interface to handle Attributes like ordinary nodes. The naming of -the class relies on the W3C DOM documentation. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $attr = XML::LibXML::Attr->new($name [,$value]); - -Class constructor. If you need to work with ISO encoded strings, you should I<<<<<< always >>>>>> use the C<<<<<< createAttrbute >>>>>> of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - -=item B<getValue> - - $string = $attr->getValue(); - -Returns the value stored for the attribute. If undef is returned, the attribute -has no value, which is different of being C<<<<<< not specified >>>>>>. - - -=item B<value> - - $string = $attr->value; - -Alias for I<<<<<< getValue() >>>>>> - - -=item B<setValue> - - $attr->setValue( $string ); - -This is needed to set a new attribute value. If ISO encoded strings are passed -as parameter, the node has to be bound to a document, otherwise the encoding -might be done incorrectly. - - -=item B<getOwnerElement> - - $node = $attr->getOwnerElement(); - -returns the node the attribute belongs to. If the attribute is not bound to a -node, undef will be returned. Overwriting the underlying implementation, the I<<<<<< parentNode >>>>>> function will return undef, instead of the owner element. - - -=item B<setNamespace> - - $attr->setNamespace($nsURI, $prefix); - -This function tries to bound the attribute to a given namespace. If C<<<<<< $nsURI >>>>>> is undefined or empty, the function discards any previous association of the -attribute with a namespace. If the namespace was not previously declared in the -context of the attribute, this function will fail. In this case you may wish to -call setNamespace() on the ownerElement. If the namespace URI is non-empty and -declared in the context of the attribute, but only with a different (non-empty) -prefix, then the attribute is still bound to the namespace but gets a different -prefix than C<<<<<< $prefix >>>>>>. The function also fails if the prefix is empty but the namespace URI is not -(because unprefixed attributes should by definition belong to no namespace). -This function returns 1 on success, 0 otherwise. - - -=item B<isId> - - $bool = $attr->isId; - -Determine whether an attribute is of type ID. For documents with a DTD, this -information is only available if DTD loading/validation has been requested. For -HTML documents parsed with the HTML parser ID detection is done automatically. -In XML documents, all "xml:id" attributes are considered to be of type ID. - - -=item B<serializeContent($docencoding)> - - $string = $attr->serializeContent; - -This function is not part of DOM API. It returns attribute content in the form -in which it serializes into XML, that is with all meta-characters properly -quoted and with raw entity references (except for entities expanded during -parse time). Setting the optional $docencoding flag to 1 enforces document -encoding for the output string (which is then passed to Perl as a byte string). -Otherwise the string is passed to Perl as (UTF-8 encoded) characters. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm deleted file mode 100644 index 23352ffd0cc..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm +++ /dev/null @@ -1,85 +0,0 @@ -# $Id: Boolean.pm 709 2008-01-29 21:01:32Z pajas $ -# Copyright 2001-2002, AxKit.com Ltd. All rights reserved. - -package XML::LibXML::Boolean; -use XML::LibXML::Number; -use XML::LibXML::Literal; -use strict; - -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - '<=>' => \&cmp; - -sub new { - my $class = shift; - my ($param) = @_; - my $val = $param ? 1 : 0; - bless \$val, $class; -} - -sub True { - my $class = shift; - my $val = 1; - bless \$val, $class; -} - -sub False { - my $class = shift; - my $val = 0; - bless \$val, $class; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($other, $swap) = @_; - if ($swap) { - return $other <=> $$self; - } - return $$self <=> $other; -} - -sub to_number { XML::LibXML::Number->new($_[0]->value); } -sub to_boolean { $_[0]; } -sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); } - -sub string_value { return $_[0]->to_literal->value; } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Boolean - Boolean true/false values - -=head1 DESCRIPTION - -XML::LibXML::Boolean objects implement simple boolean true/false objects. - -=head1 API - -=head2 XML::LibXML::Boolean->True - -Creates a new Boolean object with a true value. - -=head2 XML::LibXML::Boolean->False - -Creates a new Boolean object with a false value. - -=head2 value() - -Returns true or false. - -=head2 to_literal() - -Returns the string "true" or "false". - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod deleted file mode 100644 index 3776c2335d7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod +++ /dev/null @@ -1,54 +0,0 @@ -=head1 NAME - -XML::LibXML::CDATASection - XML::LibXML Class for CDATA Sections - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to CDATA nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::CDATASection( $content ); - -=head1 DESCRIPTION - -This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for CDATA nodes. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::CDATASection( $content ); - -The constructor is the only provided function for this package. It is required, -because I<<<<<< libxml2 >>>>>> treats the different text node types slightly differently. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod deleted file mode 100644 index 2e6af2f63ab..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod +++ /dev/null @@ -1,55 +0,0 @@ -=head1 NAME - -XML::LibXML::Comment - XML::LibXML Comment Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Comment nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::Comment( $content ); - -=head1 DESCRIPTION - -This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for comment nodes. This can be done, since only the output of the node -types is different, but not the data structure. :-) - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::Comment( $content ); - -The constructor is the only provided function for this package. It is required, -because I<<<<<< libxml2 >>>>>> treats text nodes and comment nodes slightly differently. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm deleted file mode 100644 index 4c571ad861f..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm +++ /dev/null @@ -1,306 +0,0 @@ -#-------------------------------------------------------------------------# -# $Id: Common.pm,v 1.5 2003/02/27 18:32:59 phish108 Exp $ -#-------------------------------------------------------------------------# -package XML::LibXML::Common; - -#-------------------------------------------------------------------------# -# global blur # -#-------------------------------------------------------------------------# -use strict; - -require Exporter; -require DynaLoader; -use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS); - -@ISA = qw(DynaLoader Exporter); - -$VERSION = '0.13'; - -bootstrap XML::LibXML::Common $VERSION; - -#-------------------------------------------------------------------------# -# export information # -#-------------------------------------------------------------------------# -%EXPORT_TAGS = ( - all => [qw( - ELEMENT_NODE - ATTRIBUTE_NODE - TEXT_NODE - CDATA_SECTION_NODE - ENTITY_REFERENCE_NODE - ENTITY_NODE - PI_NODE - PROCESSING_INSTRUCTION_NODE - COMMENT_NODE - DOCUMENT_NODE - DOCUMENT_TYPE_NODE - DOCUMENT_FRAG_NODE - DOCUMENT_FRAGMENT_NODE - NOTATION_NODE - HTML_DOCUMENT_NODE - DTD_NODE - ELEMENT_DECLARATION - ATTRIBUTE_DECLARATION - ENTITY_DECLARATION - NAMESPACE_DECLARATION - XINCLUDE_END - XINCLUDE_START - encodeToUTF8 - decodeFromUTF8 - )], - w3c => [qw( - ELEMENT_NODE - ATTRIBUTE_NODE - TEXT_NODE - CDATA_SECTION_NODE - ENTITY_REFERENCE_NODE - ENTITY_NODE - PI_NODE - PROCESSING_INSTRUCTION_NODE - COMMENT_NODE - DOCUMENT_NODE - DOCUMENT_TYPE_NODE - DOCUMENT_FRAG_NODE - DOCUMENT_FRAGMENT_NODE - NOTATION_NODE - HTML_DOCUMENT_NODE - DTD_NODE - ELEMENT_DECLARATION - ATTRIBUTE_DECLARATION - ENTITY_DECLARATION - NAMESPACE_DECLARATION - XINCLUDE_END - XINCLUDE_START - )], - libxml => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - )], - gdome => [qw( - GDOME_ELEMENT_NODE - GDOME_ATTRIBUTE_NODE - GDOME_TEXT_NODE - GDOME_CDATA_SECTION_NODE - GDOME_ENTITY_REF_NODE - GDOME_ENTITY_NODE - GDOME_PI_NODE - GDOME_COMMENT_NODE - GDOME_DOCUMENT_NODE - GDOME_DOCUMENT_TYPE_NODE - GDOME_DOCUMENT_FRAG_NODE - GDOME_NOTATION_NODE - GDOME_HTML_DOCUMENT_NODE - GDOME_DTD_NODE - GDOME_ELEMENT_DECL - GDOME_ATTRIBUTE_DECL - GDOME_ENTITY_DECL - GDOME_NAMESPACE_DECL - GDOME_XINCLUDE_END - GDOME_XINCLUDE_START - )], - encoding => [qw( - encodeToUTF8 - decodeFromUTF8 - )], - ); - -@EXPORT_OK = ( - @{$EXPORT_TAGS{encoding}}, - @{$EXPORT_TAGS{w3c}}, - @{$EXPORT_TAGS{libxml}}, - @{$EXPORT_TAGS{gdome}}, - ); - -@EXPORT = ( - @{$EXPORT_TAGS{encoding}}, - @{$EXPORT_TAGS{w3c}}, - ); - -#-------------------------------------------------------------------------# -# W3 conform node types # -#-------------------------------------------------------------------------# -use constant ELEMENT_NODE => 1; -use constant ATTRIBUTE_NODE => 2; -use constant TEXT_NODE => 3; -use constant CDATA_SECTION_NODE => 4; -use constant ENTITY_REFERENCE_NODE => 5; -use constant ENTITY_NODE => 6; -use constant PROCESSING_INSTRUCTION_NODE => 7; -use constant COMMENT_NODE => 8; -use constant DOCUMENT_NODE => 9; -use constant DOCUMENT_TYPE_NODE => 10; -use constant DOCUMENT_FRAGMENT_NODE => 11; -use constant NOTATION_NODE => 12; -use constant HTML_DOCUMENT_NODE => 13; -use constant DTD_NODE => 14; -use constant ELEMENT_DECLARATION => 15; -use constant ATTRIBUTE_DECLARATION => 16; -use constant ENTITY_DECLARATION => 17; -use constant NAMESPACE_DECLARATION => 18; - -#-------------------------------------------------------------------------# -# some extras for the W3 spec -#-------------------------------------------------------------------------# -use constant PI_NODE => 7; -use constant DOCUMENT_FRAG_NODE => 11; -use constant XINCLUDE_END => 19; -use constant XINCLUDE_START => 20; - -#-------------------------------------------------------------------------# -# libxml2 compat names # -#-------------------------------------------------------------------------# -use constant XML_ELEMENT_NODE => 1; -use constant XML_ATTRIBUTE_NODE => 2; -use constant XML_TEXT_NODE => 3; -use constant XML_CDATA_SECTION_NODE => 4; -use constant XML_ENTITY_REF_NODE => 5; -use constant XML_ENTITY_NODE => 6; -use constant XML_PI_NODE => 7; -use constant XML_COMMENT_NODE => 8; -use constant XML_DOCUMENT_NODE => 9; -use constant XML_DOCUMENT_TYPE_NODE => 10; -use constant XML_DOCUMENT_FRAG_NODE => 11; -use constant XML_NOTATION_NODE => 12; -use constant XML_HTML_DOCUMENT_NODE => 13; -use constant XML_DTD_NODE => 14; -use constant XML_ELEMENT_DECL => 15; -use constant XML_ATTRIBUTE_DECL => 16; -use constant XML_ENTITY_DECL => 17; -use constant XML_NAMESPACE_DECL => 18; -use constant XML_XINCLUDE_START => 19; -use constant XML_XINCLUDE_END => 20; - -#-------------------------------------------------------------------------# -# libgdome compat names # -#-------------------------------------------------------------------------# -use constant GDOME_ELEMENT_NODE => 1; -use constant GDOME_ATTRIBUTE_NODE => 2; -use constant GDOME_TEXT_NODE => 3; -use constant GDOME_CDATA_SECTION_NODE => 4; -use constant GDOME_ENTITY_REF_NODE => 5; -use constant GDOME_ENTITY_NODE => 6; -use constant GDOME_PI_NODE => 7; -use constant GDOME_COMMENT_NODE => 8; -use constant GDOME_DOCUMENT_NODE => 9; -use constant GDOME_DOCUMENT_TYPE_NODE => 10; -use constant GDOME_DOCUMENT_FRAG_NODE => 11; -use constant GDOME_NOTATION_NODE => 12; -use constant GDOME_HTML_DOCUMENT_NODE => 13; -use constant GDOME_DTD_NODE => 14; -use constant GDOME_ELEMENT_DECL => 15; -use constant GDOME_ATTRIBUTE_DECL => 16; -use constant GDOME_ENTITY_DECL => 17; -use constant GDOME_NAMESPACE_DECL => 18; -use constant GDOME_XINCLUDE_START => 19; -use constant GDOME_XINCLUDE_END => 20; - -1; -#-------------------------------------------------------------------------# -__END__ - -=head1 NAME - -XML::LibXML::Common - Routines and Constants common for XML::LibXML and XML::GDOME - -=head1 SYNOPSIS - - use XML::LibXML::Common; - -=head1 DESCRIPTION - -XML::LibXML and XML::GDOME share some of the same functionality. This -package should bundle some shared constansts and functions, so both -modules may coexist within the same scripts. - -XML::LibXML::Common defines all node types as constants. While -XML::LibXML and XML::GDOME originally declared their own node type -definitions, one may want to use XML::LibXML::Common in its -compatibility mode: - -=over 4 - -=item * use XML::LibXML::Common qw(:libxml); - -:libxml will use the XML::LibXML Compatibility mode, which defines the -old 'XML_' node-type definitions - -=item * use XML::LibXML::Common qw(:gdome); - -This allows one to use the XML::LibXML Compatibility mode, which -defines the old 'GDOME_' node-type definitions - -=item * use XML::LibXML::Common qw(:w3c); - -This uses the nodetype definition names as specified for DOM. - -=item * use XML::LibXML::Common qw(:encoding); - -This is ment if only the encoding functions of XML::LibXML::Common -should be used. - -=back - -By default the W3 definitions as defined in the DOM specifications and -the encoding functions are exported by XML::LibXML::Common. - -=head2 encoding functions - -To encode or decode a string to or from UTF-8 XML::LibXML::Common exports -two functions, which use the encoding mechanism of the underlaying -implementation. These functions should be used, if external encoding -is required (e.g. for queryfunctions). - -=head2 encodeToUTF8 - - $encodedstring = encodeToUTF8( $name_of_encoding, $sting_to_encode ); - -The function will encode a string from the specified encoding to UTF-8. - -=head2 decodeFromUTF8 - - $decodedstring = decodeFromUTF8($name_of_encoding, $string_to_decode ); - -This Function transforms an UTF-8 encoded string the specified -encoding. While transforms to ISO encodings may cause errors if the -given stirng contains unsupported characters, both functions can -transform to UTF-16 encodings as well. - -Note that both encoding functions report their errors on the standard -error. If an error occours the function will croak(). To catch the -error information it is required to call the encoding function from -within an eval block to avoid a script to stop. - -=head1 AUTHOR - -Christian Glahn, (christian.glahn@uibk.ac.at) Innsbruck University - -=head1 COPYRIGHT - -(c) 2002 Christian Glahn. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl>, L<XML::LibXML>, L<XML::GDOME> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod deleted file mode 100644 index 921a504cf49..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod +++ /dev/null @@ -1,139 +0,0 @@ -=head1 NAME - -XML::LibXML::DOM - XML::LibXML DOM Implementation - - -=head1 DESCRIPTION - -XML::LibXML provides an light-wight interface to I<<<<<< modify >>>>>> a node of the document tree generated by the XML::LibXML parser. This interface -follows as far as possible the DOM Level 3 specification. Additionally to the -specified functions the XML::LibXML supports some functions that are more handy -to use in the perl environment. - -One also has to remember, that XML::LibXML is an interface to libxml2 nodes -which actually reside on the C-Level of XML::LibXML. This means each node is a -reference to a structure different than a perl hash or array. The only way to -access these structure's values is through the DOM interface provided by -XML::LibXML. This also means, that one I<<<<<< can't >>>>>> simply inherit a XML::LibXML node and add new member variables as they were -hash keys. - -The DOM interface of XML::LibXML does not intend to implement a full DOM -interface as it is done by XML::GDOME and used for full featured application. -Moreover, it offers an simple way to build or modify documents that are created -by XML::LibXML's parser. - -Another target of the XML::LibXML interface is to make the interfaces of -libxml2 available to the perl community. This includes also some workarounds to -some features where libxml2 assumes more control over the C-Level that most -perl users don't have. - -One of the most important parts of the XML::LibXML DOM interface is, that the -interfaces try do follow the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>> rather strictly. This means the interface functions are named as the DOM -specification says and not what widespread Java interfaces claim to be -standard. Although there are several functions that have only a singular -interface that conforms to the DOM spec XML::LibXML provides an additional Java -style alias interface. - -Also there are some function interfaces left over from early stages of -XML::LibXML for compatibility reasons. These interfaces are for compatibility -reasons I<<<<<< only >>>>>>. They might disappear in one of the future versions of XML::LibXML, so a user -is requested to switch over to the official functions. - - -=head2 Encodings and XML::LibXML's DOM implementation - -See the section on Encodings in the I<<<<<< XML::LibXML >>>>>> manual page. - - -=head2 Namespaces and XML::LibXML's DOM implementation - -XML::LibXML's DOM implementation is limited by the DOM implementation of -libxml2 which treats namespaces slightly differently than required by the DOM -Level 2 specification. - -According to the DOM Level 2 specification, namespaces of elements and -attributes should be persistent, and nodes should be permanently bound to -namespace URIs as they get created; it should be possible to manipulate the -special attributes used for declaring XML namespaces just as other attributes -without affecting the namespaces of other nodes. In DOM Level 2, the -application is responsible for creating the special attributes consistently -and/or for correct serialization of the document. - -This is both inconvenient, causes problems in serialization of DOM to XML, and -most importantly, seems almost impossible to implement over libxml2. - -In libxml2, namespace URI and prefix of a node is provided by a pointer to a -namespace declaration (appearing as a special xmlns attribute in the XML -document). If the prefix or namespace URI of the declaration changes, the -prefix and namespace URI of all nodes that point to it changes as well. -Moreover, in contrast to DOM, a node (element or attribute) can only be bound -to a namespace URI if there is some namespace declaration in the document to -point to. - -Therefore current DOM implementation in XML::LibXML tries to treat namespace -declarations in a compromise between reason, common sense, limitations of -libxml2, and the DOM Level 2 specification. - -In XML::LibXML, special attributes declaring XML namespaces are often created -automatically, usually when a namespaced node is attached to a document and no -existing declaration of the namespace and prefix is in the scope to be reused. -In this respect, XML::LibXML DOM implementation differs from the DOM Level 2 -specification according to which special attributes for declaring the -appropriate XML namespaces should not be added when a node with a namespace -prefix and namespace URI is created. - -Namespace declarations are also created when L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s createElementNS() or createAttributeNS() function are used. If the a -namespace is not declared on the documentElement, the namespace will be locally -declared for the newly created node. In case of Attributes this may look a bit -confusing, since these nodes cannot have namespace declarations itself. In this -case the namespace is internally applied to the attribute and later declared on -the node the attribute is appended to (if required). - -The following example may explain this a bit: - - - - my $doc = XML::LibXML->createDocument; - my $root = $doc->createElementNS( "", "foo" ); - $doc->setDocumentElement( $root ); - - my $attr = $doc->createAttributeNS( "bar", "bar:foo", "test" ); - $root->setAttributeNodeNS( $attr ); - -This piece of code will result in the following document: - - - - <?xml version="1.0"?> - <foo xmlns:bar="bar" bar:foo="test"/> - -The namespace is declared on the document element during the -setAttributeNodeNS() call. - -Namespaces can be also declared explicitly by the use of XML::LibXML:Element's -setNamespace() function. Since 1.61, they can also be manipulated with -functions setNamespaceDeclPrefix() and setNamespaceDeclURI() (not available in -DOM). Changing an URI or prefix of an existing namespace declaration affects -the namespace URI and prefix of all nodes which point to it (that is the nodes -in its scope). - -It is also important to repeat the specification: While working with namespaces -you should use the namespace aware functions instead of the simplified -versions. For example you should I<<<<<< never >>>>>> use setAttribute() but setAttributeNS(). - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod deleted file mode 100644 index 02c7a0dfe18..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod +++ /dev/null @@ -1,675 +0,0 @@ -=head1 NAME - -XML::LibXML::Document - XML::LibXML DOM Document Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Document nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $dom = XML::LibXML::Document->new( $version, $encoding ); - $dom = XML::LibXML::Document->createDocument( $version, $encoding ); - $strEncoding = $doc->encoding(); - $strEncoding = $doc->actualEncoding(); - $doc->setEncoding($new_encoding); - $strVersion = $doc->version(); - $doc->standalone - $doc->setStandalone($numvalue); - my $compression = $doc->compression; - $doc->setCompression($ziplevel); - $docstring = $dom->toString($format); - $c14nstr = $doc->toStringC14N($comment_flag,$xpath); - $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath); - $str = $doc->serialize($format); - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list); - $state = $doc->toFile($filename, $format); - $state = $doc->toFH($fh, $format); - $str = $document->toStringHTML(); - $str = $document->serialize_html(); - $bool = $dom->is_valid(); - $dom->validate(); - $root = $dom->documentElement(); - $dom->setDocumentElement( $root ); - $element = $dom->createElement( $nodename ); - $element = $dom->createElementNS( $namespaceURI, $qname ); - $text = $dom->createTextNode( $content_text ); - $comment = $dom->createComment( $comment_text ); - $attrnode = $doc->createAttribute($name [,$value]); - $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] ); - $fragment = $doc->createDocumentFragment(); - $cdata = $dom->create( $cdata_content ); - my $pi = $doc->createProcessingInstruction( $target, $data ); - my $entref = $doc->createEntityReference($refname); - $dtd = $document->createInternalSubset( $rootnode, $public, $system); - $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId); - $document->importNode( $node ); - $document->adoptNode( $node ); - my $dtd = $doc->externalSubset; - my $dtd = $doc->internalSubset; - $doc->setExternalSubset($dtd); - $doc->setInternalSubset($dtd); - my $dtd = $doc->removeExternalSubset(); - my $dtd = $doc->removeInternalSubset(); - my @nodelist = $doc->getElementsByTagName($tagname); - my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname); - my @nodelist = $doc->getElementsByLocalName($localname); - my $node = $doc->getElementById($id); - $dom->indexElements(); - -=head1 DESCRIPTION - -The Document Class is in most cases the result of a parsing process. But -sometimes it is necessary to create a Document from scratch. The DOM Document -Class provides functions that conform to the DOM Core naming style. - -It inherits all functions from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> as specified in the DOM specification. This enables access to the nodes besides -the root element on document level - a C<<<<<< DTD >>>>>> for example. The support for these nodes is limited at the moment. - -While generally nodes are bound to a document in the DOM concept it is -suggested that one should always create a node not bound to any document. There -is no need of really including the node to the document, but once the node is -bound to a document, it is quite safe that all strings have the correct -encoding. If an unbound text node with an ISO encoded string is created (e.g. -with $CLASS->new()), the C<<<<<< toString >>>>>> function may not return the expected result. - -To prevent such problems, it is recommended to pass all data to XML::LibXML -methods as character strings (i.e. UTF-8 encoded, with the UTF8 flag on). - - -=head1 METHODS - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $dom = XML::LibXML::Document->new( $version, $encoding ); - -alias for createDocument() - - -=item B<createDocument> - - $dom = XML::LibXML::Document->createDocument( $version, $encoding ); - -The constructor for the document class. As Parameter it takes the version -string and (optionally) the encoding string. Simply calling I<<<<<< createDocument >>>>>>() will create the document: - - - - <?xml version="your version" encoding="your encoding"?> - -Both parameter are optional. The default value for I<<<<<< $version >>>>>> is C<<<<<< 1.0 >>>>>>, of course. If the I<<<<<< $encoding >>>>>> parameter is not set, the encoding will be left unset, which means UTF-8 is -implied. - -The call of I<<<<<< createDocument >>>>>>() without any parameter will result the following code: - - - - <?xml version="1.0"?> - -Alternatively one can call this constructor directly from the XML::LibXML class -level, to avoid some typing. This will not have any effect on the class -instance, which is always XML::LibXML::Document. - - - - my $document = XML::LibXML->createDocument( "1.0", "UTF-8" ); - -is therefore a shortcut for - - - - my $document = XML::LibXML::Document->createDocument( "1.0", "UTF-8" ); - - -=item B<encoding> - - $strEncoding = $doc->encoding(); - -returns the encoding string of the document. - - - - my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" ); - print $doc->encoding; # prints ISO-8859-15 - - -=item B<actualEncoding> - - $strEncoding = $doc->actualEncoding(); - -returns the encoding in which the XML will be returned by $doc->toString(). -This is usually the original encoding of the document as declared in the XML -declaration and returned by $doc->encoding. If the original encoding is not -known (e.g. if created in memory or parsed from a XML without a declared -encoding), 'UTF-8' is returned. - - - - my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" ); - print $doc->encoding; # prints ISO-8859-15 - - -=item B<setEncoding> - - $doc->setEncoding($new_encoding); - -This method allows to change the declaration of encoding in the XML declaration -of the document. The value also affects the encoding in which the document is -serialized to XML by $doc->toString(). Use setEncoding() to remove the encoding -declaration. - - -=item B<version> - - $strVersion = $doc->version(); - -returns the version string of the document - -I<<<<<< getVersion() >>>>>> is an alternative form of this function. - - -=item B<standalone> - - $doc->standalone - -This function returns the Numerical value of a documents XML declarations -standalone attribute. It returns I<<<<<< 1 >>>>>> if standalone="yes" was found, I<<<<<< 0 >>>>>> if standalone="no" was found and I<<<<<< -1 >>>>>> if standalone was not specified (default on creation). - - -=item B<setStandalone> - - $doc->setStandalone($numvalue); - -Through this method it is possible to alter the value of a documents standalone -attribute. Set it to I<<<<<< 1 >>>>>> to set standalone="yes", to I<<<<<< 0 >>>>>> to set standalone="no" or set it to I<<<<<< -1 >>>>>> to remove the standalone attribute from the XML declaration. - - -=item B<compression> - - my $compression = $doc->compression; - -libxml2 allows reading of documents directly from gzipped files. In this case -the compression variable is set to the compression level of that file (0-8). If -XML::LibXML parsed a different source or the file wasn't compressed, the -returned value will be I<<<<<< -1 >>>>>>. - - -=item B<setCompression> - - $doc->setCompression($ziplevel); - -If one intends to write the document directly to a file, it is possible to set -the compression level for a given document. This level can be in the range from -0 to 8. If XML::LibXML should not try to compress use I<<<<<< -1 >>>>>> (default). - -Note that this feature will I<<<<<< only >>>>>> work if libxml2 is compiled with zlib support and toFile() is used for output. - - -=item B<toString> - - $docstring = $dom->toString($format); - -I<<<<<< toString >>>>>> is a DOM serializing function, so the DOM Tree is serialized into a XML string, -ready for output. - -IMPORTANT: unlike toString for other nodes, on document nodes this function -returns the XML as a byte string in the original encoding of the document (see -the actualEncoding() method)! This means you can simply do: - - - - open OUT, $file; - print OUT $doc->toString; - -regardless of the actual encoding of the document. See the section on encodings -in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details. - -The optional I<<<<<< $format >>>>>> parameter sets the indenting of the output. This parameter is expected to be an C<<<<<< integer >>>>>> value, that specifies that indentation should be used. The format parameter can -have three different values if it is used: - -If $format is 0, than the document is dumped as it was originally parsed - -If $format is 1, libxml2 will add ignorable white spaces, so the nodes content -is easier to read. Existing text nodes will not be altered - -If $format is 2 (or higher), libxml2 will act as $format == 1 but it add a -leading and a trailing line break to each text node. - -libxml2 uses a hard-coded indentation of 2 space characters per indentation -level. This value can not be altered on run-time. - - -=item B<toStringC14N> - - $c14nstr = $doc->toStringC14N($comment_flag,$xpath); - -See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - - -=item B<toStringEC14N> - - $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath); - -See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - - -=item B<serialize> - - $str = $doc->serialize($format); - -An alias for toString(). This function was name added to be more consistent -with libxml2. - - -=item B<serialize_c14n> - - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - -An alias for toStringC14N(). - - -=item B<serialize_exc_c14n> - - $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list); - -An alias for toStringEC14N(). - - -=item B<toFile> - - $state = $doc->toFile($filename, $format); - -This function is similar to toString(), but it writes the document directly -into a filesystem. This function is very useful, if one needs to store large -documents. - -The format parameter has the same behaviour as in toString(). - - -=item B<toFH> - - $state = $doc->toFH($fh, $format); - -This function is similar to toString(), but it writes the document directly to -a filehandle or a stream. A byte stream in the document encoding is passed to -the file handle. Do NOT apply any C<<<<<< :encoding(...) >>>>>> or C<<<<<< :utf8 >>>>>> PerlIO layer to the filehandle! See the section on encodings in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details. - -The format parameter has the same behaviour as in toString(). - - -=item B<toStringHTML> - - $str = $document->toStringHTML(); - -I<<<<<< toStringHTML >>>>>> serialize the tree to a byte string in the document encoding as HTML. With this -method indenting is automatic and managed by libxml2 internally. - - -=item B<serialize_html> - - $str = $document->serialize_html(); - -An alias for toStringHTML(). - - -=item B<is_valid> - - $bool = $dom->is_valid(); - -Returns either TRUE or FALSE depending on whether the DOM Tree is a valid -Document or not. - -You may also pass in a L<<<<<< XML::LibXML DTD Handling|XML::LibXML DTD Handling >>>>>> object, to validate against an external DTD: - - - - if (!$dom->is_valid($dtd)) { - warn("document is not valid!"); - } - - -=item B<validate> - - $dom->validate(); - -This is an exception throwing equivalent of is_valid. If the document is not -valid it will throw an exception containing the error. This allows you much -better error reporting than simply is_valid or not. - -Again, you may pass in a DTD object - - -=item B<documentElement> - - $root = $dom->documentElement(); - -Returns the root element of the Document. A document can have just one root -element to contain the documents data. - -Optionally one can use I<<<<<< getDocumentElement >>>>>>. - - -=item B<setDocumentElement> - - $dom->setDocumentElement( $root ); - -This function enables you to set the root element for a document. The function -supports the import of a node from a different document tree. - - -=item B<createElement> - - $element = $dom->createElement( $nodename ); - -This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>>. - - -=item B<createElementNS> - - $element = $dom->createElementNS( $namespaceURI, $qname ); - -This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>> and placed in the given namespace. - - -=item B<createTextNode> - - $text = $dom->createTextNode( $content_text ); - -As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Text Node >>>>>> bound to the DOM. - - -=item B<createComment> - - $comment = $dom->createComment( $comment_text ); - -As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Comment Node >>>>>> bound to the DOM. - - -=item B<createAttribute> - - $attrnode = $doc->createAttribute($name [,$value]); - -Creates a new Attribute node. - - -=item B<createAttributeNS> - - $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] ); - -Creates an Attribute bound to a namespace. - - -=item B<createDocumentFragment> - - $fragment = $doc->createDocumentFragment(); - -This function creates a DocumentFragment. - - -=item B<createCDATASection> - - $cdata = $dom->create( $cdata_content ); - -Similar to createTextNode and createComment, this function creates a -CDataSection bound to the current DOM. - - -=item B<createProcessingInstruction> - - my $pi = $doc->createProcessingInstruction( $target, $data ); - -create a processing instruction node. - -Since this method is quite long one may use its short form I<<<<<< createPI() >>>>>>. - - -=item B<createEntityReference> - - my $entref = $doc->createEntityReference($refname); - -If a document has a DTD specified, one can create entity references by using -this function. If one wants to add a entity reference to the document, this -reference has to be created by this function. - -An entity reference is unique to a document and cannot be passed to other -documents as other nodes can be passed. - -I<<<<<< NOTE: >>>>>> A text content containing something that looks like an entity reference, will -not be expanded to a real entity reference unless it is a predefined entity - - - - my $string = "&foo;"; - $some_element->appendText( $string ); - print $some_element->textContent; # prints "&foo;" - - -=item B<createInternalSubset> - - $dtd = $document->createInternalSubset( $rootnode, $public, $system); - -This function creates and adds an internal subset to the given document. -Because the function automatically adds the DTD to the document there is no -need to add the created node explicitly to the document. - - - - my $document = XML::LibXML::Document->new(); - my $dtd = $document->createInternalSubset( "foo", undef, "foo.dtd" ); - -will result in the following XML document: - - - - <?xml version="1.0"?> - <!DOCTYPE foo SYSTEM "foo.dtd"> - -By setting the public parameter it is possible to set PUBLIC DTDs to a given -document. So - - - - my $document = XML::LibXML::Document->new(); - my $dtd = $document->createInternalSubset( "foo", "-//FOO//DTD FOO 0.1//EN", undef ); - -will cause the following declaration to be created on the document: - - - - <?xml version="1.0"?> - <!DOCTYPE foo PUBLIC "-//FOO//DTD FOO 0.1//EN"> - - -=item B<createExternalSubset> - - $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId); - -This function is similar to C<<<<<< createInternalSubset() >>>>>> but this DTD is considered to be external and is therefore not added to the -document itself. Nevertheless it can be used for validation purposes. - - -=item B<importNode> - - $document->importNode( $node ); - -If a node is not part of a document, it can be imported to another document. As -specified in DOM Level 2 Specification the Node will not be altered or removed -from its original document (C<<<<<< $node->cloneNode(1) >>>>>> will get called implicitly). - -I<<<<<< NOTE: >>>>>> Don't try to use importNode() to import sub-trees that contain an entity -reference - even if the entity reference is the root node of the sub-tree. This -will cause serious problems to your program. This is a limitation of libxml2 -and not of XML::LibXML itself. - - -=item B<adoptNode> - - $document->adoptNode( $node ); - -If a node is not part of a document, it can be imported to another document. As -specified in DOM Level 3 Specification the Node will not be altered but it will -removed from its original document. - -After a document adopted a node, the node, its attributes and all its -descendants belong to the new document. Because the node does not belong to the -old document, it will be unlinked from its old location first. - -I<<<<<< NOTE: >>>>>> Don't try to adoptNode() to import sub-trees that contain entity references - -even if the entity reference is the root node of the sub-tree. This will cause -serious problems to your program. This is a limitation of libxml2 and not of -XML::LibXML itself. - - -=item B<externalSubset> - - my $dtd = $doc->externalSubset; - -If a document has an external subset defined it will be returned by this -function. - -I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in -XML::LibXML is still limited. In particular one may not want use common node -function on doctype declaration nodes! - - -=item B<internalSubset> - - my $dtd = $doc->internalSubset; - -If a document has an internal subset defined it will be returned by this -function. - -I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in -XML::LibXML is still limited. In particular one may not want use common node -function on doctype declaration nodes! - - -=item B<setExternalSubset> - - $doc->setExternalSubset($dtd); - -I<<<<<< EXPERIMENTAL! >>>>>> - -This method sets a DTD node as an external subset of the given document. - - -=item B<setInternalSubset> - - $doc->setInternalSubset($dtd); - -I<<<<<< EXPERIMENTAL! >>>>>> - -This method sets a DTD node as an internal subset of the given document. - - -=item B<removeExternalSubset> - - my $dtd = $doc->removeExternalSubset(); - -I<<<<<< EXPERIMENTAL! >>>>>> - -If a document has an external subset defined it can be removed from the -document by using this function. The removed dtd node will be returned. - - -=item B<removeInternalSubset> - - my $dtd = $doc->removeInternalSubset(); - -I<<<<<< EXPERIMENTAL! >>>>>> - -If a document has an internal subset defined it can be removed from the -document by using this function. The removed dtd node will be returned. - - -=item B<getElementsByTagName> - - my @nodelist = $doc->getElementsByTagName($tagname); - -Implements the DOM Level 2 function - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByTagNameNS> - - my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname); - -Implements the DOM Level 2 function - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByLocalName> - - my @nodelist = $doc->getElementsByLocalName($localname); - -This allows the fetching of all nodes from a given document with the given -Localname. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementById> - - my $node = $doc->getElementById($id); - -Returns the element that has an ID attribute with the given value. If no such -element exists, this returns undef. - -Note: the ID of an element may change while manipulating the document. For -documents with a DTD, the information about ID attributes is only available if -DTD loading/validation has been requested. For HTML documents parsed with the -HTML parser ID detection is done automatically. In XML documents, all "xml:id" -attributes are considered to be of type ID. You can test ID-ness of an -attribute node with $attr->isId(). - -In versions 1.59 and earlier this method was called getElementsById() (plural) -by mistake. Starting from 1.60 this name is maintained as an alias only for -backward compatibility. - - -=item B<indexElements> - - $dom->indexElements(); - -This function causes libxml2 to stamp all elements in a document with their -document position index which considerably speeds up XPath queries for large -documents. It should only be used with static documents that won't be further -changed by any DOM methods, because once a document is indexed, XPath will -always prefer the index to other methods of determining the document order of -nodes. XPath could therefore return improperly ordered node-lists when applied -on a document that has been changed after being indexed. It is of course -possible to use this method to re-index a modified document before using it -with XPath again. This function is not a part of the DOM specification. - -This function returns number of elements indexed, -1 if error occurred, or -2 -if this feature is not available in the running libxml2. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod deleted file mode 100644 index f7498005857..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod +++ /dev/null @@ -1,36 +0,0 @@ -=head1 NAME - -XML::LibXML::DocumentFragment - XML::LibXML's DOM L2 Document Fragment Implementation - -=head1 SYNOPSIS - - - - use XML::LibXML; - - -=head1 DESCRIPTION - -This class is a helper class as described in the DOM Level 2 Specification. It -is implemented as a node without name. All adding, inserting or replacing -functions are aware of document fragments now. - -As well I<<<<<< all >>>>>> unbound nodes (all nodes that do not belong to any document sub-tree) are -implicit members of document fragments. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod deleted file mode 100644 index dc908030765..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod +++ /dev/null @@ -1,98 +0,0 @@ -=head1 NAME - -XML::LibXML::Dtd - XML::LibXML DTD Handling - -=head1 SYNOPSIS - - - - use XML::LibXML; - - $dtd = XML::LibXML::Dtd->new($public_id, $system_id); - $dtd = XML::LibXML::Dtd->parse_string($dtd_str); - $publicId = $dtd->getName(); - $publicId = $dtd->publicId(); - $systemId = $dtd->systemId(); - -=head1 DESCRIPTION - -This class holds a DTD. You may parse a DTD from either a string, or from an -external SYSTEM identifier. - -No support is available as yet for parsing from a filehandle. - -XML::LibXML::Dtd is a sub-class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, so all the methods available to nodes (particularly toString()) are available -to Dtd objects. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $dtd = XML::LibXML::Dtd->new($public_id, $system_id); - -Parse a DTD from the system identifier, and return a DTD object that you can -pass to $doc->is_valid() or $doc->validate(). - - - - my $dtd = XML::LibXML::Dtd->new( - "SOME // Public / ID / 1.0", - "test.dtd" - ); - my $doc = XML::LibXML->new->parse_file("test.xml"); - $doc->validate($dtd); - - -=item B<parse_string> - - $dtd = XML::LibXML::Dtd->parse_string($dtd_str); - -The same as new() above, except you can parse a DTD from a string. Note that -parsing from string may fail if the DTD contains external parametric-entity -references with relative URLs. - - -=item B<getName> - - $publicId = $dtd->getName(); - -Returns the name of DTD; i.e., the name immediately following the DOCTYPE -keyword. - - -=item B<publicId> - - $publicId = $dtd->publicId(); - -Returns the public identifier of the external subset. - - -=item B<systemId> - - $systemId = $dtd->systemId(); - -Returns the system identifier of the external subset. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod deleted file mode 100644 index 40e06e97648..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod +++ /dev/null @@ -1,380 +0,0 @@ -=head1 NAME - -XML::LibXML::Element - XML::LibXML Class for Element Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Element nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::Element->new( $name ); - $node->setAttribute( $aname, $avalue ); - $node->setAttributeNS( $nsURI, $aname, $avalue ); - $avalue = $node->getAttribute( $aname ); - $avalue = $node->setAttributeNS( $nsURI, $aname ); - $attrnode = $node->getAttributeNode( $aname ); - $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname ); - $node->removeAttribute( $aname ); - $node->removeAttributeNS( $nsURI, $aname ); - $boolean = $node->hasAttribute( $aname ); - $boolean = $node->hasAttributeNS( $nsURI, $aname ); - @nodes = $node->getChildrenByTagName($tagname); - @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname); - @nodes = $node->getChildrenByLocalName($localname); - @nodes = $node->getElementsByTagName($tagname); - @nodes = $node->getElementsByTagNameNS($nsURI,$localname); - @nodes = $node->getElementsByLocalName($localname); - $node->appendWellBalancedChunk( $chunk ); - $node->appendText( $PCDATA ); - $node->appendTextNode( $PCDATA ); - $node->appendTextChild( $childname , $PCDATA ); - $node->setNamespace( $nsURI , $nsPrefix, $activate ); - $node->setNamespaceDeclURI( $nsPrefix, $newURI ); - $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix ); - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::Element->new( $name ); - -This function creates a new node unbound to any DOM. - - -=item B<setAttribute> - - $node->setAttribute( $aname, $avalue ); - -This method sets or replaces the node's attribute C<<<<<< $aname >>>>>> to the value C<<<<<< $avalue >>>>>> - - -=item B<setAttributeNS> - - $node->setAttributeNS( $nsURI, $aname, $avalue ); - -Namespace-aware version of C<<<<<< setAttribute >>>>>>, where C<<<<<< $nsURI >>>>>> is a namespace URI, C<<<<<< $aname >>>>>> is a qualified name, and C<<<<<< $avalue >>>>>> is the value. The namespace URI may be null (empty or undefined) in order to -create an attribute which has no namespace. - -The current implementation differs from DOM in the following aspects - -If an attribute with the same local name and namespace URI already exists on -the element, but its prefix differs from the prefix of C<<<<<< $aname >>>>>>, then this function is supposed to change the prefix (regardless of namespace -declarations and possible collisions). However, the current implementation does -rather the opposite. If a prefix is declared for the namespace URI in the scope -of the attribute, then the already declared prefix is used, disregarding the -prefix specified in C<<<<<< $aname >>>>>>. If no prefix is declared for the namespace, the function tries to declare the -prefix specified in C<<<<<< $aname >>>>>> and dies if the prefix is already taken by some other namespace. - -According to DOM Level 2 specification, this method can also be used to create -or modify special attributes used for declaring XML namespaces (which belong to -the namespace "http://www.w3.org/2000/xmlns/" and have prefix or name "xmlns"). -This should work since version 1.61, but again the implementation differs from -DOM specification in the following: if a declaration of the same namespace -prefix already exists on the element, then changing its value via this method -automatically changes the namespace of all elements and attributes in its -scope. This is because in libxml2 the namespace URI of an element is not static -but is computed from a pointer to a namespace declaration attribute. - - -=item B<getAttribute> - - $avalue = $node->getAttribute( $aname ); - -If C<<<<<< $node >>>>>> has an attribute with the name C<<<<<< $aname >>>>>>, the value of this attribute will get returned. - - -=item B<getAttributeNS> - - $avalue = $node->setAttributeNS( $nsURI, $aname ); - -Retrieves an attribute value by local name and namespace URI. - - -=item B<getAttributeNode> - - $attrnode = $node->getAttributeNode( $aname ); - -Retrieve an attribute node by name. If no attribute with a given name exists, C<<<<<< undef >>>>>> is returned. - - -=item B<getAttributeNodeNS> - - $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname ); - -Retrieves an attribute node by local name and namespace URI. If no attribute -with a given localname and namespace exists, C<<<<<< undef >>>>>> is returned. - - -=item B<removeAttribute> - - $node->removeAttribute( $aname ); - -The method removes the attribute C<<<<<< $aname >>>>>> from the node's attribute list, if the attribute can be found. - - -=item B<removeAttributeNS> - - $node->removeAttributeNS( $nsURI, $aname ); - -Namespace version of C<<<<<< removeAttribute >>>>>> - - -=item B<hasAttribute> - - $boolean = $node->hasAttribute( $aname ); - -This function tests if the named attribute is set for the node. If the -attribute is specified, TRUE (1) will be returned, otherwise the return value -is FALSE (0). - - -=item B<hasAttributeNS> - - $boolean = $node->hasAttributeNS( $nsURI, $aname ); - -namespace version of C<<<<<< hasAttribute >>>>>> - - -=item B<getChildrenByTagName> - - @nodes = $node->getChildrenByTagName($tagname); - -The function gives direct access to all child elements of the current node with -a given tagname, where tagname is a qualified name, that is, in case of -namespace usage it may consist of a prefix and local name. This function makes -things a lot easier if one needs to handle big data sets. A special tagname '*' -can be used to match any name. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getChildrenByTagNameNS> - - @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname); - -Namespace version of C<<<<<< getChildrenByTagName >>>>>>. A special nsURI '*' matches any namespace URI, in which case the function -behaves just like C<<<<<< getChildrenByLocalName >>>>>>. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getChildrenByLocalName> - - @nodes = $node->getChildrenByLocalName($localname); - -The function gives direct access to all child elements of the current node with -a given local name. It makes things a lot easier if one needs to handle big -data sets. A special C<<<<<< localname >>>>>> '*' can be used to match any local name. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getElementsByTagName> - - @nodes = $node->getElementsByTagName($tagname); - -This function is part of the spec. It fetches all descendants of a node with a -given tagname, where C<<<<<< tagname >>>>>> is a qualified name, that is, in case of namespace usage it may consist of a -prefix and local name. A special C<<<<<< tagname >>>>>> '*' can be used to match any tag name. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByTagNameNS> - - @nodes = $node->getElementsByTagNameNS($nsURI,$localname); - -Namespace version of C<<<<<< getElementsByTagName >>>>>> as found in the DOM spec. A special C<<<<<< localname >>>>>> '*' can be used to match any local name and C<<<<<< nsURI >>>>>> '*' can be used to match any namespace URI. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByLocalName> - - @nodes = $node->getElementsByLocalName($localname); - -This function is not found in the DOM specification. It is a mix of -getElementsByTagName and getElementsByTagNameNS. It will fetch all tags -matching the given local-name. This allows one to select tags with the same -local name across namespace borders. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<appendWellBalancedChunk> - - $node->appendWellBalancedChunk( $chunk ); - -Sometimes it is necessary to append a string coded XML Tree to a node. I<<<<<< appendWellBalancedChunk >>>>>> will do the trick for you. But this is only done if the String is C<<<<<< well-balanced >>>>>>. - -I<<<<<< Note that appendWellBalancedChunk() is only left for compatibility reasons >>>>>>. Implicitly it uses - - - - my $fragment = $parser->parse_xml_chunk( $chunk ); - $node->appendChild( $fragment ); - -This form is more explicit and makes it easier to control the flow of a script. - - -=item B<appendText> - - $node->appendText( $PCDATA ); - -alias for appendTextNode(). - - -=item B<appendTextNode> - - $node->appendTextNode( $PCDATA ); - -This wrapper function lets you add a string directly to an element node. - - -=item B<appendTextChild> - - $node->appendTextChild( $childname , $PCDATA ); - -Somewhat similar with C<<<<<< appendTextNode >>>>>>: It lets you set an Element, that contains only a C<<<<<< text node >>>>>> directly by specifying the name and the text content. - - -=item B<setNamespace> - - $node->setNamespace( $nsURI , $nsPrefix, $activate ); - -setNamespace() allows one to apply a namespace to an element. The function -takes three parameters: 1. the namespace URI, which is required and the two -optional values prefix, which is the namespace prefix, as it should be used in -child elements or attributes as well as the additional activate parameter. If -prefix is not given, undefined or empty, this function tries to create a -declaration of the default namespace. - -The activate parameter is most useful: If this parameter is set to FALSE (0), a -new namespace declaration is simply added to the element while the element's -namespace itself is not altered. Nevertheless, activate is set to TRUE (1) on -default. In this case the namespace is used as the node's effective namespace. -This means the namespace prefix is added to the node name and if there was a -namespace already active for the node, it will be replaced (but its declaration -is not removed from the document). A new namespace declaration is only created -if necessary (that is, if the element is already in the scope of a namespace -declaration associating the prefix with the namespace URI, then this -declaration is reused). - -The following example may clarify this: - - - - my $e1 = $doc->createElement("bar"); - $e1->setNamespace("http://foobar.org", "foo") - -results - - - - <foo:bar xmlns:foo="http://foobar.org"/> - -while - - - - my $e2 = $doc->createElement("bar"); - $e2->setNamespace("http://foobar.org", "foo",0) - -results only - - - - <bar xmlns:foo="http://foobar.org"/> - -By using $activate == 0 it is possible to create multiple namespace -declarations on a single element. - -The function fails if it is required to create a declaration associating the -prefix with the namespace URI but the element already carries a declaration -with the same prefix but different namespace URI. - - -=item B<setNamespaceDeclURI> - - $node->setNamespaceDeclURI( $nsPrefix, $newURI ); - -EXPERIMENTAL IN 1.61 ! - -This function manipulates directly with an existing namespace declaration on an -element. It takes two parameters: the prefix by which it looks up the namespace -declaration and a new namespace URI which replaces its previous value. - -It returns 1 if the namespace declaration was found and changed, 0 otherwise. - -All elements and attributes (even those previously unbound from the document) -for which the namespace declaration determines their namespace belong to the -new namespace after the change. - -If the new URI is undef or empty, the nodes have no namespace and no prefix -after the change. Namespace declarations once nulled in this way do not further -appear in the serialized output (but do remain in the document for internal -integrity of libxml2 data structures). - -This function is NOT part of any DOM API. - - -=item B<setNamespaceDeclPrefix> - - $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix ); - -EXPERIMENTAL IN 1.61 ! - -This function manipulates directly with an existing namespace declaration on an -element. It takes two parameters: the old prefix by which it looks up the -namespace declaration and a new prefix which is to replace the old one. - -The function dies with an error if the element is in the scope of another -declaration whose prefix equals to the new prefix, or if the change should -result in a declaration with a non-empty prefix but empty namespace URI. -Otherwise, it returns 1 if the namespace declaration was found and changed and -0 if not found. - -All elements and attributes (even those previously unbound from the document) -for which the namespace declaration determines their namespace change their -prefix to the new value. - -If the new prefix is undef or empty, the namespace declaration becomes a -declaration of a default namespace. The corresponding nodes drop their -namespace prefix (but remain in the, now default, namespace). In this case the -function fails, if the containing element is in the scope of another default -namespace declaration. - -This function is NOT part of any DOM API. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod deleted file mode 100644 index 113b8f53d28..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod +++ /dev/null @@ -1,288 +0,0 @@ -=head1 NAME - -XML::LibXML::InputCallback - XML::LibXML Class for Input Callbacks - -=head1 SYNOPSIS - - - - use XML::LibXML; - - -=head1 DESCRIPTION - -You may get unexpected results if you are trying to load external documents -during libxml2 parsing if the location of the resource is not a HTTP, FTP or -relative location but a absolute path for example. To get around this -limitation, you may add your own input handler to open, read and close -particular types of locations or URI classes. Using this input callback -handlers, you can handle your own custom URI schemes for example. - -The input callbacks are used whenever LibXML has to get something other than -externally parsed entities from somewhere. They are implemented using a -callback stack on the Perl layer in analogy to libxml2's native callback stack. - -The XML::LibXML::InputCallback class transparently registers the input -callbacks for the libxml2's parser processes. - - -=head2 How does XML::LibXML::InputCallback work? - -The libxml2 library offers a callback implementation as global functions only. -To work-around the troubles resulting in having only global callbacks - for -example, if the same global callback stack is manipulated by different -applications running together in a single Apache Web-server environment -, -XML::LibXML::InputCallback comes with a object-oriented and a function-oriented -part. - -Using the function-oriented part the global callback stack of libxml2 can be -manipulated. Those functions can be used as interface to the callbacks on the -C- and XS Layer. At the object-oriented part, operations for working with the -"pseudo-localized" callback stack are implemented. Currently, you can register -and de-register callbacks on the Perl layer and initialize them on a per parser -basis. - - -=head3 Callback Groups - -The libxml2 input callbacks come in groups. One group contains a URI matcher (I<<<<<< match >>>>>>), a data stream constructor (I<<<<<< open >>>>>>), a data stream reader (I<<<<<< read >>>>>>), and a data stream destructor (I<<<<<< close >>>>>>). The callbacks can be manipulated on a per group basis only. - - -=head3 The Parser Process - -The parser process work on a XML data stream, along which, links to other -resources can be embedded. This can be links to external DTDs or XIncludes for -example. Those resources are identified by URIs. The callback implementation of -libxml2 assumes that one callback group can handle a certain amount of URIs and -a certain URI scheme. Per default, callback handlers for I<<<<<< file://* >>>>>>, I<<<<<< file:://*.gz >>>>>>, I<<<<<< http://* >>>>>> and I<<<<<< ftp://* >>>>>> are registered. - -Callback groups in the callback stack are processed from top to bottom, meaning -that callback groups registered later will be processed before the earlier -registered ones. - -While parsing the data stream, the libxml2 parser checks if a registered -callback group will handle a URI - if they will not, the URI will be -interpreted as I<<<<<< file://URI >>>>>>. To handle a URI, the I<<<<<< match >>>>>> callback will have to return '1'. If that happens, the handling of the URI will -be passed to that callback group. Next, the URI will be passed to the I<<<<<< open >>>>>> callback, which should return a I<<<<<< reference >>>>>> to the data stream if it successfully opened the file, '0' otherwise. If -opening the stream was successful, the I<<<<<< read >>>>>> callback will be called repeatedly until it returns an empty string. After the -read callback, the I<<<<<< close >>>>>> callback will be called to close the stream. - - -=head3 Organisation of callback groups in XML::LibXML::InputCallback - -Callback groups are implemented as a stack (Array), each entry holds a -reference to an array of the callbacks. For the libxml2 library, the -XML::LibXML::InputCallback callback implementation appears as one single -callback group. The Perl implementation however allows to manage different -callback stacks on a per libxml2-parser basis. - - -=head2 Using XML::LibXML::InputCallback - -After object instantiation using the parameter-less constructor, you can -register callback groups. - - - - my $input_callbacks = XML::LibXML::InputCallback->new(); - $input_callbacks->register_callbacks([ $match_cb1, $open_cb1, - $read_cb1, $close_cb1 ] ); - $input_callbacks->register_callbacks([ $match_cb2, $open_cb2, - $read_cb2, $close_cb2 ] ); - $input_callbacks->register_callbacks( [ $match_cb3, $open_cb3, - $read_cb3, $close_cb3 ] ); - - $parser->input_callbacks( $input_callbacks ); - $parser->parse_file( $some_xml_file ); - - -=head2 What about the old callback system prior to XML::LibXML::InputCallback? - -In XML::LibXML versions prior to 1.59 - i.e. without the -XML::LibXML::InputCallback module - you could define your callbacks either -using globally or locally. You still can do that using -XML::LibXML::InputCallback, and in addition to that you can define the -callbacks on a per parser basis! - -If you use the old callback interface through global callbacks, -XML::LibXML::InputCallback will treat them with a lower priority as the ones -registered using the new interface. The global callbacks will not override the -callback groups registered using the new interface. Local callbacks are -attached to a specific parser instance, therefore they are treated with highest -priority. If the I<<<<<< match >>>>>> callback of the callback group registered as local variable is identical to one -of the callback groups registered using the new interface, that callback group -will be replaced. - -Users of the old callback implementation whose I<<<<<< open >>>>>> callback returned a plain string, will have to adapt their code to return a -reference to that string after upgrading to version >= 1.59. The new callback -system can only deal with the I<<<<<< open >>>>>> callback returning a reference! - - -=head1 INTERFACE DESCRIPTION - - -=head2 Global Variables - -=over 4 - -=item B<$_CUR_CB> - -Stores the current callback and can be used as shortcut to access the callback -stack. - - -=item B<@_GLOBAL_CALLBACKS> - -Stores all callback groups for the current parser process. - - -=item B<@_CB_STACK> - -Stores the currently used callback group. Used to prevent parser errors when -dealing with nested XML data. - - - -=back - - -=head2 Global Callbacks - -=over 4 - -=item B<_callback_match> - -Implements the interface for the I<<<<<< match >>>>>> callback at C-level and for the selection of the callback group from the -callbacks defined at the Perl-level. - - -=item B<_callback_open> - -Forwards the I<<<<<< open >>>>>> callback from libxml2 to the corresponding callback function at the Perl-level. - - -=item B<_callback_read> - -Forwards the read request to the corresponding callback function at the -Perl-level and returns the result to libxml2. - - -=item B<_callback_close> - -Forwards the I<<<<<< close >>>>>> callback from libxml2 to the corresponding callback function at the -Perl-level.. - - - -=back - - -=head2 Class methods - -=over 4 - -=item B<new()> - -A simple constructor. - - -=item B<register_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])> - -The four callbacks I<<<<<< have >>>>>> to be given as array reference in the above order I<<<<<< match >>>>>>, I<<<<<< open >>>>>>, I<<<<<< read >>>>>>, I<<<<<< close >>>>>>! - - -=item B<unregister_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])> - -With no arguments given, C<<<<<< unregister_callbacks() >>>>>> will delete the last registered callback group from the stack. If four -callbacks are passed as array reference, the callback group to unregister will -be identified by the I<<<<<< match >>>>>> callback and deleted from the callback stack. Note that if several identical I<<<<<< match >>>>>> callbacks are defined in different callback groups, ALL of them will be deleted -from the stack. - - -=item B<init_callbacks()> - -Initializes the callback system before a parsing process. - - -=item B<cleanup_callbacks()> - -Resets global variables and the libxml2 callback stack. - - -=item B<lib_init_callbacks()> - -Used internally for callback registration at C-level. - - -=item B<lib_cleanup_callbacks()> - -Used internally for callback resetting at the C-level. - - - -=back - - - - -=head1 EXAMPLE CALLBACKS - -The following example is a purely fictitious example that uses a -MyScheme::Handler object that responds to methods similar to an IO::Handle. - - - - # Define the four callback functions - sub match_uri { - my $uri = shift; - return $uri =~ /^myscheme:/; # trigger our callback group at a 'myscheme' URIs - } - - sub open_uri { - my $uri = shift; - my $handler = MyScheme::Handler->new($uri); - return $handler; - } - - # The returned $buffer will be parsed by the libxml2 parser - sub read_uri { - my $handler = shift; - my $length = shift; - my $buffer; - read($handler, $buffer, $length); - return $buffer; # $buffer will be an empty string '' if read() is done - } - - # Close the handle associated with the resource. - sub close_uri { - my $handler = shift; - close($handler); - } - - # Register them with a instance of XML::LibXML::InputCallback - my $input_callbacks = XML::LibXML::InputCallback->new(); - $input_callbacks->register_callbacks([ \&match_uri, \&open_uri, - \&read_uri, \&close_uri ] ); - - # Register the callback group at a parser instance - $parser->input_callbacks( $input_callbacks ); - - # $some_xml_file will be parsed using our callbacks - $parser->parse_file( $some_xml_file ); - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm deleted file mode 100644 index 21af2b7d86c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm +++ /dev/null @@ -1,102 +0,0 @@ -# $Id: Literal.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::Literal; -use XML::LibXML::Boolean; -use XML::LibXML::Number; -use strict; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - 'cmp' => \&cmp; - -sub new { - my $class = shift; - my ($string) = @_; - -# $string =~ s/"/"/g; -# $string =~ s/'/'/g; - - bless \$string, $class; -} - -sub as_string { - my $self = shift; - my $string = $$self; - $string =~ s/'/'/g; - return "'$string'"; -} - -sub as_xml { - my $self = shift; - my $string = $$self; - return "<Literal>$string</Literal>\n"; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($cmp, $swap) = @_; - if ($swap) { - return $cmp cmp $$self; - } - return $$self cmp $cmp; -} - -sub evaluate { - my $self = shift; - $self; -} - -sub to_boolean { - my $self = shift; - return (length($$self) > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -sub to_number { return XML::LibXML::Number->new($_[0]->value); } -sub to_literal { return $_[0]; } - -sub string_value { return $_[0]->value; } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Literal - Simple string values. - -=head1 DESCRIPTION - -In XPath terms a Literal is what we know as a string. - -=head1 API - -=head2 new($string) - -Create a new Literal object with the value in $string. Note that " and -' will be converted to " and ' respectively. That is not part of the XPath -specification, but I consider it useful. Note though that you have to go -to extraordinary lengths in an XML template file (be it XSLT or whatever) to -make use of this: - - <xsl:value-of select=""I'm feeling &quot;sad&quot;""/> - -Which produces a Literal of: - - I'm feeling "sad" - -=head2 value() - -Also overloaded as stringification, simply returns the literal string value. - -=head2 cmp($literal) - -Returns the equivalent of perl's cmp operator against the given $literal. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod deleted file mode 100644 index 3fe6b5f07a6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod +++ /dev/null @@ -1,139 +0,0 @@ -=head1 NAME - -XML::LibXML::Namespace - XML::LibXML Namespace Implementation - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Namespace nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - my $ns = XML::LibXML::Namespace->new($nsURI); - print $ns->nodeName(); - print $ns->name(); - $localname = $ns->getLocalName(); - print $ns->getData(); - print $ns->getValue(); - print $ns->value(); - $known_uri = $ns->getNamespaceURI(); - $known_prefix = $ns->getPrefix(); - -=head1 DESCRIPTION - -Namespace nodes are returned by both $element->findnodes('namespace::foo') or -by $node->getNamespaces(). - -The namespace node API is not part of any current DOM API, and so it is quite -minimal. It should be noted that namespace nodes are I<<<<<< not >>>>>> a sub class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, however Namespace nodes act a lot like attribute nodes, and similarly named -methods will return what you would expect if you treated the namespace node as -an attribute. Note that in order to fix several inconsistencies between the API -and the documentation, the behavior of some functions have been changed in -1.64. - - -=head1 METHODS - -=over 4 - -=item B<new> - - my $ns = XML::LibXML::Namespace->new($nsURI); - -Creates a new Namespace node. Note that this is not a 'node' as an attribute or -an element node. Therefore you can't do call all L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> Functions. All functions available for this node are listed below. - -Optionally you can pass the prefix to the namespace constructor. If this second -parameter is omitted you will create a so called default namespace. Note, the -newly created namespace is not bound to any document or node, therefore you -should not expect it to be available in an existing document. - - -=item B<declaredURI> - -Returns the URI for this namespace. - - -=item B<declaredPrefix> - -Returns the prefix for this namespace. - - -=item B<nodeName> - - print $ns->nodeName(); - -Returns "xmlns:prefix", where prefix is the prefix for this namespace. - - -=item B<name> - - print $ns->name(); - -Alias for nodeName() - - -=item B<getLocalName> - - $localname = $ns->getLocalName(); - -Returns the local name of this node as if it were an attribute, that is, the -prefix associated with the namespace. - - -=item B<getData> - - print $ns->getData(); - -Returns the URI of the namespace, i.e. the value of this node as if it were an -attribute. - - -=item B<getValue> - - print $ns->getValue(); - -Alias for getData() - - -=item B<value> - - print $ns->value(); - -Alias for getData() - - -=item B<getNamespaceURI> - - $known_uri = $ns->getNamespaceURI(); - -Returns the string "http://www.w3.org/2000/xmlns/" - - -=item B<getPrefix> - - $known_prefix = $ns->getPrefix(); - -Returns the string "xmlns" - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod deleted file mode 100644 index 6da553ec6b3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod +++ /dev/null @@ -1,661 +0,0 @@ -=head1 NAME - -XML::LibXML::Node - Abstract Base Class of XML::LibXML Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - - $name = $node->nodeName; - $node->setNodeName( $newName ); - $bool = $node->isSameNode( $other_node ); - $bool = $node->isEqual( $other_node ); - $content = $node->nodeValue; - $content = $node->textContent; - $type = $node->nodeType; - $node->unbindNode(); - $childnode = $node->removeChild( $childnode ); - $oldnode = $node->replaceChild( $newNode, $oldNode ); - $node->replaceNode($newNode); - $childnode = $node->appendChild( $childnode ); - $childnode = $node->addChild( $chilnode ); - $node = $parent->addNewChild( $nsURI, $name ); - $node->addSibling($newNode); - $newnode =$node->cloneNode( $deep ); - $parentnode = $node->parentNode; - $nextnode = $node->nextSibling(); - $prevnode = $node->previousSibling(); - $boolean = $node->hasChildNodes(); - $childnode = $node->firstChild; - $childnode = $node->lastChild; - $documentnode = $node->ownerDocument; - $node = $node->getOwner; - $node->setOwnerDocument( $doc ); - $node->insertBefore( $newNode, $refNode ); - $node->insertAfter( $newNode, $refNode ); - @nodes = $node->findnodes( $xpath_expression ); - $result = $node->find( $xpath ); - print $node->findvalue( $xpath ); - @childnodes = $node->childNodes; - $xmlstring = $node->toString($format,$docencoding); - $c14nstring = $node->toStringC14N($with_comments, $xpath_expression); - $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list); - $str = $doc->serialize($format); - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list); - $localname = $node->localname; - $nameprefix = $node->prefix; - $uri = $node->namespaceURI(); - $boolean = $node->hasAttributes(); - @attributelist = $node->attributes(); - $URI = $node->lookupNamespaceURI( $prefix ); - $prefix = $node->lookupNamespacePrefix( $URI ); - $node->normalize; - @nslist = $node->getNamespaces; - $node->removeChildNodes(); - $node->nodePath(); - $lineno = $node->line_number(); - -=head1 DESCRIPTION - -XML::LibXML::Node defines functions that are common to all Node Types. A -LibXML::Node should never be created standalone, but as an instance of a high -level class such as LibXML::Element or LibXML::Text. The class itself should -provide only common functionality. In XML::LibXML each node is part either of a -document or a document-fragment. Because of this there is no node without a -parent. This may causes confusion with "unbound" nodes. - - -=head1 METHODS - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<nodeName> - - $name = $node->nodeName; - -Returns the node's name. This function is aware of namespaces and returns the -full name of the current node (C<<<<<< prefix:localname >>>>>>). - -Since 1.62 this function also returns the correct DOM names for node types with -constant names, namely: #text, #cdata-section, #comment, #document, -#document-fragment. - - -=item B<setNodeName> - - $node->setNodeName( $newName ); - -In very limited situations, it is useful to change a nodes name. In the DOM -specification this should throw an error. This Function is aware of namespaces. - - -=item B<isSameNode> - - $bool = $node->isSameNode( $other_node ); - -returns TRUE (1) if the given nodes refer to the same node structure, otherwise -FALSE (0) is returned. - - -=item B<isEqual> - - $bool = $node->isEqual( $other_node ); - -deprecated version of isSameNode(). - -I<<<<<< NOTE >>>>>> isEqual will change behaviour to follow the DOM specification - - -=item B<nodeValue> - - $content = $node->nodeValue; - -If the node has any content (such as stored in a C<<<<<< text node >>>>>>) it can get requested through this function. - -I<<<<<< NOTE: >>>>>> Element Nodes have no content per definition. To get the text value of an -Element use textContent() instead! - - -=item B<textContent> - - $content = $node->textContent; - -this function returns the content of all text nodes in the descendants of the -given node as specified in DOM. - - -=item B<nodeType> - - $type = $node->nodeType; - -Return a numeric value representing the node type of this node. The module -XML::LibXML by default exports constants for the node types (see the EXPORT -section in the L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> manual page). - - -=item B<unbindNode> - - $node->unbindNode(); - -Unbinds the Node from its siblings and Parent, but not from the Document it -belongs to. If the node is not inserted into the DOM afterwards it will be lost -after the program terminated. From a low level view, the unbound node is -stripped from the context it is and inserted into a (hidden) document-fragment. - - -=item B<removeChild> - - $childnode = $node->removeChild( $childnode ); - -This will unbind the Child Node from its parent C<<<<<< $node >>>>>>. The function returns the unbound node. If C<<<<<< oldNode >>>>>> is not a child of the given Node the function will fail. - - -=item B<replaceChild> - - $oldnode = $node->replaceChild( $newNode, $oldNode ); - -Replaces the C<<<<<< $oldNode >>>>>> with the C<<<<<< $newNode >>>>>>. The C<<<<<< $oldNode >>>>>> will be unbound from the Node. This function differs from the DOM L2 -specification, in the case, if the new node is not part of the document, the -node will be imported first. - - -=item B<replaceNode> - - $node->replaceNode($newNode); - -This function is very similar to replaceChild(), but it replaces the node -itself rather than a childnode. This is useful if a node found by any XPath -function, should be replaced. - - -=item B<appendChild> - - $childnode = $node->appendChild( $childnode ); - -The function will add the C<<<<<< $childnode >>>>>> to the end of C<<<<<< $node >>>>>>'s children. The function should fail, if the new childnode is already a child -of C<<<<<< $node >>>>>>. This function differs from the DOM L2 specification, in the case, if the new -node is not part of the document, the node will be imported first. - - -=item B<addChild> - - $childnode = $node->addChild( $chilnode ); - -As an alternative to appendChild() one can use the addChild() function. This -function is a bit faster, because it avoids all DOM conformity checks. -Therefore this function is quite useful if one builds XML documents in memory -where the order and ownership (C<<<<<< ownerDocument >>>>>>) is assured. - -addChild() uses libxml2's own xmlAddChild() function. Thus it has to be used -with extra care: If a text node is added to a node and the node itself or its -last childnode is as well a text node, the node to add will be merged with the -one already available. The current node will be removed from memory after this -action. Because perl is not aware of this action, the perl instance is still -available. XML::LibXML will catch the loss of a node and refuse to run any -function called on that node. - - - - my $t1 = $doc->createTextNode( "foo" ); - my $t2 = $doc->createTextNode( "bar" ); - $t1->addChild( $t2 ); # is OK - my $val = $t2->nodeValue(); # will fail, script dies - -Also addChild() will not check if the added node belongs to the same document -as the node it will be added to. This could lead to inconsistent documents and -in more worse cases even to memory violations, if one does not keep track of -this issue. - -Although this sounds like a lot of trouble, addChild() is useful if a document -is built from a stream, such as happens sometimes in SAX handlers or filters. - -If you are not sure about the source of your nodes, you better stay with -appendChild(), because this function is more user friendly in the sense of -being more error tolerant. - - -=item B<addNewChild> - - $node = $parent->addNewChild( $nsURI, $name ); - -Similar to C<<<<<< addChild() >>>>>>, this function uses low level libxml2 functionality to provide faster -interface for DOM building. I<<<<<< addNewChild() >>>>>> uses C<<<<<< xmlNewChild() >>>>>> to create a new node on a given parent element. - -addNewChild() has two parameters $nsURI and $name, where $nsURI is an -(optional) namespace URI. $name is the fully qualified element name; -addNewChild() will determine the correct prefix if necessary. - -The function returns the newly created node. - -This function is very useful for DOM building, where a created node can be -directly associated with its parent. I<<<<<< NOTE >>>>>> this function is not part of the DOM specification and its use will limit your -code to XML::LibXML. - - -=item B<addSibling> - - $node->addSibling($newNode); - -addSibling() allows adding an additional node to the end of a nodelist, defined -by the given node. - - -=item B<cloneNode> - - $newnode =$node->cloneNode( $deep ); - -I<<<<<< cloneNode >>>>>> creates a copy of C<<<<<< $node >>>>>>. When $deep is set to 1 (true) the function will copy all childnodes as well. -If $deep is 0 only the current node will be copied. Note that in case of -element, attributes are copied even if $deep is 0. - -Note that the behavior of this function for $deep=0 has changed in 1.62 in -order to be consistent with the DOM spec (in older versions attributes and -namespace information was not copied for elements). - - -=item B<parentNode> - - $parentnode = $node->parentNode; - -Returns simply the Parent Node of the current node. - - -=item B<nextSibling> - - $nextnode = $node->nextSibling(); - -Returns the next sibling if any . - - -=item B<previousSibling> - - $prevnode = $node->previousSibling(); - -Analogous to I<<<<<< getNextSibling >>>>>> the function returns the previous sibling if any. - - -=item B<hasChildNodes> - - $boolean = $node->hasChildNodes(); - -If the current node has Childnodes this function returns TRUE (1), otherwise it -returns FALSE (0, not undef). - - -=item B<firstChild> - - $childnode = $node->firstChild; - -If a node has childnodes this function will return the first node in the -childlist. - - -=item B<lastChild> - - $childnode = $node->lastChild; - -If the C<<<<<< $node >>>>>> has childnodes this function returns the last child node. - - -=item B<ownerDocument> - - $documentnode = $node->ownerDocument; - -Through this function it is always possible to access the document the current -node is bound to. - - -=item B<getOwner> - - $node = $node->getOwner; - -This function returns the node the current node is associated with. In most -cases this will be a document node or a document fragment node. - - -=item B<setOwnerDocument> - - $node->setOwnerDocument( $doc ); - -This function binds a node to another DOM. This method unbinds the node first, -if it is already bound to another document. - -This function is the opposite calling of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s adoptNode() function. Because of this it has the same limitations with -Entity References as adoptNode(). - - -=item B<insertBefore> - - $node->insertBefore( $newNode, $refNode ); - -The method inserts C<<<<<< $newNode >>>>>> before C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node. -This function differs from the DOM L2 specification, in the case, if the new -node is not part of the document, the node will be imported first, -automatically. - -$refNode has to be passed to the function even if it is undefined: - - - - $node->insertBefore( $newNode, undef ); # the same as $node->appendChild( $newNode ); - $node->insertBefore( $newNode ); # wrong - -Note, that the reference node has to be a direct child of the node the function -is called on. Also, $newChild is not allowed to be an ancestor of the new -parent node. - - -=item B<insertAfter> - - $node->insertAfter( $newNode, $refNode ); - -The method inserts C<<<<<< $newNode >>>>>> after C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node. - -Note, that $refNode has to be passed explicitly even if it is undef. - - -=item B<findnodes> - - @nodes = $node->findnodes( $xpath_expression ); - -I<<<<<< findnodes >>>>>> evaluates the xpath expression (XPath 1.0) on the current node and returns the -resulting node set as an array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - -I<<<<<< NOTE ON NAMESPACES AND XPATH >>>>>>: - -A common mistake about XPath is to assume that node tests consisting of an -element name with no prefix match elements in the default namespace. This -assumption is wrong - by XPath specification, such node tests can only match -elements that are in no (i.e. null) namespace. - -So, for example, one cannot match the root element of an XHTML document with C<<<<<< $node->find('/html') >>>>>> since C<<<<<< '/html' >>>>>> would only match if the root element C<<<<<< <html> >>>>>> had no namespace, but all XHTML elements belong to the namespace -http://www.w3.org/1999/xhtml. (Note that C<<<<<< xmlns="..." >>>>>> namespace declarations can also be specified in a DTD, which makes the -situation even worse, since the XML document looks as if there was no default -namespace). - -There are several possible ways to deal with namespaces in XPath: - - -=over 4 - -=item * - -The recommended way is to use the L<<<<<< XPath Evaluation|XPath Evaluation >>>>>> module to define an explicit context for XPath evaluation, in which a document -independent prefix-to-namespace mapping can be defined. For example: - - - - my $xpc = XML::LibXML::XPathContext->new; - $xpc->registerNs('x', 'http://www.w3.org/1999/xhtml'); - $xpc->find('/x:html',$node); - - - -=item * - -Another possibility is to use prefixes declared in the queried document (if -known). If the document declares a prefix for the namespace in question (and -the context node is in the scope of the declaration), C<<<<<< XML::LibXML >>>>>> allows you to use the prefix in the XPath expression, e.g.: - - - - $node->find('/x:html'); - - - -=back - -See also XML::LibXML::XPathContext->findnodes. - - -=item B<find> - - $result = $node->find( $xpath ); - -I<<<<<< find >>>>>> evaluates the XPath 1.0 expression using the current node as the context of the -expression, and returns the result depending on what type of result the XPath -expression had. For example, the XPath "1 * 3 + 52" results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to "do -the right thing" in different contexts. - -See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->find. - - -=item B<findvalue> - - print $node->findvalue( $xpath ); - -I<<<<<< findvalue >>>>>> is exactly equivalent to: - - - - $node->find( $xpath )->to_literal; - -That is, it returns the literal value of the results. This enables you to -ensure that you get a string back from your search, allowing certain shortcuts. -This could be used as the equivalent of XSLT's <xsl:value-of -select="some_xpath"/>. - -See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->findvalue. - - -=item B<childNodes> - - @childnodes = $node->childNodes; - -I<<<<<< getChildnodes >>>>>> implements a more intuitive interface to the childnodes of the current node. It -enables you to pass all children directly to a C<<<<<< map >>>>>> or C<<<<<< grep >>>>>>. If this function is called in scalar context, a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object will be returned. - - -=item B<toString> - - $xmlstring = $node->toString($format,$docencoding); - -This method is similar to the method C<<<<<< toString >>>>>> of a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> but for a single node. It returns a string consisting of XML serialization of -the given node and all its descendants. Unlike C<<<<<< XML::LibXML::Document::toString >>>>>>, in this case the resulting string is by default a character string (UTF-8 -encoded with UTF8 flag on). An optional flag $format controls indentation, as -in C<<<<<< XML::LibXML::Document::toString >>>>>>. If the second optional $docencoding flag is true, the result will be a byte -string in the document encoding (see C<<<<<< XML::LibXML::Document::actualEncoding >>>>>>). - - -=item B<toStringC14N> - - $c14nstring = $node->toStringC14N($with_comments, $xpath_expression); - -The function is similar to toString(). Instead of simply serializing the -document tree, it transforms it as it is specified in the XML-C14N -Specification (see L<<<<<< http://www.w3.org/TR/xml-c14n|http://www.w3.org/TR/xml-c14n >>>>>>). Such transformation is known as canonization. - -If $with_comments is 0 or not defined, the result-document will not contain any -comments that exist in the original document. To include comments into the -canonized document, $with_comments has to be set to 1. - -The parameter $xpath_expression defines the nodeset of nodes that should be -visible in the resulting document. This can be used to filter out some nodes. -One has to note, that only the nodes that are part of the nodeset, will be -included into the result-document. Their child-nodes will not exist in the -resulting document, unless they are part of the nodeset defined by the xpath -expression. - -If $xpath_expression is omitted or empty, toStringC14N() will include all nodes -in the given sub-tree. - - -=item B<toStringEC14N> - - $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list); - -The function is similar to toStringC14N() but follows the XML-EXC-C14N -Specification (see L<<<<<< http://www.w3.org/TR/xml-exc-c14n|http://www.w3.org/TR/xml-exc-c14n >>>>>>) for exclusive canonization of XML. - -The first two arguments are as above. If $inclusive_prefix_list is used, it -should be an ARRAY reference listing namespace prefixes that are to be handled -in the manner described by the Canonical XML Recommendation (i.e. preserved in -the output even if the namespace is not used). C.f. the spec for details. - - -=item B<serialize> - - $str = $doc->serialize($format); - -An alias for toString(). This function was name added to be more consistent -with libxml2. - - -=item B<serialize_c14n> - - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - -An alias for toStringC14N(). - - -=item B<serialize_exc_c14n> - - $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list); - -An alias for toStringEC14N(). - - -=item B<localname> - - $localname = $node->localname; - -Returns the local name of a tag. This is the part behind the colon. - - -=item B<prefix> - - $nameprefix = $node->prefix; - -Returns the prefix of a tag. This is the part before the colon. - - -=item B<namespaceURI> - - $uri = $node->namespaceURI(); - -returns the URI of the current namespace. - - -=item B<hasAttributes> - - $boolean = $node->hasAttributes(); - -returns 1 (TRUE) if the current node has any attributes set, otherwise 0 -(FALSE) is returned. - - -=item B<attributes> - - @attributelist = $node->attributes(); - -This function returns all attributes and namespace declarations assigned to the -given node. - -Because XML::LibXML does not implement namespace declarations and attributes -the same way, it is required to test what kind of node is handled while -accessing the functions result. - -If this function is called in array context the attribute nodes are returned as -an array. In scalar context the function will return a L<<<<<< XML::LibXML::NamedNodeMap|XML::LibXML::NamedNodeMap >>>>>> object. - - -=item B<lookupNamespaceURI> - - $URI = $node->lookupNamespaceURI( $prefix ); - -Find a namespace URI by its prefix starting at the current node. - - -=item B<lookupNamespacePrefix> - - $prefix = $node->lookupNamespacePrefix( $URI ); - -Find a namespace prefix by its URI starting at the current node. - -I<<<<<< NOTE >>>>>> Only the namespace URIs are meant to be unique. The prefix is only document -related. Also the document might have more than a single prefix defined for a -namespace. - - -=item B<normalize> - - $node->normalize; - -This function normalizes adjacent text nodes. This function is not as strict as -libxml2's xmlTextMerge() function, since it will not free a node that is still -referenced by the perl layer. - - -=item B<getNamespaces> - - @nslist = $node->getNamespaces; - -If a node has any namespaces defined, this function will return these -namespaces. Note, that this will not return all namespaces that are in scope, -but only the ones declared explicitly for that node. - -Although getNamespaces is available for all nodes, it only makes sense if used -with element nodes. - - -=item B<removeChildNodes> - - $node->removeChildNodes(); - -This function is not specified for any DOM level: It removes all childnodes -from a node in a single step. Other than the libxml2 function itself -(xmlFreeNodeList), this function will not immediately remove the nodes from the -memory. This saves one from getting memory violations, if there are nodes still -referred to from the Perl level. - - -=item B<nodePath> - - $node->nodePath(); - -This function is not specified for any DOM level: It returns a canonical -structure based XPath for a given node. - - -=item B<line_number> - - $lineno = $node->line_number(); - -This function returns the line number where the tag was found during parsing. -If a node is added to the document the line number is 0. Problems may occur, if -a node from one document is passed to another one. - -IMPORTANT: Due to limitations in the libxml2 library line numbers greater than -65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details. - -Note: line_number() is special to XML::LibXML and not part of the DOM -specification. - -If the line_numbers flag of the parser was not activated before parsing, -line_number() will always return 0. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm deleted file mode 100644 index 466efb04bef..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm +++ /dev/null @@ -1,191 +0,0 @@ -# $Id: NodeList.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::NodeList; -use strict; -use XML::LibXML::Boolean; -use XML::LibXML::Literal; -use XML::LibXML::Number; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&to_literal, - 'bool' => \&to_boolean, - ; - -sub new { - my $class = shift; - bless [@_], $class; -} - -sub new_from_ref { - my ($class,$array_ref,$reuse) = @_; - return bless $reuse ? $array_ref : [@$array_ref], $class; -} - -sub pop { - my $self = CORE::shift; - CORE::pop @$self; -} - -sub push { - my $self = CORE::shift; - CORE::push @$self, @_; -} - -sub append { - my $self = CORE::shift; - my ($nodelist) = @_; - CORE::push @$self, $nodelist->get_nodelist; -} - -sub shift { - my $self = CORE::shift; - CORE::shift @$self; -} - -sub unshift { - my $self = CORE::shift; - CORE::unshift @$self, @_; -} - -sub prepend { - my $self = CORE::shift; - my ($nodelist) = @_; - CORE::unshift @$self, $nodelist->get_nodelist; -} - -sub size { - my $self = CORE::shift; - scalar @$self; -} - -sub get_node { - # uses array index starting at 1, not 0 - # this is mainly because of XPath. - my $self = CORE::shift; - my ($pos) = @_; - $self->[$pos - 1]; -} - -*item = \&get_node; - -sub get_nodelist { - my $self = CORE::shift; - @$self; -} - -sub to_boolean { - my $self = CORE::shift; - return (@$self > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -# string-value of a nodelist is the string-value of the first node -sub string_value { - my $self = CORE::shift; - return '' unless @$self; - return $self->[0]->string_value; -} - -sub to_literal { - my $self = CORE::shift; - return XML::LibXML::Literal->new( - join('', grep {defined $_} map { $_->string_value } @$self) - ); -} - -sub to_number { - my $self = CORE::shift; - return XML::LibXML::Number->new( - $self->to_literal - ); -} - -sub iterator { - warn "this function is obsolete!\nIt was disabled in version 1.54\n"; - return undef; -} - -1; -__END__ - -=head1 NAME - -XML::LibXML::NodeList - a list of XML document nodes - -=head1 DESCRIPTION - -An XML::LibXML::NodeList object contains an ordered list of nodes, as -detailed by the W3C DOM documentation of Node Lists. - -=head1 SYNOPSIS - - my $results = $dom->findnodes('//somepath'); - foreach my $context ($results->get_nodelist) { - my $newresults = $context->findnodes('./other/element'); - ... - } - -=head1 API - -=head2 new() - -You will almost never have to create a new NodeSet object, as it is all -done for you by XPath. - -=head2 get_nodelist() - -Returns a list of nodes, the contents of the node list, as a perl list. - -=head2 string_value() - -Returns the string-value of the first node in the list. -See the XPath specification for what "string-value" means. - -=head2 to_literal() - -Returns the concatenation of all the string-values of all -the nodes in the list. - -=head2 get_node($pos) - -Returns the node at $pos. The node position in XPath is based at 1, not 0. - -=head2 size() - -Returns the number of nodes in the NodeSet. - -=head2 pop() - -Equivalent to perl's pop function. - -=head2 push(@nodes) - -Equivalent to perl's push function. - -=head2 append($nodelist) - -Given a nodelist, appends the list of nodes in $nodelist to the end of the -current list. - -=head2 shift() - -Equivalent to perl's shift function. - -=head2 unshift(@nodes) - -Equivalent to perl's unshift function. - -=head2 prepend($nodeset) - -Given a nodelist, prepends the list of nodes in $nodelist to the front of -the current list. - -=head2 iterator() - -Will return a new nodelist iterator for the current nodelist. A -nodelist iterator is usefull if more complex nodelist processing is -needed. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm deleted file mode 100644 index 4ba448ab600..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: Number.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::Number; -use XML::LibXML::Boolean; -use XML::LibXML::Literal; -use strict; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - '0+' => \&value, - '<=>' => \&cmp; - -sub new { - my $class = shift; - my $number = shift; - if ($number !~ /^\s*(-\s*)?(\d+(\.\d*)?|\.\d+)\s*$/) { - $number = undef; - } - else { - $number =~ s/\s+//g; - } - bless \$number, $class; -} - -sub as_string { - my $self = shift; - defined $$self ? $$self : 'NaN'; -} - -sub as_xml { - my $self = shift; - return "<Number>" . (defined($$self) ? $$self : 'NaN') . "</Number>\n"; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($other, $swap) = @_; - if ($swap) { - return $other <=> $$self; - } - return $$self <=> $other; -} - -sub evaluate { - my $self = shift; - $self; -} - -sub to_boolean { - my $self = shift; - return $$self ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -sub to_literal { XML::LibXML::Literal->new($_[0]->as_string); } -sub to_number { $_[0]; } - -sub string_value { return $_[0]->value } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Number - Simple numeric values. - -=head1 DESCRIPTION - -This class holds simple numeric values. It doesn't support -0, +/- Infinity, -or NaN, as the XPath spec says it should, but I'm not hurting anyone I don't think. - -=head1 API - -=head2 new($num) - -Creates a new XML::LibXML::Number object, with the value in $num. Does some -rudimentary numeric checking on $num to ensure it actually is a number. - -=head2 value() - -Also as overloaded stringification. Returns the numeric value held. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod deleted file mode 100644 index 6839a310ab2..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod +++ /dev/null @@ -1,83 +0,0 @@ -=head1 NAME - -XML::LibXML::PI - XML::LibXML Processing Instructions - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Processing Instruction nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $pinode->setData( $data_string ); - $pinode->setData( name=>string_value [...] ); - -=head1 DESCRIPTION - -Processing instructions are implemented with XML::LibXML with read and write -access. The PI data is the PI without the PI target (as specified in XML 1.0 -[17]) as a string. This string can be accessed with getData as implemented in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - -The write access is aware about the fact, that many processing instructions -have attribute like data. Therefore setData() provides besides the DOM spec -conform Interface to pass a set of named parameter. So the code segment - - - - my $pi = $dom->createProcessingInstruction("abc"); - $pi->setData(foo=>'bar', foobar=>'foobar'); - $dom->appendChild( $pi ); - -will result the following PI in the DOM: - - - - <?abc foo="bar" foobar="foobar"?> - -Which is how it is specified in the DOM specification. This three step -interface creates temporary a node in perl space. This can be avoided while -using the insertProcessingInstruction() method. Instead of the three calls -described above, the call - - - - $dom->insertProcessingInstruction("abc",'foo="bar" foobar="foobar"'); - -will have the same result as above. - -L<<<<<< XML::LibXML Processing Instructions|XML::LibXML Processing Instructions >>>>>>'s implementation of setData() documented below differs a bit from the the -standard version as available in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>: - -=over 4 - -=item B<setData> - - $pinode->setData( $data_string ); - $pinode->setData( name=>string_value [...] ); - -This method allows to change the content data of a PI. Additionally to the -interface specified for DOM Level2, the method provides a named parameter -interface to set the data. This parameter list is converted into a string -before it is appended to the PI. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod deleted file mode 100644 index e8aa32cf449..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod +++ /dev/null @@ -1,683 +0,0 @@ -=head1 NAME - -XML::LibXML::Parser - Parsing XML Data with XML::LibXML - -=head1 SYNOPSIS - - - - use XML::LibXML; - my $parser = XML::LibXML->new(); - - my $doc = $parser->parse_string(<<'EOT'); - <some-xml/> - EOT - my $fdoc = $parser->parse_file( $xmlfile ); - - my $fhdoc = $parser->parse_fh( $xmlstream ); - - my $fragment = $parser->parse_xml_chunk( $xml_wb_chunk ); - - $parser = XML::LibXML->new(); - $doc = $parser->parse_file( $xmlfilename ); - $doc = $parser->parse_fh( $io_fh ); - $doc = $parser->parse_string( $xmlstring); - $doc = $parser->parse_html_file( $htmlfile, \%opts ); - $doc = $parser->parse_html_fh( $io_fh, \%opts ); - $doc = $parser->parse_html_string( $htmlstring, \%opts ); - $fragment = $parser->parse_balanced_chunk( $wbxmlstring ); - $fragment = $parser->parse_xml_chunk( $wbxmlstring ); - $parser->process_xincludes( $doc ); - $parser->processXIncludes( $doc ); - $parser->parse_chunk($string, $terminate); - $parser->start_push(); - $parser->push(@data); - $doc = $parser->finish_push( $recover ); - $parser->validation(1); - $parser->recover(1); - $parser->recover_silently(1); - $parser->expand_entities(0); - $parser->keep_blanks(0); - $parser->pedantic_parser(1); - $parser->line_numbers(1); - $parser->load_ext_dtd(1); - $parser->complete_attributes(1); - $parser->expand_xinclude(1); - $parser->load_catalog( $catalog_file ); - $parser->base_uri( $your_base_uri ); - $parser->gdome_dom(1); - $parser->clean_namespaces( 1 ); - $parser->no_network(1); - -=head1 PARSING - -A XML document is read into a data structure such as a DOM tree by a piece of -software, called a parser. XML::LibXML currently provides four different parser -interfaces: - - -=over 4 - -=item * - -A DOM Pull-Parser - - - -=item * - -A DOM Push-Parser - - - -=item * - -A SAX Parser - - - -=item * - -A DOM based SAX Parser. - - - -=back - - -=head2 Creating a Parser Instance - -XML::LibXML provides an OO interface to the libxml2 parser functions. Thus you -have to create a parser instance before you can parse any XML data. - -=over 4 - -=item B<new> - - $parser = XML::LibXML->new(); - -There is nothing much to say about the constructor. It simply creates a new -parser instance. - -Although libxml2 uses mainly global flags to alter the behaviour of the parser, -each XML::LibXML parser instance has its own flags or callbacks and does not -interfere with other instances. - - - -=back - - -=head2 DOM Parser - -One of the common parser interfaces of XML::LibXML is the DOM parser. This -parser reads XML data into a DOM like data structure, so each tag can get -accessed and transformed. - -XML::LibXML's DOM parser is not only capable to parse XML data, but also -(strict) HTML files. There are three ways to parse documents - as a string, as -a Perl filehandle, or as a filename/URL. The return value from each is a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object, which is a DOM object. - -All of the functions listed below will throw an exception if the document is -invalid. To prevent this causing your program exiting, wrap the call in an -eval{} block - -=over 4 - -=item B<parse_file> - - $doc = $parser->parse_file( $xmlfilename ); - -This function parses an XML document from a file or network; $xmlfilename can -be either a filename or an URL. Note that for parsing files, this function is -the fastest choice, about 6-8 times faster then parse_fh(). - - -=item B<parse_fh> - - $doc = $parser->parse_fh( $io_fh ); - -parse_fh() parses a IOREF or a subclass of IO::Handle. - -Because the data comes from an open handle, libxml2's parser does not know -about the base URI of the document. To set the base URI one should use -parse_fh() as follows: - - - - my $doc = $parser->parse_fh( $io_fh, $baseuri ); - - -=item B<parse_string> - - $doc = $parser->parse_string( $xmlstring); - -This function is similar to parse_fh(), but it parses a XML document that is -available as a single string in memory. Again, you can pass an optional base -URI to the function. - - - - my $doc = $parser->parse_string( $xmlstring, $baseuri ); - - -=item B<parse_html_file> - - $doc = $parser->parse_html_file( $htmlfile, \%opts ); - -Similar to parse_file() but parses HTML (strict) documents; $htmlfile can be -filename or URL. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: Possible options are: encoding and -URI for libxml2 < 2.6.27, and for later versions of libxml2 additionally: -recover, suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and -no_network. - - -=item B<parse_html_fh> - - $doc = $parser->parse_html_fh( $io_fh, \%opts ); - -Similar to parse_fh() but parses HTML (strict) streams. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: encoding and URI for libxml2 < -2.6.27, and for later versions of libxml2 additionally: recover, -suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network. -Note: encoding option may not work correctly with this function in libxml2 < -2.6.27 if the HTML file declares charset using a META tag. - - -=item B<parse_html_string> - - $doc = $parser->parse_html_string( $htmlstring, \%opts ); - -Similar to parse_string() but parses HTML (strict) strings. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: encoding and URI for libxml2 < -2.6.27, and for later versions of libxml2 additionally: recover, -suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network. - - - -=back - -Parsing HTML may cause problems, especially if the ampersand ('&') is used. -This is a common problem if HTML code is parsed that contains links to -CGI-scripts. Such links cause the parser to throw errors. In such cases libxml2 -still parses the entire document as there was no error, but the error causes -XML::LibXML to stop the parsing process. However, the document is not lost. -Such HTML documents should be parsed using the I<<<<<< recover >>>>>> flag. By default recovering is deactivated. - -The functions described above are implemented to parse well formed documents. -In some cases a program gets well balanced XML instead of well formed documents -(e.g. a XML fragment from a Database). With XML::LibXML it is not required to -wrap such fragments in the code, because XML::LibXML is capable even to parse -well balanced XML fragments. - -=over 4 - -=item B<parse_balanced_chunk> - - $fragment = $parser->parse_balanced_chunk( $wbxmlstring ); - -This function parses a well balanced XML string into a L<<<<<< XML::LibXML's DOM L2 Document Fragment Implementation|XML::LibXML's DOM L2 Document Fragment Implementation >>>>>>. - - -=item B<parse_xml_chunk> - - $fragment = $parser->parse_xml_chunk( $wbxmlstring ); - -This is the old name of parse_balanced_chunk(). Because it may causes confusion -with the push parser interface, this function should not be used anymore. - - - -=back - -By default XML::LibXML does not process XInclude tags within a XML Document -(see options section below). XML::LibXML allows to post process a document to -expand XInclude tags. - -=over 4 - -=item B<process_xincludes> - - $parser->process_xincludes( $doc ); - -After a document is parsed into a DOM structure, you may want to expand the -documents XInclude tags. This function processes the given document structure -and expands all XInclude tags (or throws an error) by using the flags and -callbacks of the given parser instance. - -Note that the resulting Tree contains some extra nodes (of type -XML_XINCLUDE_START and XML_XINCLUDE_END) after successfully processing the -document. These nodes indicate where data was included into the original tree. -if the document is serialized, these extra nodes will not show up. - -Remember: A Document with processed XIncludes differs from the original -document after serialization, because the original XInclude tags will not get -restored! - -If the parser flag "expand_xincludes" is set to 1, you need not to post process -the parsed document. - - -=item B<processXIncludes> - - $parser->processXIncludes( $doc ); - -This is an alias to process_xincludes, but through a JAVA like function name. - - - -=back - - -=head2 Push Parser - -XML::LibXML provides a push parser interface. Rather than pulling the data from -a given source the push parser waits for the data to be pushed into it. - -This allows one to parse large documents without waiting for the parser to -finish. The interface is especially useful if a program needs to pre-process -the incoming pieces of XML (e.g. to detect document boundaries). - -While XML::LibXML parse_*() functions force the data to be a well-formed XML, -the push parser will take any arbitrary string that contains some XML data. The -only requirement is that all the pushed strings are together a well formed -document. With the push parser interface a program can interrupt the parsing -process as required, where the parse_*() functions give not enough flexibility. - -Different to the pull parser implemented in parse_fh() or parse_file(), the -push parser is not able to find out about the documents end itself. Thus the -calling program needs to indicate explicitly when the parsing is done. - -In XML::LibXML this is done by a single function: - -=over 4 - -=item B<parse_chunk> - - $parser->parse_chunk($string, $terminate); - -parse_chunk() tries to parse a given chunk of data, which isn't necessarily -well balanced data. The function takes two parameters: The chunk of data as a -string and optional a termination flag. If the termination flag is set to a -true value (e.g. 1), the parsing will be stopped and the resulting document -will be returned as the following example describes: - - - - my $parser = XML::LibXML->new; - for my $string ( "<", "foo", ' bar="hello world"', "/>") { - $parser->parse_chunk( $string ); - } - my $doc = $parser->parse_chunk("", 1); # terminate the parsing - - - -=back - -Internally XML::LibXML provides three functions that control the push parser -process: - -=over 4 - -=item B<start_push> - - $parser->start_push(); - -Initializes the push parser. - - -=item B<push> - - $parser->push(@data); - -This function pushes the data stored inside the array to libxml2's parser. Each -entry in @data must be a normal scalar! - - -=item B<finish_push> - - $doc = $parser->finish_push( $recover ); - -This function returns the result of the parsing process. If this function is -called without a parameter it will complain about non well-formed documents. If -$restore is 1, the push parser can be used to restore broken or non well formed -(XML) documents as the following example shows: - - - - eval { - $parser->push( "<foo>", "bar" ); - $doc = $parser->finish_push(); # will report broken XML - }; - if ( $@ ) { - # ... - } - -This can be annoying if the closing tag is missed by accident. The following -code will restore the document: - - - - eval { - $parser->push( "<foo>", "bar" ); - $doc = $parser->finish_push(1); # will return the data parsed - # unless an error happened - }; - - print $doc->toString(); # returns "<foo>bar</foo>" - -Of course finish_push() will return nothing if there was no data pushed to the -parser before. - - - -=back - - -=head2 DOM based SAX Parser - -XML::LibXML provides a DOM based SAX parser. The SAX parser is defined in the -module XML::LibXML::SAX::Parser. As it is not a stream based parser, it parses -documents into a DOM and traverses the DOM tree instead. - -The API of this parser is exactly the same as any other Perl SAX2 parser. See -XML::SAX::Intro for details. - -Aside from the regular parsing methods, you can access the DOM tree traverser -directly, using the generate() method: - - - - my $doc = build_yourself_a_document(); - my $saxparser = $XML::LibXML::SAX::Parser->new( ... ); - $parser->generate( $doc ); - -This is useful for serializing DOM trees, for example that you might have done -prior processing on, or that you have as a result of XSLT processing. - -I<<<<<< WARNING >>>>>> - -This is NOT a streaming SAX parser. As I said above, this parser reads the -entire document into a DOM and serialises it. Some people couldn't read that in -the paragraph above so I've added this warning. - -If you want a streaming SAX parser look at the L<<<<<< XML::LibXML direct SAX parser|XML::LibXML direct SAX parser >>>>>> man page - - -=head1 SERIALIZATION - -XML::LibXML provides some functions to serialize nodes and documents. The -serialization functions are described on the L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> manpage or the L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> manpage. XML::LibXML checks three global flags that alter the serialization -process: - - -=over 4 - -=item * - -skipXMLDeclaration - - - -=item * - -skipDTD - - - -=item * - -setTagCompression - - - -=back - -of that three functions only setTagCompression is available for all -serialization functions. - -Because XML::LibXML does these flags not itself, one has to define them locally -as the following example shows: - - - - local $XML::LibXML::skipXMLDeclaration = 1; - local $XML::LibXML::skipDTD = 1; - local $XML::LibXML::setTagCompression = 1; - -If skipXMLDeclaration is defined and not '0', the XML declaration is omitted -during serialization. - -If skipDTD is defined and not '0', an existing DTD would not be serialized with -the document. - -If setTagCompression is defined and not '0' empty tags are displayed as open -and closing tags rather than the shortcut. For example the empty tag I<<<<<< foo >>>>>> will be rendered as I<<<<<< <foo></foo> >>>>>> rather than I<<<<<< <foo/> >>>>>>. - - -=head1 PARSER OPTIONS - -LibXML options are global (unfortunately this is a limitation of the underlying -implementation, not this interface). They can either be set using -$parser->option(...), or XML::LibXML->option(...), both are treated in the same -manner. Note that even two parser processes will share some of the same -options, so be careful out there! - -Every option returns the previous value, and can be called without parameters -to get the current value. - -=over 4 - -=item B<validation> - - $parser->validation(1); - -Turn validation on (or off). Defaults to off. - - -=item B<recover> - - $parser->recover(1); - -Turn the parsers recover mode on (or off). Defaults to off. - -This allows one to parse broken XML data into memory. This switch will only -work with XML data rather than HTML data. Also the validation will be switched -off automatically. - -The recover mode helps to recover documents that are almost well-formed very -efficiently. That is for example a document that forgets to close the document -tag (or any other tag inside the document). The recover mode of XML::LibXML has -problems restoring documents that are more like well balanced chunks. - -XML::LibXML will only parse until the first fatal error occurs, reporting -recoverable parsing errors as warnings. To suppress these warnings use -$parser->recover_silently(1); or, equivalently, $parser->recover(2). - - -=item B<recover_silently> - - $parser->recover_silently(1); - -Turns the parser warnings off (or on). Defaults to on. - -This allows to switch off warnings printed to STDERR when parsing documents -with recover(1). - -Please note that calling recover_silently(0) also turns the parser recover mode -off and calling recover_silently(1) automatically activates the parser recover -mode. - - -=item B<expand_entities> - - $parser->expand_entities(0); - -Turn entity expansion on or off, enabled by default. If entity expansion is -off, any external parsed entities in the document are left as entities. -Probably not very useful for most purposes. - - -=item B<keep_blanks> - - $parser->keep_blanks(0); - -Allows you to turn off XML::LibXML's default behaviour of maintaining -white-space in the document. - - -=item B<pedantic_parser> - - $parser->pedantic_parser(1); - -You can make XML::LibXML more pedantic if you want to. - - -=item B<line_numbers> - - $parser->line_numbers(1); - -If this option is activated XML::LibXML will store the line number of a node. -This gives more information where a validation error occurred. It could be also -used to find out about the position of a node after parsing (see also -XML::LibXML::Node::line_number()). - -IMPORTANT: Due to limitations in the libxml2 library line numbers greater than -65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details. - -By default line numbering is switched off (0). - - -=item B<load_ext_dtd> - - $parser->load_ext_dtd(1); - -Load external DTD subsets while parsing. - -This flag is also required for DTD Validation, to provide complete attribute, -and to expand entities, regardless if the document has an internal subset. Thus -switching off external DTD loading, will disable entity expansion, validation, -and complete attributes on internal subsets as well. - -If you leave this parser flag untouched, everything will work, because the -default is 1 (activated) - - -=item B<complete_attributes> - - $parser->complete_attributes(1); - -Complete the elements attributes lists with the ones defaulted from the DTDs. -By default, this option is enabled. - - -=item B<expand_xinclude> - - $parser->expand_xinclude(1); - -Expands XIinclude tags immediately while parsing the document. This flag -assures that the parser callbacks are used while parsing the included document. - - -=item B<load_catalog> - - $parser->load_catalog( $catalog_file ); - -Will use $catalog_file as a catalog during all parsing processes. Using a -catalog will significantly speed up parsing processes if many external -resources are loaded into the parsed documents (such as DTDs or XIncludes). - -Note that catalogs will not be available if an external entity handler was -specified. At the current state it is not possible to make use of both types of -resolving systems at the same time. - - -=item B<base_uri> - - $parser->base_uri( $your_base_uri ); - -In case of parsing strings or file handles, XML::LibXML doesn't know about the -base uri of the document. To make relative references such as XIncludes work, -one has to set a separate base URI, that is then used for the parsed documents. - - -=item B<gdome_dom> - - $parser->gdome_dom(1); - -THIS FLAG IS EXPERIMENTAL! - -Although quite powerful XML:LibXML's DOM implementation is limited if one needs -or wants full DOM level 2 or level 3 support. XML::GDOME is based on libxml2 as -well but provides a rather complete DOM implementation by wrapping libgdome. -This allows you to make use of XML::LibXML's full parser options and -XML::GDOME's DOM implementation at the same time. - -To make use of this function, one has to install libgdome and configure -XML::LibXML to use this library. For this you need to rebuild XML::LibXML! - - -=item B<clean_namespaces> - - $parser->clean_namespaces( 1 ); - -libxml2 2.6.0 and later allows to strip redundant namespace declarations from -the DOM tree. To do this, one has to set clean_namespaces() to 1 (TRUE). By -default no namespace cleanup is done. - - -=item B<no_network> - - $parser->no_network(1); - -Turn networking support on or off, enabled by default. If networking is off, -all attempts to fetch non-local resources (such as DTD or external entities) -will fail (unless custom callbacks are defined). It may be necessary to use -$parser->recover(1) for processing documents requiring such resources while -networking is off. - - - -=back - - -=head1 ERROR REPORTING - -XML::LibXML throws exceptions during parsing, validation or XPath processing -(and some other occasions). These errors can be caught by using I<<<<<< eval >>>>>> blocks. The error then will be stored in I<<<<<< $@ >>>>>>. - -XML::LibXML throws errors as they occurs and does not wait if a user test for -them. This is a very common misunderstanding in the use of XML::LibXML. If the -eval is omitted, XML::LibXML will always halt your script by "croaking" (see -Carp man page for details). - -Also note that an increasing number of functions throw errors if bad data is -passed. If you cannot assure valid data passed to XML::LibXML you should eval -these functions. - -Note: since version 1.59, get_last_error() is no longer available in -XML::LibXML for thread-safety reasons. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm deleted file mode 100644 index 935d31a5644..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm +++ /dev/null @@ -1,222 +0,0 @@ -package XML::LibXML::Reader; -use XML::LibXML; - -use strict; -use warnings; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use Carp; -use 5.008_000; -use base qw(Exporter); -use constant { - XML_READER_TYPE_NONE => 0, - XML_READER_TYPE_ELEMENT => 1, - XML_READER_TYPE_ATTRIBUTE => 2, - XML_READER_TYPE_TEXT => 3, - XML_READER_TYPE_CDATA => 4, - XML_READER_TYPE_ENTITY_REFERENCE => 5, - XML_READER_TYPE_ENTITY => 6, - XML_READER_TYPE_PROCESSING_INSTRUCTION => 7, - XML_READER_TYPE_COMMENT => 8, - XML_READER_TYPE_DOCUMENT => 9, - XML_READER_TYPE_DOCUMENT_TYPE => 10, - XML_READER_TYPE_DOCUMENT_FRAGMENT => 11, - XML_READER_TYPE_NOTATION => 12, - XML_READER_TYPE_WHITESPACE => 13, - XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14, - XML_READER_TYPE_END_ELEMENT => 15, - XML_READER_TYPE_END_ENTITY => 16, - XML_READER_TYPE_XML_DECLARATION => 17, - - XML_READER_NONE => -1, - XML_READER_START => 0, - XML_READER_ELEMENT => 1, - XML_READER_END => 2, - XML_READER_EMPTY => 3, - XML_READER_BACKTRACK => 4, - XML_READER_DONE => 5, - XML_READER_ERROR => 6 -}; -use vars qw( @EXPORT @EXPORT_OK %EXPORT_TAGS ); - -BEGIN { - -%EXPORT_TAGS = ( - types => - [qw( - XML_READER_TYPE_NONE - XML_READER_TYPE_ELEMENT - XML_READER_TYPE_ATTRIBUTE - XML_READER_TYPE_TEXT - XML_READER_TYPE_CDATA - XML_READER_TYPE_ENTITY_REFERENCE - XML_READER_TYPE_ENTITY - XML_READER_TYPE_PROCESSING_INSTRUCTION - XML_READER_TYPE_COMMENT - XML_READER_TYPE_DOCUMENT - XML_READER_TYPE_DOCUMENT_TYPE - XML_READER_TYPE_DOCUMENT_FRAGMENT - XML_READER_TYPE_NOTATION - XML_READER_TYPE_WHITESPACE - XML_READER_TYPE_SIGNIFICANT_WHITESPACE - XML_READER_TYPE_END_ELEMENT - XML_READER_TYPE_END_ENTITY - XML_READER_TYPE_XML_DECLARATION - )], - states => - [qw( - XML_READER_NONE - XML_READER_START - XML_READER_ELEMENT - XML_READER_END - XML_READER_EMPTY - XML_READER_BACKTRACK - XML_READER_DONE - XML_READER_ERROR - )] -); -@EXPORT = (@{$EXPORT_TAGS{types}},@{$EXPORT_TAGS{states}}); -@EXPORT_OK = @EXPORT; -$EXPORT_TAGS{all}=\@EXPORT_OK; -} - -{ - my %flags = ( - recover => 1, # recover on errors - expand_entities => 2, # substitute entities - load_ext_dtd => 4, # load the external subset - complete_attributes => 8, # default DTD attributes - validation => 16, # validate with the DTD - suppress_errors => 32, # suppress error reports - suppress_warnings => 64, # suppress warning reports - pedantic_parser => 128, # pedantic error reporting - no_blanks => 256, # remove blank nodes - expand_xinclude => 1024, # Implement XInclude substitition - xinclude => 1024, # ... alias - no_network => 2048, # Forbid network access - clean_namespaces => 8192, # remove redundant namespaces declarations - no_cdata => 16384, # merge CDATA as text nodes - no_xinclude_nodes => 32768, # do not generate XINCLUDE START/END nodes - ); - sub _parser_options { - my ($opts) = @_; - - # currently dictionaries break XML::LibXML memory management - my $no_dict = 4096; - my $flags = $no_dict; # safety precaution - - my ($key, $value); - while (($key,$value) = each %$opts) { - my $f = $flags{ $key }; - if (defined $f) { - if ($value) { - $flags |= $f - } else { - $flags &= ~$f; - } - } - } - return $flags; - } - my %props = ( - load_ext_dtd => 1, # load the external subset - complete_attributes => 2, # default DTD attributes - validation => 3, # validate with the DTD - expand_entities => 4, # substitute entities - ); - sub getParserProp { - my ($self, $name) = @_; - my $prop = $props{$name}; - return undef unless defined $prop; - return $self->_getParserProp($prop); - } - sub setParserProp { - my $self = shift; - my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_; - my ($key, $value); - while (($key,$value) = each %args) { - my $prop = $props{ $key }; - $self->_setParserProp($prop,$value); - } - return; - } - - my (%string_pool,%rng_pool,%xsd_pool); # used to preserve data passed to the reader - sub new { - my ($class) = shift; - my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_; - my $encoding = $args{encoding}; - my $URI = $args{URI}; - my $options = _parser_options(\%args); - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->_newForFile( $args{location}, $encoding, $options ); - } - elsif ( defined $args{string} ) { - $self = $class->_newForString( $args{string}, $URI, $encoding, $options ); - $string_pool{$self} = \$args{string}; - } - elsif ( defined $args{IO} ) { - $self = $class->_newForIO( $args{IO}, $URI, $encoding, $options ); - } - elsif ( defined $args{DOM} ) { - croak("DOM must be a XML::LibXML::Document node") - unless UNIVERSAL::isa($args{DOM}, 'XML::LibXML::Document'); - $self = $class->_newForDOM( $args{DOM} ); - } - elsif ( defined $args{FD} ) { - my $fd = fileno($args{FD}); - $self = $class->_newForFd( $fd, $URI, $encoding, $options ); - } - else { - croak("XML::LibXML::Reader->new: specify location, string, IO, DOM, or FD"); - } - if ($args{RelaxNG}) { - if (ref($args{RelaxNG})) { - $rng_pool{$self} = \$args{RelaxNG}; - $self->_setRelaxNG($args{RelaxNG}); - } else { - $self->_setRelaxNGFile($args{RelaxNG}); - } - } - if ($args{Schema}) { - if (ref($args{Schema})) { - $xsd_pool{$self} = \$args{Schema}; - $self->_setXSD($args{Schema}); - } else { - $self->_setXSDFile($args{Schema}); - } - } - return $self; - } - sub DESTROY { - my $self = shift; - delete $string_pool{$self}; - delete $rng_pool{$self}; - delete $xsd_pool{$self}; - $self->_DESTROY; - } -} -sub close { - my ($reader) = @_; - # _close return -1 on failure, 0 on success - # perl close returns 0 on failure, 1 on success - return $reader->_close == 0 ? 1 : 0; -} - -sub preservePattern { - my $reader=shift; - my ($pattern,$ns_map)=@_; - if (ref($ns_map) eq 'HASH') { - # translate prefix=>URL hash to a (URL,prefix) list - $reader->_preservePattern($pattern,[reverse %$ns_map]); - } else { - $reader->_preservePattern(@_); - } -} - -1; -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod deleted file mode 100644 index 9e8ab26550d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod +++ /dev/null @@ -1,716 +0,0 @@ -=head1 NAME - -XML::LibXML::Reader - XML::LibXML::Reader - interface to libxml2 pull parser - -=head1 SYNOPSIS - - - - use XML::LibXML::Reader; - - - - $reader = new XML::LibXML::Reader(location => "file.xml") - or die "cannot read file.xml\n"; - while ($reader->read) { - processNode($reader); - } - - - - sub processNode { - $reader = shift; - printf "%d %d %s %d\n", ($reader->depth, - $reader->nodeType, - $reader->name, - $reader->isEmptyElement); - } - -or - - - - $reader = new XML::LibXML::Reader(location => "file.xml") - or die "cannot read file.xml\n"; - $reader->preservePattern('//table/tr'); - $reader->finish; - print $reader->document->toString(1); - - -=head1 DESCRIPTION - -This is a perl interface to libxml2's pull-parser implementation xmlTextReader I<<<<<< http://xmlsoft.org/html/libxml-xmlreader.html >>>>>>. This feature requires at least libxml2-2.6.21. Pull-parser (StAX in Java, -XmlReader in C#) use an iterator approach to parse a xml-file. They are easier -to program than event-based parser (SAX) and much more lightweight than -tree-based parser (DOM), which load the complete tree into memory. - -The Reader acts as a cursor going forward on the document stream and stopping -at each node in the way. At every point DOM-like methods of the Reader object -allow to examine the current node (name, namespace, attributes, etc.) - -The user's code keeps control of the progress and simply calls the C<<<<<< read() >>>>>> function repeatedly to progress to the next node in the document order. Other -functions provide means for skipping complete sub-trees, or nodes until a -specific element, etc. - -At every time, only a very limited portion of the document is kept in the -memory, which makes the API more memory-efficient than using DOM. However, it -is also possible to mix Reader with DOM. At every point the user may copy the -current node (optionally expanded into a complete sub-tree) from the processed -document to another DOM tree, or to instruct the Reader to collect sub-document -in form of a DOM tree consisting of selected nodes. - -Reader API also supports namespaces, xml:base, entity handling, and DTD -validation. Schema and RelaxNG validation support will probably be added in -some later revision of the Perl interface. - -The naming of methods compared to libxml2 and C# XmlTextReader has been changed -slightly to match the conventions of XML::LibXML. Some functions have been -changed or added with respect to the C interface. - - -=head1 CONSTRUCTOR - -Depending on the XML source, the Reader object can be created with either of: - - - - my $reader = XML::LibXML::Reader->new( location => "file.xml", ... ); - my $reader = XML::LibXML::Reader->new( string => $xml_string, ... ); - my $reader = XML::LibXML::Reader->new( IO => $file_handle, ... ); - my $reader = XML::LibXML::Reader->new( DOM => $dom, ... ); - -where ... are (optional) reader options described below in Parser options. The -constructor recognizes the following XML sources: - - -=head2 Source specification - -=over 4 - -=item B<location> - -Read XML from a local file or URL. - - -=item B<string> - -Read XML from a string. - - -=item B<IO> - -Read XML a Perl IO filehandle. - - -=item B<FD> - -Read XML from a file descriptor (bypasses Perl I/O layer, only applicable to -filehandles for regular files or pipes). Possibly faster than IO. - - -=item B<DOM> - -Use reader API to walk through a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - - -=back - - -=head2 Parsing options - -=over 4 - -=item B<URI> - -can be used to provide baseURI when parsing strings or filehandles. - - -=item B<encoding> - -override document encoding. - - -=item B<RelaxNG> - -can be used to pass either a L<<<<<< RelaxNG Schema Validation|RelaxNG Schema Validation >>>>>> object or a filename or URL of a RelaxNG schema to the constructor. The schema -is then used to validate the document as it is processed. - - -=item B<Schema> - -can be used to pass either a L<<<<<< XML Schema Validation|XML Schema Validation >>>>>> object or a filename or URL of a W3C XSD schema to the constructor. The schema -is then used to validate the document as it is processed. - - -=item B<recover> - -recover on errors (0 or 1) - - -=item B<expand_entities> - -substitute entities (0 or 1) - - -=item B<load_ext_dtd> - -load the external subset (0 or 1) - - -=item B<complete_attributes> - -default DTD attributes (0 or 1) - - -=item B<validation> - -validate with the DTD (0 or 1) - - -=item B<suppress_errors> - -suppress error reports (0 or 1) - - -=item B<suppress_warnings> - -suppress warning reports (0 or 1) - - -=item B<pedantic_parser> - -pedantic error reporting (0 or 1) - - -=item B<no_blanks> - -remove blank nodes (0 or 1) - - -=item B<expand_xinclude> - -Implement XInclude substitution (0 or 1) - - -=item B<no_network> - -Forbid network access (0 or 1) - - -=item B<clean_namespaces> - -remove redundant namespaces declarations (0 or 1) - - -=item B<no_cdata> - -merge CDATA as text nodes (0 or 1) - - -=item B<no_xinclude_nodes> - -do not generate XINCLUDE START/END nodes (0 or 1) - - - -=back - - -=head1 METHODS CONTROLLING PARSING PROGRESS - -=over 4 - -=item B<read ()> - -Moves the position to the next node in the stream, exposing its properties. - -Returns 1 if the node was read successfully, 0 if there is no more nodes to -read, or -1 in case of error - - -=item B<readAttributeValue ()> - -Parses an attribute value into one or more Text and EntityReference nodes. - -Returns 1 in case of success, 0 if the reader was not positioned on an -attribute node or all the attribute values have been read, or -1 in case of -error. - - -=item B<readState ()> - -Gets the read state of the reader. Returns the state value, or -1 in case of -error. The module exports constants for the Reader states, see STATES below. - - -=item B<depth ()> - -The depth of the node in the tree, starts at 0 for the root node. - - -=item B<next ()> - -Skip to the node following the current one in the document order while avoiding -the sub-tree if any. Returns 1 if the node was read successfully, 0 if there is -no more nodes to read, or -1 in case of error. - - -=item B<nextElement (localname?,nsURI?)> - -Skip nodes following the current one in the document order until a specific -element is reached. The element's name must be equal to a given localname if -defined, and its namespace must equal to a given nsURI if defined. Either of -the arguments can be undefined (or omitted, in case of the latter or both). - -Returns 1 if the element was found, 0 if there is no more nodes to read, or -1 -in case of error. - - -=item B<skipSiblings ()> - -Skip all nodes on the same or lower level until the first node on a higher -level is reached. In particular, if the current node occurs in an element, the -reader stops at the end tag of the parent element, otherwise it stops at a node -immediately following the parent node. - -Returns 1 if successful, 0 if end of the document is reached, or -1 in case of -error. - - -=item B<nextSibling ()> - -It skips to the node following the current one in the document order while -avoiding the sub-tree if any. - -Returns 1 if the node was read successfully, 0 if there is no more nodes to -read, or -1 in case of error - - -=item B<nextSiblingElement (name?,nsURI?)> - -Like nextElement but only processes sibling elements of the current node -(moving forward using C<<<<<< nextSibling () >>>>>> rather than C<<<<<< read () >>>>>>, internally). - -Returns 1 if the element was found, 0 if there is no more sibling nodes, or -1 -in case of error. - - -=item B<finish ()> - -Skip all remaining nodes in the document, reaching end of the document. - -Returns 1 if successful, 0 in case of error. - - -=item B<close ()> - -This method releases any resources allocated by the current instance and closes -any underlying input. It returns 0 on failure and 1 on success. This method is -automatically called by the destructor when the reader is forgotten, therefore -you do not have to call it directly. - - - -=back - - -=head1 METHODS EXTRACTING INFORMATION - -=over 4 - -=item B<name ()> - -Returns the qualified name of the current node, equal to (Prefix:)LocalName. - - -=item B<nodeType ()> - -Returns the type of the current node. See NODE TYPES below. - - -=item B<localName ()> - -Returns the local name of the node. - - -=item B<prefix ()> - -Returns the prefix of the namespace associated with the node. - - -=item B<namespaceURI ()> - -Returns the URI defining the namespace associated with the node. - - -=item B<isEmptyElement ()> - -Check if the current node is empty, this is a bit bizarre in the sense that -<a/> will be considered empty while <a></a> will not. - - -=item B<hasValue ()> - -Returns true if the node can have a text value. - - -=item B<value ()> - -Provides the text value of the node if present or undef if not available. - - -=item B<readInnerXml ()> - -Reads the contents of the current node, including child nodes and markup. -Returns a string containing the XML of the node's content, or undef if the -current node is neither an element nor attribute, or has no child nodes. - - -=item B<readOuterXml ()> - -Reads the contents of the current node, including child nodes and markup. - -Returns a string containing the XML of the node including its content, or undef -if the current node is neither an element nor attribute. - - - -=back - - -=head1 METHODS EXTRACTING DOM NODES - -=over 4 - -=item B<document ()> - -Provides access to the document tree built by the reader. This function can be -used to collect the preserved nodes (see C<<<<<< preserveNode() >>>>>> and preservePattern). - -CAUTION: Never use this function to modify the tree unless reading of the whole -document is completed! - - -=item B<copyCurrentNode (deep)> - -This function is similar a DOM function C<<<<<< copyNode() >>>>>>. It returns a copy of the currently processed node as a corresponding DOM -object. Use deep = 1 to obtain the full sub-tree. - - -=item B<preserveNode ()> - -This tells the XML Reader to preserve the current node in the document tree. A -document tree consisting of the preserved nodes and their content can be -obtained using the method C<<<<<< document() >>>>>> once parsing is finished. - -Returns the node or NULL in case of error. - - -=item B<preservePattern (pattern,\%ns_map)> - -This tells the XML Reader to preserve all nodes matched by the pattern (which -is a streaming XPath subset). A document tree consisting of the preserved nodes -and their content can be obtained using the method C<<<<<< document() >>>>>> once parsing is finished. - -An optional second argument can be used to provide a HASH reference mapping -prefixes used by the XPath to namespace URIs. - -The XPath subset available with this function is described at - - - - http://www.w3.org/TR/xmlschema-1/#Selector - -and matches the production - - - - Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) - -Returns a positive number in case of success and -1 in case of error - - - -=back - - -=head1 METHODS PROCESSING ATTRIBUTES - -=over 4 - -=item B<attributeCount ()> - -Provides the number of attributes of the current node. - - -=item B<hasAttributes ()> - -Whether the node has attributes. - - -=item B<getAttribute (name)> - -Provides the value of the attribute with the specified qualified name. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<getAttributeNs (localName, namespaceURI)> - -Provides the value of the specified attribute. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<getAttributeNo (no)> - -Provides the value of the attribute with the specified index relative to the -containing element. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<isDefault ()> - -Returns true if the current attribute node was generated from the default value -defined in the DTD. - - -=item B<moveToAttribute (name)> - -Moves the position to the attribute with the specified local name and namespace -URI. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToAttributeNo (no)> - -Moves the position to the attribute with the specified index relative to the -containing element. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToAttributeNs (localName,namespaceURI)> - -Moves the position to the attribute with the specified local name and namespace -URI. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToFirstAttribute ()> - -Moves the position to the first attribute associated with the current node. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToNextAttribute ()> - -Moves the position to the next attribute associated with the current node. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToElement ()> - -Moves the position to the node that contains the current attribute node. - -Returns 1 in case of success, -1 in case of error, 0 if not moved - - -=item B<isNamespaceDecl ()> - -Determine whether the current node is a namespace declaration rather than a -regular attribute. - -Returns 1 if the current node is a namespace declaration, 0 if it is a regular -attribute or other type of node, or -1 in case of error. - - - -=back - - -=head1 OTHER METHODS - -=over 4 - -=item B<lookupNamespace (prefix)> - -Resolves a namespace prefix in the scope of the current element. - -Returns a string containing the namespace URI to which the prefix maps or undef -in case of error. - - -=item B<encoding ()> - -Returns a string containing the encoding of the document or undef in case of -error. - - -=item B<standalone ()> - -Determine the standalone status of the document being read. Returns 1 if the -document was declared to be standalone, 0 if it was declared to be not -standalone, or -1 if the document did not specify its standalone status or in -case of error. - - -=item B<xmlVersion ()> - -Determine the XML version of the document being read. Returns a string -containing the XML version of the document or undef in case of error. - - -=item B<baseURI ()> - -The base URI of the node. See the XML Base W3C specification. - - -=item B<isValid ()> - -Retrieve the validity status from the parser. - -Returns 1 if valid, 0 if no, and -1 in case of error. - - -=item B<xmlLang ()> - -The xml:lang scope within which the node resides. - - -=item B<lineNumber ()> - -Provide the line number of the current parsing point. - - -=item B<columnNumber ()> - -Provide the column number of the current parsing point. - - -=item B<byteConsumed ()> - -This function provides the current index of the parser relative to the start of -the current entity. This function is computed in bytes from the beginning -starting at zero and finishing at the size in bytes of the file if parsing a -file. The function is of constant cost if the input is UTF-8 but can be costly -if run on non-UTF-8 input. - - -=item B<setParserProp (prop => value, ...)> - -Change the parser processing behaviour by changing some of its internal -properties. The following properties are available with this function: -``load_ext_dtd'', ``complete_attributes'', ``validation'', ``expand_entities''. - -Since some of the properties can only be changed before any read has been done, -it is best to set the parsing properties at the constructor. - -Returns 0 if the call was successful, or -1 in case of error - - -=item B<getParserProp (prop)> - -Get value of an parser internal property. The following property names can be -used: ``load_ext_dtd'', ``complete_attributes'', ``validation'', -``expand_entities''. - -Returns the value, usually 0 or 1, or -1 in case of error. - - - -=back - - -=head1 DESTRUCTION - -XML::LibXML takes care of the reader object destruction when the last reference -to the reader object goes out of scope. The document tree is preserved, though, -if either of $reader->document or $reader->preserveNode was used and references -to the document tree exist. - - -=head1 NODE TYPES - -The reader interface provides the following constants for node types (the -constant symbols are exported by default or if tag C<<<<<< :types >>>>>> is used). - - - - XML_READER_TYPE_NONE => 0 - XML_READER_TYPE_ELEMENT => 1 - XML_READER_TYPE_ATTRIBUTE => 2 - XML_READER_TYPE_TEXT => 3 - XML_READER_TYPE_CDATA => 4 - XML_READER_TYPE_ENTITY_REFERENCE => 5 - XML_READER_TYPE_ENTITY => 6 - XML_READER_TYPE_PROCESSING_INSTRUCTION => 7 - XML_READER_TYPE_COMMENT => 8 - XML_READER_TYPE_DOCUMENT => 9 - XML_READER_TYPE_DOCUMENT_TYPE => 10 - XML_READER_TYPE_DOCUMENT_FRAGMENT => 11 - XML_READER_TYPE_NOTATION => 12 - XML_READER_TYPE_WHITESPACE => 13 - XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14 - XML_READER_TYPE_END_ELEMENT => 15 - XML_READER_TYPE_END_ENTITY => 16 - XML_READER_TYPE_XML_DECLARATION => 17 - - -=head1 STATES - -The following constants represent the values returned by C<<<<<< readState() >>>>>>. They are exported by default, or if tag C<<<<<< :states >>>>>> is used: - - - - XML_READER_NONE => -1 - XML_READER_START => 0 - XML_READER_ELEMENT => 1 - XML_READER_END => 2 - XML_READER_EMPTY => 3 - XML_READER_BACKTRACK => 4 - XML_READER_DONE => 5 - XML_READER_ERROR => 6 - - -=head1 VERSION - -0.02 - - -=head1 AUTHORS - -Heiko Klein, <H.Klein@gmx.net<gt> and Petr Pajas, <pajas@matfyz.cz<gt> - - -=head1 SEE ALSO - -http://xmlsoft.org/html/libxml-xmlreader.html - -http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod deleted file mode 100644 index a233ead4742..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod +++ /dev/null @@ -1,77 +0,0 @@ -=head1 NAME - -XML::LibXML::RelaxNG - RelaxNG Schema Validation - -=head1 SYNOPSIS - - - - use XML::LibXML; - $doc = XML::LibXML->new->parse_file($url); - - $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url ); - $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring ); - $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc ); - eval { $rngschema->validate( $doc ); }; - -=head1 DESCRIPTION - -The XML::LibXML::RelaxNG class is a tiny frontend to libxml2's RelaxNG -implementation. Currently it supports only schema parsing and document -validation. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url ); - $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring ); - $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc ); - -The constructor of XML::LibXML::RelaxNG may get called with either one of three -parameters. The parameter tells the class from which source it should generate -a validation schema. It is important, that each schema only have a single -source. - -The location parameter allows to parse a schema from the filesystem or a URL. - -The string parameter will parse the schema from the given XML string. - -The DOM parameter allows to parse the schema from a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - -Note that the constructor will die() if the schema does not meed the -constraints of the RelaxNG specification. - - -=item B<validate> - - eval { $rngschema->validate( $doc ); }; - -This function allows to validate a (parsed) document against the given RelaxNG -schema. The argument of this function should be a XML::LibXML::Document object. -If this function succeeds, it will return 0, otherwise it will die() and report -the errors found. Because of this validate() should be always evaluated. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm deleted file mode 100644 index de8821e83bc..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm +++ /dev/null @@ -1,81 +0,0 @@ -# $Id: SAX.pm 709 2008-01-29 21:01:32Z pajas $ -# Copyright (c) 2001-2002, AxKit.com Ltd. All rights reserved. -package XML::LibXML::SAX; - -use strict; -use vars qw($VERSION @ISA); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use XML::LibXML; -use XML::SAX::Base; - -use base qw(XML::SAX::Base); - -use Carp; -use IO::File; - -sub _parse_characterstream { - my ( $self, $fh ) = @_; - # this my catch the xml decl, so the parser won't get confused about - # a possibly wrong encoding. - croak( "not implemented yet" ); -} - -sub _parse_bytestream { - my ( $self, $fh ) = @_; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_fh; - $self->{ParserOptions}{ParseFuncParam} = $fh; - return $self->_parse; -} - -sub _parse_string { - my ( $self, $string ) = @_; -# $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser}; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_string; - $self->{ParserOptions}{ParseFuncParam} = $string; - return $self->_parse; -} - -sub _parse_systemid { - my $self = shift; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_file; - $self->{ParserOptions}{ParseFuncParam} = shift; - return $self->_parse; -} - -sub parse_chunk { - my ( $self, $chunk ) = @_; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_xml_chunk; - $self->{ParserOptions}{ParseFuncParam} = $chunk; - return $self->_parse; -} - -sub _parse { - my $self = shift; - my $args = bless $self->{ParserOptions}, ref($self); - - $args->{LibParser}->set_handler( $self ); - eval { - $args->{ParseFunc}->($args->{LibParser}, $args->{ParseFuncParam}); - }; - - if ( $args->{LibParser}->{SAX}->{State} == 1 ) { - croak( "SAX Exception not implemented, yet; Data ended before document ended\n" ); - } - - # break a possible circular reference - $args->{LibParser}->set_handler( undef ); - if ( $@ ) { - croak $@; - } - return $self->end_document({}); -} - - -1; - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod deleted file mode 100644 index e9462136dea..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod +++ /dev/null @@ -1,46 +0,0 @@ -=head1 NAME - -XML::LibXML::SAX - XML::LibXML direct SAX parser - - -=head1 DESCRIPTION - -XML::LibXML provides an interface to libxml2 direct SAX interface. Through this -interface it is possible to generate SAX events directly while parsing a -document. While using the SAX parser XML::LibXML will not create a DOM Document -tree. - -Such an interface is useful if very large XML documents have to be processed -and no DOM functions are required. By using this interface it is possible to -read data stored within a XML document directly into the application data -structures without loading the document into memory. - -The SAX interface of XML::LibXML is based on the famous XML::SAX interface. It -uses the generic interface as provided by XML::SAX::Base. - -Additionally to the generic functions, which are only able to process entire -documents, XML::LibXML::SAX provides I<<<<<< parse_chunk() >>>>>>. This method generates SAX events from well balanced data such as is often -provided by databases. - -I<<<<<< NOTE: >>>>>> At the moment XML::LibXML provides only an incomplete interface to libxml2's -native SAX implementation. The current implementation is not tested in -production environment. It may causes significant memory problems or shows -wrong behaviour. If you run into specific problems using this part of -XML::LibXML, let me know. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm deleted file mode 100644 index 0c1691dc876..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm +++ /dev/null @@ -1,322 +0,0 @@ -# $Id: Builder.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Builder; - -use XML::LibXML; -use XML::NamespaceSupport; - -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -sub new { - my $class = shift; - return bless {@_}, $class; -} - -sub result { $_[0]->{LAST_DOM}; } - -sub done { - my ($self) = @_; - my $dom = $self->{DOM}; - $dom = $self->{Parent} unless defined $dom; # this is for parsing document chunks - - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - - $self->{LAST_DOM} = $dom; - - return $dom; -} - -sub set_document_locator { -} - -sub start_dtd { - my ($self, $dtd) = @_; - if (defined $dtd->{Name} and - (defined $dtd->{SystemID} or defined $dtd->{PublicID})) { - $self->{DOM}->createExternalSubset($dtd->{Name},$dtd->{PublicID},$dtd->{SystemID}); - } -} - -sub end_dtd { -} - -sub start_document { - my ($self, $doc) = @_; - - $self->{DOM} = XML::LibXML::Document->createDocument(); - - if ( defined $self->{Encoding} ) { - $self->xml_decl({Version => ($self->{Version} || '1.0') , Encoding => $self->{Encoding}}); - } - - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - $self->{Parent} = undef; - return (); -} - -sub xml_decl { - my $self = shift; - my $decl = shift; - - if ( defined $decl->{Version} ) { - $self->{DOM}->setVersion( $decl->{Version} ); - } - if ( defined $decl->{Encoding} ) { - $self->{DOM}->setEncoding( $decl->{Encoding} ); - } - return (); -} - -sub end_document { - my ($self, $doc) = @_; - my $d = $self->done(); - return $d; -} - -sub start_prefix_mapping { - my $self = shift; - my $ns = shift; - - unless ( defined $self->{DOM} or defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - $self->{USENAMESPACESTACK} = 1; - - $self->{NamespaceStack}->declare_prefix( $ns->{Prefix}, $ns->{NamespaceURI} ); - return (); -} - - -sub end_prefix_mapping { - my $self = shift; - my $ns = shift; - $self->{NamespaceStack}->undeclare_prefix( $ns->{Prefix} ); - return (); -} - - -sub start_element { - my ($self, $el) = @_; - my $node; - - unless ( defined $self->{DOM} or defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - if ( defined $self->{Parent} ) { - $el->{NamespaceURI} ||= ""; - $node = $self->{Parent}->addNewChild( $el->{NamespaceURI}, - $el->{Name} ); - } - else { - if ($el->{NamespaceURI}) { - if ( defined $self->{DOM} ) { - $node = $self->{DOM}->createRawElementNS($el->{NamespaceURI}, - $el->{Name}); - } - else { - $node = XML::LibXML::Element->new( $el->{Name} ); - $node->setNamespace( $el->{NamespaceURI}, - $el->{Prefix} , 1 ); - } - } - else { - if ( defined $self->{DOM} ) { - $node = $self->{DOM}->createRawElement($el->{Name}); - } - else { - $node = XML::LibXML::Element->new( $el->{Name} ); - } - } - - $self->{DOM}->setDocumentElement($node); - } - - # build namespaces - my $skip_ns= 0; - foreach my $p ( $self->{NamespaceStack}->get_declared_prefixes() ) { - $skip_ns= 1; - my $uri = $self->{NamespaceStack}->get_uri($p); - my $nodeflag = 0; - if ( defined $uri - and defined $el->{NamespaceURI} - and $uri eq $el->{NamespaceURI} ) { - # $nodeflag = 1; - next; - } - $node->setNamespace($uri, $p, 0 ); - } - - $self->{Parent} = $node; - - $self->{NamespaceStack}->push_context; - - # do attributes - foreach my $key (keys %{$el->{Attributes}}) { - my $attr = $el->{Attributes}->{$key}; - if (ref($attr)) { - # catch broken name/value pairs - next unless $attr->{Name} ; - next if $self->{USENAMESPACESTACK} - and ( $attr->{Name} eq "xmlns" - or ( defined $attr->{Prefix} - and $attr->{Prefix} eq "xmlns" ) ); - - - if ( defined $attr->{Prefix} - and $attr->{Prefix} eq "xmlns" and $skip_ns == 0 ) { - # ok, the generator does not set namespaces correctly! - my $uri = $attr->{Value}; - $node->setNamespace($uri, - $attr->{Localname}, - $uri eq $el->{NamespaceURI} ? 1 : 0 ); - } - else { - $node->setAttributeNS($attr->{NamespaceURI} || "", - $attr->{Name}, $attr->{Value}); - } - } - else { - $node->setAttribute($key => $attr); - } - } - return (); -} - -sub end_element { - my ($self, $el) = @_; - return unless $self->{Parent}; - - $self->{NamespaceStack}->pop_context; - $self->{Parent} = $self->{Parent}->parentNode(); - return (); -} - -sub start_cdata { - my $self = shift; - $self->{IN_CDATA} = 1; - return (); -} - -sub end_cdata { - my $self = shift; - $self->{IN_CDATA} = 0; - return (); -} - -sub characters { - my ($self, $chars) = @_; - if ( not defined $self->{DOM} and not defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - return unless $self->{Parent}; - my $node; - - unless ( defined $chars and defined $chars->{Data} ) { - return; - } - - if ( defined $self->{DOM} ) { - if ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) { - $node = $self->{DOM}->createCDATASection($chars->{Data}); - } - else { - $node = $self->{Parent}->appendText($chars->{Data}); - return; - } - } - elsif ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) { - $node = XML::LibXML::CDATASection->new($chars->{Data}); - } - else { - $node = XML::LibXML::Text->new($chars->{Data}); - } - - $self->{Parent}->addChild($node); - return (); -} - -sub comment { - my ($self, $chars) = @_; - my $comment; - if ( not defined $self->{DOM} and not defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - unless ( defined $chars and defined $chars->{Data} ) { - return; - } - - if ( defined $self->{DOM} ) { - $comment = $self->{DOM}->createComment( $chars->{Data} ); - } - else { - $comment = XML::LibXML::Comment->new( $chars->{Data} ); - } - - if ( defined $self->{Parent} ) { - $self->{Parent}->addChild($comment); - } - else { - $self->{DOM}->addChild($comment); - } - return (); -} - -sub processing_instruction { - my ( $self, $pi ) = @_; - my $PI; - return unless defined $self->{DOM}; - $PI = $self->{DOM}->createPI( $pi->{Target}, $pi->{Data} ); - - if ( defined $self->{Parent} ) { - $self->{Parent}->addChild( $PI ); - } - else { - $self->{DOM}->addChild( $PI ); - } - return (); -} - -sub warning { - my $self = shift; - my $error = shift; - # fill $@ but do not die seriously - eval { $error->throw; }; -} - -sub error { - my $self = shift; - my $error = shift; - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - $error->throw; -} - -sub fatal_error { - my $self = shift; - my $error = shift; - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - $error->throw; -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod deleted file mode 100644 index 18891b4fa68..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod +++ /dev/null @@ -1,47 +0,0 @@ -=head1 NAME - -XML::LibXML::SAX::Builder - Building DOM trees from SAX events. - -=head1 SYNOPSIS - - - - use XML::LibXML::SAX::Builder; - my $builder = XML::LibXML::SAX::Builder->new(); - - my $gen = XML::Generator::DBI->new(Handler => $builder, dbh => $dbh); - $gen->execute("SELECT * FROM Users"); - - my $doc = $builder->result(); - - -=head1 DESCRIPTION - -This is a SAX handler that generates a DOM tree from SAX events. Usage is as -above. Input is accepted from any SAX1 or SAX2 event generator. - -Building DOM trees from SAX events is quite easy with -XML::LibXML::SAX::Builder. The class is designed as a SAX2 final handler not as -a filter! - -Since SAX is strictly stream oriented, you should not expect anything to return -from a generator. Instead you have to ask the builder instance directly to get -the document built. XML::LibXML::SAX::Builder's result() function holds the -document generated from the last SAX stream. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm deleted file mode 100644 index 2854619cb50..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm +++ /dev/null @@ -1,146 +0,0 @@ -# $Id: Generator.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Generator; - -use strict; - -use XML::LibXML; -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -warn("This class (", __PACKAGE__, ") is deprecated!"); - -sub new { - my $class = shift; - unshift @_, 'Handler' unless @_ != 1; - my %p = @_; - return bless \%p, $class; -} - -sub generate { - my $self = shift; - my ($node) = @_; - - my $document = { Parent => undef }; - $self->{Handler}->start_document($document); - - process_node($self->{Handler}, $node); - - $self->{Handler}->end_document($document); -} - -sub process_node { - my ($handler, $node) = @_; - - my $node_type = $node->getType(); - if ($node_type == XML_COMMENT_NODE) { - $handler->comment( { Data => $node->getData } ); - } - elsif ($node_type == XML_TEXT_NODE || $node_type == XML_CDATA_SECTION_NODE) { - # warn($node->getData . "\n"); - $handler->characters( { Data => $node->getData } ); - } - elsif ($node_type == XML_ELEMENT_NODE) { - # warn("<" . $node->getName . ">\n"); - process_element($handler, $node); - # warn("</" . $node->getName . ">\n"); - } - elsif ($node_type == XML_ENTITY_REF_NODE) { - foreach my $kid ($node->getChildnodes) { - # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n"); - process_node($handler, $kid); - } - } - elsif ($node_type == XML_DOCUMENT_NODE) { - # just get root element. Ignore other cruft. - foreach my $kid ($node->getChildnodes) { - if ($kid->getType() == XML_ELEMENT_NODE) { - process_element($handler, $kid); - last; - } - } - } - else { - warn("unknown node type: $node_type"); - } -} - -sub process_element { - my ($handler, $element) = @_; - - my @attr; - - foreach my $attr ($element->getAttributes) { - push @attr, XML::LibXML::SAX::AttributeNode->new( - Name => $attr->getName, - Value => $attr->getData, - NamespaceURI => $attr->getNamespaceURI, - Prefix => $attr->getPrefix, - LocalName => $attr->getLocalName, - ); - } - - my $node = { - Name => $element->getName, - Attributes => { map { $_->{Name} => $_ } @attr }, - NamespaceURI => $element->getNamespaceURI, - Prefix => $element->getPrefix, - LocalName => $element->getLocalName, - }; - - $handler->start_element($node); - - foreach my $child ($element->getChildnodes) { - process_node($handler, $child); - } - - $handler->end_element($node); -} - -package XML::LibXML::SAX::AttributeNode; - -use overload '""' => "stringify"; - -sub new { - my $class = shift; - my %p = @_; - return bless \%p, $class; -} - -sub stringify { - my $self = shift; - return $self->{Value}; -} - -1; - -__END__ - -=head1 NAME - -XML::LibXML::SAX::Generator - Generate SAX events from a LibXML tree - -=head1 SYNOPSIS - - my $handler = MySAXHandler->new(); - my $generator = XML::LibXML::SAX::Generator->new(Handler => $handler); - my $dom = XML::LibXML->new->parse_file("foo.xml"); - - $generator->generate($dom); - -=head1 DESCRIPTION - -THIS CLASS IS DEPRACED! Use XML::LibXML::SAX::Parser instead! - -This helper class allows you to generate SAX events from any XML::LibXML -node, and all it's sub-nodes. This basically gives you interop from -XML::LibXML to other modules that may implement SAX. - -It uses SAX2 style, but should be compatible with anything SAX1, by use -of stringification overloading. - -There is nothing to really know about, beyond the synopsis above, and -a general knowledge of how to use SAX, which is beyond the scope here. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm deleted file mode 100644 index 40137cb7c95..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm +++ /dev/null @@ -1,254 +0,0 @@ -# $Id: Parser.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Parser; - -use strict; -use vars qw($VERSION @ISA); - -use XML::LibXML; -use XML::LibXML::Common qw(:libxml); -use XML::SAX::Base; -use XML::SAX::DocumentLocator; - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE -@ISA = ('XML::SAX::Base'); - -sub _parse_characterstream { - my ($self, $fh, $options) = @_; - die "parsing a characterstream is not supported at this time"; -} - -sub _parse_bytestream { - my ($self, $fh, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_fh($fh, $options->{Source}{SystemId}) : $parser->parse_fh($fh); - $self->generate($doc); -} - -sub _parse_string { - my ($self, $str, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_string($str, $options->{Source}{SystemId}) : $parser->parse_string($str); - $self->generate($doc); -} - -sub _parse_systemid { - my ($self, $sysid, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = $parser->parse_file($sysid); - $self->generate($doc); -} - -sub generate { - my $self = shift; - my ($node) = @_; - - my $doc = $node->ownerDocument(); - { - # precompute some DocumentLocator values - my %locator = ( - PublicId => undef, - SystemId => undef, - Encoding => undef, - XMLVersion => undef, - ); - my $dtd = defined $doc ? $doc->externalSubset() : undef; - if (defined $dtd) { - $locator{PublicId} = $dtd->publicId(); - $locator{SystemId} = $dtd->systemId(); - } - if (defined $doc) { - $locator{Encoding} = $doc->encoding(); - $locator{XMLVersion} = $doc->version(); - } - $self->set_document_locator( - XML::SAX::DocumentLocator->new( - sub { $locator{PublicId} }, - sub { $locator{SystemId} }, - sub { defined($self->{current_node}) ? $self->{current_node}->line_number() : undef }, - sub { 1 }, - sub { $locator{Encoding} }, - sub { $locator{XMLVersion} }, - ), - ); - } - - if ( $node->nodeType() == XML_DOCUMENT_NODE - || $node->nodeType == XML_HTML_DOCUMENT_NODE ) { - $self->start_document({}); - $self->xml_decl({Version => $node->getVersion, Encoding => $node->getEncoding}); - $self->process_node($node); - $self->end_document({}); - } -} - -sub process_node { - my ($self, $node) = @_; - - local $self->{current_node} = $node; - - my $node_type = $node->nodeType(); - if ($node_type == XML_COMMENT_NODE) { - $self->comment( { Data => $node->getData } ); - } - elsif ($node_type == XML_TEXT_NODE - || $node_type == XML_CDATA_SECTION_NODE) { - # warn($node->getData . "\n"); - $self->characters( { Data => $node->nodeValue } ); - } - elsif ($node_type == XML_ELEMENT_NODE) { - # warn("<" . $node->getName . ">\n"); - $self->process_element($node); - # warn("</" . $node->getName . ">\n"); - } - elsif ($node_type == XML_ENTITY_REF_NODE) { - foreach my $kid ($node->childNodes) { - # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n"); - $self->process_node($kid); - } - } - elsif ($node_type == XML_DOCUMENT_NODE - || $node_type == XML_HTML_DOCUMENT_NODE - || $node_type == XML_DOCUMENT_FRAG_NODE) { - # some times it is just usefull to generate SAX events from - # a document fragment (very good with filters). - foreach my $kid ($node->childNodes) { - $self->process_node($kid); - } - } - elsif ($node_type == XML_PI_NODE) { - $self->processing_instruction( { Target => $node->getName, Data => $node->getData } ); - } - elsif ($node_type == XML_COMMENT_NODE) { - $self->comment( { Data => $node->getData } ); - } - elsif ( $node_type == XML_XINCLUDE_START - || $node_type == XML_XINCLUDE_END ) { - # ignore! - # i may want to handle this one day, dunno yet - } - elsif ($node_type == XML_DTD_NODE ) { - # ignore! - # i will support DTDs, but had no time yet. - } - else { - # warn("unsupported node type: $node_type"); - } - -} - -sub process_element { - my ($self, $element) = @_; - - my $attribs = {}; - my @ns_maps = $element->getNamespaces; - - foreach my $ns (@ns_maps) { - $self->start_prefix_mapping( - { - NamespaceURI => $ns->href, - Prefix => ( defined $ns->localname ? $ns->localname : ''), - } - ); - } - - foreach my $attr ($element->attributes) { - my $key; - # warn("Attr: $attr -> ", $attr->getName, " = ", $attr->getData, "\n"); - # this isa dump thing... - if ($attr->isa('XML::LibXML::Namespace')) { - # TODO This needs fixing modulo agreeing on what - # is the right thing to do here. - unless ( defined $attr->name ) { - ## It's an atter like "xmlns='foo'" - $attribs->{"{}xmlns"} = - { - Name => "xmlns", - LocalName => "xmlns", - Prefix => "", - Value => $attr->href, - NamespaceURI => "", - }; - } - else { - my $prefix = "xmlns"; - my $localname = $attr->localname; - my $key = "{http://www.w3.org/2000/xmlns/}"; - my $name = "xmlns"; - - if ( defined $localname ) { - $key .= $localname; - $name.= ":".$localname; - } - - $attribs->{$key} = - { - Name => $name, - Value => $attr->href, - NamespaceURI => "http://www.w3.org/2000/xmlns/", - Prefix => $prefix, - LocalName => $localname, - }; - } - } - else { - my $ns = $attr->namespaceURI; - - $ns = '' unless defined $ns; - $key = "{$ns}".$attr->localname; - ## Not sure why, but $attr->name is coming through stripped - ## of its prefix, so we need to hand-assemble a real name. - my $name = $attr->name; - $name = "" unless defined $name; - - my $prefix = $attr->prefix; - $prefix = "" unless defined $prefix; - $name = "$prefix:$name" - if index( $name, ":" ) < 0 && length $prefix; - - $attribs->{$key} = - { - Name => $name, - Value => $attr->value, - NamespaceURI => $ns, - Prefix => $prefix, - LocalName => $attr->localname, - }; - } - # use Data::Dumper; - # warn("Attr made: ", Dumper($attribs->{$key}), "\n"); - } - - my $node = { - Name => $element->nodeName, - Attributes => $attribs, - NamespaceURI => $element->namespaceURI, - Prefix => $element->prefix || "", - LocalName => $element->localname, - }; - - $self->start_element($node); - - foreach my $child ($element->childNodes) { - $self->process_node($child); - } - - my $end_node = { %$node }; - - delete $end_node->{Attributes}; - - $self->end_element($end_node); - - foreach my $ns (@ns_maps) { - $self->end_prefix_mapping( - { - NamespaceURI => $ns->href, - Prefix => ( defined $ns->localname ? $ns->localname : ''), - } - ); - } -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod deleted file mode 100644 index 107301612bf..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod +++ /dev/null @@ -1,73 +0,0 @@ -=head1 NAME - -XML::LibXML::Schema - XML Schema Validation - -=head1 SYNOPSIS - - - - use XML::LibXML; - $doc = XML::LibXML->new->parse_file($url); - - $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url ); - $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring ); - eval { $xmlschema->validate( $doc ); }; - -=head1 DESCRIPTION - -The XML::LibXML::Schema class is a tiny frontend to libxml2's XML Schema -implementation. Currently it supports only schema parsing and document -validation. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url ); - $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring ); - -The constructor of XML::LibXML::Schema may get called with either one of two -parameters. The parameter tells the class from which source it should generate -a validation schema. It is important, that each schema only have a single -source. - -The location parameter allows to parse a schema from the filesystem or a URL. - -The string parameter will parse the schema from the given XML string. - -Note that the constructor will die() if the schema does not meed the -constraints of the XML Schema specification. - - -=item B<validate> - - eval { $xmlschema->validate( $doc ); }; - -This function allows to validate a (parsed) document against the given XML -Schema. The argument of this function should be a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object. If this function succeeds, it will return 0, otherwise it will die() -and report the errors found. Because of this validate() should be always -evaluated. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod deleted file mode 100644 index 98c741489aa..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod +++ /dev/null @@ -1,179 +0,0 @@ -=head1 NAME - -XML::LibXML::Text - XML::LibXML Class for Text Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Text nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $text = XML::LibXML::Text->new( $content ); - $nodedata = $text->data; - $text->setData( $text_content ); - $text->substringData($offset, $length); - $text->appendData( $somedata ); - $text->insertData($offset, $string); - $text->deleteData($offset, $length); - $text->deleteDataString($remstring, $all); - $text->replaceData($offset, $length, $string); - $text->replaceDataString($old, $new, $flag); - $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags ); - -=head1 DESCRIPTION - -Unlike the DOM specification, XML::LibXML implements the text node as the base -class of all character data node. Therefor there exists no CharacterData class. -This allows one to apply methods of text nodes also to Comments and -CDATA-sections. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $text = XML::LibXML::Text->new( $content ); - -The constructor of the class. It creates an unbound text node. - - -=item B<data> - - $nodedata = $text->data; - -Although there exists the C<<<<<< nodeValue >>>>>> attribute in the Node class, the DOM specification defines data as a separate -attribute. C<<<<<< XML::LibXML >>>>>> implements these two attributes not as different attributes, but as aliases, -such as C<<<<<< libxml2 >>>>>> does. Therefore - - - - $text->data; - -and - - - - $text->nodeValue; - -will have the same result and are not different entities. - - -=item B<setData($string)> - - $text->setData( $text_content ); - -This function sets or replaces text content to a node. The node has to be of -the type "text", "cdata" or "comment". - - -=item B<substringData($offset,$length)> - - $text->substringData($offset, $length); - -Extracts a range of data from the node. (DOM Spec) This function takes the two -parameters $offset and $length and returns the sub-string, if available. - -If the node contains no data or $offset refers to an non-existing string index, -this function will return I<<<<<< undef >>>>>>. If $length is out of range C<<<<<< substringData >>>>>> will return the data starting at $offset instead of causing an error. - - -=item B<appendData($string)> - - $text->appendData( $somedata ); - -Appends a string to the end of the existing data. If the current text node -contains no data, this function has the same effect as C<<<<<< setData >>>>>>. - - -=item B<insertData($offset,$string)> - - $text->insertData($offset, $string); - -Inserts the parameter $string at the given $offset of the existing data of the -node. This operation will not remove existing data, but change the order of the -existing data. - -The $offset has to be a positive value. If $offset is out of range, C<<<<<< insertData >>>>>> will have the same behaviour as C<<<<<< appendData >>>>>>. - - -=item B<deleteData($offset, $length)> - - $text->deleteData($offset, $length); - -This method removes a chunk from the existing node data at the given offset. -The $length parameter tells, how many characters should be removed from the -string. - - -=item B<deleteDataString($string, [$all])> - - $text->deleteDataString($remstring, $all); - -This method removes a chunk from the existing node data. Since the DOM spec is -quite unhandy if you already know C<<<<<< which >>>>>> string to remove from a text node, this method allows more perlish code :) - -The functions takes two parameters: I<<<<<< $string >>>>>> and optional the I<<<<<< $all >>>>>> flag. If $all is not set, I<<<<<< undef >>>>>> or I<<<<<< 0 >>>>>>, C<<<<<< deleteDataString >>>>>> will remove only the first occurrence of $string. If $all is I<<<<<< TRUE >>>>>>C<<<<<< deleteDataString >>>>>> will remove all occurrences of I<<<<<< $string >>>>>> from the node data. - - -=item B<replaceData($offset, $length, $string)> - - $text->replaceData($offset, $length, $string); - -The DOM style version to replace node data. - - -=item B<replaceDataString($oldstring, $newstring, [$all])> - - $text->replaceDataString($old, $new, $flag); - -The more programmer friendly version of replaceData() :) - -Instead of giving offsets and length one can specify the exact string (I<<<<<< $oldstring >>>>>>) to be replaced. Additionally the I<<<<<< $all >>>>>> flag allows to replace all occurrences of I<<<<<< $oldstring >>>>>>. - - -=item B<replaceDataRegEx( $search_cond, $replace_cond, $reflags )> - - $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags ); - -This method replaces the node's data by a C<<<<<< simple >>>>>> regular expression. Optional, this function allows to pass some flags that will -be added as flag to the replace statement. - -I<<<<<< NOTE: >>>>>> This is a shortcut for - - - - my $datastr = $node->getData(); - $datastr =~ s/somecond/replacement/g; # 'g' is just an example for any flag - $node->setData( $datastr ); - -This function can make things easier to read for simple replacements. For more -complex variants it is recommended to use the code snippet above. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm deleted file mode 100644 index 903a260e2d5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm +++ /dev/null @@ -1,131 +0,0 @@ -# $Id: XPathContext.pm 422 2002-11-08 17:10:30Z phish $ - -package XML::LibXML::XPathContext; - -use strict; -use vars qw($VERSION @ISA $USE_LIBXML_DATA_TYPES); - -use Carp; -use XML::LibXML; -use XML::LibXML::NodeList; - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -# should LibXML XPath data types be used for simple objects -# when passing parameters to extension functions (default: no) -$USE_LIBXML_DATA_TYPES = 0; - -sub findnodes { - my ($self, $xpath, $node) = @_; - - my @nodes = $self->_guarded_find_call('_findnodes', $xpath, $node); - - if (wantarray) { - return @nodes; - } - else { - return XML::LibXML::NodeList->new(@nodes); - } -} - -sub find { - my ($self, $xpath, $node) = @_; - - my ($type, @params) = $self->_guarded_find_call('_find', $xpath, $node); - - if ($type) { - return $type->new(@params); - } - return undef; -} - -sub findvalue { - my $self = shift; - return $self->find(@_)->to_literal->value; -} - -sub _guarded_find_call { - my ($self, $method, $xpath, $node) = @_; - - my $prev_node; - if (ref($node)) { - $prev_node = $self->getContextNode(); - $self->setContextNode($node); - } - my @ret; - eval { - @ret = $self->$method($xpath); - }; - $self->_free_node_pool; - $self->setContextNode($prev_node) if ref($node); - - if ($@) { - my $err = $@; - chomp $err; - croak $err; - } - - return @ret; -} - -sub registerFunction { - my ($self, $name, $sub) = @_; - $self->registerFunctionNS($name, undef, $sub); - return; -} - -sub unregisterNs { - my ($self, $prefix) = @_; - $self->registerNs($prefix, undef); - return; -} - -sub unregisterFunction { - my ($self, $name) = @_; - $self->registerFunctionNS($name, undef, undef); - return; -} - -sub unregisterFunctionNS { - my ($self, $name, $ns) = @_; - $self->registerFunctionNS($name, $ns, undef); - return; -} - -sub unregisterVarLookupFunc { - my ($self) = @_; - $self->registerVarLookupFunc(undef, undef); - return; -} - -# extension function perl dispatcher -# borrowed from XML::LibXSLT - -sub _perl_dispatcher { - my $func = shift; - my @params = @_; - my @perlParams; - - my $i = 0; - while (@params) { - my $type = shift(@params); - if ($type eq 'XML::LibXML::Literal' or - $type eq 'XML::LibXML::Number' or - $type eq 'XML::LibXML::Boolean') - { - my $val = shift(@params); - unshift(@perlParams, $USE_LIBXML_DATA_TYPES ? $type->new($val) : $val); - } - elsif ($type eq 'XML::LibXML::NodeList') { - my $node_count = shift(@params); - unshift(@perlParams, $type->new(splice(@params, 0, $node_count))); - } - } - - $func = "main::$func" unless ref($func) || $func =~ /(.+)::/; - no strict 'refs'; - my $res = $func->(@perlParams); - return $res; -} - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod deleted file mode 100644 index 328c88a2ec3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod +++ /dev/null @@ -1,349 +0,0 @@ -=head1 NAME - -XML::LibXML::XPathContext - XPath Evaluation - -=head1 SYNOPSIS - - my $xpc = XML::LibXML::XPathContext->new(); - my $xpc = XML::LibXML::XPathContext->new($node); - $xpc->registerNs($prefix, $namespace_uri) - $xpc->unregisterNs($prefix) - $uri = $xpc->lookupNs($prefix) - $xpc->registerVarLookupFunc($callback, $data) - $data = $xpc->getVarLookupData(); - $callback = $xpc->getVarLookupFunc(); - $xpc->unregisterVarLookupFunc($name); - $xpc->registerFunctionNS($name, $uri, $callback) - $xpc->unregisterFunctionNS($name, $uri) - $xpc->registerFunction($name, $callback) - $xpc->unregisterFunction($name) - @nodes = $xpc->findnodes($xpath) - @nodes = $xpc->findnodes($xpath, $context_node ) - $nodelist = $xpc->findnodes($xpath, $context_node ) - $object = $xpc->find($xpath ) - $object = $xpc->find($xpath, $context_node ) - $value = $xpc->findvalue($xpath ) - $value = $xpc->findvalue($xpath, $context_node ) - $xpc->setContextNode($node) - my $node = $xpc->getContextNode; - $xpc->setContextPosition($position) - my $position = $xpc->getContextPosition; - $xpc->setContextSize($size) - my $size = $xpc->getContextSize; - $xpc->setContextNode($node) -The XML::LibXML::XPathContext class provides an almost complete interface to -libxml2's XPath implementation. With XML::LibXML::XPathContext is is possible -to evaluate XPath expressions in the context of arbitrary node, context size, -and context position, with a user-defined namespace-prefix mapping, custom -XPath functions written in Perl, and even a custom XPath variable resolver. - - -=head1 EXAMPLES - - -=head2 Namespaces - -This example demonstrates C<<<<<< registerNs() >>>>>> method. It finds all paragraph nodes in an XHTML document. - - - - my $xc = XML::LibXML::XPathContext->new($xhtml_doc); - $xc->registerNs('xhtml', 'http://www.w3.org/1999/xhtml'); - my @nodes = $xc->findnodes('//xhtml:p'); - - -=head2 Custom XPath functions - -This example demonstrates C<<<<<< registerFunction() >>>>>> method by defining a function filtering nodes based on a Perl regular -expression: - - - - sub grep_nodes { - my ($nodelist,$regexp) = @_; - my $result = XML::LibXML::NodeList->new; - for my $node ($nodelist->get_nodelist()) { - $result->push($node) if $node->textContent =~ $regexp; - } - return $result; - }; - - my $xc = XML::LibXML::XPathContext->new($node); - $xc->registerFunction('grep_nodes', \&grep_nodes); - my @nodes = $xc->findnodes('//section[grep_nodes(para,"\bsearch(ing|es)?\b")]'); - - -=head2 Variables - -This example demonstrates C<<<<<< registerVarLookup() >>>>>> method. We use XPath variables to recycle results of previous evaluations: - - - - sub var_lookup { - my ($varname,$ns,$data)=@_; - return $data->{$varname}; - } - - my $areas = XML::LibXML->new->parse_file('areas.xml'); - my $empl = XML::LibXML->new->parse_file('employees.xml'); - - my $xc = XML::LibXML::XPathContext->new($empl); - - my %variables = ( - A => $xc->find('/employees/employee[@salary>10000]'), - B => $areas->find('/areas/area[district='Brooklyn']/street'), - ); - - # get names of employees from $A working in an area listed in $B - $xc->registerVarLookupFunc(\&var_lookup, \%variables); - my @nodes = $xc->findnodes('$A[work_area/street = $B]/name'); - - -=head1 METHODS - -=over 4 - -=item B<new> - - my $xpc = XML::LibXML::XPathContext->new(); - -Creates a new XML::LibXML::XPathContext object without a context node. - - my $xpc = XML::LibXML::XPathContext->new($node); - -Creates a new XML::LibXML::XPathContext object with the context node set to C<<<<<< $node >>>>>>. - - -=item B<registerNs> - - $xpc->registerNs($prefix, $namespace_uri) - -Registers namespace C<<<<<< $prefix >>>>>> to C<<<<<< $namespace_uri >>>>>>. - - -=item B<unregisterNs> - - $xpc->unregisterNs($prefix) - -Unregisters namespace C<<<<<< $prefix >>>>>>. - - -=item B<lookupNs> - - $uri = $xpc->lookupNs($prefix) - -Returns namespace URI registered with C<<<<<< $prefix >>>>>>. If C<<<<<< $prefix >>>>>> is not registered to any namespace URI returns C<<<<<< undef >>>>>>. - - -=item B<registerVarLookupFunc> - - $xpc->registerVarLookupFunc($callback, $data) - -Registers variable lookup function C<<<<<< $prefix >>>>>>. The registered function is executed by the XPath engine each time an XPath -variable is evaluated. It takes three arguments: C<<<<<< $data >>>>>>, variable name, and variable ns-URI and must return one value: a number or -string or any C<<<<<< XML::LibXML:: >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g. -Document, Element, etc.), or NodeList. For convenience, simple (non-blessed) -array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>. - - -=item B<getVarLookupData> - - $data = $xpc->getVarLookupData(); - -Returns the data that have been associated with a variable lookup function -during a previous call to C<<<<<< registerVarLookupFunc >>>>>>. - - -=item B<getVarLookupFunc> - - $callback = $xpc->getVarLookupFunc(); - -Returns the variable lookup function previously registered with C<<<<<< registerVarLookupFunc >>>>>>. - - -=item B<unregisterVarLookupFunc> - - $xpc->unregisterVarLookupFunc($name); - -Unregisters variable lookup function and the associated lookup data. - - -=item B<registerFunctionNS> - - $xpc->registerFunctionNS($name, $uri, $callback) - -Registers an extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. C<<<<<< $callback >>>>>> must be a CODE reference. The arguments of the callback function are either -simple scalars or C<<<<<< XML::LibXML::* >>>>>> objects depending on the XPath argument types. The function is responsible for -checking the argument number and types. Result of the callback code must be a -single value of the following types: a simple scalar (number, string) or an -arbitrary C<<<<<< XML::LibXML::* >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g. -Document, Element, etc.), or NodeList. For convenience, simple (non-blessed) -array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>. - - -=item B<unregisterFunctionNS> - - $xpc->unregisterFunctionNS($name, $uri) - -Unregisters extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. Has the same effect as passing C<<<<<< undef >>>>>> as C<<<<<< $callback >>>>>> to registerFunctionNS. - - -=item B<registerFunction> - - $xpc->registerFunction($name, $callback) - -Same as C<<<<<< registerFunctionNS >>>>>> but without a namespace. - - -=item B<unregisterFunction> - - $xpc->unregisterFunction($name) - -Same as C<<<<<< unregisterFunctionNS >>>>>> but without a namespace. - - -=item B<findnodes> - - @nodes = $xpc->findnodes($xpath) - - @nodes = $xpc->findnodes($xpath, $context_node ) - - $nodelist = $xpc->findnodes($xpath, $context_node ) - -Performs the xpath statement on the current node and returns the result as an -array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. Optionally, a node may be passed as a second argument to set the -context node for the query. - - -=item B<find> - - $object = $xpc->find($xpath ) - - $object = $xpc->find($xpath, $context_node ) - -Performs the xpath expression using the current node as the context of the -expression, and returns the result depending on what type of result the XPath -expression had. For example, the XPath C<<<<<< 1 * 3 + 52 >>>>>> results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to ``do -the right thing'' in different contexts. Optionally, a node may be passed as a -second argument to set the context node for the query. - - -=item B<findvalue> - - $value = $xpc->findvalue($xpath ) - - $value = $xpc->findvalue($xpath, $context_node ) - -Is exactly equivalent to: - - - - $node->find( $xpath )->to_literal; - -That is, it returns the literal value of the results. This enables you to -ensure that you get a string back from your search, allowing certain shortcuts. -This could be used as the equivalent of <xsl:value-of select=``some_xpath''/>. -Optionally, a node may be passed in the second argument to set the context node -for the query. - - -=item B<setContextNode> - - $xpc->setContextNode($node) - -Set the current context node. - - -=item B<getContextNode> - - my $node = $xpc->getContextNode; - -Get the current context node. - - -=item B<setContextPosition> - - $xpc->setContextPosition($position) - -Set the current context position. By default, this value is -1 (and evaluating -XPath function C<<<<<< position() >>>>>> in the initial context raises an XPath error), but can be set to any value up -to context size. This usually only serves to cheat the XPath engine to return -given position when C<<<<<< position() >>>>>> XPath function is called. Setting this value to -1 restores the default -behavior. - - -=item B<getContextPosition> - - my $position = $xpc->getContextPosition; - -Get the current context position. - - -=item B<setContextSize> - - $xpc->setContextSize($size) - -Set the current context size. By default, this value is -1 (and evaluating -XPath function C<<<<<< last() >>>>>> in the initial context raises an XPath error), but can be set to any -non-negative value. This usually only serves to cheat the XPath engine to -return the given value when C<<<<<< last() >>>>>> XPath function is called. If context size is set to 0, position is -automatically also set to 0. If context size is positive, position is -automatically set to 1. Setting context size to -1 restores the default -behavior. - - -=item B<getContextSize> - - my $size = $xpc->getContextSize; - -Get the current context size. - - -=item B<setContextNode> - - $xpc->setContextNode($node) - -Set the current context node. - - - -=back - - -=head1 BUGS AND CAVEATS - -XML::LibXML::XPathContext objects I<<<<<< are >>>>>> reentrant, meaning that you can call methods of an XML::LibXML::XPathContext -even from XPath extension functions registered with the same object or from a -variable lookup function. On the other hand, you should rather avoid -registering new extension functions, namespaces and a variable lookup function -from within extension functions and a variable lookup function, unless you want -to experience untested behavior. - - -=head1 AUTHORS - -Ilya Martynov and Petr Pajas, based on XML::LibXML and XML::LibXSLT code by -Matt Sergeant and Christian Glahn. - - -=head1 HISTORICAL REMARK - -Prior to XML::LibXML 1.61 this module was distributed separately for -maintenance reasons. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm deleted file mode 100644 index 064b021ec5b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm +++ /dev/null @@ -1,840 +0,0 @@ -# XML::Parser -# -# Copyright (c) 1998-2000 Larry Wall and Clark Cooper -# All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -package XML::Parser; - -use Carp; - -BEGIN { - require XML::Parser::Expat; - $VERSION = '2.36'; - die "Parser.pm and Expat.pm versions don't match" - unless $VERSION eq $XML::Parser::Expat::VERSION; -} - -use strict; - -use vars qw($VERSION $LWP_load_failed); - -$LWP_load_failed = 0; - -sub new { - my ($class, %args) = @_; - my $style = $args{Style}; - - my $nonexopt = $args{Non_Expat_Options} ||= {}; - - $nonexopt->{Style} = 1; - $nonexopt->{Non_Expat_Options} = 1; - $nonexopt->{Handlers} = 1; - $nonexopt->{_HNDL_TYPES} = 1; - $nonexopt->{NoLWP} = 1; - - $args{_HNDL_TYPES} = {%XML::Parser::Expat::Handler_Setters}; - $args{_HNDL_TYPES}->{Init} = 1; - $args{_HNDL_TYPES}->{Final} = 1; - - $args{Handlers} ||= {}; - my $handlers = $args{Handlers}; - - if (defined($style)) { - my $stylepkg = $style; - - if ($stylepkg !~ /::/) { - $stylepkg = "\u$style"; - - eval { - my $fullpkg = 'XML::Parser::Style::' . $stylepkg; - my $stylefile = $fullpkg; - $stylefile =~ s/::/\//g; - require "$stylefile.pm"; - $stylepkg = $fullpkg; - }; - if ($@) { - # fallback to old behaviour - $stylepkg = 'XML::Parser::' . $stylepkg; - } - } - - my $htype; - foreach $htype (keys %{$args{_HNDL_TYPES}}) { - # Handlers explicity given override - # handlers from the Style package - unless (defined($handlers->{$htype})) { - - # A handler in the style package must either have - # exactly the right case as the type name or a - # completely lower case version of it. - - my $hname = "${stylepkg}::$htype"; - if (defined(&$hname)) { - $handlers->{$htype} = \&$hname; - next; - } - - $hname = "${stylepkg}::\L$htype"; - if (defined(&$hname)) { - $handlers->{$htype} = \&$hname; - next; - } - } - } - } - - unless (defined($handlers->{ExternEnt}) - or defined ($handlers->{ExternEntFin})) { - - if ($args{NoLWP} or $LWP_load_failed) { - $handlers->{ExternEnt} = \&file_ext_ent_handler; - $handlers->{ExternEntFin} = \&file_ext_ent_cleanup; - } - else { - # The following just bootstraps the real LWP external entity - # handler - - $handlers->{ExternEnt} = \&initial_ext_ent_handler; - - # No cleanup function available until LWPExternEnt.pl loaded - } - } - - $args{Pkg} ||= caller; - bless \%args, $class; -} # End of new - -sub setHandlers { - my ($self, @handler_pairs) = @_; - - croak("Uneven number of arguments to setHandlers method") - if (int(@handler_pairs) & 1); - - my @ret; - while (@handler_pairs) { - my $type = shift @handler_pairs; - my $handler = shift @handler_pairs; - unless (defined($self->{_HNDL_TYPES}->{$type})) { - my @types = sort keys %{$self->{_HNDL_TYPES}}; - - croak("Unknown Parser handler type: $type\n Valid types: @types"); - } - push(@ret, $type, $self->{Handlers}->{$type}); - $self->{Handlers}->{$type} = $handler; - } - - return @ret; -} - -sub parse_start { - my $self = shift; - my @expat_options = (); - - my ($key, $val); - while (($key, $val) = each %{$self}) { - push (@expat_options, $key, $val) - unless exists $self->{Non_Expat_Options}->{$key}; - } - - my %handlers = %{$self->{Handlers}}; - my $init = delete $handlers{Init}; - my $final = delete $handlers{Final}; - - my $expatnb = new XML::Parser::ExpatNB(@expat_options, @_); - $expatnb->setHandlers(%handlers); - - &$init($expatnb) - if defined($init); - - $expatnb->{_State_} = 1; - - $expatnb->{FinalHandler} = $final - if defined($final); - - return $expatnb; -} - -sub parse { - my $self = shift; - my $arg = shift; - my @expat_options = (); - my ($key, $val); - while (($key, $val) = each %{$self}) { - push(@expat_options, $key, $val) - unless exists $self->{Non_Expat_Options}->{$key}; - } - - my $expat = new XML::Parser::Expat(@expat_options, @_); - my %handlers = %{$self->{Handlers}}; - my $init = delete $handlers{Init}; - my $final = delete $handlers{Final}; - - $expat->setHandlers(%handlers); - - if ($self->{Base}) { - $expat->base($self->{Base}); - } - - &$init($expat) - if defined($init); - - my @result = (); - my $result; - eval { - $result = $expat->parse($arg); - }; - my $err = $@; - if ($err) { - $expat->release; - die $err; - } - - if ($result and defined($final)) { - if (wantarray) { - @result = &$final($expat); - } - else { - $result = &$final($expat); - } - } - - $expat->release; - - return unless defined wantarray; - return wantarray ? @result : $result; -} - -sub parsestring { - my $self = shift; - $self->parse(@_); -} - -sub parsefile { - my $self = shift; - my $file = shift; - local(*FILE); - open(FILE, $file) or croak "Couldn't open $file:\n$!"; - binmode(FILE); - my @ret; - my $ret; - - $self->{Base} = $file; - - if (wantarray) { - eval { - @ret = $self->parse(*FILE, @_); - }; - } - else { - eval { - $ret = $self->parse(*FILE, @_); - }; - } - my $err = $@; - close(FILE); - die $err if $err; - - return unless defined wantarray; - return wantarray ? @ret : $ret; -} - -sub initial_ext_ent_handler { - # This just bootstraps in the real lwp_ext_ent_handler which - # also loads the URI and LWP modules. - - unless ($LWP_load_failed) { - local($^W) = 0; - - my $stat = - eval { - require('XML/Parser/LWPExternEnt.pl'); - }; - - if ($stat) { - $_[0]->setHandlers(ExternEnt => \&lwp_ext_ent_handler, - ExternEntFin => \&lwp_ext_ent_cleanup); - - goto &lwp_ext_ent_handler; - } - - # Failed to load lwp handler, act as if NoLWP - - $LWP_load_failed = 1; - - my $cmsg = "Couldn't load LWP based external entity handler\n"; - $cmsg .= "Switching to file-based external entity handler\n"; - $cmsg .= " (To avoid this message, use NoLWP option to XML::Parser)\n"; - warn($cmsg); - } - - $_[0]->setHandlers(ExternEnt => \&file_ext_ent_handler, - ExternEntFin => \&file_ext_ent_cleanup); - goto &file_ext_ent_handler; - -} - -sub file_ext_ent_handler { - my ($xp, $base, $path) = @_; - - # Prepend base only for relative paths - - if (defined($base) - and not ($path =~ m!^(?:[\\/]|\w+:)!)) - { - my $newpath = $base; - $newpath =~ s![^\\/:]*$!$path!; - $path = $newpath; - } - - if ($path =~ /^\s*[|>+]/ - or $path =~ /\|\s*$/) { - $xp->{ErrorMessage} - .= "System ID ($path) contains Perl IO control characters"; - return undef; - } - - require IO::File; - my $fh = new IO::File($path); - unless (defined $fh) { - $xp->{ErrorMessage} - .= "Failed to open $path:\n$!"; - return undef; - } - - $xp->{_BaseStack} ||= []; - $xp->{_FhStack} ||= []; - - push(@{$xp->{_BaseStack}}, $base); - push(@{$xp->{_FhStack}}, $fh); - - $xp->base($path); - - return $fh; -} - -sub file_ext_ent_cleanup { - my ($xp) = @_; - - my $fh = pop(@{$xp->{_FhStack}}); - $fh->close; - - my $base = pop(@{$xp->{_BaseStack}}); - $xp->base($base); -} - -1; - -__END__ - -=head1 NAME - -XML::Parser - A perl module for parsing XML documents - -=head1 SYNOPSIS - - use XML::Parser; - - $p1 = new XML::Parser(Style => 'Debug'); - $p1->parsefile('REC-xml-19980210.xml'); - $p1->parse('<foo id="me">Hello World</foo>'); - - # Alternative - $p2 = new XML::Parser(Handlers => {Start => \&handle_start, - End => \&handle_end, - Char => \&handle_char}); - $p2->parse($socket); - - # Another alternative - $p3 = new XML::Parser(ErrorContext => 2); - - $p3->setHandlers(Char => \&text, - Default => \&other); - - open(FOO, 'xmlgenerator |'); - $p3->parse(*FOO, ProtocolEncoding => 'ISO-8859-1'); - close(FOO); - - $p3->parsefile('junk.xml', ErrorContext => 3); - -=begin man -.ds PI PI - -=end man - -=head1 DESCRIPTION - -This module provides ways to parse XML documents. It is built on top of -L<XML::Parser::Expat>, which is a lower level interface to James Clark's -expat library. Each call to one of the parsing methods creates a new -instance of XML::Parser::Expat which is then used to parse the document. -Expat options may be provided when the XML::Parser object is created. -These options are then passed on to the Expat object on each parse call. -They can also be given as extra arguments to the parse methods, in which -case they override options given at XML::Parser creation time. - -The behavior of the parser is controlled either by C<L</Style>> and/or -C<L</Handlers>> options, or by L</setHandlers> method. These all provide -mechanisms for XML::Parser to set the handlers needed by XML::Parser::Expat. -If neither C<Style> nor C<Handlers> are specified, then parsing just -checks the document for being well-formed. - -When underlying handlers get called, they receive as their first parameter -the I<Expat> object, not the Parser object. - -=head1 METHODS - -=over 4 - -=item new - -This is a class method, the constructor for XML::Parser. Options are passed -as keyword value pairs. Recognized options are: - -=over 4 - -=item * Style - -This option provides an easy way to create a given style of parser. The -built in styles are: L<"Debug">, L<"Subs">, L<"Tree">, L<"Objects">, -and L<"Stream">. These are all defined in separate packages under -C<XML::Parser::Style::*>, and you can find further documentation for -each style both below, and in those packages. - -Custom styles can be provided by giving a full package name containing -at least one '::'. This package should then have subs defined for each -handler it wishes to have installed. See L<"STYLES"> below -for a discussion of each built in style. - -=item * Handlers - -When provided, this option should be an anonymous hash containing as -keys the type of handler and as values a sub reference to handle that -type of event. All the handlers get passed as their 1st parameter the -instance of expat that is parsing the document. Further details on -handlers can be found in L<"HANDLERS">. Any handler set here -overrides the corresponding handler set with the Style option. - -=item * Pkg - -Some styles will refer to subs defined in this package. If not provided, -it defaults to the package which called the constructor. - -=item * ErrorContext - -This is an Expat option. When this option is defined, errors are reported -in context. The value should be the number of lines to show on either side -of the line in which the error occurred. - -=item * ProtocolEncoding - -This is an Expat option. This sets the protocol encoding name. It defaults -to none. The built-in encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and -C<US-ASCII>. Other encodings may be used if they have encoding maps in one -of the directories in the @Encoding_Path list. Check L<"ENCODINGS"> for -more information on encoding maps. Setting the protocol encoding overrides -any encoding in the XML declaration. - -=item * Namespaces - -This is an Expat option. If this is set to a true value, then namespace -processing is done during the parse. See L<XML::Parser::Expat/"Namespaces"> -for further discussion of namespace processing. - -=item * NoExpand - -This is an Expat option. Normally, the parser will try to expand references -to entities defined in the internal subset. If this option is set to a true -value, and a default handler is also set, then the default handler will be -called when an entity reference is seen in text. This has no effect if a -default handler has not been registered, and it has no effect on the expansion -of entity references inside attribute values. - -=item * Stream_Delimiter - -This is an Expat option. It takes a string value. When this string is found -alone on a line while parsing from a stream, then the parse is ended as if it -saw an end of file. The intended use is with a stream of xml documents in a -MIME multipart format. The string should not contain a trailing newline. - -=item * ParseParamEnt - -This is an Expat option. Unless standalone is set to "yes" in the XML -declaration, setting this to a true value allows the external DTD to be read, -and parameter entities to be parsed and expanded. - -=item * NoLWP - -This option has no effect if the ExternEnt or ExternEntFin handlers are -directly set. Otherwise, if true, it forces the use of a file based external -entity handler. - -=item * Non-Expat-Options - -If provided, this should be an anonymous hash whose keys are options that -shouldn't be passed to Expat. This should only be of concern to those -subclassing XML::Parser. - -=back - -=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]]) - -This method registers handlers for various parser events. It overrides any -previous handlers registered through the Style or Handler options or through -earlier calls to setHandlers. By providing a false or undefined value as -the handler, the existing handler can be unset. - -This method returns a list of type, handler pairs corresponding to the -input. The handlers returned are the ones that were in effect prior to -the call. - -See a description of the handler types in L<"HANDLERS">. - -=item parse(SOURCE [, OPT => OPT_VALUE [...]]) - -The SOURCE parameter should either be a string containing the whole XML -document, or it should be an open IO::Handle. Constructor options to -XML::Parser::Expat given as keyword-value pairs may follow the SOURCE -parameter. These override, for this call, any options or attributes passed -through from the XML::Parser instance. - -A die call is thrown if a parse error occurs. Otherwise it will return 1 -or whatever is returned from the B<Final> handler, if one is installed. -In other words, what parse may return depends on the style. - -=item parsestring - -This is just an alias for parse for backwards compatibility. - -=item parsefile(FILE [, OPT => OPT_VALUE [...]]) - -Open FILE for reading, then call parse with the open handle. The file -is closed no matter how parse returns. Returns what parse returns. - -=item parse_start([ OPT => OPT_VALUE [...]]) - -Create and return a new instance of XML::Parser::ExpatNB. Constructor -options may be provided. If an init handler has been provided, it is -called before returning the ExpatNB object. Documents are parsed by -making incremental calls to the parse_more method of this object, which -takes a string. A single call to the parse_done method of this object, -which takes no arguments, indicates that the document is finished. - -If there is a final handler installed, it is executed by the parse_done -method before returning and the parse_done method returns whatever is -returned by the final handler. - -=back - -=head1 HANDLERS - -Expat is an event based parser. As the parser recognizes parts of the -document (say the start or end tag for an XML element), then any handlers -registered for that type of an event are called with suitable parameters. -All handlers receive an instance of XML::Parser::Expat as their first -argument. See L<XML::Parser::Expat/"METHODS"> for a discussion of the -methods that can be called on this object. - -=head2 Init (Expat) - -This is called just before the parsing of the document starts. - -=head2 Final (Expat) - -This is called just after parsing has finished, but only if no errors -occurred during the parse. Parse returns what this returns. - -=head2 Start (Expat, Element [, Attr, Val [,...]]) - -This event is generated when an XML start tag is recognized. Element is the -name of the XML element type that is opened with the start tag. The Attr & -Val pairs are generated for each attribute in the start tag. - -=head2 End (Expat, Element) - -This event is generated when an XML end tag is recognized. Note that -an XML empty tag (<foo/>) generates both a start and an end event. - -=head2 Char (Expat, String) - -This event is generated when non-markup is recognized. The non-markup -sequence of characters is in String. A single non-markup sequence of -characters may generate multiple calls to this handler. Whatever the -encoding of the string in the original document, this is given to the -handler in UTF-8. - -=head2 Proc (Expat, Target, Data) - -This event is generated when a processing instruction is recognized. - -=head2 Comment (Expat, Data) - -This event is generated when a comment is recognized. - -=head2 CdataStart (Expat) - -This is called at the start of a CDATA section. - -=head2 CdataEnd (Expat) - -This is called at the end of a CDATA section. - -=head2 Default (Expat, String) - -This is called for any characters that don't have a registered handler. -This includes both characters that are part of markup for which no -events are generated (markup declarations) and characters that -could generate events, but for which no handler has been registered. - -Whatever the encoding in the original document, the string is returned to -the handler in UTF-8. - -=head2 Unparsed (Expat, Entity, Base, Sysid, Pubid, Notation) - -This is called for a declaration of an unparsed entity. Entity is the name -of the entity. Base is the base to be used for resolving a relative URI. -Sysid is the system id. Pubid is the public id. Notation is the notation -name. Base and Pubid may be undefined. - -=head2 Notation (Expat, Notation, Base, Sysid, Pubid) - -This is called for a declaration of notation. Notation is the notation name. -Base is the base to be used for resolving a relative URI. Sysid is the system -id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined. - -=head2 ExternEnt (Expat, Base, Sysid, Pubid) - -This is called when an external entity is referenced. Base is the base to be -used for resolving a relative URI. Sysid is the system id. Pubid is the public -id. Base, and Pubid may be undefined. - -This handler should either return a string, which represents the contents of -the external entity, or return an open filehandle that can be read to obtain -the contents of the external entity, or return undef, which indicates the -external entity couldn't be found and will generate a parse error. - -If an open filehandle is returned, it must be returned as either a glob -(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle). - -A default handler is installed for this event. The default handler is -XML::Parser::lwp_ext_ent_handler unless the NoLWP option was provided with -a true value, otherwise XML::Parser::file_ext_ent_handler is the default -handler for external entities. Even without the NoLWP option, if the -URI or LWP modules are missing, the file based handler ends up being used -after giving a warning on the first external entity reference. - -The LWP external entity handler will use proxies defined in the environment -(http_proxy, ftp_proxy, etc.). - -Please note that the LWP external entity handler reads the entire -entity into a string and returns it, where as the file handler opens a -filehandle. - -Also note that the file external entity handler will likely choke on -absolute URIs or file names that don't fit the conventions of the local -operating system. - -The expat base method can be used to set a basename for -relative pathnames. If no basename is given, or if the basename is itself -a relative name, then it is relative to the current working directory. - -=head2 ExternEntFin (Expat) - -This is called after parsing an external entity. It's not called unless -an ExternEnt handler is also set. There is a default handler installed -that pairs with the default ExternEnt handler. - -If you're going to install your own ExternEnt handler, then you should -set (or unset) this handler too. - -=head2 Entity (Expat, Name, Val, Sysid, Pubid, Ndata, IsParam) - -This is called when an entity is declared. For internal entities, the Val -parameter will contain the value and the remaining three parameters will be -undefined. For external entities, the Val parameter will be undefined, the -Sysid parameter will have the system id, the Pubid parameter will have the -public id if it was provided (it will be undefined otherwise), the Ndata -parameter will contain the notation for unparsed entities. If this is a -parameter entity declaration, then the IsParam parameter is true. - -Note that this handler and the Unparsed handler above overlap. If both are -set, then this handler will not be called for unparsed entities. - -=head2 Element (Expat, Name, Model) - -The element handler is called when an element declaration is found. Name -is the element name, and Model is the content model as an XML::Parser::Content -object. See L<XML::Parser::Expat/"XML::Parser::ContentModel Methods"> -for methods available for this class. - -=head2 Attlist (Expat, Elname, Attname, Type, Default, Fixed) - -This handler is called for each attribute in an ATTLIST declaration. -So an ATTLIST declaration that has multiple attributes will generate multiple -calls to this handler. The Elname parameter is the name of the element with -which the attribute is being associated. The Attname parameter is the name -of the attribute. Type is the attribute type, given as a string. Default is -the default value, which will either be "#REQUIRED", "#IMPLIED" or a quoted -string (i.e. the returned string will begin and end with a quote character). -If Fixed is true, then this is a fixed attribute. - -=head2 Doctype (Expat, Name, Sysid, Pubid, Internal) - -This handler is called for DOCTYPE declarations. Name is the document type -name. Sysid is the system id of the document type, if it was provided, -otherwise it's undefined. Pubid is the public id of the document type, -which will be undefined if no public id was given. Internal is the internal -subset, given as a string. If there was no internal subset, it will be -undefined. Internal will contain all whitespace, comments, processing -instructions, and declarations seen in the internal subset. The declarations -will be there whether or not they have been processed by another handler -(except for unparsed entities processed by the Unparsed handler). However, -comments and processing instructions will not appear if they've been processed -by their respective handlers. - -=head2 * DoctypeFin (Parser) - -This handler is called after parsing of the DOCTYPE declaration has finished, -including any internal or external DTD declarations. - -=head2 XMLDecl (Expat, Version, Encoding, Standalone) - -This handler is called for xml declarations. Version is a string containg -the version. Encoding is either undefined or contains an encoding string. -Standalone will be either true, false, or undefined if the standalone attribute -is yes, no, or not made respectively. - -=head1 STYLES - -=head2 Debug - -This just prints out the document in outline form. Nothing special is -returned by parse. - -=head2 Subs - -Each time an element starts, a sub by that name in the package specified -by the Pkg option is called with the same parameters that the Start -handler gets called with. - -Each time an element ends, a sub with that name appended with an underscore -("_"), is called with the same parameters that the End handler gets called -with. - -Nothing special is returned by parse. - -=head2 Tree - -Parse will return a parse tree for the document. Each node in the tree -takes the form of a tag, content pair. Text nodes are represented with -a pseudo-tag of "0" and the string that is their content. For elements, -the content is an array reference. The first item in the array is a -(possibly empty) hash reference containing attributes. The remainder of -the array is a sequence of tag-content pairs representing the content -of the element. - -So for example the result of parsing: - - <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> - -would be: - - Tag Content - ================================================================== - [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], - bar, [ {}, 0, "Howdy", ref, [{}]], - 0, "do" - ] - ] - -The root document "foo", has 3 children: a "head" element, a "bar" -element and the text "do". After the empty attribute hash, these are -represented in it's contents by 3 tag-content pairs. - -=head2 Objects - -This is similar to the Tree style, except that a hash object is created for -each element. The corresponding object will be in the class whose name -is created by appending "::" and the element name to the package set with -the Pkg option. Non-markup text will be in the ::Characters class. The -contents of the corresponding object will be in an anonymous array that -is the value of the Kids property for that object. - -=head2 Stream - -This style also uses the Pkg package. If none of the subs that this -style looks for is there, then the effect of parsing with this style is -to print a canonical copy of the document without comments or declarations. -All the subs receive as their 1st parameter the Expat instance for the -document they're parsing. - -It looks for the following routines: - -=over 4 - -=item * StartDocument - -Called at the start of the parse . - -=item * StartTag - -Called for every start tag with a second parameter of the element type. The $_ -variable will contain a copy of the tag and the %_ variable will contain -attribute values supplied for that element. - -=item * EndTag - -Called for every end tag with a second parameter of the element type. The $_ -variable will contain a copy of the end tag. - -=item * Text - -Called just before start or end tags with accumulated non-markup text in -the $_ variable. - -=item * PI - -Called for processing instructions. The $_ variable will contain a copy of -the PI and the target and data are sent as 2nd and 3rd parameters -respectively. - -=item * EndDocument - -Called at conclusion of the parse. - -=back - -=head1 ENCODINGS - -XML documents may be encoded in character sets other than Unicode as -long as they may be mapped into the Unicode character set. Expat has -further restrictions on encodings. Read the xmlparse.h header file in -the expat distribution to see details on these restrictions. - -Expat has built-in encodings for: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and -C<US-ASCII>. Encodings are set either through the XML declaration -encoding attribute or through the ProtocolEncoding option to XML::Parser -or XML::Parser::Expat. - -For encodings other than the built-ins, expat calls the function -load_encoding in the Expat package with the encoding name. This function -looks for a file in the path list @XML::Parser::Expat::Encoding_Path, that -matches the lower-cased name with a '.enc' extension. The first one it -finds, it loads. - -If you wish to build your own encoding maps, check out the XML::Encoding -module from CPAN. - -=head1 AUTHORS - -Larry Wall <F<larry@wall.org>> wrote version 1.0. - -Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API -for this version (2.x), provided documentation, -and added some standard package features. - -Matt Sergeant <F<matt@sergeant.org>> is now maintaining XML::Parser - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg deleted file mode 100644 index 6912e702264..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg +++ /dev/null @@ -1,117 +0,0 @@ -Mapping files for Japanese encodings - -1998 12/25 - -Fuji Xerox Information Systems -MURATA Makoto - -1. Overview - -This version of XML::Parser and XML::Encoding does not come with map files for -the charset "Shift_JIS" and the charset "euc-jp". Unfortunately, each of these -charsets has more than one mapping. None of these mappings are -considered as authoritative. - -Therefore, we have come to believe that it is dangerous to provide map files -for these charsets. Rather, we introduce several private charsets and map -files for these private charsets. If IANA, Unicode Consoritum, and JIS -eventually reach a consensus, we will be able to provide map files for -"Shift_JIS" and "euc-jp". - -2. Different mappings from existing charsets to Unicode - -1) Different mappings in JIS X0221 and Unicode - -The mapping between JIS X0208:1990 and Unicode 1.1 and the mapping -between JIS X0212:1990 and Unicode 1.1 are published from Unicode -consortium. They are available at -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0208.TXT and -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0212.TXT, -respectively.) These mapping files have a note as below: - -# The kanji mappings are a normative part of ISO/IEC 10646. The -# non-kanji mappings are provisional, pending definition of -# official mappings by Japanese standards bodies. - -Unfortunately, the non-kanji mappings in the Japanese standard for ISO 10646/1, -namely JIS X 0221:1995, is different from the Unicode Consortium mapping since -0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather than U+2015 -(horizontal bar). Furthermore, JIS X 0221 clearly says that the mapping is -informational and non-normative. As a result, some companies (e.g., Microsoft and -Apple) have introduced slightly different mappings. Therefore, neither the -Unicode consortium mapping nor the JIS X 0221 mapping are considered as -authoritative. - -2) Shift-JIS - -This charset is especially problematic, since its definition has been unclear -since its inception. - -The current registration of the charset "Shift_JIS" is as below: - ->Name: Shift_JIS (preferred MIME name) ->MIBenum: 17 ->Source: A Microsoft code that extends csHalfWidthKatakana to include -> kanji by adding a second byte when the value of the first -> byte is in the ranges 81-9F or E0-EF. ->Alias: MS_Kanji ->Alias: csShiftJIS - -First, this does not reference to the mapping "Shift-JIS to Unicode" -published by the Unicode consortium (available at -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/SHIFTJIS.TXT). - -Second, "kanji" in this registration can be interepreted in different ways. -Does this "kanji" reference to JIS X0208:1978, JIS X0208:1983, or JIS -X0208:1990(== JIS X0208:1997)? These three standards are *incompatible* with -each other. Moreover, we can even argue that "kanji" refers to JIS X0212 or -ideographic characters in other countries. - -Third, each company has extended Shift JIS. For example, Microsoft introduced -OEM extensions (NEC extensionsand IBM extensions). - -Forth, Shift JIS uses JIS X0201, which is almost upper-compatible with US-ASCII -but is not quite. 5C and 7E of JIS X 0201 are different from backslash and -tilde, respectively. However, many programming languages (e.g., Java) -ignore this difference and assumes that 5C and 7E of Shift JIS are backslash -and tilde. - - -3. Proposed charsets and mappings - -As a tentative solution, we introduce two private charsets for EUC-JP and four -priviate charsets for Shift JIS. - -1) EUC-JP - -We have two charsets, namely "x-eucjp-unicode" and "x-eucjp-jisx0221". Their -difference is only one code point. The mapping for the former is based -on the Unicode Consortium mapping, while the latter is based on the JIS X0221 -mapping. - -2) Shift JIS - -We have four charsets, namely x-sjis-unicode, x-sjis-jisx0221, -x-sjis-jdk117, and x-sjis-cp932. - -The mapping for the charset x-sjis-unicode is the one published by the Unicode -consortium. The mapping for x-sjis-jisx0221 is almost equivalent to -x-sjis-unicode, but 0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather -than U+2015. The charset x-sjis-jdk117 is again almost equivalent to -x-sjis-unicode, but 0x5C and 0x7E of JIS X0201 are mapped to backslash and -tilde. - -The charset x-sjis-cp932 is used by Microsoft Windows, and its mapping is -published from the Unicode Consortium (available at: -ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.txt). The -coded character set for this charset includes NEC-extensions and -IBM-extensions. 0x5C and 0x7E of JIS X0201 are mapped to backslash and tilde; -0x213D is mapped to U+2015; and 0x2140, 0x2141, 0x2142, and 0x215E of JIS X -0208 are mapped to compatibility characters. - -Makoto - -Fuji Xerox Information Systems - -Tel: +81-44-812-7230 Fax: +81-44-812-7231 -E-mail: murata@apsdc.ksp.fujixerox.co.jp diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README deleted file mode 100644 index 576323c8225..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README +++ /dev/null @@ -1,51 +0,0 @@ -This directory contains binary encoding maps for some selected encodings. -If they are placed in a directoy listed in @XML::Parser::Expat::Encoding_Path, -then they are automaticly loaded by the XML::Parser::Expat::load_encoding -function as needed. Otherwise you may load what you need directly by -explicity calling this function. - -These maps were generated by a perl script that comes with the module -XML::Encoding, compile_encoding, from XML formatted encoding maps that -are distributed with that module. These XML encoding maps were generated -in turn with a different script, domap, from mapping information contained -on the Unicode version 2.0 CD-ROM. This CD-ROM comes with the Unicode -Standard reference manual and can be ordered from the Unicode Consortium -at http://www.unicode.org. The identical information is available on the -internet at ftp://ftp.unicode.org/Public/MAPPINGS. - -See the encoding.h header in the Expat sub-directory for a description of -the structure of these files. - -Clark Cooper -December 12, 1998 - -================================================================ - -Contributed maps - -This distribution contains four contributed encodings from MURATA Makoto -<murata@apsdc.ksp.fujixerox.co.jp> that are variations on the encoding -commonly called Shift_JIS: - -x-sjis-cp932.enc -x-sjis-jdk117.enc -x-sjis-jisx0221.enc -x-sjis-unicode.enc (This is the same encoding as the shift_jis.enc that - was distributed with this module in version 2.17) - -Please read his message (Japanese_Encodings.msg) about why these are here -and why I've removed the shift_jis.enc encoding. - -We also have two contributed encodings that are variations of the EUC-JP -encoding from Yoshida Masato <yoshidam@inse.co.jp>: - -x-euc-jp-jisx0221.enc -x-euc-jp-unicode.enc - -The comments that MURATA Makoto made in his message apply to these -encodings too. - -KangChan Lee <dolphin@comeng.chungnam.ac.kr> supplied the euc-kr encoding. - -Clark Cooper -December 26, 1998 diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc Binary files differdeleted file mode 100644 index 94b2bd4bf40..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc Binary files differdeleted file mode 100644 index 3da8a13f3c3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc Binary files differdeleted file mode 100644 index d320d7f8bc9..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc Binary files differdeleted file mode 100644 index ba4837852e9..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc Binary files differdeleted file mode 100644 index 0294a24089c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc Binary files differdeleted file mode 100644 index 6dbd1692c4b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc Binary files differdeleted file mode 100644 index 02a4aee1c7b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc Binary files differdeleted file mode 100644 index f211bd52342..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc Binary files differdeleted file mode 100644 index fdc574b1b98..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc Binary files differdeleted file mode 100644 index d4a64b55f10..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc Binary files differdeleted file mode 100644 index ab2d57c6778..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc Binary files differdeleted file mode 100644 index ca79c07a2bb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc Binary files differdeleted file mode 100644 index 34d4d0d31e7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc Binary files differdeleted file mode 100644 index c2a6bc40de5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc Binary files differdeleted file mode 100644 index b6c2c07c042..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc Binary files differdeleted file mode 100644 index cbb2db5fbad..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc Binary files differdeleted file mode 100644 index 6f88a06fd96..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm deleted file mode 100644 index 9413d80a843..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm +++ /dev/null @@ -1,1230 +0,0 @@ -package XML::Parser::Expat; - -require 5.004; - -use strict; -use vars qw($VERSION @ISA %Handler_Setters %Encoding_Table @Encoding_Path - $have_File_Spec); -use Carp; - -require DynaLoader; - -@ISA = qw(DynaLoader); -$VERSION = "2.36" ; - -$have_File_Spec = $INC{'File/Spec.pm'} || do 'File/Spec.pm'; - -%Encoding_Table = (); -if ($have_File_Spec) { - @Encoding_Path = (grep(-d $_, - map(File::Spec->catdir($_, qw(XML Parser Encodings)), - @INC)), - File::Spec->curdir); -} -else { - @Encoding_Path = (grep(-d $_, map($_ . '/XML/Parser/Encodings', @INC)), '.'); -} - - -bootstrap XML::Parser::Expat $VERSION; - -%Handler_Setters = ( - Start => \&SetStartElementHandler, - End => \&SetEndElementHandler, - Char => \&SetCharacterDataHandler, - Proc => \&SetProcessingInstructionHandler, - Comment => \&SetCommentHandler, - CdataStart => \&SetStartCdataHandler, - CdataEnd => \&SetEndCdataHandler, - Default => \&SetDefaultHandler, - Unparsed => \&SetUnparsedEntityDeclHandler, - Notation => \&SetNotationDeclHandler, - ExternEnt => \&SetExternalEntityRefHandler, - ExternEntFin => \&SetExtEntFinishHandler, - Entity => \&SetEntityDeclHandler, - Element => \&SetElementDeclHandler, - Attlist => \&SetAttListDeclHandler, - Doctype => \&SetDoctypeHandler, - DoctypeFin => \&SetEndDoctypeHandler, - XMLDecl => \&SetXMLDeclHandler - ); - -sub new { - my ($class, %args) = @_; - my $self = bless \%args, $_[0]; - $args{_State_} = 0; - $args{Context} = []; - $args{Namespaces} ||= 0; - $args{ErrorMessage} ||= ''; - if ($args{Namespaces}) { - $args{Namespace_Table} = {}; - $args{Namespace_List} = [undef]; - $args{Prefix_Table} = {}; - $args{New_Prefixes} = []; - } - $args{_Setters} = \%Handler_Setters; - $args{Parser} = ParserCreate($self, $args{ProtocolEncoding}, - $args{Namespaces}); - $self; -} - -sub load_encoding { - my ($file) = @_; - - $file =~ s!([^/]+)$!\L$1\E!; - $file .= '.enc' unless $file =~ /\.enc$/; - unless ($file =~ m!^/!) { - foreach (@Encoding_Path) { - my $tmp = ($have_File_Spec - ? File::Spec->catfile($_, $file) - : "$_/$file"); - if (-e $tmp) { - $file = $tmp; - last; - } - } - } - - local(*ENC); - open(ENC, $file) or croak("Couldn't open encmap $file:\n$!\n"); - binmode(ENC); - my $data; - my $br = sysread(ENC, $data, -s $file); - croak("Trouble reading $file:\n$!\n") - unless defined($br); - close(ENC); - - my $name = LoadEncoding($data, $br); - croak("$file isn't an encmap file") - unless defined($name); - - $name; -} # End load_encoding - -sub setHandlers { - my ($self, @handler_pairs) = @_; - - croak("Uneven number of arguments to setHandlers method") - if (int(@handler_pairs) & 1); - - my @ret; - - while (@handler_pairs) { - my $type = shift @handler_pairs; - my $handler = shift @handler_pairs; - croak "Handler for $type not a Code ref" - unless (! defined($handler) or ! $handler or ref($handler) eq 'CODE'); - - my $hndl = $self->{_Setters}->{$type}; - - unless (defined($hndl)) { - my @types = sort keys %{$self->{_Setters}}; - croak("Unknown Expat handler type: $type\n Valid types: @types"); - } - - my $old = &$hndl($self->{Parser}, $handler); - push (@ret, $type, $old); - } - - return @ret; -} - -sub xpcroak - { - my ($self, $message) = @_; - - my $eclines = $self->{ErrorContext}; - my $line = GetCurrentLineNumber($_[0]->{Parser}); - $message .= " at line $line"; - $message .= ":\n" . $self->position_in_context($eclines) - if defined($eclines); - croak $message; -} - -sub xpcarp { - my ($self, $message) = @_; - - my $eclines = $self->{ErrorContext}; - my $line = GetCurrentLineNumber($_[0]->{Parser}); - $message .= " at line $line"; - $message .= ":\n" . $self->position_in_context($eclines) - if defined($eclines); - carp $message; -} - -sub default_current { - my $self = shift; - if ($self->{_State_} == 1) { - return DefaultCurrent($self->{Parser}); - } -} - -sub recognized_string { - my $self = shift; - if ($self->{_State_} == 1) { - return RecognizedString($self->{Parser}); - } -} - -sub original_string { - my $self = shift; - if ($self->{_State_} == 1) { - return OriginalString($self->{Parser}); - } -} - -sub current_line { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentLineNumber($self->{Parser}); - } -} - -sub current_column { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentColumnNumber($self->{Parser}); - } -} - -sub current_byte { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentByteIndex($self->{Parser}); - } -} - -sub base { - my ($self, $newbase) = @_; - my $p = $self->{Parser}; - my $oldbase = GetBase($p); - SetBase($p, $newbase) if @_ > 1; - return $oldbase; -} - -sub context { - my $ctx = $_[0]->{Context}; - @$ctx; -} - -sub current_element { - my ($self) = @_; - @{$self->{Context}} ? $self->{Context}->[-1] : undef; -} - -sub in_element { - my ($self, $element) = @_; - @{$self->{Context}} ? $self->eq_name($self->{Context}->[-1], $element) - : undef; -} - -sub within_element { - my ($self, $element) = @_; - my $cnt = 0; - foreach (@{$self->{Context}}) { - $cnt++ if $self->eq_name($_, $element); - } - return $cnt; -} - -sub depth { - my ($self) = @_; - int(@{$self->{Context}}); -} - -sub element_index { - my ($self) = @_; - - if ($self->{_State_} == 1) { - return ElementIndex($self->{Parser}); - } -} - -################ -# Namespace methods - -sub namespace { - my ($self, $name) = @_; - local($^W) = 0; - $self->{Namespace_List}->[int($name)]; -} - -sub eq_name { - my ($self, $nm1, $nm2) = @_; - local($^W) = 0; - - int($nm1) == int($nm2) and $nm1 eq $nm2; -} - -sub generate_ns_name { - my ($self, $name, $namespace) = @_; - - $namespace ? - GenerateNSName($name, $namespace, $self->{Namespace_Table}, - $self->{Namespace_List}) - : $name; -} - -sub new_ns_prefixes { - my ($self) = @_; - if ($self->{Namespaces}) { - return @{$self->{New_Prefixes}}; - } - return (); -} - -sub expand_ns_prefix { - my ($self, $prefix) = @_; - - if ($self->{Namespaces}) { - my $stack = $self->{Prefix_Table}->{$prefix}; - return (defined($stack) and @$stack) ? $stack->[-1] : undef; - } - - return undef; -} - -sub current_ns_prefixes { - my ($self) = @_; - - if ($self->{Namespaces}) { - my %set = %{$self->{Prefix_Table}}; - - if (exists $set{'#default'} and not defined($set{'#default'}->[-1])) { - delete $set{'#default'}; - } - - return keys %set; - } - - return (); -} - - -################################################################ -# Namespace declaration handlers -# - -sub NamespaceStart { - my ($self, $prefix, $uri) = @_; - - $prefix = '#default' unless defined $prefix; - my $stack = $self->{Prefix_Table}->{$prefix}; - - if (defined $stack) { - push(@$stack, $uri); - } - else { - $self->{Prefix_Table}->{$prefix} = [$uri]; - } - - # The New_Prefixes list gets emptied at end of startElement function - # in Expat.xs - - push(@{$self->{New_Prefixes}}, $prefix); -} - -sub NamespaceEnd { - my ($self, $prefix) = @_; - - $prefix = '#default' unless defined $prefix; - - my $stack = $self->{Prefix_Table}->{$prefix}; - if (@$stack > 1) { - pop(@$stack); - } - else { - delete $self->{Prefix_Table}->{$prefix}; - } -} - -################ - -sub specified_attr { - my $self = shift; - - if ($self->{_State_} == 1) { - return GetSpecifiedAttributeCount($self->{Parser}); - } -} - -sub finish { - my ($self) = @_; - if ($self->{_State_} == 1) { - my $parser = $self->{Parser}; - UnsetAllHandlers($parser); - } -} - -sub position_in_context { - my ($self, $lines) = @_; - if ($self->{_State_} == 1) { - my $parser = $self->{Parser}; - my ($string, $linepos) = PositionContext($parser, $lines); - - return '' unless defined($string); - - my $col = GetCurrentColumnNumber($parser); - my $ptr = ('=' x ($col - 1)) . '^' . "\n"; - my $ret; - my $dosplit = $linepos < length($string); - - $string .= "\n" unless $string =~ /\n$/; - - if ($dosplit) { - $ret = substr($string, 0, $linepos) . $ptr - . substr($string, $linepos); - } else { - $ret = $string . $ptr; - } - - return $ret; - } -} - -sub xml_escape { - my $self = shift; - my $text = shift; - - study $text; - $text =~ s/\&/\&/g; - $text =~ s/</\</g; - foreach (@_) { - croak "xml_escape: '$_' isn't a single character" if length($_) > 1; - - if ($_ eq '>') { - $text =~ s/>/\>/g; - } - elsif ($_ eq '"') { - $text =~ s/\"/\"/; - } - elsif ($_ eq "'") { - $text =~ s/\'/\'/; - } - else { - my $rep = '&#' . sprintf('x%X', ord($_)) . ';'; - if (/\W/) { - my $ptrn = "\\$_"; - $text =~ s/$ptrn/$rep/g; - } - else { - $text =~ s/$_/$rep/g; - } - } - } - $text; -} - -sub skip_until { - my $self = shift; - if ($self->{_State_} <= 1) { - SkipUntil($self->{Parser}, $_[0]); - } -} - -sub release { - my $self = shift; - ParserRelease($self->{Parser}); -} - -sub DESTROY { - my $self = shift; - ParserFree($self->{Parser}); -} - -sub parse { - my $self = shift; - my $arg = shift; - croak "Parse already in progress (Expat)" if $self->{_State_}; - $self->{_State_} = 1; - my $parser = $self->{Parser}; - my $ioref; - my $result = 0; - - if (defined $arg) { - if (ref($arg) and UNIVERSAL::isa($arg, 'IO::Handle')) { - $ioref = $arg; - } elsif (tied($arg)) { - my $class = ref($arg); - no strict 'refs'; - $ioref = $arg if defined &{"${class}::TIEHANDLE"}; - } - else { - require IO::Handle; - eval { - no strict 'refs'; - $ioref = *{$arg}{IO} if defined *{$arg}; - }; - undef $@; - } - } - - if (defined($ioref)) { - my $delim = $self->{Stream_Delimiter}; - my $prev_rs; - - $prev_rs = ref($ioref)->input_record_separator("\n$delim\n") - if defined($delim); - - $result = ParseStream($parser, $ioref, $delim); - - ref($ioref)->input_record_separator($prev_rs) - if defined($delim); - } else { - $result = ParseString($parser, $arg); - } - - $self->{_State_} = 2; - $result or croak $self->{ErrorMessage}; -} - -sub parsestring { - my $self = shift; - $self->parse(@_); -} - -sub parsefile { - my $self = shift; - croak "Parser has already been used" if $self->{_State_}; - local(*FILE); - open(FILE, $_[0]) or croak "Couldn't open $_[0]:\n$!"; - binmode(FILE); - my $ret = $self->parse(*FILE); - close(FILE); - $ret; -} - -################################################################ -package XML::Parser::ContentModel; -use overload '""' => \&asString, 'eq' => \&thiseq; - -sub EMPTY () {1} -sub ANY () {2} -sub MIXED () {3} -sub NAME () {4} -sub CHOICE () {5} -sub SEQ () {6} - - -sub isempty { - return $_[0]->{Type} == EMPTY; -} - -sub isany { - return $_[0]->{Type} == ANY; -} - -sub ismixed { - return $_[0]->{Type} == MIXED; -} - -sub isname { - return $_[0]->{Type} == NAME; -} - -sub name { - return $_[0]->{Tag}; -} - -sub ischoice { - return $_[0]->{Type} == CHOICE; -} - -sub isseq { - return $_[0]->{Type} == SEQ; -} - -sub quant { - return $_[0]->{Quant}; -} - -sub children { - my $children = $_[0]->{Children}; - if (defined $children) { - return @$children; - } - return undef; -} - -sub asString { - my ($self) = @_; - my $ret; - - if ($self->{Type} == NAME) { - $ret = $self->{Tag}; - } - elsif ($self->{Type} == EMPTY) { - return "EMPTY"; - } - elsif ($self->{Type} == ANY) { - return "ANY"; - } - elsif ($self->{Type} == MIXED) { - $ret = '(#PCDATA'; - foreach (@{$self->{Children}}) { - $ret .= '|' . $_; - } - $ret .= ')'; - } - else { - my $sep = $self->{Type} == CHOICE ? '|' : ','; - $ret = '(' . join($sep, map { $_->asString } @{$self->{Children}}) . ')'; - } - - $ret .= $self->{Quant} if $self->{Quant}; - return $ret; -} - -sub thiseq { - my $self = shift; - - return $self->asString eq $_[0]; -} - -################################################################ -package XML::Parser::ExpatNB; - -use vars qw(@ISA); -use Carp; - -@ISA = qw(XML::Parser::Expat); - -sub parse { - my $self = shift; - my $class = ref($self); - croak "parse method not supported in $class"; -} - -sub parsestring { - my $self = shift; - my $class = ref($self); - croak "parsestring method not supported in $class"; -} - -sub parsefile { - my $self = shift; - my $class = ref($self); - croak "parsefile method not supported in $class"; -} - -sub parse_more { - my ($self, $data) = @_; - - $self->{_State_} = 1; - my $ret = XML::Parser::Expat::ParsePartial($self->{Parser}, $data); - - croak $self->{ErrorMessage} unless $ret; -} - -sub parse_done { - my $self = shift; - - my $ret = XML::Parser::Expat::ParseDone($self->{Parser}); - unless ($ret) { - my $msg = $self->{ErrorMessage}; - $self->release; - croak $msg; - } - - $self->{_State_} = 2; - - my $result = $ret; - my @result = (); - my $final = $self->{FinalHandler}; - if (defined $final) { - if (wantarray) { - @result = &$final($self); - } - else { - $result = &$final($self); - } - } - - $self->release; - - return unless defined wantarray; - return wantarray ? @result : $result; -} - -################################################################ - -package XML::Parser::Encinfo; - -sub DESTROY { - my $self = shift; - XML::Parser::Expat::FreeEncoding($self); -} - -1; - -__END__ - -=head1 NAME - -XML::Parser::Expat - Lowlevel access to James Clark's expat XML parser - -=head1 SYNOPSIS - - use XML::Parser::Expat; - - $parser = new XML::Parser::Expat; - $parser->setHandlers('Start' => \&sh, - 'End' => \&eh, - 'Char' => \&ch); - open(FOO, 'info.xml') or die "Couldn't open"; - $parser->parse(*FOO); - close(FOO); - # $parser->parse('<foo id="me"> here <em>we</em> go </foo>'); - - sub sh - { - my ($p, $el, %atts) = @_; - $p->setHandlers('Char' => \&spec) - if ($el eq 'special'); - ... - } - - sub eh - { - my ($p, $el) = @_; - $p->setHandlers('Char' => \&ch) # Special elements won't contain - if ($el eq 'special'); # other special elements - ... - } - -=head1 DESCRIPTION - -This module provides an interface to James Clark's XML parser, expat. As in -expat, a single instance of the parser can only parse one document. Calls -to parsestring after the first for a given instance will die. - -Expat (and XML::Parser::Expat) are event based. As the parser recognizes -parts of the document (say the start or end of an XML element), then any -handlers registered for that type of an event are called with suitable -parameters. - -=head1 METHODS - -=over 4 - -=item new - -This is a class method, the constructor for XML::Parser::Expat. Options are -passed as keyword value pairs. The recognized options are: - -=over 4 - -=item * ProtocolEncoding - -The protocol encoding name. The default is none. The expat built-in -encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and C<US-ASCII>. -Other encodings may be used if they have encoding maps in one of the -directories in the @Encoding_Path list. Setting the protocol encoding -overrides any encoding in the XML declaration. - -=item * Namespaces - -When this option is given with a true value, then the parser does namespace -processing. By default, namespace processing is turned off. When it is -turned on, the parser consumes I<xmlns> attributes and strips off prefixes -from element and attributes names where those prefixes have a defined -namespace. A name's namespace can be found using the L<"namespace"> method -and two names can be checked for absolute equality with the L<"eq_name"> -method. - -=item * NoExpand - -Normally, the parser will try to expand references to entities defined in -the internal subset. If this option is set to a true value, and a default -handler is also set, then the default handler will be called when an -entity reference is seen in text. This has no effect if a default handler -has not been registered, and it has no effect on the expansion of entity -references inside attribute values. - -=item * Stream_Delimiter - -This option takes a string value. When this string is found alone on a line -while parsing from a stream, then the parse is ended as if it saw an end of -file. The intended use is with a stream of xml documents in a MIME multipart -format. The string should not contain a trailing newline. - -=item * ErrorContext - -When this option is defined, errors are reported in context. The value -of ErrorContext should be the number of lines to show on either side of -the line in which the error occurred. - -=item * ParseParamEnt - -Unless standalone is set to "yes" in the XML declaration, setting this to -a true value allows the external DTD to be read, and parameter entities -to be parsed and expanded. - -=item * Base - -The base to use for relative pathnames or URLs. This can also be done by -using the base method. - -=back - -=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]]) - -This method registers handlers for the various events. If no handlers are -registered, then a call to parsestring or parsefile will only determine if -the corresponding XML document is well formed (by returning without error.) -This may be called from within a handler, after the parse has started. - -Setting a handler to something that evaluates to false unsets that -handler. - -This method returns a list of type, handler pairs corresponding to the -input. The handlers returned are the ones that were in effect before the -call to setHandlers. - -The recognized events and the parameters passed to the corresponding -handlers are: - -=over 4 - -=item * Start (Parser, Element [, Attr, Val [,...]]) - -This event is generated when an XML start tag is recognized. Parser is -an XML::Parser::Expat instance. Element is the name of the XML element that -is opened with the start tag. The Attr & Val pairs are generated for each -attribute in the start tag. - -=item * End (Parser, Element) - -This event is generated when an XML end tag is recognized. Note that -an XML empty tag (<foo/>) generates both a start and an end event. - -There is always a lower level start and end handler installed that wrap -the corresponding callbacks. This is to handle the context mechanism. -A consequence of this is that the default handler (see below) will not -see a start tag or end tag unless the default_current method is called. - -=item * Char (Parser, String) - -This event is generated when non-markup is recognized. The non-markup -sequence of characters is in String. A single non-markup sequence of -characters may generate multiple calls to this handler. Whatever the -encoding of the string in the original document, this is given to the -handler in UTF-8. - -=item * Proc (Parser, Target, Data) - -This event is generated when a processing instruction is recognized. - -=item * Comment (Parser, String) - -This event is generated when a comment is recognized. - -=item * CdataStart (Parser) - -This is called at the start of a CDATA section. - -=item * CdataEnd (Parser) - -This is called at the end of a CDATA section. - -=item * Default (Parser, String) - -This is called for any characters that don't have a registered handler. -This includes both characters that are part of markup for which no -events are generated (markup declarations) and characters that -could generate events, but for which no handler has been registered. - -Whatever the encoding in the original document, the string is returned to -the handler in UTF-8. - -=item * Unparsed (Parser, Entity, Base, Sysid, Pubid, Notation) - -This is called for a declaration of an unparsed entity. Entity is the name -of the entity. Base is the base to be used for resolving a relative URI. -Sysid is the system id. Pubid is the public id. Notation is the notation -name. Base and Pubid may be undefined. - -=item * Notation (Parser, Notation, Base, Sysid, Pubid) - -This is called for a declaration of notation. Notation is the notation name. -Base is the base to be used for resolving a relative URI. Sysid is the system -id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined. - -=item * ExternEnt (Parser, Base, Sysid, Pubid) - -This is called when an external entity is referenced. Base is the base to be -used for resolving a relative URI. Sysid is the system id. Pubid is the public -id. Base, and Pubid may be undefined. - -This handler should either return a string, which represents the contents of -the external entity, or return an open filehandle that can be read to obtain -the contents of the external entity, or return undef, which indicates the -external entity couldn't be found and will generate a parse error. - -If an open filehandle is returned, it must be returned as either a glob -(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle). - -=item * ExternEntFin (Parser) - -This is called after an external entity has been parsed. It allows -applications to perform cleanup on actions performed in the above -ExternEnt handler. - -=item * Entity (Parser, Name, Val, Sysid, Pubid, Ndata, IsParam) - -This is called when an entity is declared. For internal entities, the Val -parameter will contain the value and the remaining three parameters will -be undefined. For external entities, the Val parameter -will be undefined, the Sysid parameter will have the system id, the Pubid -parameter will have the public id if it was provided (it will be undefined -otherwise), the Ndata parameter will contain the notation for unparsed -entities. If this is a parameter entity declaration, then the IsParam -parameter is true. - -Note that this handler and the Unparsed handler above overlap. If both are -set, then this handler will not be called for unparsed entities. - -=item * Element (Parser, Name, Model) - -The element handler is called when an element declaration is found. Name is -the element name, and Model is the content model as an -XML::Parser::ContentModel object. See L<"XML::Parser::ContentModel Methods"> -for methods available for this class. - -=item * Attlist (Parser, Elname, Attname, Type, Default, Fixed) - -This handler is called for each attribute in an ATTLIST declaration. -So an ATTLIST declaration that has multiple attributes -will generate multiple calls to this handler. The Elname parameter is the -name of the element with which the attribute is being associated. The Attname -parameter is the name of the attribute. Type is the attribute type, given as -a string. Default is the default value, which will either be "#REQUIRED", -"#IMPLIED" or a quoted string (i.e. the returned string will begin and end -with a quote character). If Fixed is true, then this is a fixed attribute. - -=item * Doctype (Parser, Name, Sysid, Pubid, Internal) - -This handler is called for DOCTYPE declarations. Name is the document type -name. Sysid is the system id of the document type, if it was provided, -otherwise it's undefined. Pubid is the public id of the document type, -which will be undefined if no public id was given. Internal will be -true or false, indicating whether or not the doctype declaration contains -an internal subset. - -=item * DoctypeFin (Parser) - -This handler is called after parsing of the DOCTYPE declaration has finished, -including any internal or external DTD declarations. - -=item * XMLDecl (Parser, Version, Encoding, Standalone) - -This handler is called for XML declarations. Version is a string containg -the version. Encoding is either undefined or contains an encoding string. -Standalone is either undefined, or true or false. Undefined indicates -that no standalone parameter was given in the XML declaration. True or -false indicates "yes" or "no" respectively. - -=back - -=item namespace(name) - -Return the URI of the namespace that the name belongs to. If the name doesn't -belong to any namespace, an undef is returned. This is only valid on names -received through the Start or End handlers from a single document, or through -a call to the generate_ns_name method. In other words, don't use names -generated from one instance of XML::Parser::Expat with other instances. - -=item eq_name(name1, name2) - -Return true if name1 and name2 are identical (i.e. same name and from -the same namespace.) This is only meaningful if both names were obtained -through the Start or End handlers from a single document, or through -a call to the generate_ns_name method. - -=item generate_ns_name(name, namespace) - -Return a name, associated with a given namespace, good for using with the -above 2 methods. The namespace argument should be the namespace URI, not -a prefix. - -=item new_ns_prefixes - -When called from a start tag handler, returns namespace prefixes declared -with this start tag. If called elsewere (or if there were no namespace -prefixes declared), it returns an empty list. Setting of the default -namespace is indicated with '#default' as a prefix. - -=item expand_ns_prefix(prefix) - -Return the uri to which the given prefix is currently bound. Returns -undef if the prefix isn't currently bound. Use '#default' to find the -current binding of the default namespace (if any). - -=item current_ns_prefixes - -Return a list of currently bound namespace prefixes. The order of the -the prefixes in the list has no meaning. If the default namespace is -currently bound, '#default' appears in the list. - -=item recognized_string - -Returns the string from the document that was recognized in order to call -the current handler. For instance, when called from a start handler, it -will give us the the start-tag string. The string is encoded in UTF-8. -This method doesn't return a meaningful string inside declaration handlers. - -=item original_string - -Returns the verbatim string from the document that was recognized in -order to call the current handler. The string is in the original document -encoding. This method doesn't return a meaningful string inside declaration -handlers. - -=item default_current - -When called from a handler, causes the sequence of characters that generated -the corresponding event to be sent to the default handler (if one is -registered). Use of this method is deprecated in favor the recognized_string -method, which you can use without installing a default handler. This -method doesn't deliver a meaningful string to the default handler when -called from inside declaration handlers. - -=item xpcroak(message) - -Concatenate onto the given message the current line number within the -XML document plus the message implied by ErrorContext. Then croak with -the formed message. - -=item xpcarp(message) - -Concatenate onto the given message the current line number within the -XML document plus the message implied by ErrorContext. Then carp with -the formed message. - -=item current_line - -Returns the line number of the current position of the parse. - -=item current_column - -Returns the column number of the current position of the parse. - -=item current_byte - -Returns the current position of the parse. - -=item base([NEWBASE]); - -Returns the current value of the base for resolving relative URIs. If -NEWBASE is supplied, changes the base to that value. - -=item context - -Returns a list of element names that represent open elements, with the -last one being the innermost. Inside start and end tag handlers, this -will be the tag of the parent element. - -=item current_element - -Returns the name of the innermost currently opened element. Inside -start or end handlers, returns the parent of the element associated -with those tags. - -=item in_element(NAME) - -Returns true if NAME is equal to the name of the innermost currently opened -element. If namespace processing is being used and you want to check -against a name that may be in a namespace, then use the generate_ns_name -method to create the NAME argument. - -=item within_element(NAME) - -Returns the number of times the given name appears in the context list. -If namespace processing is being used and you want to check -against a name that may be in a namespace, then use the generate_ns_name -method to create the NAME argument. - -=item depth - -Returns the size of the context list. - -=item element_index - -Returns an integer that is the depth-first visit order of the current -element. This will be zero outside of the root element. For example, -this will return 1 when called from the start handler for the root element -start tag. - -=item skip_until(INDEX) - -INDEX is an integer that represents an element index. When this method -is called, all handlers are suspended until the start tag for an element -that has an index number equal to INDEX is seen. If a start handler has -been set, then this is the first tag that the start handler will see -after skip_until has been called. - - -=item position_in_context(LINES) - -Returns a string that shows the current parse position. LINES should be -an integer >= 0 that represents the number of lines on either side of the -current parse line to place into the returned string. - -=item xml_escape(TEXT [, CHAR [, CHAR ...]]) - -Returns TEXT with markup characters turned into character entities. Any -additional characters provided as arguments are also turned into character -references where found in TEXT. - -=item parse (SOURCE) - -The SOURCE parameter should either be a string containing the whole XML -document, or it should be an open IO::Handle. Only a single document -may be parsed for a given instance of XML::Parser::Expat, so this will croak -if it's been called previously for this instance. - -=item parsestring(XML_DOC_STRING) - -Parses the given string as an XML document. Only a single document may be -parsed for a given instance of XML::Parser::Expat, so this will die if either -parsestring or parsefile has been called for this instance previously. - -This method is deprecated in favor of the parse method. - -=item parsefile(FILENAME) - -Parses the XML document in the given file. Will die if parsestring or -parsefile has been called previously for this instance. - -=item is_defaulted(ATTNAME) - -NO LONGER WORKS. To find out if an attribute is defaulted please use -the specified_attr method. - -=item specified_attr - -When the start handler receives lists of attributes and values, the -non-defaulted (i.e. explicitly specified) attributes occur in the list -first. This method returns the number of specified items in the list. -So if this number is equal to the length of the list, there were no -defaulted values. Otherwise the number points to the index of the -first defaulted attribute name. - -=item finish - -Unsets all handlers (including internal ones that set context), but expat -continues parsing to the end of the document or until it finds an error. -It should finish up a lot faster than with the handlers set. - -=item release - -There are data structures used by XML::Parser::Expat that have circular -references. This means that these structures will never be garbage -collected unless these references are explicitly broken. Calling this -method breaks those references (and makes the instance unusable.) - -Normally, higher level calls handle this for you, but if you are using -XML::Parser::Expat directly, then it's your responsibility to call it. - -=back - -=head2 XML::Parser::ContentModel Methods - -The element declaration handlers are passed objects of this class as the -content model of the element declaration. They also represent content -particles, components of a content model. - -When referred to as a string, these objects are automagicly converted to a -string representation of the model (or content particle). - -=over 4 - -=item isempty - -This method returns true if the object is "EMPTY", false otherwise. - -=item isany - -This method returns true if the object is "ANY", false otherwise. - -=item ismixed - -This method returns true if the object is "(#PCDATA)" or "(#PCDATA|...)*", -false otherwise. - -=item isname - -This method returns if the object is an element name. - -=item ischoice - -This method returns true if the object is a choice of content particles. - - -=item isseq - -This method returns true if the object is a sequence of content particles. - -=item quant - -This method returns undef or a string representing the quantifier -('?', '*', '+') associated with the model or particle. - -=item children - -This method returns undef or (for mixed, choice, and sequence types) -an array of component content particles. There will always be at least -one component for choices and sequences, but for a mixed content model -of pure PCDATA, "(#PCDATA)", then an undef is returned. - -=back - -=head2 XML::Parser::ExpatNB Methods - -The class XML::Parser::ExpatNB is a subclass of XML::Parser::Expat used -for non-blocking access to the expat library. It does not support the parse, -parsestring, or parsefile methods, but it does have these additional methods: - -=over 4 - -=item parse_more(DATA) - -Feed expat more text to munch on. - -=item parse_done - -Tell expat that it's gotten the whole document. - -=back - -=head1 FUNCTIONS - -=over 4 - -=item XML::Parser::Expat::load_encoding(ENCODING) - -Load an external encoding. ENCODING is either the name of an encoding or -the name of a file. The basename is converted to lowercase and a '.enc' -extension is appended unless there's one already there. Then, unless -it's an absolute pathname (i.e. begins with '/'), the first file by that -name discovered in the @Encoding_Path path list is used. - -The encoding in the file is loaded and kept in the %Encoding_Table -table. Earlier encodings of the same name are replaced. - -This function is automaticly called by expat when it encounters an encoding -it doesn't know about. Expat shouldn't call this twice for the same -encoding name. The only reason users should use this function is to -explicitly load an encoding not contained in the @Encoding_Path list. - -=back - -=head1 AUTHORS - -Larry Wall <F<larry@wall.org>> wrote version 1.0. - -Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API -for this version (2.x), provided documentation, and added some standard -package features. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl deleted file mode 100644 index d0c940b1ac5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl +++ /dev/null @@ -1,71 +0,0 @@ -# LWPExternEnt.pl -# -# Copyright (c) 2000 Clark Cooper -# All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -package XML::Parser; - -use URI; -use URI::file; -use LWP; - -## -## Note that this external entity handler reads the entire entity into -## memory, so it will choke on huge ones. It would be really nice if -## LWP::UserAgent optionally returned us an IO::Handle. -## - -sub lwp_ext_ent_handler { - my ($xp, $base, $sys) = @_; # We don't use public id - - my $uri; - - if (defined $base) { - # Base may have been set by parsefile, which is agnostic about - # whether its a file or URI. - my $base_uri = new URI($base); - unless (defined $base_uri->scheme) { - $base_uri = URI->new_abs($base_uri, URI::file->cwd); - } - - $uri = URI->new_abs($sys, $base_uri); - } - else { - $uri = new URI($sys); - unless (defined $uri->scheme) { - $uri = URI->new_abs($uri, URI::file->cwd); - } - } - - my $ua = $xp->{_lwpagent}; - unless (defined $ua) { - $ua = $xp->{_lwpagent} = new LWP::UserAgent(); - $ua->env_proxy(); - } - - my $req = new HTTP::Request('GET', $uri); - - my $res = $ua->request($req); - if ($res->is_error) { - $xp->{ErrorMessage} .= "\n" . $res->status_line . " $uri"; - return undef; - } - - $xp->{_BaseStack} ||= []; - push(@{$xp->{_BaseStack}}, $base); - - $xp->base($uri); - - return $res->content; -} # End lwp_ext_ent_handler - -sub lwp_ext_ent_cleanup { - my ($xp) = @_; - - $xp->base(pop(@{$xp->{_BaseStack}})); -} # End lwp_ext_ent_cleanup - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm deleted file mode 100644 index 89fcd8b248b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: Debug.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Debug; -use strict; - -sub Start { - my $expat = shift; - my $tag = shift; - print STDERR "@{$expat->{Context}} \\\\ (@_)\n"; -} - -sub End { - my $expat = shift; - my $tag = shift; - print STDERR "@{$expat->{Context}} //\n"; -} - -sub Char { - my $expat = shift; - my $text = shift; - $text =~ s/([\x80-\xff])/sprintf "#x%X;", ord $1/eg; - $text =~ s/([\t\n])/sprintf "#%d;", ord $1/eg; - print STDERR "@{$expat->{Context}} || $text\n"; -} - -sub Proc { - my $expat = shift; - my $target = shift; - my $text = shift; - my @foo = @{$expat->{Context}}; - print STDERR "@foo $target($text)\n"; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Debug - Debug style for XML::Parser - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Debug'); - $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This just prints out the document in outline form to STDERR. Nothing special is -returned by parse. - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm deleted file mode 100644 index 8603db05a39..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm +++ /dev/null @@ -1,78 +0,0 @@ -# $Id: Objects.pm,v 1.1 2003/08/18 20:20:51 matt Exp $ - -package XML::Parser::Style::Objects; -use strict; - -sub Init { - my $expat = shift; - $expat->{Lists} = []; - $expat->{Curlist} = $expat->{Tree} = []; -} - -sub Start { - my $expat = shift; - my $tag = shift; - my $newlist = [ ]; - my $class = "${$expat}{Pkg}::$tag"; - my $newobj = bless { @_, Kids => $newlist }, $class; - push @{ $expat->{Lists} }, $expat->{Curlist}; - push @{ $expat->{Curlist} }, $newobj; - $expat->{Curlist} = $newlist; -} - -sub End { - my $expat = shift; - my $tag = shift; - $expat->{Curlist} = pop @{ $expat->{Lists} }; -} - -sub Char { - my $expat = shift; - my $text = shift; - my $class = "${$expat}{Pkg}::Characters"; - my $clist = $expat->{Curlist}; - my $pos = $#$clist; - - if ($pos >= 0 and ref($clist->[$pos]) eq $class) { - $clist->[$pos]->{Text} .= $text; - } else { - push @$clist, bless { Text => $text }, $class; - } -} - -sub Final { - my $expat = shift; - delete $expat->{Curlist}; - delete $expat->{Lists}; - $expat->{Tree}; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Objects - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Objects', Pkg => 'MyNode'); - my $tree = $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This module implements XML::Parser's Objects style parser. - -This is similar to the Tree style, except that a hash object is created for -each element. The corresponding object will be in the class whose name -is created by appending "::" and the element name to the package set with -the Pkg option. Non-markup text will be in the ::Characters class. The -contents of the corresponding object will be in an anonymous array that -is the value of the Kids property for that object. - -=head1 SEE ALSO - -L<XML::Parser::Style::Tree> - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm deleted file mode 100644 index 1e2e3f7183d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm +++ /dev/null @@ -1,184 +0,0 @@ -# $Id: Stream.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Stream; -use strict; - -# This style invented by Tim Bray <tbray@textuality.com> - -sub Init { - no strict 'refs'; - my $expat = shift; - $expat->{Text} = ''; - my $sub = $expat->{Pkg} ."::StartDocument"; - &$sub($expat) - if defined(&$sub); -} - -sub Start { - no strict 'refs'; - my $expat = shift; - my $type = shift; - - doText($expat); - $_ = "<$type"; - - %_ = @_; - while (@_) { - $_ .= ' ' . shift() . '="' . shift() . '"'; - } - $_ .= '>'; - - my $sub = $expat->{Pkg} . "::StartTag"; - if (defined(&$sub)) { - &$sub($expat, $type); - } else { - print; - } -} - -sub End { - no strict 'refs'; - my $expat = shift; - my $type = shift; - - # Set right context for Text handler - push(@{$expat->{Context}}, $type); - doText($expat); - pop(@{$expat->{Context}}); - - $_ = "</$type>"; - - my $sub = $expat->{Pkg} . "::EndTag"; - if (defined(&$sub)) { - &$sub($expat, $type); - } else { - print; - } -} - -sub Char { - my $expat = shift; - $expat->{Text} .= shift; -} - -sub Proc { - no strict 'refs'; - my $expat = shift; - my $target = shift; - my $text = shift; - - doText($expat); - - $_ = "<?$target $text?>"; - - my $sub = $expat->{Pkg} . "::PI"; - if (defined(&$sub)) { - &$sub($expat, $target, $text); - } else { - print; - } -} - -sub Final { - no strict 'refs'; - my $expat = shift; - my $sub = $expat->{Pkg} . "::EndDocument"; - &$sub($expat) - if defined(&$sub); -} - -sub doText { - no strict 'refs'; - my $expat = shift; - $_ = $expat->{Text}; - - if (length($_)) { - my $sub = $expat->{Pkg} . "::Text"; - if (defined(&$sub)) { - &$sub($expat); - } else { - print; - } - - $expat->{Text} = ''; - } -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Stream - Stream style for XML::Parser - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Stream', Pkg => 'MySubs'); - $p->parsefile('foo.xml'); - - { - package MySubs; - - sub StartTag { - my ($e, $name) = @_; - # do something with start tags - } - - sub EndTag { - my ($e, $name) = @_; - # do something with end tags - } - - sub Characters { - my ($e, $data) = @_; - # do something with text nodes - } - } - -=head1 DESCRIPTION - -This style uses the Pkg option to find subs in a given package to call for each event. -If none of the subs that this -style looks for is there, then the effect of parsing with this style is -to print a canonical copy of the document without comments or declarations. -All the subs receive as their 1st parameter the Expat instance for the -document they're parsing. - -It looks for the following routines: - -=over 4 - -=item * StartDocument - -Called at the start of the parse . - -=item * StartTag - -Called for every start tag with a second parameter of the element type. The $_ -variable will contain a copy of the tag and the %_ variable will contain -attribute values supplied for that element. - -=item * EndTag - -Called for every end tag with a second parameter of the element type. The $_ -variable will contain a copy of the end tag. - -=item * Text - -Called just before start or end tags with accumulated non-markup text in -the $_ variable. - -=item * PI - -Called for processing instructions. The $_ variable will contain a copy of -the PI and the target and data are sent as 2nd and 3rd parameters -respectively. - -=item * EndDocument - -Called at conclusion of the parse. - -=back - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm deleted file mode 100644 index 15a21439e8e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm +++ /dev/null @@ -1,58 +0,0 @@ -# $Id: Subs.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Subs; - -sub Start { - no strict 'refs'; - my $expat = shift; - my $tag = shift; - my $sub = $expat->{Pkg} . "::$tag"; - eval { &$sub($expat, $tag, @_) }; -} - -sub End { - no strict 'refs'; - my $expat = shift; - my $tag = shift; - my $sub = $expat->{Pkg} . "::${tag}_"; - eval { &$sub($expat, $tag) }; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Subs - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Subs', Pkg => 'MySubs'); - $p->parsefile('foo.xml'); - - { - package MySubs; - - sub foo { - # start of foo tag - } - - sub foo_ { - # end of foo tag - } - } - -=head1 DESCRIPTION - -Each time an element starts, a sub by that name in the package specified -by the Pkg option is called with the same parameters that the Start -handler gets called with. - -Each time an element ends, a sub with that name appended with an underscore -("_"), is called with the same parameters that the End handler gets called -with. - -Nothing special is returned by parse. - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm deleted file mode 100644 index c0e69f131ce..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: Tree.pm,v 1.2 2003/07/31 07:54:51 matt Exp $ - -package XML::Parser::Style::Tree; -$XML::Parser::Built_In_Styles{Tree} = 1; - -sub Init { - my $expat = shift; - $expat->{Lists} = []; - $expat->{Curlist} = $expat->{Tree} = []; -} - -sub Start { - my $expat = shift; - my $tag = shift; - my $newlist = [ { @_ } ]; - push @{ $expat->{Lists} }, $expat->{Curlist}; - push @{ $expat->{Curlist} }, $tag => $newlist; - $expat->{Curlist} = $newlist; -} - -sub End { - my $expat = shift; - my $tag = shift; - $expat->{Curlist} = pop @{ $expat->{Lists} }; -} - -sub Char { - my $expat = shift; - my $text = shift; - my $clist = $expat->{Curlist}; - my $pos = $#$clist; - - if ($pos > 0 and $clist->[$pos - 1] eq '0') { - $clist->[$pos] .= $text; - } else { - push @$clist, 0 => $text; - } -} - -sub Final { - my $expat = shift; - delete $expat->{Curlist}; - delete $expat->{Lists}; - $expat->{Tree}; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Tree - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Tree'); - my $tree = $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This module implements XML::Parser's Tree style parser. - -When parsing a document, C<parse()> will return a parse tree for the -document. Each node in the tree -takes the form of a tag, content pair. Text nodes are represented with -a pseudo-tag of "0" and the string that is their content. For elements, -the content is an array reference. The first item in the array is a -(possibly empty) hash reference containing attributes. The remainder of -the array is a sequence of tag-content pairs representing the content -of the element. - -So for example the result of parsing: - - <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> - -would be: - Tag Content - ================================================================== - [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], - bar, [ {}, 0, "Howdy", ref, [{}]], - 0, "do" - ] - ] - -The root document "foo", has 3 children: a "head" element, a "bar" -element and the text "do". After the empty attribute hash, these are -represented in it's contents by 3 tag-content pairs. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist deleted file mode 100644 index cc4b4bb6f51..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll Binary files differdeleted file mode 100755 index 941eba62d8d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist deleted file mode 100644 index 5fa52914d08..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist +++ /dev/null @@ -1,14 +0,0 @@ -/usr/bin/crc32 -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Archive.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/BufferedFileHandle.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/DirectoryMember.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/FAQ.pod -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/FileMember.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Member.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/MemberRead.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/MockFileHandle.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/NewFileMember.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/StringMember.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Tree.pm -/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/ZipFileMember.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist deleted file mode 100644 index e485e9a9d9e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist +++ /dev/null @@ -1,15 +0,0 @@ -/usr/bin/cpan -/usr/lib/perl5/vendor_perl/5.10/CPAN.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/API/HOWTO.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Admin.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Debug.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/DeferedCode.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/FirstTime.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/HandleConfig.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify/distroprefs.dd -/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify/distroprefs.yml -/usr/lib/perl5/vendor_perl/5.10/CPAN/Nox.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Queue.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Tarzip.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Version.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist deleted file mode 100644 index c85319ac1a9..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist +++ /dev/null @@ -1,10 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter.pod -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/API.pod -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/Config.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/Config.pod -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/FAQ.pod -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/History.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/History.pod -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/PrereqCheck.pm -/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/PrereqCheck.pod diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist deleted file mode 100644 index d901a1c4fbd..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist +++ /dev/null @@ -1,3 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll Binary files differdeleted file mode 100755 index c8c5e4e5328..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix deleted file mode 100644 index ce4be759eaf..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix +++ /dev/null @@ -1,3 +0,0 @@ -# Index created by AutoSplit for blib/lib/Compress/Bzip2.pm -# (file acts as timestamp) -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist deleted file mode 100644 index 334d6210b18..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist +++ /dev/null @@ -1,3 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll Binary files differdeleted file mode 100755 index 025e0a00fd7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix deleted file mode 100644 index 5a2274f3bcc..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix +++ /dev/null @@ -1,3 +0,0 @@ -# Index created by AutoSplit for blib/lib/Compress/Raw/Bzip2.pm -# (file acts as timestamp) -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist deleted file mode 100644 index de09e206ebb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Config/Tiny.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist deleted file mode 100644 index 80526e3ad66..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist +++ /dev/null @@ -1,11 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll Binary files differdeleted file mode 100755 index 59be6734617..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist deleted file mode 100644 index 378df7e5195..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Devel/Symdump.pm -/usr/lib/perl5/vendor_perl/5.10/Devel/Symdump/Export.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist deleted file mode 100644 index 2c58e22f960..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist +++ /dev/null @@ -1,3 +0,0 @@ -/usr/bin/shasum -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll Binary files differdeleted file mode 100755 index 188510ef8e0..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist deleted file mode 100644 index 1e67ef6f222..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/File/Copy/Recursive.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist deleted file mode 100644 index f9a14ebbec3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist +++ /dev/null @@ -1,6 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir.pm -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Darwin.pm -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Driver.pm -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/MacOS9.pm -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Unix.pm -/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Windows.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist deleted file mode 100644 index 3ee277acedb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/File/._Temp.pm -/usr/lib/perl5/vendor_perl/5.10/File/Temp.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist deleted file mode 100644 index 54e4f7f3a0d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/File/pushd.pm -/usr/lib/perl5/vendor_perl/5.10/File/pushd.pod diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist deleted file mode 100644 index 536c184838a..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist +++ /dev/null @@ -1,8 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll Binary files differdeleted file mode 100755 index 822da84225d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist deleted file mode 100644 index da214b4a7a1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/HTML/Tagset.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist deleted file mode 100644 index 94734507600..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/IO/CaptureOutput.pm -/usr/lib/perl5/vendor_perl/5.10/IO/CaptureOutput.pod diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist deleted file mode 100644 index 53609083bfd..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist +++ /dev/null @@ -1,4 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/IO/Compress/Adapter/Bzip2.pm -/usr/lib/perl5/vendor_perl/5.10/IO/Compress/Bzip2.pm -/usr/lib/perl5/vendor_perl/5.10/IO/Uncompress/Adapter/Bunzip2.pm -/usr/lib/perl5/vendor_perl/5.10/IO/Uncompress/Bunzip2.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist deleted file mode 100644 index 0183b8af891..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/IO/String.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist deleted file mode 100644 index 9eaa5a1b6c7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist +++ /dev/null @@ -1,6 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3.pm -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfArrayBuffer.pm -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfLogReader.pm -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfLogger.pm -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfPP.pm -/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfReporter.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist deleted file mode 100644 index b285259ba3b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist +++ /dev/null @@ -1,54 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Bundle/LWP.pm -/usr/lib/perl5/vendor_perl/5.10/File/Listing.pm -/usr/lib/perl5/vendor_perl/5.10/HTML/Form.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies/Microsoft.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies/Netscape.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Daemon.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Date.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/Auth.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/ETag.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/Util.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Message.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Negotiate.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Request.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Request/Common.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Response.pm -/usr/lib/perl5/vendor_perl/5.10/HTTP/Status.pm -/usr/lib/perl5/vendor_perl/5.10/LWP.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Basic.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Digest.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Ntlm.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/ConnCache.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Debug.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/DebugFile.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/MediaTypes.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/MemberMixin.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/GHTTP.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/cpan.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/data.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/file.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/ftp.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/gopher.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/http.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/http10.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/https.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/https10.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/loopback.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/mailto.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/nntp.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/nogo.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/RobotUA.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/Simple.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/UserAgent.pm -/usr/lib/perl5/vendor_perl/5.10/LWP/media.types -/usr/lib/perl5/vendor_perl/5.10/Net/HTTP.pm -/usr/lib/perl5/vendor_perl/5.10/Net/HTTP/Methods.pm -/usr/lib/perl5/vendor_perl/5.10/Net/HTTP/NB.pm -/usr/lib/perl5/vendor_perl/5.10/Net/HTTPS.pm -/usr/lib/perl5/vendor_perl/5.10/WWW/RobotRules.pm -/usr/lib/perl5/vendor_perl/5.10/WWW/RobotRules/AnyDBM_File.pm -/usr/lib/perl5/vendor_perl/5.10/lwpcook.pod -/usr/lib/perl5/vendor_perl/5.10/lwptut.pod diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist deleted file mode 100644 index bc611494199..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll Binary files differdeleted file mode 100755 index a1c1538f710..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist deleted file mode 100644 index 3c23dd35ca8..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist +++ /dev/null @@ -1,3 +0,0 @@ -/usr/bin/scandeps.pl -/usr/lib/perl5/vendor_perl/5.10/Module/ScanDeps.pm -/usr/lib/perl5/vendor_perl/5.10/Module/ScanDeps/DataFeed.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist deleted file mode 100644 index 953af516e76..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/cpansign -/usr/lib/perl5/vendor_perl/5.10/Module/Signature.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist deleted file mode 100644 index ae1661b4792..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist +++ /dev/null @@ -1,50 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll Binary files differdeleted file mode 100755 index ebde3bdecbb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist deleted file mode 100644 index dd686633e6e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Net/Telnet.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist deleted file mode 100644 index 676970bd63c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/PAR/Dist.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist deleted file mode 100644 index e05b710331c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll Binary files differdeleted file mode 100755 index 94fa5bfd038..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist deleted file mode 100644 index df1665484b6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist +++ /dev/null @@ -1,5 +0,0 @@ -/usr/bin/pod_cover -/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/CountParents.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/ExportOnly.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/Overloader.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist deleted file mode 100644 index ba223b33326..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Pod/Escapes.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist deleted file mode 100644 index 455bc50831a..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist +++ /dev/null @@ -1,31 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple.pod -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/BlackBox.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Checker.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Debug.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/DumpAsText.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/DumpAsXML.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTML.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTMLBatch.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTMLLegacy.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/LinkSection.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Methody.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Progress.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParser.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserEndToken.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserStartToken.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserTextToken.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserToken.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/RTF.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Search.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/SimpleTree.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Subclassing.pod -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Text.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TextContent.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TiedOutFH.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Transcode.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TranscodeDumb.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TranscodeSmart.pm -/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/XMLOutStream.pm -/usr/lib/perl5/vendor_perl/5.10/perlpod.pod -/usr/lib/perl5/vendor_perl/5.10/perlpodspec.pod diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist deleted file mode 100644 index 8884166c6be..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Probe/Perl.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist deleted file mode 100644 index 0b3053d08ec..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist +++ /dev/null @@ -1,7 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix deleted file mode 100644 index bf94c0912ca..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix +++ /dev/null @@ -1,3 +0,0 @@ -# Index created by AutoSplit for ../blib/lib/Proc/ProcessTable/Process.pm -# (file acts as timestamp) -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll Binary files differdeleted file mode 100755 index e7fa59d11f5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist deleted file mode 100644 index 3b3b84d9a92..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/ptee -/usr/lib/perl5/vendor_perl/5.10/Tee.pm -/usr/lib/perl5/vendor_perl/5.10/Tee.pod -/usr/lib/perl5/vendor_perl/5.10/auto/Tee/ptee diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist deleted file mode 100644 index a82d1eed5ec..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist +++ /dev/null @@ -1,3 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll Binary files differdeleted file mode 100755 index c470828e220..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix deleted file mode 100644 index 1f3f099bd2b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix +++ /dev/null @@ -1,3 +0,0 @@ -# Index created by AutoSplit for blib/lib/Term/ReadKey.pm -# (file acts as timestamp) -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist deleted file mode 100644 index 1ac941addda..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Term/ReadLine/Perl.pm -/usr/lib/perl5/vendor_perl/5.10/Term/ReadLine/readline.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist deleted file mode 100644 index 30df7ed3a81..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist +++ /dev/null @@ -1,4 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll Binary files differdeleted file mode 100755 index 7be6a1f36e6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix deleted file mode 100644 index 8b9f60db04f..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix +++ /dev/null @@ -1,3 +0,0 @@ -# Index created by AutoSplit for blib/lib/Term/ReadLine/Gnu/XS.pm -# (file acts as timestamp) -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist deleted file mode 100644 index 2812e87c8d4..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Test/Pod.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist deleted file mode 100644 index 3ea96169b81..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/Test/Pod/Coverage.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist deleted file mode 100644 index 60a1fd2c5f7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist +++ /dev/null @@ -1,8 +0,0 @@ -/usr/bin/cpantest -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/File.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/HTTPGateway.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Mail/Send.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Net/SMTP.pm -/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Net/SMTP/TLS.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist deleted file mode 100644 index 703246950b1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist +++ /dev/null @@ -1,49 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/URI.pm -/usr/lib/perl5/vendor_perl/5.10/URI/Escape.pm -/usr/lib/perl5/vendor_perl/5.10/URI/Heuristic.pm -/usr/lib/perl5/vendor_perl/5.10/URI/QueryParam.pm -/usr/lib/perl5/vendor_perl/5.10/URI/Split.pm -/usr/lib/perl5/vendor_perl/5.10/URI/URL.pm -/usr/lib/perl5/vendor_perl/5.10/URI/WithBase.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_foreign.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_generic.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_ldap.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_login.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_query.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_segment.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_server.pm -/usr/lib/perl5/vendor_perl/5.10/URI/_userpass.pm -/usr/lib/perl5/vendor_perl/5.10/URI/data.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/Base.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/FAT.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/Mac.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/OS2.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/QNX.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/Unix.pm -/usr/lib/perl5/vendor_perl/5.10/URI/file/Win32.pm -/usr/lib/perl5/vendor_perl/5.10/URI/ftp.pm -/usr/lib/perl5/vendor_perl/5.10/URI/gopher.pm -/usr/lib/perl5/vendor_perl/5.10/URI/http.pm -/usr/lib/perl5/vendor_perl/5.10/URI/https.pm -/usr/lib/perl5/vendor_perl/5.10/URI/ldap.pm -/usr/lib/perl5/vendor_perl/5.10/URI/ldapi.pm -/usr/lib/perl5/vendor_perl/5.10/URI/ldaps.pm -/usr/lib/perl5/vendor_perl/5.10/URI/mailto.pm -/usr/lib/perl5/vendor_perl/5.10/URI/mms.pm -/usr/lib/perl5/vendor_perl/5.10/URI/news.pm -/usr/lib/perl5/vendor_perl/5.10/URI/nntp.pm -/usr/lib/perl5/vendor_perl/5.10/URI/pop.pm -/usr/lib/perl5/vendor_perl/5.10/URI/rlogin.pm -/usr/lib/perl5/vendor_perl/5.10/URI/rsync.pm -/usr/lib/perl5/vendor_perl/5.10/URI/rtsp.pm -/usr/lib/perl5/vendor_perl/5.10/URI/rtspu.pm -/usr/lib/perl5/vendor_perl/5.10/URI/sip.pm -/usr/lib/perl5/vendor_perl/5.10/URI/sips.pm -/usr/lib/perl5/vendor_perl/5.10/URI/snews.pm -/usr/lib/perl5/vendor_perl/5.10/URI/ssh.pm -/usr/lib/perl5/vendor_perl/5.10/URI/telnet.pm -/usr/lib/perl5/vendor_perl/5.10/URI/tn3270.pm -/usr/lib/perl5/vendor_perl/5.10/URI/urn.pm -/usr/lib/perl5/vendor_perl/5.10/URI/urn/isbn.pm -/usr/lib/perl5/vendor_perl/5.10/URI/urn/oid.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist deleted file mode 100644 index 199cc41357a..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist +++ /dev/null @@ -1,33 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist deleted file mode 100644 index 27498d344f4..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll Binary files differdeleted file mode 100755 index 85aadc887b0..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll Binary files differdeleted file mode 100755 index 53675c19d0b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist deleted file mode 100644 index ae6ffd04517..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/XML/NamespaceSupport.pm diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist deleted file mode 100644 index 5f2765f340c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist +++ /dev/null @@ -1,28 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm -/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll Binary files differdeleted file mode 100755 index db0575308b5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist deleted file mode 100644 index af1203abb80..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist +++ /dev/null @@ -1,23 +0,0 @@ -/usr/lib/perl5/vendor_perl/5.10/XML/SAX.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Base.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/DocumentLocator.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Exception.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Intro.pod -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/ParserFactory.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DTDDecls.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DebugHandler.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DocType.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/EncodingDetect.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Exception.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/NoUnicodeExt.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Productions.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/Stream.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/String.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/URI.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/UnicodeExt.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/UnicodeExt.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/XMLDecl.pm -/usr/lib/perl5/vendor_perl/5.10/XML/SAX/placeholder.pl diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist deleted file mode 100644 index 90c520e21f1..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist +++ /dev/null @@ -1,13 +0,0 @@ -/usr/bin/ysh -/usr/lib/perl5/vendor_perl/5.10/Test/YAML.pm -/usr/lib/perl5/vendor_perl/5.10/YAML.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Base.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Dumper.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Dumper/Base.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Error.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Loader.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Loader/Base.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Marshall.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Node.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Tag.pm -/usr/lib/perl5/vendor_perl/5.10/YAML/Types.pm |