severity 400599 wishlist
tag 400599 + patch pending
thanks

This should hit the Debian archive pretty soon now; I'm also copying
Clinton Wong, original author of Net::Socks maintainership, so he can
incorporate this patch if he desires.

Cheers,

--Seb

On Mon, Nov 27, 2006 at 03:34:46PM +0100, Christian Schwarz wrote:
> 
> Package: libnet-socks-perl
> Version: 0.03-4
> 
> In SOCKS.pm, the author wrote "#fixme - check to make sure peer_addr is 
> dotted decimal or do name resolution on it first".  I've fixed this with a 
> small (hacky) patch (see attachment).
> 
> (The patch is needed, when using Net::SOCKS together with SpamAssassin.)
> 
> It would be nice if you could include this patch in the next Debian 
> release and forward it to the upstream maintainer.
> 
> Feel free to contact me, if you need more info.
> 
> 
> Cheers,
> 
> Chris
> 

> --- SOCKS.pm.ref      2006-11-27 15:15:04.000000000 +0100
> +++ SOCKS.pm  2006-11-27 15:15:59.000000000 +0100
> @@ -345,8 +345,22 @@
>  
>    if ($rc==SOCKS_OKAY) {
>  
> -#fixme - check to make sure peer_addr is dotted decimal or do name
> -#        resolution on it first
> +    # resolve name
> +    unless (${*self}{peer_addr} =~ /^\d+\.\d+\.\d+\.\d+$/o) {
> +      #die "peer_addr not an IP adress: ${*self}{peer_addr}\n";
> +      #print STDERR "debug: peer_addr not an IP adress: ${*self}{peer_addr} 
> -- resolving...\n";
> +      my $res = Net::DNS::Resolver->new;
> +      my $query = $res->search(${*self}{peer_addr});
> +      my $ip;
> +      if ($query) {
> +        foreach my $rr ($query->answer) {
> +          next unless $rr->type eq "A";
> +          $ip = $rr->address;
> +        }
> +      }
> +      $ip or die "cannot resolve name ${*self}{peer_addr}";
> +      ${*self}{peer_addr} = $ip;
> +    }
>  
>      # send the request
>      print  { ${*self}{fh} } pack ('CCn', 4, $req_num, ${*self}{peer_port}) .



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to