1674 Commits

Author SHA1 Message Date
rofl0r
057cf06805 config: unify upstream syntax for http,socks4,socks5 and none
closes #50
2018-02-25 23:52:23 +00:00
rofl0r
9cde492d68 configure.ac: remove -pedantic 2018-02-25 23:52:23 +00:00
rofl0r
39132b9787 rename members of proxy_type enum to have a common prefix
and add a NONE member.
2018-02-25 23:52:23 +00:00
rofl0r
86632a91eb fix early logging
tinyproxy uses a curious mechanism to log those early messages
that result from parsing the config file before the logging mechanism
has been properly set up yet by finishing parsing of the config file:
those early messages are written into a memory buffer and then
are printed later on. this slipped my attention when making it possible
to log to stdout in ccbbb81a.
2018-02-25 18:35:34 +00:00
rofl0r
e1c11c47db make send_stored_logs static 2018-02-25 18:35:34 +00:00
rofl0r
bf76aeeba1 implement HTTP basic auth for upstream proxies
loosely based on @valenbg1's code from PR #38

closes #38
closes #96
2018-02-25 15:13:45 +00:00
rofl0r
4d9891e59e basicauth.[ch]: refactor to make basicauth_string() reusable 2018-02-25 15:13:45 +00:00
bertliao
81ea4feb2e fix possible memory leak 2018-02-25 14:56:50 +00:00
John Weldon
c7c88e9c59 Remove #ifdef for HAVE_SYSLOG_H
- syslog.h is a standard posix header, this #ifdef is an artifact
  accidentally left in.
2018-02-23 05:32:33 +00:00
Michael Adam
9acb0cb16c Fix CVE-2017-11747: Create PID file before dropping privileges.
Resolves #106

Signed-off-by: Michael Adam <obnox@samba.org>
2018-02-09 15:21:14 +01:00
rofl0r
af1d7ab510 move base64 code into own file
it will be needed to add support for upstream proxy auth.
2018-02-06 16:57:02 +00:00
rofl0r
bd04ed00d8 Basic Auth: send correct response codes and headers acc. to rfc7235
as reported by @natedogith1
2018-02-06 16:57:02 +00:00
rofl0r
8db511b9bf add support for basic HTTP authentication
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-06 16:57:02 +00:00
rofl0r
1ebfd2a2d1 tinyproxy.conf.in: add example for SOCKS upstream 2018-02-06 16:11:39 +00:00
rofl0r
7a3fd81a8d fix types used in SOCKS4/5 support code
the line

    len = buff[0]; /* max = 255 */

could lead to a negative length if the value in buff[0] is > 127.
2018-02-06 16:11:39 +00:00
Gonzalo Tornaria
8906b0734e add SOCKS upstream proxy support (socks4/socks5)
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.
2018-02-06 16:11:39 +00:00
rofl0r
116e59e933 activate reverse proxy support by default
closes #17
2018-02-06 15:22:22 +00:00
rofl0r
9bb699628f safe_write/read: take void* buffer for generic use
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-12-04 11:33:01 +00:00
rofl0r
e9e0f0b4f0 configure.ac: remove -Wc++-compat 2017-11-29 19:11:04 +01:00
Brian Cain
08a9fbb041 Add example value for Log Level setting 2017-11-27 18:49:53 +01:00
rofl0r
ccbbb81aa9 log to stdout if no logfile specified
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-16 19:26:14 +01:00
rofl0r
64b29c5f4e do not create a pidfile, if none is specified in config
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-16 19:26:14 +01:00
Pablo Panero
d97d486d53 Issue 15 fix. PR 2017-11-16 01:21:43 +01:00
rofl0r
5062b78740 tinyproxy.conf.in: default to allow CONNECT method more broadly
tinyproxy conservatively defaulted to allow CONNECT method only
on two ports used by SSL in the ancient past, but since HTTPS usage
got much more widespread (actually, it's now the default for the
majority of websites), it makes sense now to allow it without
restriction by default to accomodate for the new situation.
2017-11-16 01:08:08 +01:00
Steven Conaway
caf0ff3be8 Update README.md 2017-11-16 01:05:54 +01:00
Michael Adam
86a9a6729e Merge pull request #100 from dmd/patch-1
tinyproxy configure does not actually support enable-static
2017-08-24 22:48:46 +02:00
Daniel M. Drucker
d67c48a49b tinyproxy configure does not actually support enable-static
See #90 and #99
2017-07-18 17:56:03 -04:00
Michael Adam
cb6f868739 Merge pull request #86 from obnoxxx/getipstring1
honor result of inet_ntop in get_ip_string()
2017-03-30 00:52:43 +02:00
Michael Adam
46cbe5357c network: honour result of inet_ntop in get_ip_string()
Signed-off-by: Michael Adam <obnox@samba.org>
2017-03-29 23:57:08 +02:00
Michael Adam
a71cebb094 network: let get_ip_string() return const char * instead of const char
Signed-off-by: Michael Adam <obnox@samba.org>
2017-03-29 23:56:48 +02:00
Michael Adam
f149b62475 Merge pull request #66 from rofl0r/configure_trim
Configure trim
2017-03-29 23:26:45 +02:00
Michael Adam
3f6179a1fd Merge pull request #67 from dmz-uk/patch-1
Prevent child from calling exit() on interrupt
2017-03-29 09:19:55 +02:00
Michael Adam
2c574e9afe Merge pull request #85 from rofl0r/fix_72
src/Makefile.am: fix spaces vs TAB
2017-03-29 09:15:22 +02:00
rofl0r
aade379acb src/Makefile.am: fix spaces vs TAB
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
2017-03-27 18:57:01 +01:00
Michael Adam
1e93411810 Merge pull request #59 from gmp216/pull
Fix OS X build
2017-01-04 16:21:27 +01:00
Greg
1b8a6ef561 configure.ac: add conditional for -z,defs 2017-01-04 09:19:04 -05:00
Greg
802a6aa93f Added conditional for xmllint by testing "a2x" without the -L flag. 2017-01-04 09:18:20 -05:00
Michael Adam
302738dee5 Merge pull request #71 from gmp216/lookup
Move lookup_variable from html-error.c to hashmap.c
2017-01-04 13:59:14 +01:00
dmz-uk
f9024c7186 Prevent child from calling exit() on interrupt
A proposed fix for the logrotate SIGHUP issue.
2016-12-30 10:16:19 +00:00
Greg
fdb1aae3a9 Move lookup_variable into hashmap.c / hashmap.h 2016-12-27 12:23:51 -05:00
Greg
540069551d Change signature for lookup_variable to take map instead of connptr 2016-12-27 12:18:16 -05:00
Michael Adam
e4ae0d10d2 Merge pull request #70 from obnoxxx/compile
add 'compile' to gitignore
2016-12-24 03:09:33 +01:00
Michael Adam
06281857a4 Merge pull request #69 from obnoxxx/readme
README: mention --enable-reverse configure option
2016-12-24 03:07:57 +01:00
Michael Adam
6c98f2cc27 add 'compile' to gitignore
it's generated by autogen

Signed-off-by: Michael Adam <obnox@samba.org>
2016-12-24 03:04:50 +01:00
Michael Adam
ff880a5e13 README: mention --enable-reverse configure option
Signed-off-by: Michael Adam <obnox@samba.org>
2016-12-24 03:02:27 +01:00
Michael Adam
67fc3b54ba Merge pull request #68 from obnoxxx/travis
Enable travis-ci: add .travis.yml
2016-12-24 03:01:34 +01:00
Michael Adam
841fed4afd Enable travis-ci: add .travis.yml
Signed-off-by: Michael Adam <obnox@samba.org>
2016-12-24 02:54:26 +01:00
rofl0r
c98f1cd25a configure: remove checks for standard types 2016-12-21 21:16:06 +00:00
rofl0r
c3cc308cc8 configure: remove checks for standard POSIX funcs
addresses #65
2016-12-21 21:16:06 +00:00
rofl0r
81a93f9e4f configure: do not check for standard POSIX headers
addresses #65
2016-12-21 21:01:37 +00:00