[
https://issues.apache.org/jira/browse/TS-4697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leif Hedstrom updated TS-4697:
------------------------------
Backport to Version: 6.2.1
> MIOBuffer did not free if failed on ipallow check in
> HttpSessionAccept::accept()
> --------------------------------------------------------------------------------
>
> Key: TS-4697
> URL: https://issues.apache.org/jira/browse/TS-4697
> Project: Traffic Server
> Issue Type: Bug
> Components: HTTP, Network
> Reporter: Oknet Xu
> Fix For: 7.0.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> {code}
> void
> HttpSessionAccept::accept(NetVConnection *netvc, MIOBuffer *iobuf,
> IOBufferReader *reader)
> {
> sockaddr const *client_ip = netvc->get_remote_addr();
> const AclRecord *acl_record = NULL;
> ip_port_text_buffer ipb;
> IpAllow::scoped_config ipallow;
> // The backdoor port is now only bound to "localhost", so no
> // reason to check for if it's incoming from "localhost" or not.
> if (backdoor) {
> acl_record = IpAllow::AllMethodAcl();
> } else if (ipallow && (((acl_record = ipallow->match(client_ip)) == NULL)
> || (acl_record->isEmpty()))) {
> ////////////////////////////////////////////////////
> // if client address forbidden, close immediately //
> ////////////////////////////////////////////////////
> Warning("client '%s' prohibited by ip-allow policy",
> ats_ip_ntop(client_ip, ipb, sizeof(ipb)));
> netvc->do_io_close();
> return; // -----------------> MIOBuffer did not free.
> }
> ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)