• Tollef Fog Heen's avatar
    Merge r3575: Overhaul the ESI parser · 0191328e
    Tollef Fog Heen authored
    Overhaul the ESI parser in light of #433 and the prospect of future
    addition of features to the ESI code.
    
    The particular situation in #433 arises because a XML comment is not
    bounded in length, the same way as an <esi:include...> element naturally
    is.  This opens the window for trouble when large sections of XML is
    commented out for some reason or another.
    
    Bite the bullet and create a "storage-pointer" consisting of a pointer
    to a storage segment and a pointer into that segment.
    
    Add a main-loop which uses these pointers to walks over the entire
    object, looking for stuff we care about, and handle each appropriately.
    
    In addition to coping properly with the situation in #433, this code is
    also close to 100 lines shorter and has a more logical structure.
    
    The downside is that it is isn't quite as memory-access-alergic as the
    previous version.  (I challenge anybody to measure the effect of this.)
    
    Fixes: #433
    
    
    
    git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3744 d4fa192b-c00b-0410-8231-f00ffab90ce4
    0191328e
Name
Last commit
Last update
..
Makefile.am Loading commit data...
acct_fields.h Loading commit data...
c.sh Loading commit data...
cache.h Loading commit data...
cache_acceptor.c Loading commit data...
cache_acceptor.h Loading commit data...
cache_acceptor_epoll.c Loading commit data...
cache_acceptor_kqueue.c Loading commit data...
cache_acceptor_poll.c Loading commit data...
cache_acceptor_ports.c Loading commit data...
cache_backend.c Loading commit data...
cache_backend.h Loading commit data...
cache_backend_cfg.c Loading commit data...
cache_backend_poll.c Loading commit data...
cache_backend_poll.h Loading commit data...
cache_ban.c Loading commit data...
cache_center.c Loading commit data...
cache_cli.c Loading commit data...
cache_dir_random.c Loading commit data...
cache_dir_round_robin.c Loading commit data...
cache_dir_simple.c Loading commit data...
cache_expire.c Loading commit data...
cache_fetch.c Loading commit data...
cache_hash.c Loading commit data...
cache_http.c Loading commit data...
cache_httpconn.c Loading commit data...
cache_lck.c Loading commit data...
cache_main.c Loading commit data...
cache_panic.c Loading commit data...
cache_pipe.c Loading commit data...
cache_pool.c Loading commit data...
cache_response.c Loading commit data...
cache_session.c Loading commit data...
cache_vary.c Loading commit data...
cache_vcl.c Loading commit data...
cache_vrt.c Loading commit data...
cache_vrt_esi.c Loading commit data...
cache_vrt_re.c Loading commit data...
cache_ws.c Loading commit data...
common.h Loading commit data...
default.vcl Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
hash_classic.c Loading commit data...
hash_critbit.c Loading commit data...
hash_simple_list.c Loading commit data...
hash_slinger.h Loading commit data...
heritage.h Loading commit data...
instance.c Loading commit data...
mgt.h Loading commit data...
mgt_child.c Loading commit data...
mgt_cli.c Loading commit data...
mgt_cli.h Loading commit data...
mgt_param.c Loading commit data...
mgt_pool.c Loading commit data...
mgt_vcc.c Loading commit data...
rfc2616.c Loading commit data...
s.sh Loading commit data...
shmlog.c Loading commit data...
steps.h Loading commit data...
stevedore.c Loading commit data...
stevedore.h Loading commit data...
storage_file.c Loading commit data...
storage_malloc.c Loading commit data...
storage_synth.c Loading commit data...
storage_umem.c Loading commit data...
varnishd.1 Loading commit data...
varnishd.c Loading commit data...
vclflint.lnt Loading commit data...
vclflint.sh Loading commit data...
vparam.h Loading commit data...