On Feb 20, 2014, at 2:43 PM, kic...@apache.org wrote: > Repository: trafficserver > Updated Branches: > refs/heads/master d3e4614bf -> d94a47ba8 > > > TS-2579: remove ipv4 limit on FetchSM and TSFetchUrl/TSFetchPages
What's the use case for this fix? One thing I just noticed is that all my code that calls TSHttpConnect uses the wrong IP address :( > > > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo > Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d94a47ba > Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d94a47ba > Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d94a47ba > > Branch: refs/heads/master > Commit: d94a47ba85cad73ebbc0e35b31baaa88279fe5c9 > Parents: d3e4614 > Author: Kit Chan <kic...@apache.org> > Authored: Thu Feb 20 22:42:30 2014 +0000 > Committer: Kit Chan <kic...@apache.org> > Committed: Thu Feb 20 22:42:30 2014 +0000 > > ---------------------------------------------------------------------- > CHANGES | 2 ++ > proxy/FetchSM.cc | 4 +--- > proxy/FetchSM.h | 8 +++----- > proxy/InkAPI.cc | 9 ++------- > 4 files changed, 8 insertions(+), 15 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d94a47ba/CHANGES > ---------------------------------------------------------------------- > diff --git a/CHANGES b/CHANGES > index 90db4ec..e33e4b9 100644 > --- a/CHANGES > +++ b/CHANGES > @@ -1,6 +1,8 @@ > -*- coding: utf-8 -*- > Changes with Apache Traffic Server 5.0.0 > > + *) [TS-2579] Remove ipv4 limit for FetchSM and TSFetchUrl/TSFetchPages. > + > *) [TS-1893] Add more options to server session control. > > *) [TS-2239] Initial ALPN TLS extension support. > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d94a47ba/proxy/FetchSM.cc > ---------------------------------------------------------------------- > diff --git a/proxy/FetchSM.cc b/proxy/FetchSM.cc > index 36a6547..a0c70f7 100644 > --- a/proxy/FetchSM.cc > +++ b/proxy/FetchSM.cc > @@ -52,9 +52,7 @@ void > FetchSM::httpConnect() > { > Debug(DEBUG_TAG, "[%s] calling httpconnect write", __FUNCTION__); > - sockaddr_in addr; > - ats_ip4_set(&addr, _ip, _port); > - http_vc = TSHttpConnect(ats_ip_sa_cast(&addr)); > + http_vc = TSHttpConnect(_addr); > > PluginVC *vc = (PluginVC *) http_vc; > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d94a47ba/proxy/FetchSM.h > ---------------------------------------------------------------------- > diff --git a/proxy/FetchSM.h b/proxy/FetchSM.h > index 2b7586d..05241a4 100644 > --- a/proxy/FetchSM.h > +++ b/proxy/FetchSM.h > @@ -40,7 +40,7 @@ public: > FetchSM() > { } > > - void init(Continuation* cont, TSFetchWakeUpOptions options, TSFetchEvent > events, const char* headers, int length, unsigned int ip, int port) > + void init(Continuation* cont, TSFetchWakeUpOptions options, TSFetchEvent > events, const char* headers, int length, sockaddr const * addr) > { > //_headers.assign(headers); > Debug("FetchSM", "[%s] FetchSM initialized for request with > headers\n--\n%.*s\n--", __FUNCTION__, length, headers); > @@ -60,8 +60,7 @@ public: > mutex = new_ProxyMutex(); > callback_events = events; > callback_options = options; > - _ip = ip; > - _port = port; > + _addr = addr; > writeRequest(headers,length); > SET_HANDLER(&FetchSM::fetch_handler); > } > @@ -105,8 +104,7 @@ private: > bool req_finished; > bool header_done; > bool resp_finished; > - unsigned int _ip; > - int _port; > + sockaddr const * _addr; > }; > > #endif > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d94a47ba/proxy/InkAPI.cc > ---------------------------------------------------------------------- > diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc > index bc0a9ec..e429103 100644 > --- a/proxy/InkAPI.cc > +++ b/proxy/InkAPI.cc > @@ -7178,10 +7178,8 @@ TSFetchPages(TSFetchUrlParams_t *params) > while (myparams != NULL) { > FetchSM *fetch_sm = FetchSMAllocator.alloc(); > sockaddr* addr = ats_ip_sa_cast(&myparams->ip); > - in_addr_t ip = ats_ip4_addr_cast(addr); > - uint16_t port = ats_ip_port_host_order(addr); > > - fetch_sm->init((Continuation*)myparams->contp, > myparams->options,myparams->events, myparams->request, myparams->request_len, > ip, port); > + fetch_sm->init((Continuation*)myparams->contp, > myparams->options,myparams->events, myparams->request, myparams->request_len, > addr); > fetch_sm->httpConnect(); > myparams= myparams->next; > } > @@ -7193,13 +7191,10 @@ TSFetchUrl(const char* headers, int request_len, > sockaddr const* ip , TSCont con > if (callback_options != NO_CALLBACK) { > sdk_assert(sdk_sanity_check_continuation(contp) == TS_SUCCESS); > } > - sdk_assert(ats_is_ip4(ip)); > > FetchSM *fetch_sm = FetchSMAllocator.alloc(); > - in_addr_t addr = ats_ip4_addr_cast(ip); > - unsigned short port = ats_ip_port_cast(ip); > > - fetch_sm->init((Continuation*)contp, callback_options, events, headers, > request_len, addr, port); > + fetch_sm->init((Continuation*)contp, callback_options, events, headers, > request_len, ip); > fetch_sm->httpConnect(); > } > >