summaryrefslogtreecommitdiff
path: root/src/reqs.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2009-09-27Don't ignore retval of read() in reqs.cMukund Sivaraman1-2/+10
2009-09-20Print a http error when the client headers could not be retrieved.Michael Adam1-0/+5
A ususal case here is that the headers were buggy, e.g. a line without a ":" to separate the header field name from the value. Previous behaviour was to silently return a blank page. Michael
2009-09-20Revert "Remove unused parameter from process_request()"Michael Adam1-3/+3
This reverts commit f3312c22a0fc49bf1d93e87ee8e84290f3f91171. The "hashofheaders" argument to process_request() is needed for building with reverse support or with transparent support. Michael
2009-09-20Remove inline keyword from static functionsMukund Sivaraman1-3/+3
The compiler inlines static functions as necessary anyway. No more inline keywords exist in Tinyproxy source code. We want to avoid using this keyword anyway.
2009-09-15Remove unused parameter from process_request()Mukund Sivaraman1-3/+3
2009-09-15Indent code to Tinyproxy coding styleMukund Sivaraman1-1382/+1257
The modified files were indented with GNU indent using the following command: indent -npro -kr -i8 -ts8 -sob -l80 -ss -cs -cp1 -bs -nlps -nprs -pcs \ -saf -sai -saw -sc -cdw -ce -nut -il0 No other changes of any sort were made.
2009-09-10reqs.c: fix two implicit cast warnings.Michael Adam1-2/+2
Michael
2009-08-12Fix compiler warnings: make const strings const in process_server_headers().Michael Adam1-1/+1
Michael
2009-08-12Fix compiler warnings: make const strings const in process_client_headers().Michael Adam1-1/+1
Michael
2009-08-12Fix compiler warnings: Make const strings const in remove_connection_headers()Michael Adam1-1/+1
Michael
2009-08-09Fix implicit cast warning in get_all_headers().Michael Adam1-1/+2
And untangle assignment from check. Michael
2009-08-09Fix two implicit cast warnings in pull_client_data().Michael Adam1-2/+3
Michael
2009-08-09Fix three implicit cast warnings in process_request().Michael Adam1-4/+4
Michael
2009-08-09Fix implicit cast warning in upstream_add().Michael Adam1-1/+1
Michael
2009-08-09Fix implicit cast warning in extract_ssl_url().Michael Adam1-1/+1
Michael
2009-08-09Fix implicit cast warning in extract_http_url().Michael Adam1-1/+1
Michael
2009-08-09Fix implicit cast warning in check_allowed_connect_ports().Michael Adam1-1/+1
Michael
2009-08-09fix signed vs unsigned comparison warning in check_allowed_connect_ports().Michael Adam1-1/+1
Michael
2009-08-07Wrap len in paranthesesMukund Sivaraman1-5/+5
2009-08-07correctly handle folded header fieldsMatthew Dempsky1-11/+45
2009-08-07Rename tinyproxy.[ch] to main.[ch]Mukund Sivaraman1-1/+1
2009-08-04check_acl(): remove the fd argument - it is not used.Michael Adam1-1/+1
Host name and IP address are provided instead. Michael
2008-12-08Convert tabs to spacesMukund Sivaraman1-424/+417
2008-12-08Break at 80 columnsMukund Sivaraman1-17/+33
2008-12-01Reformat code to GNU coding styleMukund Sivaraman1-1316/+1429
This is a commit which simply ran all C source code files through GNU indent. No other modifications were made.
2008-08-24pos can never be less than 0 as it's of type size_tMukund Sivaraman1-1/+1
Also fix the type which is passed in from various places.
2008-06-09Moved transparent proxy code into its own fileRobert James Kaes1-113/+9
Extracted the transparent proxy logic from reqs.c and placed it into a separate file. Signed-off-by: Robert James Kaes <rjk@wormbytes.ca>
2008-05-24Renamed htmlerror.[ch] to html-error.[ch]Mukund Sivaraman1-1/+1
2008-05-24Updated copyright, license notices in source codeMukund Sivaraman1-17/+21
The notices have been changed to a more GNU look. Documentation comments have been separated from the copyright header. I've tried to keep all copyright notices intact. Some author contact details have been updated.
2008-03-13Renamed file to replace underscores in it with dashesMukund Sivaraman1-1/+1
2005-08-16* [Refactor] Moved Reverse Proxy CodeRobert James Kaes1-140/+15
Moved the reverse proxy code from reqs.c into it's own files (reverse_proxy.c). The code in reqs.c is way too complicated, so I want to move unrelated code into their own files to simplify the main concepts in reqs.c.
2005-08-15* [Indent] Ran Source Through indentRobert James Kaes1-1324/+1373
I re-indented the source code using indent with the following options: indent -kr -bad -bap -nut -i8 -l80 -psl -sob -ss -ncs There are now _no_ tabs in the source files, and all indentation is eight spaces. Lines are 80 characters long, and the procedure type is on it's own line. Read the indent manual for more information about what each option means.
2005-07-12* Updated Copyright Email AddressesRobert James Kaes1-2/+2
Updated the copyright email addresses for Robert James Kaes. The users.sourceforge.net address should always exist.
2005-07-06Removed the proxy-* headers from the list of headers to skip. SinceRobert James Kaes1-3/+1
tinyproxy does not prompt for any proxy information from the client, it should not be eating the proxy headers. They are most likely needed by an upstream proxy.
2004-08-24Added code to handle HTTP/0.9 simple GET requests.Robert James Kaes1-36/+53
2004-08-12(check_allowed_connect_ports): By default DENY any CONNECT requestsRobert James Kaes1-13/+9
unless explicitly allowed by a configuration directive.
2004-08-12(add_xtinyproxy_header): Removed the runtime error checking of theRobert James Kaes1-8/+3
connptr->server_fd variable and moved it into an assert since we should never be called with invalid data. Also made the function an inline function since it's only called in one place.
2004-08-11(strip_username_password): Removed one of the pointer variables sinceRobert James Kaes1-11/+16
it's no longer needed. Reorganized the function to make it more obvious what was actually being done.
2004-08-10Merged in changes from 1.6.3Robert James Kaes1-5/+6
2004-04-27Added the "BindSame" configure directive from Oswald Buddenhagen.Robert James Kaes1-10/+19
This allows tinyproxy to respond to a request bound to the same interface that the request came in on. As Oswald explains: "attached is a patch that adds the BindSame option. it causes binding an outgoing connection to the ip address of the respective incoming connection. that way one can simulate an entire proxy farm with a single instance of tinyproxy on a multi-homed machine." Cool.
2004-02-13Removed unnecessary casts (mostly dealing with memory allocation.) IRobert James Kaes1-12/+11
should never have added them in the first place. They don't really buy anything, and they can hide bugs.
2004-02-04(strip_return_port): Patch from "alex" to strip the port from the hostRobert James Kaes1-19/+41
string and return the port. I cleaned up and added error handling to the code, but it's basically "alex"'s fix. (extract_http_url): Rewrote this function to remove all the sscanf() calls. It's much easier to just split on the path slash (if it's present) and then strip the user name/password and port from the host string. Less code, handles more cases!
2004-01-26Added reverse proxy support from Kim Holviala. His comments regardingRobert James Kaes1-5/+173
this addition follow: The patch implements a simple reverse proxy (with one funky extra feature). It has all the regular features: mapping remote servers to local namespace (ReversePath), disabling forward proxying (ReverseOnly) and HTTP redirect rewriting (ReverseBaseURL). The funky feature is this: You map Google to /google/ and the Google front page opens up fine. Type in stuff and click "Google Search" and you'll get an error from tinyproxy. Reason for this is that Google's form submits to "/search" which unfortunately bypasses our /google/ mapping (if they'd submit to "search" without the slash it would have worked ok). Turn on ReverseMagic and it starts working.... ReverseMagic "hijacks" one cookie which it sends to the client browser. This cookie contains the current reverse proxy path mapping (in the above case /google/) so that even if the site uses absolute links the reverse proxy still knows where to map the request. And yes, it works. No, I've never seen this done before - I couldn't find _any_ working OSS reverse proxies, and the commercial ones I've seen try to parse the page and fix all links (in the above case changing "/search" to "/google/search"). The problem with modifying the html is that it might not be parsable (very common) or it might be encoded so that the proxy can't read it (mod_gzip or likes). Hope you like that patch. One caveat - I haven't coded with C in like three years so my code might be a bit messy.... There shouldn't be any security problems thou, but you never know. I did all the stuff out of my memory without reading any RFC's, but I tested everything with Moz, Konq, IE6, Links and Lynx and they all worked fine.
2003-08-07tinyproxy no longer includes a fall-back regular expression library,Robert James Kaes1-2/+1
so these files needed to be modified to only use the system's installed regular expression library.
2003-08-05# Fixed a comment to actually reflect what the function does.Robert James Kaes1-2/+2
2003-07-31Added appropriate casts from (void*) so that the code will compileRobert James Kaes1-13/+14
cleanly with a C++ compiler. (Tested using GCC 3.3)
2003-06-26(upstream_add): Rewrote the function to actually handle the variousRobert James Kaes1-33/+37
types of upstream configurations correctly. Hopefully, the code is also a little clearer in it's implementation.
2003-06-20Removed the "ViaHeader" directive and replaced it with theRobert James Kaes1-23/+23
"ViaProxyName" directive. The "Via" HTTP header is _required_ by the HTTP spec, so the code has been changed to always send the header. However, including the proxy's host name could be considered a security threat, so the "ViaProxyName" directive is used to set the token sent in the "Via" header. If the directive is not enabled the proxy's host name will be used.
2003-06-06(connect_to_upstream): Fixed an off-by-one error in the snprintf()Robert James Kaes1-5/+6
call used to build the URL for the upstream proxy. [Patch suggested by David T. Pierso]
2003-06-02(upstream_get):Robert James Kaes1-37/+65
(upstream_add): Added support to allow ip addresses and networks to be used when matching an upstream proxy directive. [Code by Peter da Silva]