[squid-users] external_acl_type wont work

Baselsayeh Basel.sayeh at hotmail.com
Sun Mar 6 17:21:24 UTC 2016


im using  php just for testing.
my script after editing:
http://pastebin.com/AvvZRP9s <http://pastebin.com/AvvZRP9s>  
and what should squid expect from php script starting?


Amos Jeffries wrote
> On 6/03/2016 8:47 a.m., Baselsayeh wrote:
>> hello
>> im using external_acl_type with my php script
>> squid config:
> 
>> external_acl_type session children-max=1 %SRC
>> /home/basel/Desktop/php/php.php -k jj
>> acl session_login external session LOGIN
>> acl session_is_active external session CHECK
>> acl clicked_login_url url_regex -i ^http://www.w3schools.com/
>> http_access allow clicked_login_url session_login
>> http_access deny !session_is_active
>> deny_info 511:/etc/squid/splash.html session_is_active
> 
> 
>> php script: http://pastebin.com/HNL3T1wW
>> <http://pastebin.com/HNL3T1wW>  
>> 
>> nothing gets to php stdin or null values
>> so whats the problem?
>> 
> 
> 
> Lets see:
> 
> #1 - using PHP. Which is a terrible for Squid helpers. The PP
> interpreters are optimized for short single runs, Squid helpers a
> long-term daemons.
> 
> #2 - outputting empty line on startup. Will result in (best case)
> helpers dying constantly with "unexpected response" errors by Squid, or
> (worst case) incorrect alignment between Squid queries and the helper
> responses. Resulting in incorrect HTTP behaviour.
> 
> #3 - infinite loop. while(1) without any termination/exit/break
> condition will result in Squid not being able to shutdown the helper for
> reconfigure and log rotation. Eventually blocking any further traffic
> through the proxy.
> 
> #4 - opening a new stdin FD on each infinite loop cycle. Resulting in a
> vast number of FD churning over. see #3
> 
> #4b - resource leaks. Not closing stdin pointers allocated in #4. see #3
> 
> #5 - using the results of fgets() without checking for existence first.
> Passing EOF/false/null to rtrim() will produce an object. see #3
> 
> #6 - using integer-converter comparison to compare strings. ($gg == "").
> Meet the '===' family of operators in PHP they are your friends.
> 
> #7 - using stored-value test on a nil object. Meet isempty(), isset(),
> is_null() in PHP they are your friends.
> 
> ... probably more, but less obvious.
> 
> Amos
> 
> _______________________________________________
> squid-users mailing list

> squid-users at .squid-cache

> http://lists.squid-cache.org/listinfo/squid-users





--
View this message in context: http://squid-web-proxy-cache.1019090.n4.nabble.com/external-acl-type-wont-work-tp4676457p4676468.html
Sent from the Squid - Users mailing list archive at Nabble.com.


More information about the squid-users mailing list