I'm writing an external_acl helper for a project where we want to make 
decisions about choosing an outgoing address based on the destination of the 
connection.  I've written a program that will take in an argument (from the 
acl) and has a %DST format.

  However, in my testing, it's never used.  It starts up, because I set 
children-startup=1, but looking at the log I'm never seeing any of the 
debugging printf's I put in it that I do see if I run it by hand and feed it 
data.

  I noticed inside of forward.cc, in getOutgoingAddress, the ACL checking it's 
doing calls cf->fastCheck().  Does that mean that it will avoid calling "slow" 
acl mechanisms for some reason?  Or am I inferring too much?

  Either way, I wanted to ask, because I can tell that I'm seeing connections 
and it's trying to choose an outgoing address, but seems to never choose the 
ones attached to the external_acl helper, and seems to never inquire of it.

  Thanks.

                                    - Chris

--
external_acl_type region children-startup=1 %DST /home/cross/ext_dest_acl -d

acl ca_acl external region California
acl in_acl external region Indiana

tcp_outgoing_address 10.1.2.2 ca_acl
tcp_outgoing_address 10.1.2.3 ca_acl
tcp_outgoing_address 10.1.2.4 in_acl
tcp_outgoing_address 10.1.2.48

Reply via email to