Age | Commit message (Collapse) | Author | Files | Lines |
|
since it's skipped by the caller before the URL is passed to this
function.
(process_request): Include code to handle proxy FTP requests as
well. This also lead to a bit of a cleanup in the calling conventions
of extract_http_url function. tinyproxy can handle both types of
resources by skipping the leading :// part.
|
|
controlled by the ViaHeader configure directive.
|
|
the data has been sent.
|
|
tinyproxy. There is really no need for this code, since there are
perfectly good programs out there (like rinetd) which are designed for
TCP tunnelling. tinyproxy should be a good HTTP proxy, nothing more,
and nothing less; therefore, the tunnelling code is gone.
|
|
remaining data to the server when the connections are being closed.
It was a one line fix.
|
|
tinyproxy. The additional code is in process_request(), but Petr also had to change around some of the other functions (like process_client_headers and handle_connection.) Note: Right now this code has not been tested, but it is believed to work. To enable run ./configure --enable-transparent-proxy
|
|
newline, we need to add them back on when sending the response header to the client.
|
|
tinyproxy now ignores all the headers after a "double CGI" situation has occurred.
(get_all_headers): Instead of dropping duplicate headers when the "double CGI" situation occurs, tinyproxy will now drop _all_ the headers from the "inner" HTTP response.
|
|
situation is in affect. This is needed to solve a problem with some sites (like cgi.ebay.com) where they are sending two HTTP response lines (and associated headers) with a response.
(get_all_headers): Detect if a "Double CGI" situation has occured.
|
|
was pointed out as being a problem with eBay (cgi.ebay.com)
(process_server_headers): Added code to make skip blank lines before a response line.
|
|
and URLs.
|
|
|
|
|
|
advantage of the fact that the peer's socket information is now stored
inside the connection structure.
|
|
free_request_struct(), so make sure it's pointing to memory.
|
|
of the buffer.h file. This also required the removal of the BUFFER_SIZE
macro, and replace it with the buffer_size() function.
|
|
concept since it blocks waiting for information from the client before any
data from the remote is relayed.
|
|
process_server_headers() functions.
Also, better reporting of errors back to the client.
|
|
recv() call. Thanks to Tom Cross for discovering this bug.
|
|
negative.
|
|
it.
|
|
The remove_connection_headers() function now handles both the Connection
header _and_ the Proxy-Connection header.
|
|
block which had not been allocated.
Also, the "proxy-connection" to the list of headers we don't pass.
|
|
are not passed along.
|
|
headers before sending the HTTP response back. This should be more
standards compliant.
|
|
|
|
Also, changed the call to check_acl() to include the peer's IP and string
addresses.
|
|
to the source to either remove code which is not needed, or consolidate
common code into a common section.
|
|
in order to detect negative returns.
|
|
error code. We're storing this information because tinyproxy doesn't
output the error information until _after_ the client has sent it's
information.
|
|
improve security of the tinyproxy system. This new directive allows the
admin to block CONNECT methods to illegal ports.
|
|
processing functions. Also, added a list of headers to drop in the
process server header functions.
|
|
and added the get_content_length() function.
The process_server_headers() function was rewritten to remove the
Connection header correctly, and also retrieve the Content-Length value.
This value is needed in the relay_connection() function since there are
some remote machines which do not properly close down the connection once
the body has been retrieved. Thanks to James Flemer for finding a test
case for this problem.
|
|
the anonymous_search().
Added a few more log_message() calls to better explain error conditions.
Fixed up a problem with X-Tinyproxy sending logic.
|
|
itself to find out all the changes. Changed the process_client_header()
function to use the hashmap and vector modules. I've made this change to
better handle the Connection header. The Connection header, it it's
present, lists all the headers which should _not_ be transmitted any
further along. An HTTP/1.1 proxy must respect this.
Other changes are basically cosmetic.
|
|
|
|
write_message().
|
|
control characters in a string.
|
|
to strlen(); readline() already returns the length of the string, so use
that instead.
|
|
|
|
|
|
16 KB.)
Added the TUNNEL_CONFIGURED() macro to help with testing for the tunnel
support code.
Create the write_message() function to encapsulate the code which sends
the information to the file descriptor.
Moved the tunnel code into it's own function.
|
|
|
|
|
|
Ignore any blank lines when tinyproxy is expecting a request line.
Instead of sending the request line to the remote server in pieces,
tinyproxy nows sends it in once go. This was done to fix a problem with
some sites like www.heise.de.
Changed all calls to connptr->ssl to connptr->connect_method.
Changed all calls to connptr->send_message to
connptr->send_response_message.
Moved the call to Via header code to inside to the tests to handle if
tinyproxy is sending an error message (don't need to send any headers.)
|
|
|
|
|
|
version.
|
|
function since I'm not completely happy with the code.
|
|
structure.
Don't send a Connection header to the remote connection.
Handle the Via header correctly.
|