httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hart...@hyperreal.org
Subject cvs commit: apache-1.3/src/support logresolve.pl
Date Fri, 17 Apr 1998 15:26:35 GMT
hartill     98/04/17 08:26:32

  Modified:    src/support logresolve.pl
  Log:
  3 changes:
   1) reject Perl older than 5.004
   2) use built-in constants for SOCK_STREAM AF_UNIX
   3) use sockaddr_un() for filenames passed to bind/connect
       - a fix found by Luuk de Boer <luuk_de_boer@pi.net>  for Linux problems
  
  Revision  Changes    Path
  1.3       +16 -7     apache-1.3/src/support/logresolve.pl
  
  Index: logresolve.pl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/support/logresolve.pl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- logresolve.pl	1998/03/31 12:53:52	1.2
  +++ logresolve.pl	1998/04/17 15:26:31	1.3
  @@ -57,7 +57,7 @@
   
   # logresolve.pl
   #
  -# v 1.0 by robh @ imdb.com
  +# v 1.2 by robh @ imdb.com
   # 
   # usage: logresolve.pl <infile >outfile
   #
  @@ -83,6 +83,14 @@
   # I haven't yet seen any noticable reduction in the percentage of IPs
   # that fail to get resolved. Your mileage will no doubt vary. 5s is long
   # enough to wait IMO.
  +#
  +# Known to work with FreeBSD 2.2
  +# Known to have problems with Solaris
  +#
  +# 980417 - use 'sockaddr_un' for bind/connect to make the script work
  +#  with linux. Fix from Luuk de Boer <luuk_de_boer@pi.net>
  +
  +require 5.004;
   
   $|=1;
   
  @@ -92,8 +100,8 @@
   use strict;
   no strict 'refs';
   
  -use vars qw($AF_UNIX $SOCK_STREAM $PROTOCOL);
  -($AF_UNIX, $SOCK_STREAM, $PROTOCOL) = (1, 1, 0);
  +use vars qw($PROTOCOL);
  +$PROTOCOL = 0;
   
   my $CHILDREN = 40;
   my $TIMEOUT  = 5;
  @@ -141,13 +149,13 @@
   	for (my $child = 1; $child <=$CHILDREN; $child++) {
   		$CHILDSOCK{$child}= FileHandle->new;
   
  -		if (!socket($CHILDSOCK{$child}, $AF_UNIX, $SOCK_STREAM, $PROTOCOL)) {
  +		if (!socket($CHILDSOCK{$child}, AF_UNIX, SOCK_STREAM, $PROTOCOL)) {
   			warn "parent socket to child failed $!";
   		}
   		$filename = "./.socket.$parent.$child";
   		my $response;
   		do {
  -			$response = connect($CHILDSOCK{$child}, "$filename");
  +			$response = connect($CHILDSOCK{$child}, sockaddr_un($filename));
   			if ($response != 1) {
   				sleep(1);
   			}                       
  @@ -205,10 +213,11 @@
   	$SIG{'ALRM'} = sub { die "alarmed"; };
   
   	 # create a socket to communicate with parent
  -	socket(INBOUND, $AF_UNIX, $SOCK_STREAM, $PROTOCOL)
  +	socket(INBOUND, AF_UNIX, SOCK_STREAM, $PROTOCOL)
   		|| die "Error with Socket: !$\n";
   	$filename = "./.socket.$parent.$me";
  -	bind(INBOUND, $filename) || die "Error Binding $filename: $!\n";
  +	bind(INBOUND, sockaddr_un($filename))
  +		|| die "Error Binding $filename: $!\n";
   	listen(INBOUND, 5) || die "Error Listening: $!\n";
   
   	my ($ip, $send_back);
  
  
  

Mime
View raw message