Re: [squid-users] x-forwarded-for patch for squid-2.5.Stable11

From: saravanan ganapathy <[email protected]>
Date: Fri, 14 Oct 2005 21:50:47 -0700 (PDT)

> > > Download squid-2.5.STABLE9.tar.gz and
> > > follow_xff-2.5.STABLE5.patch on /tmp
> > > Extract the squid tar file with: tar xvfz
> > > squid-2.5.STABLE9.tar.gz
> > > copy follow_xff-2.5.STABLE5.patch to
> > > /tmp/squid-2.5.STABLE9
> > > cd to /tmp/squid-2.5.STABLE9 and execute: patch
> > -p0
> > > <
> > > follow_xff-2.5.STABLE5.patch
> > >
> > > you should get the following errors:
> > >
> > > FedoraCore2[/tmp/squid-2.5.STABLE9]patch -p0 <
> > > follow_xff-2.5.STABLE5.patch
> > > patching file acconfig.h
> > > patching file bootstrap.sh
> > > Hunk #1 succeeded at 66 (offset 7 lines).
> > > patching file configure.in
> > > Hunk #1 succeeded at 1128 (offset 28 lines).
> > > patching file src/acl.c
> > > Hunk #1 succeeded at 2147 (offset 107 lines).
> > > patching file src/cf.data.pre
> > > Hunk #1 succeeded at 2144 (offset 29 lines).
> > > patching file src/client_side.c
> > > Hunk #2 succeeded at 185 (offset 2 lines).
> > > Hunk #4 succeeded at 3308 (offset 58 lines).
> > > patching file src/delay_pools.c
> > > patching file src/structs.h
> > > Hunk #1 FAILED at 594.
> > > Hunk #2 succeeded at 634 (offset 14 lines).
> > > Hunk #3 succeeded at 1621 (offset 2 lines).
> > > Hunk #4 succeeded at 1684 (offset 14 lines).
> > > Hunk #5 FAILED at 1697.
> > > 2 out of 5 hunks FAILED -- saving rejects to
> file
> > > src/structs.h.rej
> > >
> > > This means that two hunks (parts) of the patch
> > > failed to patch src/structs.h
> > > at around lines 594 and 1697. Now look at the
> > > src/structs.h.rej which
> > > should look like this:
> > >
> > > ***************
> > > *** 594,599 ****
> > > int pipeline_prefetch;
> > > int request_entities;
> > > int detect_broken_server_pconns;
> > > } onoff;
> > > acl *aclList;
> > > struct {
> > > --- 594,604 ----
> > > int pipeline_prefetch;
> > > int request_entities;
> > > int detect_broken_server_pconns;
> > > + #if FOLLOW_X_FORWARDED_FOR
> > > + int acl_uses_indirect_client;
> > > + int delay_pool_uses_indirect_client;
> > > + int log_uses_indirect_client;
> > > + #endif /* FOLLOW_X_FORWARDED_FOR */
> > > } onoff;
> > > acl *aclList;
> > > struct {
> > > ***************
> > > *** 1681,1686 ****
> > > char *peer_login; /* Configured
> peer
> > > login:password */
> > > time_t lastmod; /* Used on
> > refreshes
> > > */
> > > const char *vary_headers; /* Used when
> > varying
> > > entities are detected.
> > > Chan
> > > ges how the store key is calculated */
> > > };
> > >
> > > struct _cachemgr_passwd {
> > > --- 1697,1707 ----
> > > char *peer_login; /* Configured
> peer
> > > login:password */
> > > time_t lastmod; /* Used on
> > refreshes
> > > */
> > > const char *vary_headers; /* Used when
> > varying
> > > entities are detected.
> > > Chan
> > > ges how the store key is calculated */
> > > + #if FOLLOW_X_FORWARDED_FOR
> > > + /* XXX a list of IP addresses would be a
> > > better data structure
> > > + * than this String */
> > > + String x_forwarded_for_iterator;
> > > + #endif /* FOLLOW_X_FORWARDED_FOR */
> > > };
> > >
> > > struct _cachemgr_passwd {
> > >
> > > As you can see the patch has found some 'issues'
> > on
> > > line 594 where it was
> > > expecting something that it did not find. No
> > > problem, just open
> > > src/structs.h with 'vi' and go to line 594 and
> > > locate the line:
> > >
> > > int detect_broken_server_pconns;
> > >
> > > which should be somewhere around there.
> > > now insert the following as described by the
> .rej
> > > file (remove the + which
> > > means ADD)
> > >
> > > #if FOLLOW_X_FORWARDED_FOR
> > > int acl_uses_indirect_client;
> > > int delay_pool_uses_indirect_client;
> > > int log_uses_indirect_client;
> > > #endif /* FOLLOW_X_FORWARDED_FOR */
> > >
> > > so around line 594 you should now have:
> > >
> > > int detect_broken_server_pconns;
> > > #if FOLLOW_X_FORWARDED_FOR
> > > int acl_uses_indirect_client;
> > > int delay_pool_uses_indirect_client;
> > > int log_uses_indirect_client;
> > > #endif /* FOLLOW_X_FORWARDED_FOR */
> > > int balance_on_multiple_ip;
> > > int relaxed_header_parser;
> > > int accel_uses_host_header;
> > > int accel_no_pmtu_disc;
> > > } onoff;
> > > acl *aclList;
> > >
> > > OK, let's now go to line 1697 (more or less
> since
> > we
> > > have just added a few
> > > lines around 594)
> > > locate the line:
> > >
> > > const char *vary_headers; /* Used when varying
> > > entities are detected. Chan
> > > ges how the store key is calculated */
> > >
> > > which should be somewhere around there.
> > > now insert the following as described by the
> .rej
> > > file (remove the + which
> > > means ADD)
> > >
> > > #if FOLLOW_X_FORWARDED_FOR
> > > /* XXX a list of IP addresses would be a
> > better
> > > data structure
> > > * than this String */
> > > String x_forwarded_for_iterator;
> > > #endif /* FOLLOW_X_FORWARDED_FOR */
> > >
> > > so around line 1697 you should now have:
> > >
> > > char *peer_login; /* Configured
> peer
> > > login:password */
> > > time_t lastmod; /* Used on
> > refreshes
> > > */
> > > const char *vary_headers; /* Used when
> > varying
> > > entities are detected.
> > > Changes how the store key is calculated */
> > > #if FOLLOW_X_FORWARDED_FOR
> > > /* XXX a list of IP addresses would be a
> > better
> > > data structure
> > > * than this String */
> > > String x_forwarded_for_iterator;
> > > #endif /* FOLLOW_X_FORWARDED_FOR */
> > > BODY_HANDLER *body_reader;
> > > void *body_reader_data;
> > > };
> > >
> > > Alright, you are done fixing the broken patch!
> > now
> > > go back to
> > > /tmp/squid-2.5.STABLE9 and execute
> > > 'bootstrap.sh'. Do not worry about any warnings
> > or
> > > errors you may get.
> > > then run 'configure --help' and you should be
> able
> > > to see you new option

Anybody got success this patch with
squid-2.5.STABLE11?
Pls help me.

Sarav

        
                
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com
Received on Fri Oct 14 2005 - 22:50:49 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Nov 01 2005 - 12:00:04 MST