ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/myhttpd/httpd.pl
(Generate patch)

Comparing Coro/myhttpd/httpd.pl (file contents):
Revision 1.6 by root, Fri Aug 10 21:03:41 2001 UTC vs.
Revision 1.7 by root, Sat Aug 11 00:37:32 2001 UTC

81 my $peername = shift; 81 my $peername = shift;
82 my $fh = shift; 82 my $fh = shift;
83 my $self = bless { fh => $fh }, $class; 83 my $self = bless { fh => $fh }, $class;
84 my (undef, $iaddr) = unpack_sockaddr_in $peername 84 my (undef, $iaddr) = unpack_sockaddr_in $peername
85 or $self->err(500, "unable to decode peername"); 85 or $self->err(500, "unable to decode peername");
86
86 $self->{remote_addr} = inet_ntoa $iaddr; 87 $self->{remote_addr} = inet_ntoa $iaddr;
87 88
88 # enter ourselves into various lists 89 # enter ourselves into various lists
89 weaken ($conn{$self->{remote_addr}}{$self*1} = $self); 90 weaken ($conn{$self->{remote_addr}}{$self*1} = $self);
90 91
244 245
245 $self->{name} = $uri; 246 $self->{name} = $uri;
246 247
247 # now do the path mapping 248 # now do the path mapping
248 $self->{path} = "$::DOCROOT/$host$uri"; 249 $self->{path} = "$::DOCROOT/$host$uri";
250
251 $self->access_check;
249} 252}
250 253
251sub server_address { 254sub server_address {
252 my $self = shift; 255 my $self = shift;
253 my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->getsockname 256 my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->getsockname
412 } 415 }
413 416
414 close $fh; 417 close $fh;
415} 418}
416 419
420sub access_check {
421 my $self = shift;
422 my $whois = ::ip_request($self->{remote_addr});
423
424 if ($whois =~ /^\*cy: (\S+)/m) {
425 $self->slog(9, "COUNTRY($1)");
426 } else {
427 $self->slog(9, "no country($whois)");
428 }
429}
430
4171; 4311;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines