Current File : //usr/share/webmin/squid/squid-auth.pl
#!/usr/bin/perl
# squid-auth.pl
# A basic squid authentication program

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';

my %auth;
open(my $fh, "<".$ARGV[0]);
while(<$fh>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^(\S+):(\S+)/) {
		$auth{$1} = $2;
		}
	}
close($fh);

$| = 1;
while(<STDIN>) {
	s/\r|\n//g;
	my ($u, $p) = split(/\s+/, $_);
	print $auth{$u} &&
	      $auth{$u} eq crypt($p, $auth{$u}) ? "OK\n" : "ERR\n";
	}