summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm')
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm225
1 files changed, 0 insertions, 225 deletions
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