Age | Commit message (Collapse) | Author | Files | Lines |
|
(upstream_add): Added support to allow ip addresses and networks to be
used when matching an upstream proxy directive.
[Code by Peter da Silva]
|
|
The change was recommended in the C/C++ User Journal magazine.
|
|
convention.
|
|
|
|
server configurable based on the destination host. [Code written by
Peter da Silva]
|
|
standard HTTP port (80 or 443) append the port string to the host
header; otherwise, leave the host string with only the host's domain
name.
Replaced all occurrences of constant 80 and 443 with defines HTTP_PORT
and HTTP_PORT_SSL.
|
|
is used by the transparent proxy code. [Anatole Shaw]
(process_request): Fixed up the transparent proxy code so that
filtering can be done on the whole URL. [Anatole Shaw]
(pull_client_data): Added a bug fix for Internet Explorer (IE). IE
will leave an extra CR and LF after the data in an HTTP POST. The new
code will eat the extra bytes if they're present. Thanks to Yannick
Koehler for finding the bug and offering an explanation as to why it
was happening.
Changed all calls of connptr->remote_content_length to
connptr->content_length.server
|
|
requested server. This fixes a problem when the server is not
listening on the default port, 80.
[Fix suggested by duncan@sapio.co.uk]
|
|
terminating NULL. The va_arg() function requires it to work
properly.
|
|
substitution mechanism. [Steven Young]
|
|
sure the function would compile cleanly regardless of how the
directive was set.
|
|
sure the function's symbol name is stored, even if upstream was not
compiled it. This should keep some compilers from reporting errors.
|
|
comes from the FreeBSD port through James E. Flemer.
|
|
username/password part from the host URI.
(extract_http_url), (extract_ssl_url): Use the new
strip_username_password function to remove any non-host information
from the URI.
|
|
The type was just replaced by "unsigned int" types.
|
|
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.
|