Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connection Filters v0.1 #9855

Closed
wants to merge 1 commit into from
Closed

Connection Filters v0.1 #9855

wants to merge 1 commit into from

Commits on Nov 11, 2022

  1. Connection filters (cfilter) addition to curl:

                        - general construct/destroy in connectdata
                        - default implementations of callback functions
                        - connect: cfilters for connect and accept
                        - socks: cfilter for socks proxying
                        - http_proxy: cfilter for http proxy tunneling
                        - vtls: cfilters for primary and proxy ssl
                        - change in general handling of data/conn
                        - Curl_cfilter_setup() sets up filter chain based on data settings,
                          if none are installed by the protocol handler setup
                        - Curl_cfilter_connect() boot straps filters into `connected` status,
                          used by handlers and multi to reach further stages
                        - Curl_cfilter_is_connected() to check if a conn is connected,
                          e.g. all filters have done their work
                        - Curl_cfilter_get_select_socks() gets the sockets and READ/WRITE
                          indicators for multi select to work
                        - Curl_cfilter_data_pending() asks filters if the have incoming
                          data pending for recv
                        - Curl_cfilter_recv()/Curl_cfilter_send are the general callbacks
                          installed in conn->recv/conn->send for io handling
                        - Curl_cfilter_attach_data()/Curl_cfilter_detach_data() inform filters
                          and addition/removal of a `data` from their connection
                        - adding vtl functions to prevent use of Curl_ssl globals directly
                          in other parts of the code.
    icing committed Nov 11, 2022
    Copy the full SHA
    f172a7c View commit details
    Browse the repository at this point in the history