Squid external_acl_type for DHCP CHECK



  • Hi!
    I have written a perl script checking if the the client ip is in dhcpd.leases file or not, it is working standalone on shell command but when I put it in to squid as an external_acl type it is not working.
    Any Help appreciated

    this is the script dhcpcheck.pl

    #!/usr/bin/perl -w
    $|=1;
    while (<stdin>) {
    $line = `/bin/cat /var/dhcpd/var/db/dhcpd.leases | /usr/bin/sed "s/lease/~if ($line =~ m/active/) {
    print "OK\n";
    } else {
    print "ERR\n";
    }
    }</stdin>

    when the scripts runs it looks for the "active" statement in the last line containing the client ip in dhcpd.leases file.So when the script turns up "OK" squid should allow the client and block if it turns up "ERR"

    and this is the squid commands

    external_acl_type DHCP children=50 ttl=0 %SRC /var/squid/acl/dhcpcheck.pl
    acl dhcpcheck external DHCP
    http_access deny !dhcpcheck


Log in to reply