Search squid archive

Receiving blank input in External ACL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi to all  and thanks for the time given to read and reply these emails


I am having an strange issue with my external ACL, ocassionally im
getting blank inputs from squid to by proccessed by the external ACL,
for those cases I am returning ERR but squid is complainting showing
in cache.log errors like

2015/02/11 10:01:36| helperHandleRead: unexpected read from
session_active_def #Hlpr5, 4 bytes 'ERR
'

My question is, what should I return in those cases? its normal to
recieve those blanks? how to avoid them if possible?

Im worried about this detail because related to this events (only some
times) squid stop serving to client who fired the event, client has to
change IP to continue surfing.

Here is the definition of the external ACL, its supposed to receive IP

# Set up the normal session helper.
external_acl_type session_active_def concurrency=1 children-max=15
children-startup=12  ipv4 ttl=3 negative_ttl=1 %SRC
/etc/squid3/captive/sessionHelper.php

And here the code

#!/usr/bin/php
<?php
error_reporting(0);
$meminstance = new Memcache();
$meminstance->pconnect('127.0.0.1', 11211);
ini_set("memory_limit",($memoryLimit=512)."M");
while (!@feof(STDIN)) {
try{

	$line = trim(fgets(STDIN));
	if (!$line) { shell_exec("echo \"SESSION - No client ip error: \"
".$line." - "." - $(date) >> /var/log/squid3/session.log");
fwrite(STDOUT, "ERR\n"); continue;}

	$line = explode(" ", $line);

	$clientip = count($line > 1)?$line[1]:false; //1738

	if (!$clientip) { shell_exec("echo \"SESSION - No client ip error: \"
".$line." - "." - $(date) >> /var/log/squid3/session.log");
fwrite(STDOUT, "ERR\n"); continue;}

	 $username = $meminstance->get($clientip);
	$hasInternet = $username?$meminstance->get("has_internet_$username"):false;
	if ($username && $hasInternet){
			// extend session
 			$meminstance->set($clientip, $username, 0,3600); // extend 10 min
			$meminstance->set("ip_".$username, $clientip, 0, 3600); // 10 min
			$meminstance->set("has_internet_".$username, true, 0, 3600); // 10 min
	                fwrite(STDOUT, "OK user=$username\n");
	}else{
        	fwrite(STDOUT, "ERR\n");
	}
}catch(Exception $e){
        	fwrite(STDOUT, "BH\n");
}
}
exit;
?>



Thanks to all
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users





[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux