On 08-05-2012 22:33, Willy Tarreau wrote:
Hi all,

I found some time to work on haproxy last weeks and to perform a number of
fundamental changes that have been needed for a long time.


Some of these changes conflicted with the ACL and pattern frameworks, so it
was the right moment to merge them together. We now have a single
sample fetch
function for each type of data we want to extract, and both ACLs and patterns rely on this. The first user-visible benefit from this is that ACLs can now
match cookies, URL parameters and arbitrary payloads. In practice,
the current
code is almost ready to enable session tracking on any input criteria. I thought I could make the track-sc1 and track-sc2 actions track headers but
some more changes were needed that were out of the scope of all these
so I left them for later.

Since some ACLs and pattern fetch methods supported an argument, a
new argument
management framework was implemented, making it very easy to declare variable number of typed arguments for new keywords. Thanks to this extension, I could bring new optional arguments to hdr() and cook() fetch methods to specify an occurrence number. This allows stick-tables to extract an IP address from a precise occurrence of the X-Forwarded-For header for instance, and to write
ACLs which match such headers against networks found in files.


After all this changes is it still necessary to have the appsession directive in haproxy?

Could it not be removed to avoid confusions and future question what should be used appsession
or *cook*?


Reply via email to