summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2018-02-06move base64 code into own filerofl0r
it will be needed to add support for upstream proxy auth.
2018-02-06Basic Auth: send correct response codes and headers acc. to rfc7235rofl0r
as reported by @natedogith1
2018-02-06add support for basic HTTP authenticationrofl0r
using the "BasicAuth" keyword in tinyproxy.conf. base64 code was written by myself and taken from my own library "libulz". for this purpose it is relicensed under the usual terms of the tinyproxy license.
2018-02-06fix types used in SOCKS4/5 support coderofl0r
the line len = buff[0]; /* max = 255 */ could lead to a negative length if the value in buff[0] is > 127.
2018-02-06add SOCKS upstream proxy support (socks4/socks5)Gonzalo Tornaria
original patch submitted in 2006 to debian mailing list: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392848%29#12 this version was rebased to git and updated by Russ Dill <russ.dill@gmail.com> in 2015 (the original patch used a different config file format). as discussed in #40. commit message by @rofl0r.
2017-12-04safe_write/read: take void* buffer for generic userofl0r
if using one of unsigned or signed char for the function prototype, one gets nasty warnings when using it with the other type. the only proper solution is to put void* into the prototype, and then specialize the pointer inside the function using an automatic variable. for exactly this reason, libc functions like read(), write(), etc use void* too.
2017-11-16log to stdout if no logfile specifiedrofl0r
some users want to run tinyproxy on an as-needed basis in a terminal, without setting it up permanently to run as a daemon/service. in such use case, it is very annoying that tinyproxy didn't have an option to log to stdout, so the user has to keep a second terminal open to `tail -f` the log. additionally, this precluded usage with runit service supervisor, which runs all services in foreground and creates logfiles from the service's stdout/stderr. since logging to stdout doesn't make sense when daemonized, now if no logfile is specified and daemon mode activated, a warning is printed to stderr once, and nothing is logged. the original idea was to fail with an error message, though some users might actually want to run tinyproxy as daemon and no logging at all.
2017-11-16do not create a pidfile, if none is specified in configrofl0r
some people want to run tinyproxy with minimal configuration from the command line (and as non-root), but tinyproxy insists on writing a pid file, which only makes sense for usage as a service, hereby forcing the user to either run it as root so it can write to the default location, or start editing the default config file to work around it. and if no pidfile is specified in the config, it frankly doesn't make sense to force creation of one anyway.
2017-11-16Issue 15 fix. PRPablo Panero
2017-03-29network: honour result of inet_ntop in get_ip_string()Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2017-03-29network: let get_ip_string() return const char * instead of const charMichael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2017-03-29Merge pull request #66 from rofl0r/configure_trimMichael Adam
Configure trim
2017-03-29Merge pull request #67 from dmz-uk/patch-1Michael Adam
Prevent child from calling exit() on interrupt
2017-03-29Merge pull request #85 from rofl0r/fix_72Michael Adam
src/Makefile.am: fix spaces vs TAB
2017-03-27src/Makefile.am: fix spaces vs TABrofl0r
this causes a build failure on several platforms using older versions of autotools or GNU make. make[2]: Entering directory `src' Makefile:670: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. make[2]: Leaving directory `src' fixes #72
2016-12-30Prevent child from calling exit() on interruptdmz-uk
A proposed fix for the logrotate SIGHUP issue.
2016-12-27Move lookup_variable into hashmap.c / hashmap.hGreg
2016-12-27Change signature for lookup_variable to take map instead of connptrGreg
2016-12-21configure: do not check for standard POSIX headersrofl0r
addresses #65
2016-12-21configure: do not check for standard C headersrofl0r
addresses #65
2016-09-10Continue with forward proxy if ReverseOnly is not true and no mapping ↵Stephan Leemburg
available (#35) allow non-reverse mappings if reverseonly is not enabled
2016-01-03update URLrofl0r
2014-12-13BB#110 Increase number of hash buckets from 32 to 256.Michael Adam
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 Adam
Based on patch provided by gpernot@praksys.org on bugzilla. Signed-off-by: Michael Adam <obnox@samba.org>
2014-12-13BB#110 secure the hashmaps by adding a seedMichael Adam
Based on a patch provided by gpernot@praksys.org on bugzilla. Signed-off-by: Michael Adam <obnox@samba.org>
2014-12-13BB#110 Replace hash function with Dan Bernstein's.Peter H. Froehlich
This hash function distributes much better than the original one. The effect is not as visible with hashes taken modulo 32 than with a bigger modulus, but it is there. And larger number of buckets migh become possible in the future... Reviewed-by: Michael Adam <obnox@samba.org>
2013-11-23buffer: fix log message in read_buffer().Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23buffer: reduce indentation in read_buffer()Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23reqs: fix typo in a debug message in get_request_entity()Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23transparent: make transparent support compile after introduction of multi ListenMichael Adam
I seem to have forgotten to compile with transparent support enabled... This belongs to the fix for bug BB#63. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23child: remove use of config.listen_addrs in child_listening_sockets()Michael Adam
This was accidentially used instead of the function parameter listen_addrs This still belongs to the fix for bug BB#63. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130969 (part 3) - unchecked return value from library.Michael Adam
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 Adam
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 Adam
url == NULL is caught above. Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22network: Fix CID 113095 - unchecked return value from libraryMichael Adam
Check return of "recv" in readline(). Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22child: check return code of socket_blocking for accept in child_mainMichael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22child: Fix CID 1130966 - unchecked return value from libraryMichael Adam
check the return code of fcntl via socket_nonblocking on the listen sockets in child_main() Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22reqs: Fix CID 1130967 - unchecked return value from library.Michael Adam
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 Adam
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 Adam
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 Adam
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 Adam
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-22conf: Fix CID 1130973 - resource leak.Michael Adam
Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#106: remove now unused extract_ssl_url.Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#106: fix CONNECT requsts with IPv6 literal addresses as host.Michael Adam
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 Adam
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 Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-16BB#116: fix invalid free when connecting to ipv6 literal addressMichael Adam
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>
2013-11-16sock: add debug messages to opensock()Michael Adam
log entering opensock and successful return of getaddrinfo. This allows to detect dns timeouts from looking at the logs. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09[BB#63] conf: Allow multiple Listen statements in the config.Michael Adam
This introduces a list (vector) of addresses instead of having just one address string. Signed-off-by: Michael Adam <obnox@samba.org>