summaryrefslogtreecommitdiff
path: root/src/reqs.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2014-12-13BB#110 Increase number of hash buckets from 32 to 256.Michael Adam1-1/+1
This should make hash processing generally faster. There is a treadeoff between memory footprint and speed of processing. 10 KB instead of 1.2 KB of hash table per process should not be a huge problem even on very limited current systems. Who really needs to stick to 32 buckets could recompile. We could also think about making this configurable at some point. Signed-off-by: Michael Adam <obnox@samba.org>
2014-12-13BB#110 limit the number of headers per request to prevent DoSMichael Adam1-1/+17
Based on patch provided by gpernot@praksys.org on bugzilla. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23reqs: fix typo in a debug message in get_request_entity()Michael Adam1-1/+1
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130969 (part 3) - unchecked return value from library.Michael Adam1-1/+8
Check the return value of socket_blocking (fcntl) at the end of relay_connection() for client socket. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130969 (part 2) - unchecked return value from library.Michael Adam1-1/+8
Check the return value of socket_blocking (fcntl) at the end of relay_connection(). Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130972 - remove logically dead code.Michael Adam1-9/+0
url == NULL is caught above. Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130967 - unchecked return value from library.Michael Adam1-1/+7
Check the return code of fcntl via socket_blocking in pull_client_data(). Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130968 - unchecked return value from libraryMichael Adam1-1/+8
Check the return code of fcntl via socket_nonblocking in pull_client_data() Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: rename a variable.Michael Adam1-3/+3
ret will be used in enclosing scope. so rename this special varibale. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: fix CID 1130969 - unchecked return code from libraryMichael Adam1-1/+6
Effectively, the return code of fcntl was not checked by not checking the return code of socket_nonblocking() for the server fd. Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: fix CID 1130970 - unchecked return code from libraryMichael Adam1-1/+7
Effectively, the return code of fcntl was not checked by not checking the return code of socket_nonblocking() for the client fd. Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#106: remove now unused extract_ssl_url.Michael Adam1-25/+0
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#106: fix CONNECT requsts with IPv6 literal addresses as host.Michael Adam1-1/+1
Use extract_url instead of the old extract_ssl_url: extract_url is generic and handles ipv6 literal addresses correctly. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#106: add default_port argument to extract_http_url and rename it to ↵Michael Adam1-5/+9
extract_url There is in fact nothing http-specific any more about this function, hence the rename. The input has been stripped of the <proto>:// header anyways. This in preparation of fixing bug BB#106: ssl fails with literal ipv6 addrs. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16req: move a variable into the scope where it is used in extract_http_url()Michael Adam1-1/+1
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#116: fix invalid free when connecting to ipv6 literal addressMichael Adam1-1/+4
When removing the '[' and ']' characers from the ipv6 literal address, make sure the pointer that is later free'd stays a malloced pointer by memmoving the string one place left. Signed-off-by: Michael Adam <obnox@samba.org>
2011-02-07Surround IPv6 literals with [] in Host: headersMukund Sivaraman1-6/+18
2011-02-04Handle IPv6 literals in URLs correctlyMukund Sivaraman1-1/+14
2010-12-01[BB#95] Fix FilterURLs with transparent proxy support.Daniel Egger1-1/+1
Pass a pointer to a char pointer to do_transparent_proxy so the reassembled URL will actually end up back in the caller where it is needed for filtering decisions. This fixes the problem that a tinyproxy configured with the transparent proxy functionality and "FilterURLs Yes" would filter on everything but the domain. Signed-off-by: daniel.egger@sphairon.com Signed-off-by: Michael Adam <obnox@samba.org>
2010-01-10Fix bug #55: Read request entity before sending error page to client.Michael Adam1-47/+81
https://www.banu.com/bugzilla/show_bug.cgi?id=55 This is achieved by streamlining handle_connection, adding a common cleanup-and-exit poing ("done") and a common failure exit point ("fail") that reads any pending data from the client fd first before trying to send back data (error page or stats page). The new function get_request_entity that is used here, does not honour any content-length header. It just calls select on the client-fd and gets any data that is there to read. Michael
2010-01-10reqs:handle_connection: untangle assignment from checkMichael Adam1-1/+2
Michael
2010-01-10reqs:process_client_headers: polish logic flow a bit.Michael Adam1-5/+6
Michael
2010-01-10reqs: simply process_request a bit: create common fail exit pointMichael Adam1-49/+21
Michael
2010-01-08[BB#17] Add custom HTTP request headers to outgoing HTTP requestsMukund Sivaraman1-0/+14
2009-12-07Move definition of "struct config_s" from main.h to conf.hMichael Adam1-0/+1
Michael
2009-12-07Add connect_ports list to config struct instead of keeping extra global var.Michael Adam1-1/+3
Michael
2009-12-07Move handling of connect_ports list to its own source module.Michael Adam1-55/+1
Michael
2009-12-07Add access_list to the config struct instead of a global variable in acl.c.Michael Adam1-1/+1
Change insert_acl, check_acl and flush_access_list to take a corresponding argument. Michael
2009-12-07upstream: Add upstream list parameter to upstream_get()Michael Adam1-1/+1
to abstract it from the concrete list in the config struct. Now upstream.c does not use any reference to config any more. Michael
2009-12-06move handling of upstream list to new module upstream.{c,h}Michael Adam1-184/+1
Michael
2009-12-06upstream: refactor assembly of upstream out of upstream_addMichael Adam1-10/+32
Michael
2009-12-04Use capitalized name in error messagesMukund Sivaraman1-2/+2
2009-11-17Use NULL for pointersMukund Sivaraman1-1/+1
2009-10-11Don't add "Via:" header when DisableViaHeader == Yes.Michael Adam1-0/+6
2009-10-02Use safer string functionsMukund Sivaraman1-2/+1
2009-09-28handle_connection: make logic clearer when deciding whether to use connect/sslMichael Adam1-1/+1
Michael
2009-09-27[BB#10] Do not filter out transfer-encoding headerMukund Sivaraman1-2/+0
2009-09-27conf: turn XTinyproxy into a boolean optionMichael Adam1-1/+1
This is what it actually is. The string value was used in earlier versions to compare against the uri->authority string. But not as a list of sites to create an X-Tinyproxy header for, as the tinyproxy.conf template states... Michael
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